- PDFGym
- Licencie
Licencie
PDFGym je zložený z open source knižníc a ich kód posiela do vášho prehliadača, aby urobil prácu. Väčšina z nich má voľnú (permisívnu) licenciu. Dve sú copyleftové a každá z nich žije presne na jednej trase. Nižšie je každá knižnica zoskupená podľa úlohy, ktorú plní, spolu s licenciou a miestom, kde si ju možno prečítať.
Čítanie a zápis
Dve polovice každej operácie. Čítačka je zároveň kontrolór: každý výsledok otvorí znova a ohlási, čo sa skutočne dostalo na stranu.
| Knižnica | Úloha tu | Licencia | Zdroj |
|---|---|---|---|
| pdf.js | Úloha tuČíta a vykresľuje PDF a kontroluje každý výsledok. | LicenciaApache-2.0 | ZdrojÚplné znenie |
| @cantoo/pdf-lib | Úloha tuZapisuje PDF. | LicenciaMIT | ZdrojÚplné znenie |
Obrázky a písma
Všetko, z čoho sa strana PDF skladá okrem textu: kodér JPEG, dekodéry ukryté vo vnútri pdf.js, podpora TIFF a nástroj na výrez písma, ktorý udržiava vložené písma malé.
| Knižnica | Úloha tu | Licencia | Zdroj |
|---|---|---|---|
| @jsquash/jpeg | Úloha tuSpúšťa kodér JPEG v prehliadači. | LicenciaApache-2.0 | ZdrojÚplné znenie |
| mozjpeg, libjpeg-turbo | Úloha tuSamotný kodér JPEG. | LicenciaTri licencie v štýle BSD vrátane IJG | ZdrojÚplné znenie |
| harfbuzzjs | Úloha tuZmenšuje vložené písma na glyfy, ktoré dokument skutočne kreslí. | LicenciaMIT | ZdrojÚplné znenie |
| UTIF.js | Úloha tuDekóduje bežné aj viacstranové súbory TIFF. | LicenciaMIT | ZdrojÚplné znenie |
| pako | Úloha tuRozbaľuje komprimované obrazové dáta TIFF pre UTIF.js. | LicenciaMIT a Zlib | ZdrojÚplné znenie |
| OpenJPEG | Úloha tuDekóduje obrázky JPEG 2000 vo vnútri pdf.js. | LicenciaBSD-2-Clause | ZdrojÚplné znenie |
| JBIG2, z PDFium | Úloha tuDekóduje obrázky JBIG2 vo vnútri pdf.js. | LicenciaBSD, The PDFium Authors | ZdrojÚplné znenie |
| qcms | Úloha tuAplikuje farebné profily ICC vo vnútri pdf.js. | LicenciaMIT, Mozilla | ZdrojÚplné znenie |
Navrhovanie súkromného textu
Nástroje na súkromie navrhujú, čo môže byť osobný údaj. Model aj jeho spúšťač sa dodávajú do prehliadača a návrhy ho nikdy neopustia.
| Knižnica | Úloha tu | Licencia | Zdroj |
|---|---|---|---|
| Google BERT Mini | Úloha tuŠtvorvrstvový základný model na návrhy súkromných údajov. | LicenciaApache-2.0 | ZdrojZáznam o zdroji |
| ONNX Runtime Web 1.29.0 | Úloha tuSpúšťa tento detektor vo worker vlákne prehliadača. | LicenciaMIT | ZdrojÚplné znenie |
Dvaja hostia s domácimi pravidlami
Dva známe PDF nástroje, MuPDF a Ghostscript, majú licenciu AGPL v3. Prevádzka ktoréhokoľvek z nich za webovou službou zaväzuje prevádzkovateľa zverejniť celú službu za rovnakých podmienok.
PDFGym nepoužíva ani jeden.
Dva copyleftové komponenty, ktoré dodáva, zostávajú vždy len na jednej trase.
Dekodér HEIC sa stiahne, až keď na stránke HEIC do PDF vyberiete fotku HEIC alebo HEIF. Vykresľovač tlačových platní pre Kontrolu pred tlačou sa volá iba z nástroja Kontrola pred tlačou a beží vo vlastnom worker vlákne.
Žiadny iný nástroj ani jeden z nich neimportuje ani nelinkuje.
| Knižnica | Úloha tu | Licencia | Zdroj |
|---|---|---|---|
| @discourse/heic | Úloha tuNačíta dekodér HEIC iba na trase HEIC do PDF. | LicenciaApache-2.0 | ZdrojÚplné znenie |
| libheif 1.19.7 | Úloha tuČíta kontajner HEIC vo vnútri dekodéra viazaného na trasu. | LicenciaLGPL-3.0-or-later | ZdrojPresný zdroj |
| libde265 1.0.15 | Úloha tuDekóduje obraz HEVC vo vnútri dekodéra viazaného na trasu. | LicenciaLGPL-3.0-or-later | ZdrojPresný zdroj |
| Poppler 26.02.0 | Úloha tuVykresľuje separačné platne pre Kontrolu pred tlačou, vo vlastnom worker vlákne. | LicenciaGPL-2.0-or-later | ZdrojÚplné znenie |
| OpenJPEG 2.5.3 | Úloha tuDekóduje obrázky JPEG 2000 v tom istom worker vlákne. | LicenciaBSD-2-Clause | ZdrojÚplné znenie |
Obe používajú vydaný upstream kód bez zmien.
Build Kontroly pred tlačou možno zopakovať z publikovaných zdrojov: záznam o zdroji uvádza presné archívy Popplera a OpenJPEG s ich súčtami SHA-256, obraz Emscripten podľa digestu a adaptér a build skript, ktoré vytvorili WebAssembly.
Časté otázky
- Môžem tento kód použiť vo vlastnom projekte?
- Každá knižnica si ponecháva vlastnú licenciu, uvedenú vyššie spolu s úplným znením. Voľné licencie (MIT, BSD, Apache-2.0) umožňujú opätovné použitie s uvedením autorstva; dekodér LGPL a vykresľovač platní GPL nesú copyleftové povinnosti opísané v ich textoch.
- Prečo sú copyleftové časti ohradené na jednotlivých trasách?
- Aby ich povinnosti zostali malé a overiteľné. Dekodér HEIC sa načíta iba tam, kde sa čítajú fotky HEIC, a worker s Popplerom odpovedá iba Kontrole pred tlačou. Nič iné ani jedno z toho neimportuje ani nelinkuje.
- Boli knižnice upravované?
- Nie. Všetko sa dodáva tak, ako to vydal upstream, preto sú čísla verzií a záznamy o zdrojoch vyššie presné. Opravy od komunity prídu s ďalšou aktualizáciou, a nie že by žili v súkromnom forku.
- Kde je vlastný kód webu?
- Nástroje, ktoré tieto knižnice prepájajú - pracovný priestor, kontroly, stránky - sú vlastnou prácou projektu. Ťažkú prácu robia knižnice za podmienok uvedených vyššie; overovanie, ktoré odmietne chybné stiahnutie, je naše.
Kam ďalej
- Všetky online nástroje na PDF Pozrite si na jednej stránke všetky nástroje na PDF na webe, zoskupené podľa úlohy. Všetky zadarmo, všetky v prehliadači a váš súbor sa nikdy nenahráva.
- O nás Prečo PDFGym existuje, čo odmieta robiť a kto odpovedá na poštu.
- Ako to funguje Zistite, čo beží na karte prehliadača, čo sa kontroluje a čo sa nikdy neposiela.
- Ochrana súkromia Vedzte presne, čo z prehliadača odchádza a čo nikdy.