doc:appunti:prog:pdf
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
doc:appunti:prog:pdf [2014/07/23 18:01] – [Unione di più documenti] niccolo | doc:appunti:prog:pdf [2022/12/06 15:36] – [Modifica del formato pagina] niccolo | ||
---|---|---|---|
Line 49: | Line 49: | ||
pdftoppm -r 360 file.pdf file_ppm | pdftoppm -r 360 file.pdf file_ppm | ||
</ | </ | ||
+ | |||
+ | < | ||
+ | convert -density 150 -quality 100 input.pdf output.jpg | ||
+ | </ | ||
+ | |||
+ | per rimuovere eventuali trasparenze e sostituirle con uno sfondo bianco e per forzare l' | ||
+ | |||
+ | < | ||
+ | convert -density 300 -background white -alpha remove -define png: | ||
+ | </ | ||
+ | |||
+ | 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 57: | 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 | ||
</ | </ | ||
+ | |||
+ | È 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 " | ||
+ | </ | ||
+ | |||
+ | In alternativa esiste il comando **'' | ||
< | < | ||
pdfunite part1.pdf part2.pdf document.pdf | pdfunite part1.pdf part2.pdf document.pdf | ||
+ | </ | ||
+ | |||
+ | ATTENZIONE: Il comando pdfunite (almeno con Debian 11 Bullseye) produce un PDF con problemi, per cui risulta impossibile **manipolare i metadati**. Ad esempio utilizzando il comando **pdftk** con l' | ||
+ | |||
+ | < | ||
+ | pdftk Error in UpdateInfo(): | ||
+ | Warning: no Info added to output PDF. | ||
+ | </ | ||
+ | |||
+ | 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' | ||
</ | </ | ||
Line 69: | Line 123: | ||
Per convertire correttamente in PDF definendo la dimensione della pagina e la risoluzione, | Per convertire correttamente in PDF definendo la dimensione della pagina e la risoluzione, | ||
+ | |||
+ | ===== Modifica del formato pagina ===== | ||
+ | |||
+ | Se un documento è in formato diverso da quello desiderato (lo si appura con **'' | ||
+ | |||
+ | < | ||
+ | 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 document.pdf --landscape --outfile facing-pages.pdf | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Creazione dei bookmark (indice) ===== | ||
+ | |||
+ | Anzitutto si estrae dal pdf i metadati esistenti: | ||
+ | |||
+ | < | ||
+ | pdftk document.pdf dump_data output metadata.txt | ||
+ | </ | ||
+ | |||
+ | nel file **metadata.txt** che viene generato è possibile aggiungere sezioni del tipo: | ||
+ | |||
+ | < | ||
+ | BookmarkBegin | ||
+ | BookmarkTitle: | ||
+ | BookmarkLevel: | ||
+ | BookmarkPageNumber: | ||
+ | </ | ||
+ | |||
+ | Eventuali caratteri non ASCII vanno codificati con il [[http:// | ||
+ | |||
+ | < | ||
+ | pdftk document.pdf update_info metadata.txt output new_document.pdf | ||
+ | </ | ||
+ | |||
+ | ===== Conversione da epub a PDF per smartphone ===== | ||
+ | |||
+ | Il formato epub è sicuramente più flessibile perché si adatta automaticamente alle dimensioni dello schermo del viewer, ecc., ma non tutti hanno un visualizzatore epub sul telefonino, mentre un visualizzatore PDF è molto più comune. | ||
+ | |||
+ | Ecco quindi come convertire nel formato PDF ingrandendo il testo in modo che sia leggibile in modalità pagina intera senza dover effettuare zoom. Inoltre la dimensione della pagina è stata impostata con un rapporto larghezza: | ||
+ | |||
+ | < | ||
+ | ebook-convert input_file.epub output_file.pdf --unit point --custom-size 594x992 --base-font-size 19 | ||
+ | </ | ||
+ | |||
+ | 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.txt · Last modified: 2024/08/19 12:30 by niccolo