User Tools

Site Tools


doc:appunti:prog:pdf

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:appunti:prog:pdf [2022/11/17 10:48] – [Unione di più documenti] niccolodoc:appunti:prog:pdf [2022/12/07 09:24] – [Raggruppare pagine pari e dispari] niccolo
Line 86: Line 86:
 pdftk A=document.pdf cat A6-14 output document_p6-14.pdf pdftk A=document.pdf cat A6-14 output document_p6-14.pdf
 </code> </code>
 +
 +È possibile estrarre intervalli diversi con una sola riga di comando indicandoli in successione, ad esempio: **%%cat A1-104 A107-118%%**.
 +
  
 ===== Unione di più documenti ===== ===== Unione di più documenti =====
Line 93: Line 96:
 <code> <code>
 pdftk "part1.pdf" "part2.pdf" cat output "document.pdf" pdftk "part1.pdf" "part2.pdf" cat output "document.pdf"
 +</code>
 +
 +Un sistema più lento, ma più efficiente (impiega più tempo, ma può produrre documenti PDF più piccoli) è utilizzare direttamente **gs**:
 +
 +<code>
 +gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=output.pdf doc1.pdf doc2.pdf ...
 </code> </code>
  
Line 108: Line 117:
 </code> </code>
  
 +Anche il tool **exiftool** ha problemi a modificare i metadati su un file prodotto da **pdfunite**:
 +
 +<code>
 +exiftool -Title="Book Title" -Author="John Doe" pdfunite_doc.pdf
 +Error: Objects in xref table (367) exceed trailer dictionary Size (358) - united-pdfunite.pdf
 +    0 image files updated
 +    1 files weren't updated due to errors
 +</code>
  
 ===== Conversione di raster in PDF ===== ===== Conversione di raster in PDF =====
Line 120: Line 137:
 pdfjam --outfile document-a4.pdf --paper a4paper document.pdf pdfjam --outfile document-a4.pdf --paper a4paper document.pdf
 </code> </code>
 +
 +È possibile specificare le dimensioni esatte della pagina, ad esempio in punti tipografici:
 +
 +<code>
 +pdfjam --papersize '{728.39pt,560.519pt}' --outfile output.pdf document.pdf
 +</code>
 +
 +===== Raggruppare pagine pari e dispari =====
 +
 +È possibile reimpaginare un documento in modo che una singola pagina contenga due o più pagine dell'originale. Ad esempio per affiancare pagine pari e dispari si usa la geometria 2x1:
 +
 +<code>
 +pdfjam --nup 2x1 --landscape --outfile facing-pages.pdf document.pdf
 +</code>
 +
 +===== Dividere le pagine in due o più pagine =====
 +
 +Esempio: un documento contiene le pagine pari e dispari affiancate in una singola pagina e si desidera separarle. Si utilizza il comando **mutool** contenuto nel pacchetto Debian **mupdf-tools**:
 +
 +<code>
 +mutool poster -x 2 doc-facing-pages.pdf output.pdf
 +</code>
 +
 +**ATTENZIONE**: Eventuali immagini contenute in una pagina vengono raddoppiate nel documento finale, probabilmente ogni sottopagina creata contiene un riferimento alla stessa. È possibile utilizzare **gs** per una elaborazione finale che rimuove i doppioni:
 +
 +<code>
 +gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=output.pdf -dDetectDuplicateImages=true document.pdf
 +</code>
 +
 +**ATTENZIONE**: In realtà il parametro **DetectDuplicateImages** rimuove gli oggetti duplicati, ma i riferimenti "doppioni" nel documento restano, semplicemente punteranno allo stesso ID oggetto.
  
 ===== Creazione dei bookmark (indice) ===== ===== Creazione dei bookmark (indice) =====
Line 126: Line 173:
  
 <code> <code>
-pdftk document.pdf dump_data output pdf_data.txt+pdftk document.pdf dump_data output metadata.txt
 </code> </code>
  
-nel file **pdf_data.txt** che viene generato è possibile aggiungere sezioni del tipo:+nel file **metadata.txt** che viene generato è possibile aggiungere sezioni del tipo:
  
 <file> <file>
Line 141: Line 188:
  
 <code> <code>
-pdftk document.pdf update_info pdf_data.txt output new_document.pdf+pdftk document.pdf update_info metadata.txt output new_document.pdf
 </code> </code>
  
doc/appunti/prog/pdf.txt · Last modified: 2022/12/07 09:25 by niccolo