Kontakty

Esej o vytvorení súborov PDF. Pridať k zobrazeniu programu PDF pomocou funkcie ActiveX Delphi Open PDF súbor

V tomto článku zvážte, ako vytvoriť si vlastné pdf.-Documents a v nasledujúcom článku zvážte, ako môžete zobraziť pdf.-Documenty vo svojich projektoch, ako aj obsahu tlače, pohybujú sa podľa dokumentu a tak ďalej.

Na to potrebujeme komponenty z kariet Rave.. Nainštalujme komponenty, ktoré potrebujete na prácu, a to je:

  • TRVNDRISTER
  • Trvrenderpdf.
  • Tbutton.

Komponent TRVNDRISTER Navrhnuté na nahrávanie pdf.Informácie o súboroch (text, grafika), cez prúd.

Komponent Trvrenderpdf.navrhnuté tak, aby vytvorili, kreslite informácie (text, grafiku, tak ďalej). No, stlačením tlačidla vstúpime do nášho pdf.-File.

Z teórie, nebudeme písať nič, aby sme niečo napísali, ale my sa okamžite prejdeme k programovaniu, ale musíme tiež najprv vytvoriť obyčajné prázdne pdf.-File a dať ho do koreňa s programom. Ďalej na podujatí Po kliknutí.naše tlačidlo budeme písať nasledujúci kód:

postup tform1. Button1click (Sender: Prepínanie); Var toky: tmeemorystream; Začať prúdy: \u003d TMemorystream. Vytvoriť; RvndrWriter1. Stream: \u003d prúd; RvndrWriter1. Vykonať; Rvrenderpdf1. Printrander (prúd, "test.pdf"); Shellexecute (rukoväť, nil, "test.pdf", "", "", SW_SHOW); Freeandnil (potoky); koniec;

Vytvorte prúd, v ktorom budeme nakreslíme všetky informácie, potom spustite výkres, zadajte súbor, ku ktorému bude súbor dát vykonať a nakoniec zničíme tok.

Všetko teraz, potrebujeme udalosť, ktorá sa vyskytuje pri čerpaní údajov, vyberieme do neho všetky naše informácie. Vyberte komponent TRVNDRISTERa prejdite zoznam udalostí tejto zložky, po ktorom nájdeme udalosť Onprint.a v tomto prípade napíšeme nasledujúci kód:

postup tform1. Tlač (odosielateľ: prepínací); Začnite BMP: \u003d TBITMAP. Vytvoriť; BMP. Loadfromfile ("test.bmp"); S RVNDRISTRITER1 Začnite SETFONT ("ARIAL", 16); Fontcolor: \u003d CLGREEN; Tlačiť ("testovací text"); Printheader ("Začať súbor PDF", PjCenter); Printfooter ("END PDF súbor", pjcenter); Lineto (10, 10); PrintBitmAP (1, 1, 1, 1, BMP); koniec; Freeandnil (BMP); koniec;

Najprv načítame obrázok * .bmpprirodzene variabilný bmp, Máme objekt triedy Titmpap.. Zaťažujeme sa, aby sme ho nakreslili pdf.- Dokument.

A potom si myslím, že všetko je jasné, postup Printheader.- Zobrazí nápis v názve dokumentu (stránky), postup Printfooter.- Zobrazí nápis na konci dokumentu (stránky). Postup Zákrok- Zobrazí obraz do dokumentu, postup SETFONT.- Nastaví písmo dokumentu, postup Farba písma- Nastaví farbu písma dokumentu.

Pre tento príklad budeme potrebovať nasledujúce komponenty, ktoré sú v karte Rave. Prejdite na inštaláciu komponentov, ktoré potrebujeme, a to:

  • TRVNDRISTER
  • Trvrenderpdf.
  • Tbutton.

Navrhujem trochu zastaviť na týchto komponentoch a pochopiť, prečo slúžia. Mimochodom, som odmietol informácie z niekoľkých kníh, ktoré som kúpil pROGKBOK.RU.. Preto, ak chcete kúpiť slušné knihy o Delphi, potom Mercy Opýtajte sa tento obchod.

Takže prvé máme komponent TRVNDRISTRITER. Táto zložka vyžaduje, aby sme zapísali informácie o súboroch PDF, nezáleží na tom, ktorá, textová alebo grafika, cez potok.

Postup tform1.button1click (odosielateľ: prepínací); Var toky: tmeemorystream; Začať prúdy: \u003d tmemorystream.create; Rvndrwriter1.stream:\u003dsstreams; Rvndrwriter1.execute; Rvrenderpdf1.printender (prúd, "test.pdf"); Shellexecute (rukoväť, nil, "test.pdf", "", "", SW_SHOW); Freeandnil (potoky); koniec;

Ďalším komponentom je TrvrenderPDF. Je potrebné, aby sme vytvorili, alebo skôr čerpať informácie, či už text alebo grafiku. Po stlačení tlačidla napíšeme informácie, ktoré potrebujete do nášho súboru PDF.

Ale nebudeme silne hnevať, ale pôjdeme hneď na tému záujmu pre nás, a to na programovanie :)

Ak chcete začať, musíme vytvoriť obyčajný prázdny súbor PDF a umiestniť ho do koreňového priečinka nášho programu.

V tomto kóde by sme vytvorili prúd, v ktorom budeme kresliť informácie, ktoré potrebujeme, potom, čo začneme kresbu, zadajte náš finálny súbor PDF, ku ktorému budú kreslenie dát a na konci zatvoríme tok.

Po vykonaní tohto programu, keď potrebujeme udalosť, ktorá sa vyskytne, keď dôjde k výkresu údajov, v tejto akcii vyberieme informácie, ktoré potrebujeme.

Kód bude analyzovať. Pre začiatok si stiahám obrázok * .bmp, vytvorím variabilný BMP a objekt triedy TBITMAP. Stiahnem si ho, aby ste ho nakreslite v našom súbore PDF.

Myslím si, že ďalej popisujem, že to nestojí za to všetko jasne a tak, postup printheaderser - pridáva nápis do hlavičky dokumentov, postup printfooter - pridáva nápis na konci dokumentu. PrintBitMap Postup - Pridá obrázok do dokumentu, postup SETFONT - Nastaví požadovaný dokument fontu, postup Fontcolor - Nastaví požadovanú farbu písma dokumentu.

Všetky nasledujúce grafické funkcie a postupy sú presne rovnaké ako pri výkone grafických informácií o plátno iných komponentov.

Funkcia Newpage I Pri vytváraní nového listu v dokumente. Všetko, čo bude pridané po jeho výstupe, sa zobrazia na novom hárku dokumentu.

DôležitýNa projekt boli pripojené všetky moduly: RPBASE, RPRERNERPDF, RPDEFINE, RPBASE, RPFILER, RPRAVE, RPCON!

Schopnosti komponentu deklarovaného vývojármi:

  • Podpora vektorovej a rastrovej grafiky v dokumentoch PDF
  • PDF Heslo na ochranu dokumentov
  • Podporuje Acroroforms / PDF
  • Vodné značky
  • Generovanie dokumentov PDF s internými a externými referenciami, webovými odkazmi a záložkami
  • Úplná podpora Unicode.
  • Podpora pre rôzne fonty, formátovanie textu, umiestnenie textu v niekoľkých stĺpcoch
  • Podpora TCANVAS
  • Vstavaný archivátor pre kompresiu textových a grafických informácií v dokumente
  • TIFF Transformácia vo formáte PDF

Ako príklad som sa rozhodol zbierať demonštračnú aplikáciu, ktorá prichádza do súpravy spolu s komponentom. Thhotpdf.. Aplikácia je celkom jednoduchá - generuje PDF-KU s dvoma odkazmi a jednoduchým textom. Kód je tiež jednoduchý a zrozumiteľný:

postup tform1. HelloWorldbuttonClick (Sender: Prepínanie); Začnite HPDF. Zaregistrovať; HPDF. Aktuálna stránka. PrinthyperLink (20, 35, "Webová stránka:" + Mainedit. Text, trejený. Text); HPDF. Aktuálna stránka. SETFONT ("Times New Roman" ,,,,,,,, HPDF. Aktuálna stránka. Setrgbhyperlinkcolor (clred); HPDF. Aktuálna stránka. PrinthyperLink (20, 50, "Objednávka stránka:" + buykedit. Text, nákup. Text); HPDF. Aktuálna stránka. SETFONT ("Times New Roman", 14); HPDF. Aktuálna stránka. Textom (20, 75, 0, "Kliknite na odkaz na navigáciu"); HPDF. Enddoc; koniec;

Dokonca aj bez toho, aby sa dostali do jemnosti komponentu, možno pochopiť, že a ako sa to deje v tomto demonštračnom príklade. Beh, pozeráme sa na vzhľad generovaného dokumentu:

Toto sú tieto dve modré obdĺžniky v dokumente - odkazy na dve strany ... a jednoduchý text "Kliknite na odkaz na navigáciu" nie je pozoruje nikde. Aj keď je potrebné vzdať hold, keď kliknete na obdĺžnik, odkaz sa naozaj otvorí. Všeobecne platí, že vývojári sa ponáhľali, aby deklarovali Delphi Support až XE3, či funguje tak zaujímavé, že skúšobná verzia funguje, ale po spustení tohto demonštračného príkladu som nejako spadol túžbu použiť thhotpdf aj zadarmo. Ďalej.

4. Pilot Creator PDF

Náklady: od 450 dolárov bez zdrojového kódu do výšky 9950 USD (!!!) so zdrojom
5-XE4.
http://www.colorpilot.com/pdfLibrary.html#Download

Knižnica stojí Takmer ako Delphi XE3 Professional ... No, Oh No, pozrime sa, čo je táto knižnica.

Funkcie deklarované vývojármi:

  • Pokročilý súbor metód a vlastností pre jednoduché tvorbu PDF;
  • Čítanie a zlúčenie existujúcich dokumentov PDF;
  • Pridanie a odstránenie stránok dokumentu PDF;
  • Podpora Unicode;
  • Vytváranie vodoznakov pre každú stránku;
  • Pridanie miniatúr pre dokument PDF;
  • Použitie a zapustenie fontov (TrueType, OpenType, TYPE1, atď.);
  • Vytvorenie interaktívnych dokumentov PDF pomocou JavaScriptu a hypertextových odkazov;
  • Podpora interaktívnych prvkov Acroform: Textové polia Vstup, Tlačidlá, rozhlasové tlačidlá, rozbaľovacie záznamy, začiarkavacie políčka;
  • Šifrovanie a ochrana heslom vytvorené dokumenty PDF;
  • Vytvorenie a riadenie obsahu dokumentu;
  • Prístup HDC na kreslenie stránok PDF pomocou funkcií WINAPI.
  • Pomocou obrázkov v rôznych formátoch (JPEG, TIFF, PNG, BMP, GIF);
  • Vytvorenie a používanie anotácií;
  • Vytvorenie dokumentov PDF na disku alebo v pamäti;
  • Vyťahovanie textu z dokumentov PDF;

Všeobecne platí, že pomerne pôsobivý zoznam príležitostí. Pozrime sa, ako niektoré z týchto príležitostí fungujú v praxi. Stiahnite si demonštračnú verziu, nainštalujte.

Po inštalácii spustite Delphi (v mojom prípade, je Delphi XE3 a prejdite do menu:

Komponent - Import komponent - Knižnica typu importu

V zozname hľadáte knižnicu

Importujeme, vytvoríme nový projekt a pripojíme modul pri použití Pdfcreatorpilotlib_tlb.

Teraz môžeme otestovať prácu knižnice na nejakom životnom príklade. Spočiatku skúste generovať dokument s jednoduchým textom:

postup tform1. Button1click (Sender: Prepínanie); Var FNT: Integer; Začiatok (inicializácia) PDF: \u003d TPDFDocument4. Vytvoriť (nil); Pdf. Setlicensedata ("demo", "demo"); FNT: \u003d PDF. Addfont ("verdana", false, false, false, false, fcansi); Pdf. PoužívanieFont (FNT, 14); Pdf. Showtext (20, 40, "ahoj, pdf!"); (Uložiť) PDF. Savatofile ("Hellopdf.pdf", TRUE); Pdf. Zničiť; koniec;

Spustite aplikáciu a pozrite sa na vytvorený dokument PDF:

Teraz napíšte, aby ste napísali ruský text do súboru:

postup tform1. Button1click (Sender: Prepínanie); Začiatok (inicializácia) (...) pdf. Showtext (20, 40, "hi, pdf!"); (Uložiť) (...) koniec;


Možno niekde v triednych vlastnostiach, musíte niečo nakonfigurovať, zavolať akejkoľvek metódy, ktorá bude zahŕňať podporu pre Unicode, ale pre takéto baránky by som chcel získať knižnicu, ktorá zarobí okamžite "z krabice" bez problémov s nastaveniami a twistrmi. .. Mimochodom, spôsob vloženia odkazu (addhyperlink) tiež nefungovalo - dokument zostal deväť, napriek skutočnosti, že odkaz bol údajne vložený. Musíme však vzdať hold, pokúsiť sa vložiť do nového dokumentu predtým vytvoreného pdf-ku - pracoval s bangom - dokument bol vložený do novej stránky, ako by mal bez Jambs.

5. PDFTOOLKIT VCL V4.0.1.293

Náklady: od $ 349 bez zdroja na 499 dolárov so zdrojom
Podporované verzie DELPHI: 6-XE4.
Skúšobná verzia na stiahnutie Stránka: http://www.gnosice.com/pdftolkit_vcl.asp?show\u003ddownloads

O tejto knižnici komponentov z Gnosice má pomerne veľa pozitívnej spätnej väzby v sieti.

Príležitostí PdfToolkit.takmer 1 v 1 zodpovedá PDF Creator Pilot, tí. vie, ako "lepidlo" pdf-ki, rozpoznať text, vložiť odkazy, vykonávať vyhľadávanie v dokumentoch atď. Ale, na rozdiel od pdf tvorca pilot, Pdftolkit, ak gtpdfdocument1. IslaADED potom začať GTPDFDocument1. Textom ( "Ahoj, Mier!" , IntTostr (GTPDFDOCUMENT1. PageCOUNT), // rozsah stránok, ku ktorému bude vložený text gtpdfdocument1. Getpagesize (gtpdfdocument1. Pagecount, mupixels). Šírka / 2, // Vložte text do stredu stránky gtpdfdocument1. Getpagesize (gtpdfdocument1. Pagecount, mupixels). Výška / 2); (Uložte dokument) gtpdfdocument1. Savatofile ("modifikovaný_doc.pdf"); koniec; Nakoniec gtpdfdocument1. Voľný koniec;

Samozrejme, vo vzťahu k mojej úlohe, PDFTOLKIT sa ukáže, že je prakticky zbytočné, pretože Mám záujem vytvoriť z poškriabania PDF-Ki, ale pre tých, ktorí píšu naše vlastné PDF-OK pohľad, myslím, že táto knižnica by mala prísť viac ako.

Takže, čo máme na konci. Existuje 5 rôznych riešení na vytváranie a prácu s dokumentmi PDF v DELPHI. Každé rozhodnutie má svoje vlastné výhody (zadarmo, "riešenie problémov") a nevýhody (hodnota koňa, problémy s Unicode atď.). Pokiaľ ide o moju úlohu, všetky riešenia budú musieť "pracovať so súborom". Na druhej strane existuje veľa platených a slobodných služieb na generovanie pdf, ale po tom, že sa napadlo, že takéto služby majú majetok náhle vziať a zomrieť, je to nejako s nimi ťahané. Samozrejme, že ďalšie rozhodnutie je samoobslužné a nie úplne v téme Delphi, ale o tom nejako nabudúce, ale teraz budem premýšľať o tom, čo robiť s Klientom pre DELPHYEDS


Uvidíme sa online!


dátum publikácie 23-09-2005 07:00 SKICH PRE POUŽÍVANIE PDFOV

Nedávno, veľa PDF Converter "OV, Reader" OV a Write "bolo objavené na internete. A prevažná väčšina z nich sú ponúkané za peniaze. Samotný program je $ 10 až $ 300. A zdrojový kód pre veľa Veľké peniaze Cena začína od $ 200 a na jednom mieste (záujem o to vyliezol na internete) už pre 900 eur.

Tento problém ma zaujíma, pokiaľ ide o programovanie a potom prinesiem výsledky na vaše informácie. (Tieto výsledky boli prijaté pri štúdiu interných súborov PDF, keď ho otvoríte v celkovom veliteľovi cez F3)

Zvyčajný súbor PDF sa skladá zo štyroch častí. :=

Čo je to

? Toto je obvyklá zmienka o verzii špecifikácie PDF. Ktorý je prítomný v prvom riadku súboru PDF. Napríklad, "% PDF-1.3" v siedmej verzii Acrobatu, ktorá vyšla niekde na začiatku leta tohto roka, toto číslo "% PDF-1.7", ale toto nie je verzia produktu, je to verziu špecifikácie. Druhý riadok PDF ide malý abnormálny barel (zrejme navrhnutý na ďalšie použitie) "% VGPU"

Všetko s prvou časťou PDF prišiel.

Predstavuje druhú časť, ktorá sa nazýva ?

Odpoveď je veľmi jednoduchá: Toto je postupnosť objektov, ktorého opis, ako je Heder je prezentovaný v textovom formulári.

Každý objekt je textový fragment s poradovým číslom v názve "4 0 obj"

  • 4 Toto je poradové číslo objektu
  • 0 Toto je číslo (re) generácie súborov, to znamená, že keď je súbor aktualizovaný (upravený), toto číslo sa zvyšuje
  • obj. Toto je kódové slovo znamená, že v tele dokumentu sme sa stretli s objektom

Všetky objekty sú rozdelené do nepriameho a rovného. Všetky nepriame a väčšina z nich po Slovom obj. Majte vymedzenie v ich tele "<<", означающее начало данных объекта. И в конце данных закрывающий делиметер ">\u003e "a kódové slovo endobj.

Priame predmety by nemali mať v otvorení a zatváraní v tele "<<", ">\u003e "Všetky nepriame objekty sú k dispozícii krížová referenčná tabuľka. Predstavuje odkazy vo forme offset od začiatku súboru pred začiatkom objektu (dáta (čiary) v objekte je rozdelená #13#10 alebo #13 )

Typ "Najdôležitejšie" objekt v telese PDF PDF nosí hrdý názov "/ Katalóg"

4 0 obj.<< /Type /Catalog /Pages 2 0 R /OpenAction [ 5 0 R /XYZ null 364 1 ] /PageMode /UseNone >\u003e Endobj.

V skutočnosti, v tele minimálneho súboru PDF typu "Hello World" by mali byť 3 "hlavné" objekty. Uveďte ich podľa typu:

  • "/ Katalóg" Obsahuje odkaz: na stránke stránok ( / Stránky.)
  • "/ Stránky"obsahuje odkaz na skupinu stránok dokumentu (napríklad 2 0 Obj\u003e Endobj)
  • "/ Strana" Obsahuje odkaz na objekty týkajúce sa konkrétnej stránky. (Napríklad 3 0 obj\u003e / rotate 0 \u003e\u003e)
A niekoľko "menších"

Analyzujeme stránku objektu:

  • / Točiť sa. Pole ukazuje, ako oveľa stupňov musí byť obraz stránky zapnutý pri zobrazení programu
  • / MediaBox.a / Cropbox. Polia popisujú veľkosť stránky
  • / Rodič. Odkaz na rodičovský objekt "/ Stránky"
  • / Zdroje. Toto pole popisuje, ktorá fontána by sa mala používať pri zobrazení stránky (základ je samostatný objekt) a inštaláciu PROCETSE Toto nastavenie ukazuje, ktorý obsah dátového toku tejto stránky (môže byť tiež definovaný ako objekt, a nie ako pole)
  • / Obsah. Najzaujímavejšie pole v objektovej "stránke", udáva odkaz na objekt obsahu tejto stránky a: ak toto pole chýba v "stránke" objekt znamená, že stránka je prázdna
Obsah stránky:
Objekt "Prúd" 4 0 OBJ\u003e Stream BT / F12 9 TF 10 782 TD 0 -12,5 TD (Max Fokin) TJ 0 -12,5 TD (MNB) TJ 0 -12,5 TD () TJ 0 -12,5 TD (Max Privát) TJ 0 -12,5 TD (1) TJ 0 -12,5 TD (1) TJ 0 -12,5 TD (2) TJ 0 -12,5 TD (3) TJ 0 -12,5 TD (4) TJ 0 -12,5 TD (45) TJ Enterstream Endobj / Dĺžka 305 Toto pole ukazuje, koľko bajtov zo slova prúd pred slovom endstream

Najjednoduchšou možnosťou je nekorientovaný a nekomprimovaný tok dát v objekte. prúd. Je obmedzený na prevádzkovateľov BT. a Et.

BT začína textový objekt - charakterizuje začiatok textu et. - charakterizuje koniec textu / F12 9 TF

  • / F12. Tento kód názvu objektu, ktorý charakterizuje fond používaný na tejto stránke.
  • 9 Toto je veľkosť písma
  • Tf. Toto je operátor, ktorý charakterizuje, že tento riadok v parnom objekte je inštalácia fontány a veľkosti
10 782 TD Tieto sú čísla, odkiaľ tento reťazec začína (počítanie z ľavého horného uhla) TJ je prekladateľom na novú líniu, ale v zátvorkách náš text

Nevysvetľujem kódovaný prúd. Je založený na algoritoch RC4, RC5, MD5.

Čo je objekt Písmo 12 0 Obj\u003e

  • / Typ / písmo Prirodzene zadajte názov
  • / Podtyp / typ1 Názov podtypu
  • / Meno / F7 F7 Tento názov kód

PDF podporuje niekoľko typov fontov. Sú uvedené nižšie

  • Typ 1, vrátane podmnožín a viacerých majstrovských "snímok"
  • Typ 3.
  • TrueType, vrátane podskupín
  • Typ 0.
Úprimne, nerozumel som typu 3, TrueType, vrátane podskupín, zadajte 0 Nemôžem nič povedať
A typ 1 - to sú nasledovné Fonty Courier Courier-Bold Courier-Bololoblique Courier-Bubique HelveTICA HelveTICA-Bold HelveTICA-Boldobique HelveTICA-šikmú Times-Roman Times-Bold Times-Italic Times-BoldItalic Symbol ZapfdingBats

20 0 Obj\u003e Endobj Toto je objekt s názvami kódov pre fonty prvého typu. Týmto kódom môžete ľahko získať objekt písmo. 6 0 obj\u003e

Všetko: To je minimálne Pozostáva z nasledujúcich objektov: "Katalóg", "Stránky", "Stránka", "Zdroje" (Môže byť opísaný ako pole ako pole v objekte), najkrajší objekt "Prúd", Skupina objektov "Font"

Čo ? V skutočnosti je to obyčajná textová tabuľka, začína slovom xref. A jeho telo má odkazy na všetky nepriame objekty v dokumente. Tu je príklad Xref 0 27 0000000021 65535 F 000000000016 00000 N 0000000105 0000000356 00000 N 0000000713 000000 N 0000000892 000000000000 € 0000001725 00000 N 0000001725 00000 N 0000001850 00000 N 0000001725 0000002084 00000 N 000000202084 00000 N 000000002203 00000 N 0000002326 00000 N 00000000239 00000 N 00000000258 00000 N 000000002558 00000 N 00000000002558 00000 N 000000000021 00000 N 000000002751 00000 N 0000000000 00001 F 000000000000 00000 F 0000002915 00000 N 0000002955 00000 n 0 27 Tieto čísla označujú: \\ t

  • 0 - Prvé číslo objektu v tabuľke
  • 27 - Počet prvkov tabuľky

Prvý prvok tabuľky vždy ponorí " XXXXXXXXXX 65535 F."Kde X je obrázok, a 65535 je predvolená hodnota pre prvý prvok v tabuľke. Symbol" F "znamená" zadarmo.", To znamená, že objekt sa nepoužíva

Analyzujeme prvok tejto tabuľky.

  • Prvé 10 číslic sú odsadené od začiatku súboru pred začiatkom objektu.
  • 0000000016 znamená, že po 16 bajtoch od začiatku súboru bude splnená prvou zmienkou o objekte, ktorá je napríklad 4 0 obj.

Druhé päť číslic je číslo generácie súborov. Ak bol súbor práve vytvorený, vždy zeros. Ak je súbor upravený, potom sa toto číslo zvyšuje podľa jedného. T.j 0000000024 00001 F.

Kanonický, práve vytvorený súbor PDF, má len jednu tabuľku. Ak je však súbor upravený, môže existovať veľa takýchto tabuliek.

Vzťah tabuliek sa vykonáva pomocou posledného prvku a kódové slová startxref.

CANONICKÝ, PRIJATÝ PDF súbor, má len jednu tabuľku, po stole je prvok príves A po Traru je kódové slovo startxref.Indikujúci posun od začiatku súboru pred začiatkom tabuľky je tu príklad. Trailer\u003e STARTXREF 173 %% EOF znamená, že po 173 bajtoch od začiatku dokumentu bude prítomné kódové slovo xref.. Ale ak bol súbor upravený, posledný v súbore prívesu bude zobrazený: Xref 0 3 0000000000 65535 F 0000003609 00000 N 0000003832 00000 n Trailer<7a15ab3ed3999575ff2f3034104a82c1>] \u003e\u003e ŠTARTXREF 173 %% EF, ale ak sa obrátime na tabuľku, kde odkaz naznačuje sTARTXREF 173.Potom nájdeme nasledujúcu tabuľku a za ním bude mať Trary, ktorý bude mať pole / Prev. 3896. 3 16 0000000016 00000 N 0000000664 00000 n 00001106 00000 n 0000001106 00000 N 0000001133 00000 n 0000001250 0000001811 00002 00001992 000000 n 00000000292 00000 n 0000003438 0000000000 n 00000 n 00002760 00000000 n 0000002760 00000 N 00003438 00000 N 0000003516 00000000 00000 N 0000003516 000000000000 € Príves<7a15ab3ed3999575ff2f3034104a82c1>] \u003e\u003e ŠTARTXREF 567 %% EOF

Toto pole / Prev. 3896. Určuje nás na predchádzajúcu tabuľku a odkaz sTARTXREF 567. Označuje nasledujúcu tabuľku a tak takmer nekonečno v nasledujúcom poli startxref. Nevidíme 0 . To znamená, že čítame všetky tabuľky.

V tejto eseji, samozrejme, chýba zdrojový kód. Takže on: predstavil dva moduly hlavného " PDFDOCUMENT"A pomocné" PDFBASEFONTS."

Súbory pripojené k materiálu:

  • Zdrojový kód modulov PDFDocument.PAS A PDFBASEFONTS.PAP (16 K) aktualizácia od 9/23/2005 7:02:00

Diskusia o materiáli [07-07-2006 06:33] 7 správ



Páči sa vám článok? Zdieľaj to