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 [2021/10/26 08:00] – [Rasterizzazione di un PDF] 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 e per forzare l' | + | per rimuovere eventuali trasparenze e sostituirle con uno sfondo bianco e per forzare l' |
< | < | ||
- | convert -density 300 -background white -alpha remove -define 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.1635228053.txt.gz · Last modified: 2021/10/26 08:00 by niccolo