Puteți utiliza serverul PDFtk gratuit, sub licența GPL. Utilizatorii comerciali beneficiază de acordul proprietarului pentru sprijin comercial. Pentru a distribui serverul PDFtk ca parte a propriului produs comercial, va trebui să achiziționați licența de redistribuire a serverului PDFtk.
Alte detalii pe pagina: https://www.pdflabs.com/docs/pdftk-license/
Sursa: https://www.pdflabs.com/docs/pdftk-man-page/
Acest manual descrie toate opțiunile și operațiunile programului. Consultați instrucțiunile pentru explicații mai amănunțite. Pdftk este un program în linie de comandă, deci pentru a încerca aceste exemple, trebuie să utilizați terminalul computerului sau promptul de comandă.
pdftk < introdu nume fisiere PDF | - | PROMPT >
[ input_pw < parola proprietarului PDF | PROMPT > ]
[ < operatiune > < argumente operatiune > ]
[ output < nume fisier rezultat | - | PROMPT > ]
[ encrypt_40bit | encrypt_128bit ]
[ owner_pw < parola proprietarului | PROMPT > ]
[ user_pw < parola utilizatorului | PROMPT > ]
[ flatten ] [ need_appearances ]
[ keep_first_id | keep_final_id ]
unde:
< operatiune > poate lipsi sau poate fi:
[ cat | shuffle | burst | rotate |
background | multibackground |
stamp | multistamp |
dump_data_fields | dump_data_fields_utf8 |
update_info | update_info_utf8 |
Rezumatul opțiunilor este arătat mai jos.
--help, -h
Afișează rezumatul opțiunilor.
< introdu nume fisiere PDF | - | PROMPT >
O listă a fișierelor PDF de intrare. Dacă intenționați să combinați aceste PDF-uri (fără a utiliza mânere - handles), scrieți fișierele în ordinea în care doriți să le combinați. Utilizați - pentru a transmite un singur PDF în pdftk prin stdin. Fișierele de intrare pot fi asociate cu mânere, unde un mâner poate avea una sau mai multe litere mari:
< introdu maner PDF >=< introdu nume fisier PDF >
Mânerele (handles) sunt adesea omise. Ele sunt utile atunci când specificați ulterior parolele PDF sau intervalele paginilor.
De exemplu: A=input1.pdf QT=input2.pdf M=input3.pdf
[ input_pw < parola proprietarului PDF | PROMPT > ]
Dacă este necesar, introducerea parolelor de proprietar PDF pot fi asociate cu fișierele utilizând mânerele lor:
<input PDF handle> = <introducerea parolei proprietarului fișierului PDF>
Dacă nu se folosesc mânere, parolele sunt asociate cu fișierele de intrare.
Cele mai multe caracteristici pdftk necesită ca PDF-ul de intrare criptat să fie însoțit de parola proprietarului ~ owner ~. Dacă PDF-ul de intrare nu are o parolă de proprietar, atunci trebuie să fie introdusă parola utilizatorului.
Dacă PDF-ul de intrare nu are parole, nu se introduce nicio parolă.
Când rulează în modul do_ask, dacă parola furnizată este incorectă sau nu a fost dată nici o parole, pdftk vă va cere să introduceți o parolă.
[ < operatiune > < argumente operatiune > ]
Operațiuni valabile: cat, shuffle, burst, rotate, generate_fdf,fill_form, background, multibackground, stamp, multistamp,dump_data, dump_data_utf8, dump_data_fields,dump_data_fields_utf8, dump_data_annots, update_info,update_info_utf8, attach_files, unpack_files.
Unele operații pot folosi argumente suplimentare, descrise mai jos.
Dacă argumentul opțional este omis, atunci pdftk rulează în modul "filtru".
Modul de filtrare are o singură intrare PDF și creează un nou format PDF după aplicarea tuturor opțiunilor de ieșire, cum ar fi criptarea și comprimarea.
cat [ < page ranges > ]
Asamblează/ concatenează ("catenates") pagini din PDF-urile de intrare pentru a crea un PDF nou.
Utilizați argumentul cat pentru a îmbina paginile PDF sau pentru a despărți paginile PDF din documente. De asemenea, puteți să-l utilizați pentru a roti paginile PDF. Ordinea paginilor în noul PDF este specificată de ordinea intervalelor de pagini date. Intervalele de pagină sunt descrise astfel:
[ < introdu maner PDF > ] [ < pagina de inceput > [ -< pagina de sfarsit > [ < calificativ > ] ] ] [ < rotire pagina > ]
De exemplu:
pdftk A=in1.pdf B=in2.pdf cat A1 B2-20even output final.pdfMânerul (handler) identifică unul dintre fișierele PDF de intrare, iar numerele de pagină de început și de sfârșit sunt referințe bazate pe o singură pagină la paginile din fișierul PDF. Calificativul poate fi par (even) sau impar (odd), iar rotirea paginii poate fi la nord (north), la sud (south), la est (east), la vest (west), la stânga (left), la dreapta (right) sau în jos (down).
Dacă se dă un mâner PDF, dar nu sunt specificate anumite pagini, se utilizează întregul PDF. Dacă nu se specifică nicio pagină pentru niciunul dintre fișierele PDF de intrare, atunci marcajele (bookmarks) din fișierele PDF de intrare sunt fuzionate și incluse în ieșire.
Dacă mânerul este omis din intervalul de pagini, paginile sunt preluate din primul PDF de intrare.
Calificativul par (even) determină pdftk să folosească numai paginile PDF pare, astfel încât pentru paginile 1-6 va prelua doar paginile 2, 4 și 6 în ordinea respectivă. Dacă intervalul paginilor este scris descrescător 6-1, vor fi preluate paginile pare 6, 4 și 2 în această ordine.
Calificativul pentru pagini impare (odd) funcționează la fel ca și cel pentru pagini pare (even).
Setarea rotației paginii poate determina pdftk să rotească paginile și documentele. Fiecare opțiune stabilește rotația paginii după cum urmează (în grade): north: 0, east: 90, south: 180, west: 270, left: -90, right: +90, down: +180. Opțiunile left, right și down fac ajustări relative la rotirea unei pagini - rotire la stânga (sens antiorar 90 de grade), la dreapta (sens orar 90 de grade) și în jos (rotire cu 180 de grade).
Dacă nu sunt transmise argumente la cat, atunci pdftk îmbină toate fișierele PDF introduse în ordinea în care au fost date pentru a crea ieșirea.
NOTE:
Exemple de intervale de pagini fără a folosi mânere:
Exemple de intervale de pagini cu folosirea mânerelor:
Presupunând că pentru datele de intrare am folosit A=in1.pdf și B=in2.pdf, atunci:
shuffle [ < page ranges > ]
Concatenează paginile din fișierele PDF de intrare pentru a crea un fișier nou PDF. Funcționează ca și operațiunea cat, cu excepția faptului că preia câte o pagină la un moment dat din fiecare fișier PDF pentru a asambla fișierul PDF final. Dacă un interval de pagini dintr-un fișier PDF se termină, concatenarea continuă prin adăugarea intervalelor rămase. Intervalele de pagini pot folosi toate funcțiile descrise mai sus pentru cat, cum ar fi intervale de pagini în ordine descrescătoare, intervalele multiple dintr-un singur PDF și rotația paginilor. Această caracteristică a fost concepută pentru a ajuta la concatenarea paginilor PDF după scanarea documentelor pe hârtie.
burst
Împarte un singur document PDF de intrare în pagini individuale. Creează, de asemenea, un raport numit doc_data.txt care este același cu rezultatul din dump_data. Dacă secțiunea de ieșire este omisă, atunci paginile PDF sunt numite: pg_% 04d.pdf, de ex .: pg_0001.pdf, pg_0002.pdf, etc. Pentru a da un nume acestor pagini, furnizați un șir de formate printf în secțiunea de ieșire.
De exemplu, dacă doriți ca numele paginilor sa fie: pagina_01.pdf, pagina_02.pdf etc, în linia de comandă adăugați pagina_% 02d.pdf.
pdftk in1.pdf burst output pagina_%02d.pdfCriptarea poate fi aplicată la fișierul rezultat prin adăugarea de opțiuni de ieșire, cum ar fi owner_pw, de exemplu:
pdftk in.pdf burst owner_pw foopassrotate [ < interval de pagini > ]
Preia o singură intrare PDF și rotește doar paginile specificate. Toate celelalte pagini rămân neschimbate. Ordinea paginilor rămâne neschimbată. Specificați paginile care se rotesc folosind aceleași notații ca și la cat, cu excepția faptului că omiteți paginile pe care nu le rotiți:
[ < numarul paginii de inceput > [ -< numarul ultimei pagini > [ < calificativ > ] ] ] [ < rotire pagina > ]
Calificativul poate fi even (numere pare) sau odd (numere impare), iar rotirea paginii poate fi north, south, east, west, left, right sau down.
Fiecare opțiune stabilește rotația paginii, după cum urmează (în grade, aici în sens trigonometric): north: 0, east: 90, south: 180, west: 270, left: -90, right: +90, down: +180. Opțiunile left, right și down fac ajustări relative la rotirea unei pagini.
Ordinea dată a paginilor nu modifică ordinea paginilor în fișierul de ieșire.
generate_fdf
Se folosește la fișiere PDF care conțin formulare și câmpuri în care trebuie introduse date. Citește un singur fișier PDF de intrare, extrage numele câmpurilor și generează un fișier FDF care poate fi folosit ulterior pentru completarea automată a câmpurilor. Salvează fișierul FDF folosind numele fișierului de ieșire (output). Dacă nu se dă niciun nume de fișier de ieșire, acesta trebuie completat de la tastatură. Nu creează un fișier PDF nou.
fill_form < nume fisier FDF | nume fisier XFDF | - | PROMPT >
Preia datele dintr-un fișier de tip FDF și le introduce în câmpurile dintr-un singur formular PDF, XFDF sau stdin. După fill_form se introduce numele fișierului de date sau datele se pot transmite prin stdin, astfel:
pdftk formular.pdf fill_form date.fdf output formular_completat.pdf
Dacă fișierul FDF de intrare include date formatate cu text (Rich Text) formatat în plus față de textul simplu, atunci datele RichText sunt împachetate în câmpurile formularului, precum și în textul simplu. Pdftk stabilește, de asemenea, un marcator (flag) care indică programului Reader/Acrobat să genereze noi apariții pe câmp bazate pe datele din textul formatat. Deci, atunci când utilizatorul deschide PDF-ul, programul Reader/Acrobat va crea imediat câmpurile cu text formatat.
Dacă programul Reader/Acrobat nu acceptă textul îmbogățit, atunci utilizatorul va vedea datele ca text simplu.
Dacă formularul este modificat înainte ca Acrobat să aibă șansa să creeze (și să salveze) noile valori din câmp, atunci în fișierul PDF datele din câmpurile text vor fi afișate ca text simplu.
Citiți și opțiunile flatten și need_appearances de mai jos.
background < background PDF filename | - | PROMPT >
Comanda aplică imaginea din fundalul unui fișier PDF la fișierul PDF de intrare:
pdftk intrare.pdf background fundal.pdf output final.pdfNotă: Dacă fișierul de intrare conține imagini, imaginea afișată ca fundal în fișierul final va fi acoperită de imagini. Deci, dacă fișierul de intrare este rezultat din scanare (conține doar imagini), imaginea din fundal nu va fi vizibilă, aceasta aflându-se sub imaginea scanată.
Dacă PDF-ul de intrare nu are un fundal transparent (cum ar fi un PDF creat din scanarea paginii), atunci imaginea din fundal nu va fi vizibil (va fi acoperită de pagina scanată). În acest caz se folosește operația de ștampilare (STAMP).
multibackground < multibackground PDF filename | - | PROMPT >
Funcționează la fel ca operația de adăugare fundal, dar aplică fiecărei pagini din PDF-ul intrare pagina corespunzătoare a PDF-ului de fundal. Dacă PDF-ul de intrare are mai multe pagini decât PDF-ul cu imagini pentru fundal, atunci pagina finală din PDF-ul cu fundal este repetată pe paginile rămase în PDF-ul de intrare.
stamp < stamp PDF filename | - | PROMPT >
Comanda se comportă exact ca și cea pentru adăugare fundal, cu excepția faptului că pagina PDF de intrare este acoperită de imaginea din PDF-ul cu ștampilă. Aceasta funcționează cel mai bine dacă pagina PDF cu ștampilă are fundal transparent.
multistamp < multistamp PDF filename | - | PROMPT >
La fel ca operațiunea de ștampilare, dar aplică în PDF-ul de intrare fiecare pagină corespunzătoare a PDF-ului cu ștampilă. Dacă PDF-ul de intrare are mai multe pagini decât PDF-ul cu ștampilă, atunci pagina finală a PDF-ului cu ștampilă este repetată pe paginile rămase în PDF-ul de intrare.
dump_data
Citește un fișier PDF cu o singură intrare și raportează metadatele sale, marcajele (adică contururile), valorile paginilor (media, rotația și etichetele) și alte date la numele de fișier de ieșire dat sau (dacă nu se dă nici o ieșire) la stdout. Caracterele non-ASCII sunt codificate ca entități numerice XML. Nu creează un PDF nou.
dump_data_utf8
La fel ca dump_data cu excepția faptului că ieșirea este codificată ca UTF-8.
dump_data_fields
Citește un singur fișier PDF care conține câmpuri și raportează statistici de câmpuri într-un nume de fișier de ieșire dat sau (dacă nu este specificat un fișier de ieșire) la stdout. Caracterele non-ASCII sunt codificate ca entități numerice XML. Nu creează un PDF nou.
dump_data_fields_utf8
La fel ca dump_data_fields cu excepția faptului că ieșirea este codificată ca UTF-8.
dump_data_annots
Această operație raportează numai adnotări de linkuri. Citește un singur fișier PDF de intrare și raportează informații de adnotare la numele de fișier de ieșire dat sau (dacă nu este dat nici o ieșire) la stdout. Caracterele non-ASCII sunt codificate ca entități numerice XML. Nu creează un PDF nou.
update_info < info data filename | - | PROMPT >
Modifică marcajele și metadatele din dicționarul de informații al unui singur fișier PDF pentru a se potrivi cu fișierul de date de intrare. Fișierul de date de intrare utilizează aceeași sintaxă ca ieșirea din dump_data. Caracterele non-ASCII sunt codificate ca entități numerice XML. Acest lucru nu modifică metadatele stocate în fluxul XMP al PDF-ului, dacă are unul. De exemplu:
pdftk in.pdf update_info in.info output out.pdfupdate_info_utf8 <info data filename | - | PROMPT>
La fel ca și update_info, cu excepția faptului că intrarea este codificată ca UTF-8.
attach_files < attachment filenames | PROMPT > [ to_page < page number | PROMPT > ]
Împachetează diferite fișiere într-un fișier PDF utilizând caracteristicile de atașare a fișierelor PDF. După attach_files pot fi scrise mai multe nume de fișiere care vor fi atașate. Fișierele atașate sunt adăugate la nivel de document, cu excepția opțiunii opționale to_page, caz în care fișierele sunt atașate la numărul de pagină dat (prima pagină este 1, pagina finală este end). De exemplu:
pdftk in.pdf attach_files tabel1.html tabel2.html to_page 6 output final_cu_atasate.pdfunpack_files
Copiază toate fișierele atașate din fișierul PDF în directorul curent sau într-un director de ieșire specificat după output. De exemplu:
pdftk report.pdf unpack_files output ~/atasate/sau, interactiv:
pdftk report.pdf unpack_files output PROMPT[ output < nume fisier final | - | PROMPT > ]
Numele fișierului de ieșire PDF nu poate avea același nume cu cel al fișierului de intrare. Utilizați ”-” pentru a afișa rezultatul în fereastra de comandă (la stdout).
Când utilizați operația dump_data, utilizați output pentru a seta numele fișierului de date de ieșire.
Când utilizați operația unpack_files, utilizați output pentru a seta numele unui director de ieșire.
Când utilizați operația burst, puteți utiliza output pentru a controla numele fișierelor PDF rezultate (descrise mai sus).
[ encrypt_40bit | encrypt_128bit ]
Dacă la fișierul final este dat un utilizator PDF sau o parolă de proprietar, puterea de criptare a PDF-ului este de 128 biți. Acest lucru poate fi anulat prin specificarea encrypt_40bit.
[ allow < permissions > ]
Permisiunile sunt aplicate fișierului final PDF numai dacă este specificată o putere de criptare sau dacă este dată o parolă de proprietar sau utilizator. Dacă permisiunile nu sunt specificate, acestea au valoarea implicită "none", ceea ce înseamnă că toate funcțiile următoare sunt dezactivate.
Secțiunea cu permisiuni poate include una sau mai multe dintre următoarele caracteristici:
[ owner_pw < owner password | PROMPT > ] [ user_pw < user password | PROMPT > ]
Dacă este furnizată o putere de criptare, dar nu sunt furnizate parole, atunci parolele de proprietar și de utilizator rămân goale. Aceasta înseamnă că PDF-ul rezultat poate fi deschis și parametrii de securitate pot fi modificați de oricine.
[ flatten ]
Această opțiune se folosește pentru a îmbina câmpurile formularului interactiv al PDF (și datele acestora) cu paginile PDF. Se poate face doar la un singur fișier de intrare PDF. Se poate folosi împreună cu operația fill_form.
[ need_appearances ]
Setează un marcaj (flag) care indică programului Reader/Acrobat să completeze câmpurile cu text formatat. Utilizați acest lucru atunci când completați un formular cu text non-ASCII pentru a vă asigura cea mai bună prezentare în Adobe Reader sau Acrobat. Opțiunea nu va funcționa atunci când este combinată cu opțiunea de aplatizare - flatten.
[ compress | uncompress ]
Opțiuni utile doar când doriți să editați codul paginii PDF într-un editor de text cum ar fi vim sau emacs. Eliminați compresia fluxului de pagini PDF prin aplicarea filtrului de decomprimare. Utilizați filtrul de compresie pentru a restabili compresia fluxului de pagini.
[ keep_first_id | keep_final_id ]
Atunci când combinați pagini din mai multe fișiere PDF, utilizați una dintre aceste opțiuni pentru a copia ID-ul documentului din primul sau ultimul document de intrare în fișierul PDF de ieșire. Altfel, pdftk creează un ID nou pentru documentul PDF. Atunci când nu se dă nici o operație, pdftk utilizează întotdeauna ID-ul din PDF (unic) de intrare.
[ drop_xfa ]
Dacă fișierul PDF de intrare este un formular creat utilizând Acrobat 7 sau Adobe Designer, probabil că acesta are date de tip XFA. Completarea unui astfel de formular folosind pdftk produce un PDF cu date care nu mai poate fi afișat în Acrobat 7. Soluția este eliminarea datelor XFA ale formularului, fie înainte de a completa formularul utilizând pdftk, fie în momentul în care formularul este completat. Folosind această opțiune, pdftk omite datele XFA din formularul de ieșire PDF.
Această opțiune este necesară numai atunci când rulează pdftk cu un singur PDF de intrare. Când asamblați un PDF din mai multe intrări folosind pdftk, orice date XFA din intrare sunt omise automat.
[ verbose ]
În mod implicit, pdftk rulează fără a afișa comentarii. Adăugați verbose la sfârșit și va afișa în linia de comandă comentarii cu operațiile realizate.
[ dont_ask | do_ask ]
În funcție de setările pentru timpul de compilare (consultați ASK_ABOUT_WARNINGS), pdftk vă poate solicita informații suplimentare atunci când întâmpină o problemă, cum ar fi o parolă incorectă. Înlocuiți acest comportament implicit adăugând dont_ask (astfel încât pdftk nu vă va întreba ce să faceți) sau do_ask (astfel încât pdftk vă va întreba ce să faceți).
Atunci când rulează în modul dont_ask, pdftk va suprascrie fișierul final fără notificare.