doc:appunti:prog:pdf
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doc:appunti:prog:pdf [2020/03/06 12:45] – [Creazione dei bookmark (indice)] niccolo | doc:appunti:prog:pdf [2024/08/19 12:30] (current) – [Rasterizzazione di un PDF] niccolo | ||
|---|---|---|---|
| Line 51: | Line 51: | ||
| < | < | ||
| - | convert -density 150 -quality 100 input.pdf output.jpg | + | convert |
| </ | </ | ||
| - | per rimuovere eventuali trasparenze e sostituirle con uno sfondo bianco: | + | per rimuovere eventuali trasparenze e sostituirle con uno sfondo bianco |
| < | < | ||
| - | convert -density 300 -background white -alpha remove input.pdf output.png | + | convert |
| + | | ||
| + | | ||
| </ | </ | ||
| + | |||
| + | Potrebbe capitare l' | ||
| + | |||
| + | < | ||
| + | convert: attempt to perform an operation not allowed by the security | ||
| + | policy `PDF' @ error/ | ||
| + | </ | ||
| + | |||
| + | In tal caso è necessario rimuovere queste righe dal file **/ | ||
| + | |||
| + | < | ||
| + | <!-- disable ghostscript format types --> | ||
| + | <policy domain=" | ||
| + | <policy domain=" | ||
| + | <policy domain=" | ||
| + | <policy domain=" | ||
| + | <policy domain=" | ||
| + | <policy domain=" | ||
| + | </ | ||
| ===== Estrazione di alcune pagine ===== | ===== Estrazione di alcune pagine ===== | ||
| Line 67: | Line 88: | ||
| pdftk A=document.pdf cat A6-14 output document_p6-14.pdf | pdftk A=document.pdf cat A6-14 output document_p6-14.pdf | ||
| </ | </ | ||
| + | |||
| + | È possibile estrarre intervalli diversi con una sola riga di comando indicandoli in successione, | ||
| + | |||
| ===== Unione di più documenti ===== | ===== Unione di più documenti ===== | ||
| - | Il comando **'' | + | Si utilizza il **'' |
| + | |||
| + | < | ||
| + | pdftk " | ||
| + | </ | ||
| + | |||
| + | Un sistema più lento, ma più efficiente (impiega più tempo, ma può produrre documenti PDF più piccoli) è utilizzare direttamente **gs**: | ||
| + | |||
| + | < | ||
| + | gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=output.pdf doc1.pdf doc2.pdf ... | ||
| + | </ | ||
| + | |||
| + | In alternativa esiste il comando **'' | ||
| < | < | ||
| Line 76: | Line 112: | ||
| </ | </ | ||
| - | oppure si utilizza | + | ATTENZIONE: Il comando pdfunite (almeno con Debian 11 Bullseye) produce un PDF con problemi, per cui risulta impossibile **manipolare i metadati**. Ad esempio utilizzando |
| < | < | ||
| - | pdftk " | + | pdftk Error in UpdateInfo(): |
| + | Warning: no Info added to output | ||
| </ | </ | ||
| + | |||
| + | Anche il tool **exiftool** ha problemi a modificare i metadati su un file prodotto da **pdfunite**: | ||
| + | |||
| + | < | ||
| + | exiftool -Title=" | ||
| + | Error: Objects in xref table (367) exceed trailer dictionary Size (358) - united-pdfunite.pdf | ||
| + | 0 image files updated | ||
| + | 1 files weren' | ||
| + | </ | ||
| + | |||
| ===== Conversione di raster in PDF ===== | ===== Conversione di raster in PDF ===== | ||
| Line 92: | Line 139: | ||
| pdfjam --outfile document-a4.pdf --paper a4paper document.pdf | pdfjam --outfile document-a4.pdf --paper a4paper document.pdf | ||
| </ | </ | ||
| + | |||
| + | È possibile specificare le dimensioni esatte della pagina, ad esempio in punti tipografici: | ||
| + | |||
| + | < | ||
| + | pdfjam --papersize ' | ||
| + | </ | ||
| + | |||
| + | ===== Raggruppare pagine pari e dispari ===== | ||
| + | |||
| + | È possibile reimpaginare un documento in modo che una singola pagina contenga due o più pagine dell' | ||
| + | |||
| + | < | ||
| + | pdfjam --nup 2x1 --landscape --outfile facing-pages.pdf document.pdf | ||
| + | </ | ||
| + | |||
| + | ===== 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**: | ||
| + | |||
| + | < | ||
| + | mutool poster -x 2 doc-facing-pages.pdf output.pdf | ||
| + | </ | ||
| + | |||
| + | **ATTENZIONE**: | ||
| + | |||
| + | < | ||
| + | gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=output.pdf \ | ||
| + | -dDetectDuplicateImages=true document.pdf | ||
| + | </ | ||
| + | |||
| + | **ATTENZIONE**: | ||
| ===== Creazione dei bookmark (indice) ===== | ===== Creazione dei bookmark (indice) ===== | ||
| Line 98: | Line 176: | ||
| < | < | ||
| - | pdftk document.pdf dump_data output | + | pdftk document.pdf dump_data output |
| </ | </ | ||
| - | 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: |
| < | < | ||
| Line 113: | Line 191: | ||
| < | < | ||
| - | pdftk document.pdf update_info | + | pdftk document.pdf update_info |
| </ | </ | ||
| Line 127: | Line 205: | ||
| Il comando **ebook-convert** viene installato con il pacchetto Debian **calibre**. | Il comando **ebook-convert** viene installato con il pacchetto Debian **calibre**. | ||
| + | |||
| + | ===== Creazione PDF da pagine SVG ===== | ||
| + | |||
| + | Se si dispone di diverse pagine in formato SVG è possibile creare un unico PDF utilizzando il tool rsvg-convert (dal pacchetto Debian **librsvg2-bin**). Questa la riga di comando: | ||
| + | |||
| + | < | ||
| + | rsvg-convert --format pdf --keep-aspect-ratio --output output.pdf page*.svgz | ||
| + | </ | ||
| + | |||
doc/appunti/prog/pdf.1583495133.txt.gz · Last modified: by niccolo
