1import{j as e,S as P,J as y,E as A,a as E,F as _,c as h,d as x,R as z,s as C}from"./index-YD-Ca18h.js";import{r as m,L as l,e as j}from"./vendor-react-8IDV7RHP.js";import{I as g}from"./installCommands-t20512Mu.js";import{u}from"./vendor-i18n-DWqKOdDR.js";import{g as b,K as O,f as N,T,D as w,a as K,b as R}from"./vendor-ui-DIOSKo9c.js";function D({text:s}){const[t,n]=m.useState(!1),d=()=>{navigator.clipboard.writeText(s).then(()=>{n(!0),setTimeout(()=>n(!1),1800)})};return e.jsx("button",{onClick:d,className:"shrink-0 p-1.5 rounded hover:bg-zinc-700 transition-colors text-zinc-500 hover:text-zinc-300",title:"Copy",children:t?e.jsx(K,{className:"h-3.5 w-3.5 text-emerald-400"}):e.jsx(R,{className:"h-3.5 w-3.5"})})}function p({cmd:s}){return e.jsxs("div",{className:"flex items-center gap-3 bg-zinc-950 border border-zinc-800 rounded-lg px-4 py-3 font-mono text-sm",children:[e.jsx("span",{className:"text-zinc-600 select-none",children:"$"}),e.jsx("span",{className:"text-zinc-200 flex-1 overflow-x-auto whitespace-nowrap",children:s}),e.jsx(D,{text:s})]})}function o({code:s,lang:t="rust"}){return e.jsxs("div",{className:"relative rounded-lg border border-zinc-800 bg-zinc-950 overflow-hidden",children:[e.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-zinc-800/60 bg-zinc-900/40",children:[e.jsx("span",{className:"text-xs font-mono text-zinc-500",children:t}),e.jsx(D,{text:s})]}),e.jsx("pre",{className:"px-4 py-4 overflow-x-auto text-sm font-mono text-zinc-300 leading-relaxed",children:e.jsx("code",{children:s})})]})}const L="https://pdfluent.com/releases/manifest.json",$={mac:"darwin-aarch64",windows:"windows-x86_64"};function I(s){if(!s||s<=0)return;const t=s/1e6;return t>=1e3?`${(t/1e3).toFixed(1)} GB`:`${Math.round(t)} MB`}function M(){if(typeof navigator>"u")return"other";const s=`${navigator.userAgent} ${navigator.platform??""}`.toLowerCase();return s.includes("mac")?"mac":s.includes("win")?"windows":"other"}function S({name:s,className:t="h-6 w-6"}){return s==="apple"?e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:t,"aria-hidden":!0,children:e.jsx("path",{d:"M16.4 13c0-2.7 2.2-4 2.3-4-1.3-1.8-3.2-2.1-3.9-2.1-1.7-.2-3.2 1-4 1-.8 0-2.1-1-3.5-1-1.8 0-3.5 1-4.4 2.7-1.9 3.3-.5 8.1 1.4 10.8.9 1.3 2 2.7 3.4 2.7 1.4-.1 1.9-.9 3.5-.9s2.1.9 3.5.9c1.5 0 2.4-1.3 3.3-2.6 1-1.5 1.5-3 1.5-3-.1 0-2.7-1-2.7-4ZM13.7 5.4c.8-.9 1.3-2.2 1.1-3.5-1.1.1-2.5.7-3.3 1.7-.7.8-1.4 2.1-1.2 3.4 1.2.1 2.5-.6 3.4-1.6Z"})}):s==="windows"?e.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:t,"aria-hidden":!0,children:e.jsx("path",{d:"M3 5.6 11 4.5v7.1H3Zm0 7.4h8v7.1l-8-1.1Zm9-8.6 9-1.3v9H12Zm0 8.6h9v9l-9-1.3Z"})}):null}const W=[{id:"mac",name:"macOS",requirement:"macOS 11+ · Intel & Apple Silicon",file:`PDFluent_${h}_universal.dmg`,size:x("macos"),available:!0},{id:"windows",name:"Windows",requirement:"Windows 10 / 11 · 64-bit",file:`PDFluent_${h}_x64_en-US.msi`,size:x("windows"),available:!0,storeUrl:"https://apps.microsoft.com/detail/xpdbxj6xrlfqk2",storeLabel:"Get it from Microsoft Store"}],v=({children:s})=>e.jsx("code",{className:"font-mono text-[12px] text-gray-700 bg-gray-100 rounded px-1 py-0.5",children:s}),B={mac:{title:"macOS",why:"The macOS build is signed with a Developer ID and notarised by Apple, so it opens normally â no security workaround needed.",steps:[e.jsxs(e.Fragment,{children:["Open the ",e.jsx(v,{children:".dmg"})," and drag ",e.jsx("strong",{children:"PDFluent"})," onto the ",e.jsx("strong",{children:"Applications"})," folder."]}),e.jsxs(e.Fragment,{children:["Open PDFluent from Applications. The first time, macOS may ask you to confirm you want to open an app downloaded from the internet â click ",e.jsx("strong",{children:"Open"}),". It launches directly after that."]})],alt:e.jsxs(e.Fragment,{children:["Comparing to Preview.app? See ",e.jsx(l,{to:"/mac",className:"text-indigo-600 hover:underline",children:"PDFluent on macOS"}),"."]})},windows:{title:"Windows",why:"The Windows installer is Authenticode-signed, so it opens normally â no security workaround needed.",steps:[e.jsxs(e.Fragment,{children:["Run the ",e.jsx(v,{children:".msi"})," and follow the installer."]})]}};function q({p:s,highlighted:t,dl:n}){const d="rounded-xl border p-5 flex flex-col transition-colors",c=t?"border-gray-900 ring-1 ring-gray-900/10 bg-white":"border-gray-200 bg-gray-50";return e.jsxs("div",{className:`${d} ${c}`,children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:t?"text-gray-900":"text-gray-700",children:e.jsx(S,{name:s.id==="mac"?"apple":s.id})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-base font-semibold text-gray-900",children:s.name}),e.jsx("div",{className:"text-xs text-gray-500",children:s.requirement})]}),t&&e.jsx("span",{className:"ml-auto text-[10px] font-medium uppercase tracking-wide text-gray-400",children:"Your system"})]}),e.jsx("div",{className:"mt-5 flex-1 flex flex-col justify-end",children:n.available&&n.url?e.jsxs(e.Fragment,{children:[e.jsxs("a",{href:n.url,className:"inline-flex items-center justify-center gap-2 rounded-lg bg-gray-900 px-4 py-2.5 text-sm font-medium text-white hover:bg-gray-800 transition-colors",download:!0,children:[e.jsx(w,{className:"h-4 w-4"}),"Download ",n.size&&e.jsxs("span",{className:"text-gray-300 font-normal",children:["· ",n.size]})]}),n.filename&&e.jsx("div",{className:"mt-2 truncate text-center text-[11px] font-mono text-gray-400",title:n.filename,children:n.filename}),s.storeUrl&&e.jsx("a",{href:s.storeUrl,target:"_blank",rel:"noopener noreferrer",className:"mt-2 inline-flex items-center justify-center gap-1 text-center text-[11px] text-gray-500 underline underline-offset-2 hover:text-gray-700",children:s.storeLabel})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"inline-flex items-center justify-center gap-2 rounded-lg border border-dashed border-gray-300 px-4 py-2.5 text-sm font-medium text-gray-400 cursor-default",children:"In progress"}),e.jsxs("div",{className:"mt-2 text-center text-[11px] text-gray-500",children:["We build and sign Windows separately â"," ",e.jsx("a",{href:"mailto:[email protected]?subject=Windows%20build",className:"underline underline-offset-2 hover:text-gray-700",children:"ask us to ping you"}),"."]})]})})]})}function G(){const[s,t]=m.useState("other"),[n,d]=m.useState(null);j.useEffect(()=>{t(M())},[]),j.useEffect(()=>{let a=!0;return fetch(L,{cache:"no-store"}).then(r=>r.ok?r.json():null).then(r=>{a&&r&&r.platforms&&d(r)}).catch(()=>{}),()=>{a=!1}},[]);const c=n?.version??h,i=a=>{const r=n?.platforms?.[$[a.id]];return r?.url?{available:!0,url:r.url,size:I(r.size),filename:r.filename}:a.available&&a.file?{available:!0,url:`${z}/${a.file}`,size:a.size,filename:a.file}:{available:!1}},k=s==="mac"?["mac"]:s==="windows"?["windows"]:["mac","windows"];return e.jsx("section",{className:"w-full px-6 -mt-6",children:e.jsxs("div",{className:"max-w-4xl mx-auto",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-x-3 gap-y-1 text-sm text-gray-500 mb-8",children:[e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-emerald-50 border border-emerald-200 px-3 py-1 text-emerald-700 font-medium",children:[e.jsx(N,{className:"h-3.5 w-3.5"})," Free for everyone, including commercial use"]}),e.jsx("span",{className:"text-gray-300",children:"·"}),e.jsxs("span",{children:["Version ",c," ",e.jsx("span",{className:"text-gray-400",children:"(public beta)"})]})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-4",children:W.map(a=>e.jsx(q,{p:a,highlighted:a.id===s,dl:i(a)},a.id))}),e.jsxs("div",{className:"mt-6",children:[e.jsxs("div",{className:"flex items-center gap-2 text-gray-900 font-semibold text-sm",children:[e.jsx(N,{className:"h-4 w-4 text-emerald-600"})," First launch"]}),e.jsx("p",{className:"text-xs text-gray-500 mt-1 mb-4 max-w-2xl",children:"Both builds are signed and notarised: macOS with a Developer ID from Apple, Windows with an Authenticode certificate. First launch takes one confirmation click, nothing to work around."}),e.jsx("div",{className:"grid grid-cols-1 gap-3",children:k.map(a=>{const r=B[a];return e.jsxs("div",{className:"rounded-xl border border-gray-200 bg-gray-50/60 p-5",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("span",{className:"text-gray-700",children:e.jsx(S,{name:a==="mac"?"apple":a,className:"h-4 w-4"})}),e.jsx("span",{className:"font-semibold text-gray-900 text-sm",children:r.title})]}),e.jsx("p",{className:"text-xs text-gray-500 mb-3",children:r.why}),e.jsx("ol",{className:"space-y-2",children:r.steps.map((F,f)=>e.jsxs("li",{className:"flex gap-2.5 text-sm text-gray-700 leading-relaxed",children:[e.jsx("span",{className:"shrink-0 mt-0.5 flex h-5 w-5 items-center justify-center rounded-full bg-gray-900 text-white text-[11px] font-semibold",children:f+1}),e.jsx("span",{children:F})]},f))}),r.alt&&e.jsx("p",{className:"mt-3 border-t border-gray-200 pt-2.5 text-xs text-gray-500",children:r.alt})]},a)})})]}),e.jsxs("div",{className:"mt-4 flex items-start gap-3 rounded-xl border border-gray-200 bg-white p-5",children:[e.jsx(T,{className:"h-4 w-4 text-gray-400 mt-0.5 shrink-0"}),e.jsxs("p",{className:"text-sm text-gray-600 leading-relaxed",children:[e.jsx("span",{className:"font-medium text-gray-900",children:"XFA forms are experimental."})," ","The dynamic forms used by some tax and banking PDFs may not open, render, or save correctly yet. Everything else works normally: viewing, editing, annotations, AcroForm filling, merging, splitting and signing."]})]}),e.jsxs("div",{className:"mt-6 rounded-xl border border-gray-200 bg-white p-6",children:[e.jsx("h3",{className:"text-sm font-semibold text-gray-900",children:"System requirements"}),e.jsxs("div",{className:"mt-4 grid grid-cols-1 gap-x-8 gap-y-4 sm:grid-cols-2",children:[e.jsxs("dl",{className:"space-y-2 text-sm",children:[e.jsxs("div",{className:"flex justify-between gap-4 border-b border-gray-100 pb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"macOS"}),e.jsx("dd",{className:"text-right font-medium text-gray-900",children:"macOS 11 (Big Sur) or later"})]}),e.jsxs("div",{className:"flex justify-between gap-4 border-b border-gray-100 pb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Architecture"}),e.jsx("dd",{className:"text-right font-medium text-gray-900",children:"Intel & Apple Silicon (universal)"})]}),e.jsxs("div",{className:"flex justify-between gap-4",children:[e.jsx("dt",{className:"text-gray-500",children:"Download size"}),e.jsxs("dd",{className:"text-right font-medium text-gray-900",children:["~",x("macos")," (.dmg)"]})]})]}),e.jsxs("dl",{className:"space-y-2 text-sm",children:[e.jsxs("div",{className:"flex justify-between gap-4 border-b border-gray-100 pb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Windows"}),e.jsx("dd",{className:"text-right font-medium text-gray-900",children:"Windows 10 or 11"})]}),e.jsxs("div",{className:"flex justify-between gap-4 border-b border-gray-100 pb-2",children:[e.jsx("dt",{className:"text-gray-500",children:"Architecture"}),e.jsx("dd",{className:"text-right font-medium text-gray-900",children:"64-bit (x64)"})]}),e.jsxs("div",{className:"flex justify-between gap-4",children:[e.jsx("dt",{className:"text-gray-500",children:"Download size"}),e.jsxs("dd",{className:"text-right font-medium text-gray-900",children:["~",x("windows")," (.msi)"]})]})]})]}),e.jsx("p",{className:"mt-4 text-xs text-gray-500",children:"Runs fully offline â no internet connection, account, or background service required. No minimum RAM beyond what the OS itself needs."})]}),e.jsxs("p",{className:"mt-4 text-center text-sm text-gray-500",children:["The PDFluent editor is free for everyone, including commercial use at work."," ","Full terms: ",e.jsx(l,{to:"/license/",className:"text-gray-900 underline underline-offset-2 hover:text-gray-700",children:"pdfluent.com/license"}),"."]})]})})}const U=["core","xfa","ocr","ocr-mistral","full"],H="https://releases.pdfluent.com/latest",Z=[{osKey:"linuxX64",file:"pdfluent-linux-x64.tar.gz"},{osKey:"linuxArm64",file:"pdfluent-linux-arm64.tar.gz"},{osKey:"macosX64",file:"pdfluent-macos-x64.tar.gz"},{osKey:"macosArm64",file:"pdfluent-macos-arm64.tar.gz"},{osKey:"windowsX64",file:"pdfluent-windows-x64.zip"}];function J(){const{t:s}=u("pages");return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{className:"text-sm text-gray-500",children:[s("download.panels.rust.addToCargo")," ",e.jsx("code",{className:"text-gray-700",children:"Cargo.toml"}),":"]}),e.jsx(p,{cmd:g.rust})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"text-sm font-medium text-gray-500",children:s("download.panels.rust.featureFlags")}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2",children:U.map(t=>e.jsxs("div",{className:"flex items-start gap-3 rounded-lg border border-gray-200 bg-gray-50 p-3",children:[e.jsx("code",{className:"text-xs font-mono text-amber-600 mt-0.5 shrink-0",children:t}),e.jsx("span",{className:"text-xs text-gray-500",children:s(`download.panels.rust.flags.${t.replace("-","_")}`)})]},t))}),e.jsx("p",{className:"text-xs text-gray-500",children:s("download.panels.rust.featureFlagsExample")})]}),e.jsx(o,{lang:"rust",code:C["open-and-count"]})]})}function V(){const{t:s}=u("pages");return e.jsxs("div",{className:"space-y-6",children:[e.jsx("div",{className:"space-y-2",children:e.jsx(p,{cmd:g.python})}),e.jsx(o,{lang:"python",code:`import pdfluent 2 3doc = pdfluent.open("invoice.pdf") 4print(f"{doc.page_count()} pages")`}),e.jsx("p",{className:"text-xs text-gray-500",children:s("download.panels.python.requiresVersion")})]})}function X(){return e.jsxs("div",{className:"space-y-6",children:[e.jsx("div",{className:"space-y-2",children:e.jsx(p,{cmd:"dotnet add package PDFluent"})}),e.jsx(o,{lang:"csharp",code:`using PDFluent; 5 6using var doc = PdfDocument.Open("invoice.pdf"); 7Console.WriteLine($"{doc.PageCount} pages");`}),e.jsx("p",{className:"text-xs text-gray-500",children:"Requires .NET 6 or newer. Pin the version for reproducible builds."})]})}function Y(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm text-gray-500",children:"Maven coordinate (Maven Central):"}),e.jsx(o,{lang:"java",code:g.javaGav}),e.jsxs("p",{className:"text-sm text-gray-500",children:["Or, in your ",e.jsx("code",{className:"text-gray-700",children:"pom.xml"}),":"]}),e.jsx(o,{lang:"xml",code:`<dependency> 8 <groupId>com.pdfluent</groupId> 9 <artifactId>pdfluent</artifactId> 10 <version>${g.javaVersion}</version> 11</dependency>`})]}),e.jsx(o,{lang:"java",code:`import com.pdfluent.PdfDocument; 12 13try (PdfDocument doc = PdfDocument.open("invoice.pdf")) { 14 System.out.println(doc.pageCount() + " pages"); 15}`}),e.jsx("p",{className:"text-xs text-gray-500",children:"Requires JDK 11 or newer. Pin the version for reproducible builds."})]})}function Q(){const{t:s}=u("pages");return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-sm text-gray-500",children:s("download.panels.c.downloadBinaries")}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:Z.map(t=>e.jsxs("a",{href:`${H}/${t.file}`,className:"flex items-center gap-3 p-3 rounded-lg border border-gray-200 bg-gray-50 hover:border-gray-300 hover:bg-white transition-colors text-left group",children:[e.jsx(w,{className:"h-4 w-4 text-gray-500 group-hover:text-gray-600 shrink-0"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium text-gray-700",children:s(`download.panels.c.platforms.${t.osKey}`)}),e.jsx("div",{className:"text-xs text-gray-500 font-mono",children:t.file})]})]},t.osKey))})]}),e.jsx(o,{lang:"c",code:`#include "pdfluent.h" 16 17pdfluent_doc_t *doc = pdfluent_open("invoice.pdf"); 18printf("%d pages\\n", pdfluent_page_count(doc)); 19pdfluent_free(doc);`}),e.jsx("p",{className:"text-xs text-gray-500",children:s("download.panels.c.includedNote")})]})}function ee(){return e.jsxs("div",{className:"space-y-6",children:[e.jsx("div",{className:"space-y-2",children:e.jsx(p,{cmd:"npm install @pdfluent/sdk-wasm"})}),e.jsx(o,{lang:"typescript",code:`import init, { PdfDocumen
19t } from '@pdfluent/sdk-wasm'; 20 21await init(); 22const bytes = new Uint8Array(await file.arrayBuffer()); 23const doc = PdfDocument.open(bytes); 24console.log(\`\${doc.pageCount()} pages\`);`}),e.jsxs("p",{className:"text-xs text-gray-500",children:["Threaded WASM needs cross-origin-isolation (COOP/COEP) headers â see"," ",e.jsx(l,{to:"/playground/",className:"text-gray-600 hover:text-gray-900 underline underline-offset-2",children:"the live playground"})," ","for a working host configuration."]})]})}function ie(){const{t:s}=u("pages"),[t,n]=m.useState("rust"),d=[{id:"rust",badgeKey:"native"},{id:"python"},{id:"wasm",badgeKey:"browser"},{id:"dotnet"},{id:"java"},{id:"c"}],c={rust:e.jsx(J,{}),python:e.jsx(V,{}),wasm:e.jsx(ee,{}),dotnet:e.jsx(X,{}),java:e.jsx(Y,{}),c:e.jsx(Q,{})};return e.jsxs("div",{className:"w-full min-h-screen bg-white",children:[e.jsx(P,{title:"Download PDFluent: free PDF editor for Mac and Windows",description:"Download the PDFluent editor for Mac and Windows â a free, private desktop PDF tool for everyone, including commercial use.",canonical:"https://pdfluent.com/download"}),e.jsx(y,{id:"page-editor",schema:A}),e.jsx(y,{id:"page-sdk",schema:E}),e.jsxs("section",{className:"relative w-full pt-32 pb-12 px-6 overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_80%_80%_at_50%_-20%,rgba(59,130,246,0.06),rgba(255,255,255,0))]"}),e.jsxs("div",{className:"max-w-4xl mx-auto relative z-10 text-center space-y-6",children:[e.jsx("p",{className:"text-sm font-semibold uppercase tracking-[0.2em] text-blue-600",children:"Quit renting your PDF editor"}),e.jsx("h1",{className:"text-6xl md:text-7xl font-semibold tracking-tighter text-gray-900 leading-[0.95]",children:"Download PDFluent"}),e.jsx("p",{className:"text-xl text-gray-500 max-w-2xl mx-auto font-light leading-relaxed",children:"PDFluent runs entirely on your machine. No account, no subscription, nothing uploaded to anyoneâs cloud. Free for everyone, including commercial use."})]})]}),e.jsx(G,{}),e.jsx("section",{className:"w-full pt-20 pb-12 px-6",children:e.jsxs("div",{className:"max-w-4xl mx-auto space-y-6",children:[e.jsxs("div",{className:"text-center space-y-2",children:[e.jsx("p",{className:"text-xs font-mono uppercase tracking-widest text-gray-400",children:"Developer SDK â a separate product"}),e.jsx("h2",{className:"text-3xl font-semibold tracking-tight text-gray-900",children:"Building with PDFluent?"}),e.jsxs("p",{className:"text-gray-500 max-w-xl mx-auto",children:["The same engine ships as the"," ",e.jsx(l,{to:"/sdk/",className:"text-gray-900 underline underline-offset-2 hover:text-gray-700",children:"PDFluent SDK"}),", a pure-Rust library with bindings for every major language â licensed separately from the desktop editor above. Add it to your own project below."]})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:d.map(i=>e.jsxs("button",{onClick:()=>n(i.id),"data-tab-id":i.id,className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-all border ${t===i.id?"bg-gray-900 border-gray-900 text-white":"bg-white border-gray-200 text-gray-500 hover:text-gray-900 hover:border-gray-300"}`,children:[s(`download.platforms.${i.id}`),i.badgeKey&&e.jsx("span",{className:"text-[10px] font-medium px-1.5 py-0.5 rounded bg-gray-100 text-gray-500",children:s(`download.badges.${i.badgeKey}`)})]},i.id))}),e.jsx("div",{className:"rounded-xl border border-gray-200 bg-white p-6",children:c[t]}),e.jsx("div",{className:"flex justify-end",children:e.jsxs(l,{to:"/docs/",className:"flex items-center gap-1.5 text-sm text-gray-500 hover:text-gray-900 transition-colors",children:[s("download.fullInstallGuide"),e.jsx(b,{className:"h-3.5 w-3.5"})]})})]})}),e.jsx("section",{className:"w-full py-20 px-6",children:e.jsx("div",{className:"max-w-4xl mx-auto",children:e.jsxs("div",{className:"rounded-2xl border border-gray-200 bg-gray-50 p-8 md:p-12",children:[e.jsxs("div",{className:"flex items-start gap-4 mb-8",children:[e.jsx("div",{className:"p-2.5 rounded-lg bg-amber-50 border border-amber-200",children:e.jsx(O,{className:"h-5 w-5 text-amber-600"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-semibold text-gray-900 tracking-tight mb-1",children:"Licensing â two products, two models"}),e.jsx("p",{className:"text-gray-500 text-sm",children:"The desktop editor and the developer SDK are licensed separately."})]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[e.jsxs("div",{className:"rounded-xl border border-gray-200 bg-white p-6",children:[e.jsx("p",{className:"text-xs font-mono uppercase tracking-widest text-gray-400 mb-2",children:"Editor"}),e.jsx("p",{className:"text-sm text-gray-600 leading-relaxed",children:"Free for everyone, including commercial use â no trial period, no feature gates, no account, no licence file to activate."}),e.jsx(l,{to:"/pricing/",className:"mt-4 inline-block text-sm text-gray-900 underline underline-offset-2 hover:text-gray-700",children:"Editor pricing â"})]}),e.jsxs("div",{className:"rounded-xl border border-gray-200 bg-white p-6",children:[e.jsx("p",{className:"text-xs font-mono uppercase tracking-widest text-gray-400 mb-2",children:"Developer SDK"}),e.jsxs("p",{className:"text-sm text-gray-600 leading-relaxed",children:["Every channel is the complete SDK under the AGPLv3 â nothing is withheld and nothing expires. A yearly commercial licence"," ",e.jsx("strong",{className:"text-gray-900",children:"from â¬999"})," removes the obligation to publish your own source. There is nothing to install or activate either way. Details at"," ",e.jsx(l,{to:"/docs/licensing/",className:"text-gray-900 underline underline-offset-2 hover:text-gray-700",children:"/docs/licensing"}),"."]}),e.jsxs("div",{className:"mt-4 flex flex-wrap gap-x-4 gap-y-1",children:[e.jsx(l,{to:"/sdk/pricing/",className:"inline-block text-sm text-gray-900 underline underline-offset-2 hover:text-gray-700",children:"SDK pricing â"}),e.jsxs("a",{href:"/source/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-sm text-gray-900 underline underline-offset-2 hover:text-gray-700",children:["Source (GitHub) ",e.jsx(b,{className:"h-3.5 w-3.5"})]})]})]})]}),e.jsxs("div",{className:"mt-8 pt-6 border-t border-gray-200 text-sm text-gray-500",children:["Licensing questions?"," ",e.jsx("a",{href:"mailto:[email protected]?subject=Licensing",className:"text-gray-900 underline underline-offset-2 hover:text-gray-700",children:"Mail [email protected]"})," ","â we respond within one business day. Full terms at"," ",e.jsx(l,{to:"/license/",className:"text-gray-900 underline underline-offset-2 hover:text-gray-700",children:"/license"}),"."]}),e.jsxs("div",{className:"mt-3 text-sm text-gray-500",children:["PDFluent is source-available on"," ",e.jsx("a",{href:"/source/",target:"_blank",rel:"noopener noreferrer",className:"text-gray-900 underline underline-offset-2 hover:text-gray-700",children:"GitHub"})," ","â read the code, file an issue, or see exactly how it works."]})]})})}),e.jsx(_,{})]})}
24export{ie as DownloadPage};
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.