1<!doctype html> 2<html lang="en" translate="no"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" /> 6
6<script type="module" src="https://localpdf.online/.webmcp/bridge.js"></script>
6<link rel="icon" href="/app/favicon.svg" type="image/svg+xml" /> 7 <link rel="apple-touch-icon" href="/app/logos/localpdf-apple-180x180.png" /> 8 <link rel="manifest" href="/app/app-manifest.json" /> 9 <meta name="apple-mobile-web-app-capable" content="yes" /> 10 <meta name="mobile-web-app-capable" content="yes" /> 11 <meta name="apple-mobile-web-app-title" content="LocalPDF" /> 12 <meta name="format-detection" content="telephone=no" /> 13 <meta name="description" content="LocalPDF Studio is a local-first PDF workspace for editing, merging, OCR, conversion, and document review." /> 14 <meta name="robots" content="noindex, nofollow" /> 15 <link rel="canonical" href="https://localpdf.online/app/" /> 16 <meta name="theme-color" content="#0f172a" /> 17 <title>LocalPDF Studio</title> 18 19 <!-- Google Analytics 4 (Legacy Fallback) -->
vendor: 68 bytes, lines 19-20
19 20 <script async src="https://www.googletagmanager.com/gtag/js?id=
20G-MS36WTHPCZ
vendor: 16 bytes, lines 20-21
20"></script> 21
21<script> 22
vendor: 145 bytes, lines 22-25
22window.dataLayer = window.dataLayer || []; 23 function gtag(){dataLayer.push(arguments);} 24 gtag('js', new Date()); 25 gtag('config', '
25G-MS36WTHPCZ
vendor: 32 bytes, lines 25-26
25', { anonymize_ip: true }); 26
26</script>
26 27 28 <!-- PostHog --> 29
29<script> 30 !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group updateEarlyAccessFeatureEnrollment getGroups get_group_property set_group_property get_distinct_id getGroups get_session_id".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]); 31 posthog.init('phc_6iTpA8vFIxlQ8HxmPsoMmtj4sqgCUWiZQMOpfSfyvxe', { 32 api_host: window.location.origin + '/ingest', 33 ui_host: 'https://eu.posthog.com', 34 autocapture: false, 35 capture_pageview: false, 36 session_recording: { 37 maskAllInputs: true, 38 maskTextSelector: '.ph-no-capture', 39 blockSelector: '.ph-no-capture, canvas' 40 } 41 }); 42 </script>
42 43 44 45 46 <!-- Preload tesseract WASM core for instant OCR startup --> 47 <link rel="prefetch" href="/app/vendor/tesseract/core/tesseract-core-lstm.wasm" as="fetch" crossorigin="anonymous" /> 48 <link rel="prefetch" href="/app/vendor/tesseract/core/tesseract-core-simd-lstm.wasm" as="fetch" crossorigin="anonymous" /> 49
49<script type="module" crossorigin src="/app/assets/index-DbFRh42P.js"></script>
49 50 <link rel="modulepreload" crossorigin href="/app/assets/vendor-react-C_xdI0Ng.js"> 51 <link rel="stylesheet" crossorigin href="/app/assets/index-3PvMbFPA.css"> 52 </head> 53 <body class="notranslate"> 54 <div id="root" translate="no"></div> 55
55<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"3f0c9fce04ac487b9a7b8f012b7e629d","r":1,"spa":2}' crossorigin="anonymous"></script>
55 56</body> 57</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.