Manipulere PDF-filer med PDF Toolkit


Opprette og lese PDF-filer i er lett Linux, men å manipulere eksisterende PDF-filer er litt mer komplisert. Utallige bruksområder gjør at du kan fikle med PDF-filer, men det er vanskelig å finne et enkelt program som gjør alt. PDF Toolkit (pdftk) hevder å være at alt-i-ett-løsning. Det er det nærmeste til Adobe Acrobat som jeg har funnet for Linux



Developer Sid Steward beskriver pdftk som PDF tilsvarer en ". Elektronisk stiftefjerner, hulling, bindemiddel, hemmelig dekoder ring, og X-ray briller. " Det er mye funksjonalitet for en 4MB søknad, men programvaren leverer. Pdftk kan bli med og dele PDF-filer; trekke enkeltsider fra en fil; kryptere og dekryptere PDF-filer; legge til, oppdatere og eksportere en PDF metadata; eksportere bokmerker til en tekstfil; legge til eller fjerne vedlegg til en PDF; fikse en skadet PDF; og fylle ut PDF-skjemaer. Kort sagt, det er svært lite pdftk kan ikke gjøre når det gjelder å arbeide med PDF-filer.

Du kan laste pdftk 1.12 som kilde eller som en Debian eller RPM pakke, FreeBSD port, eller Gentoo Ebuild. Binærfiler er tilgjengelig for Windows og Mac OS X også. Hvis du bestemmer deg for å kompilere pdftk, som jeg gjorde, sjekk bygge notater før du begynner, for å finne ut om noen avhengigheter for Linux distro eller din plattform. Kompilering prosessen tok bare et par minutter på maskinen min, og det var ingen uhell.

pdftk er et kommandolinjeverktøy, og syntaksen kan være komplisert, spesielt for komplekse handlinger som å fjerne spesifikke sider fra en PDF-fil. Du kan forvente å gjøre mye av å skrive, men det bør ikke sette deg av ved hjelp av verktøyet.

Jeg satte pdftk gjennom sine skritt med en rekke PDF-filer som varierte i størrelse fra 30 kB til 2 MB. Jeg fokuserte på de funksjonene som jeg bruker mest med andre PDF-programvare: bli med og splitte PDF-filer, fjerne sider fra en PDF, og legger ved filer til en PDF. Med unntak av en eller to svært små problemer, jeg ble ikke skuffet med resultatene. Pdftk også produsert utgang langt raskere enn de fleste andre PDF-verktøy som jeg har jobbet med.

Kunde filer

pdftk evne til å delta i to eller flere PDF-filer er på nivå med slike spesialiserte programmer som pdfmeld og joinPDF (omtalt i denne artikkelen). Kommandosyntaksen er enkel:

pdftk file1.pdf file2.pdf katt utgang newFile.pdf

Katten er en forkortelse for sette sammen - det vil si adresse sammen
, for de av oss som snakker vanlig engelsk - og utgang forteller pdftk å skrive de kombinerte PDF-filer til en ny fil
ikke

pdftk ikke beholde bokmerker, men det holder hyperkoblinger til begge destinasjonene i PDF og ekstern. filer eller nettsteder. Der noen andre programmer peker til feil destinasjoner for hyperkoblinger, koblingene i PDF-filer kombinert bruker pdftk klarte å treffe hver kobling mål perfekt.

Splitting filer

Splitting PDF-filer med pdftk var en interessant opplevelse . Burst alternativet bryter en PDF i flere filer - én fil for hver side:

pdftk user_guide.pdf brast

Jeg ser ikke bruken av å gjøre det, og med større dokumenter deg ender opp med en masse filer med navn som tilsvarer deres sidetall, som pg_0001 og pg_0013 -. ikke veldig intuitivt

På den annen side, fant jeg pdftk evne til å fjerne bestemte sider fra en PDF-fil til å være nyttig. For eksempel å ta sider 10 til 25 fra en PDF-fil, vil du skrive inn følgende kommando:

pdftk myDocument.pdf cat 1-9 26-end utgang removedPages.pdf

I har brukt denne syntaksen i stor utstrekning for å trimme sider fra arbeidsprøver som jeg har lagt ut på min selskapets nettsted, og til å trekke ut artikler fra tidligere utgaver av et magasin som bidrar jeg. De resulterende filene er små, og PDF-filer beholde fremragende oppløsning.

Legge til vedlegg

Da jeg flyttet til Linux fra Windows i 1999, savnet jeg Adobe Acrobat evne til å legge ved filer til en PDF. Jeg har jevnlig brukt denne funksjonen til å omfatte tilføyelser, spørreundersøkelser, eller ytterligere informasjon med en publisert PDF. Før jeg fant pdftk, ble jeg tvunget til å flytte mine PDF-dokumenter til en Windows-boks når jeg trengte å legge ved en fil.

Hvorfor legge ved en fil til en PDF i stedet for å sende et arkiv? Den store appell er bekvemmelighet. Hvis du flytter en PDF-fil fra én datamaskin til en annen, og ikke flytte arkivet sammen med det, vil du ikke ha tilgang til vedleggene. Og i stedet for å dra en fil fra et arkiv for å vise den, du bare dobbeltklikke på vedlegget ikon for å åpne filen fra PDF-leser.

pdftk kan feste binære og tekstfiler til en PDF med letthet. Du kan også angi hvilken side av PDF-filen du vil at vedlegget skal vises på. For eksempel:

pdftk html_tidy.pdf attach_files command_ref.html to_page 24 utgang html_tidy_book.pdf

Jeg har festet OpenOffice.org Writer dokumenter, tar.gz arkiver, og tekst og HTML-filer til ulike PDF-dokumenter, og bortsett fra en merkbar økning i størrelsen på PDF-filen, var det ingen ekle bivirkninger.

Vedlagte filer er merket med en tegnestift-ikonet i PDF, men bare i Adobe Acrobat Reader. Vedlegg vises ikke i Xpdf, Evince, KPDF, eller gv

Fylle ut skjemaer

De fleste PDF-filer er statisk -. Du lese dem, skrive dem ut eller kopiere tekst fra dem . Men PDF-filer kan også være interaktiv. Det er mulig å lage PDF-skjemaer med felt som godtar informasjon. Bedrifter og offentlige etater publisere PDF-skjemaer på sine nettsteder til å samle inn informasjon undersøkelse og tilbakemeldinger fra kunder, og til og med å sende inn selvangivelse.

Ved hjelp pdftk sin fill_form alternativet, kan du fylle ut skjemaer med informasjon i en egen fil. Imidlertid er fill_form alternativet ikke for sarte sjeler. Hvis du vil utføre denne oppgaven, må du opprette en Form Data Format (FDF) fil som inneholder data som du ønsker å flette inn skjemaet. Du kan gjøre dette ved hjelp pdftk sin generate_fdf direktiv.

FDF-filen inneholder navnene på hvert felt i PDF og verdiene du ønsker å inngå disse feltene. FDF-filen inneholder også en link til navnet på PDF-skjema. En FDF-fil ser omtrent slik ut:


% FDF-1.21 0 obj < < /FDF < < /Idretts [< < /T (Name_field) /V (Fred Langan) > > < < /T (Address_field) /V (1 313 Mockingbird Lane) > > < < /T (Age_field) /V (53) > >] /F (info_form.pdf) > > > > endobjtrailer < < /Root 1 0 R > > %% EOF 

For å fylle ut skjemaet ved hjelp av en FDF-fil, kan du bruke en kommando som dette:

pdftk survey_form.pdf fill_form survey_answers.fdf utgang filled_survey.pdf

Med mindre du er komfortabel å skape FDF-filer, den fill_form alternativet er egentlig ikke egnet for å fullføre den odde skjemaet her og der. Men hvis du føler deg eventyrlystne, bok PDF Hacks
forklarer hvordan du bruker pdftk og en webserver som kjører PHP å gjøre dette med web-baserte skjemaer.

Et par sjelden brukt alternativene

pdftk har en rekke alternativer som du kan bruke sjelden, men som er svært nyttig når du trenger dem - for eksempel update_info og user_pw

Når du oppretter en PDF-fil, det kan. inneholder ingen eller ufullstendig metadata - det vil si informasjon som beskriver PDF. Metadata kan komme godt med når du eller brukerne trenger for å organisere eller indeksere et sett med PDF-filer. Bruke pdftk og en tekstfil, kan du endre eller legge til metadata til PDF:

pdftk DocBook_Overview.pdf update_info data.txt utgang DocBookOverview.pdf

I denne bruken, innholdet i fila data.txt består av en infokey og InfoValue par, som dette:

infokey: Nøkkelord InfoValue: DocBook, skriving, dokumentasjon, bakgrunn

Du kan endre bare følgende metadata elementer med pdftk: tittel , forfatter, emne, produsent og nøkkelord.

Hvis du arbeider med PDF-filer som inneholder sensitiv informasjon, kan du kreve et passord for å lese PDF. Hvis du vil være sikker på at bare visse folk kan vise en PDF, kan du bruke et passord til den med user_pw alternativ:

pdftk sales_report.pdf utgang SalesReport.pdf user_pw Prompt

Du vil bli bedt om et passord på opp til 32 tegn. Når noen prøver å åpne PDF-filen, vil de bli bedt om å skrive inn et passord.

Hvis du bruker pdftk regelmessig, eller hvis du er komfortabel å skrive manus til innkapsler kommandoene som du bruker, så du bør ikke ha problemer arbeider fra kommandolinjen. Ellers, sjekk ut Dirk Paehl grafiske grensesnitt for pdftk, GUI for pdftk. Det er ikke den peneste eller mest intuitive GUI rundt, men det gir deg rask tilgang til alle pdftk funksjoner.

Konklusjon

pdftk er en av de mest nyttige verktøy for å manipulere PDF-filer . Det gjør så god jobb som de enkeltfunksjons PDF verktøy tilgjengelig for Linux, og ofte resultatene er bedre.

pdftk fleksibilitet er uovertruffen på Linux. Mens det er ikke det enkleste programvare, med litt trening vil du få taket på det. Den pdftk Nettstedet inneholder en rekke nyttige tips og triks.

Sjansene er du vil bruke bare en håndfull av pdftk funksjoner regelmessig. Men når du må ringe på noen av pdftk øvrige funksjoner, for ting som å reparere en PDF-fil eller fylle ut PDF-skjemaer, vil du være glad du har dette programmet på harddisken.

Scott Nesbitt er en teknisk forfatter og journalist som tilbringer altfor mye tid tull med PDF-filer (og andre typer dokumenter).