Come ridimensionare un PDF utilizzando iTextSharp
-
11-09-2019 - |
Domanda
Ho un sacco di file PDF che sto solo cercando di aprire, ridimensionare la pagina, e quindi salvare. Sto anche sperando che le dimensioni dei file si ridurrà in modo significativo farlo. Sto usando iTextSharp e il ridimensionamento funziona bene, ma la dimensione del file è quasi identico, sempre leggermente più grande in realtà. Ecco la funzione che ho ora:
Dim reader As New PdfReader(inPDF)
Dim doc As New Document(PageSize.LETTER)
Document.Compress = True
Dim writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream(outPDF, FileMode.Create))
doc.Open()
Dim cb As PdfContentByte = writer.DirectContent
Dim page As PdfImportedPage
For pageNumber As Long = 1 To reader.NumberOfPages
page = writer.GetImportedPage(reader, pageNumber)
cb.AddTemplate(page, PageSize.LETTER.Width / reader.GetPageSize(pageNumber).Width, 0, 0, PageSize.LETTER.Height / reader.GetPageSize(pageNumber).Height, 0, 0)
doc.NewPage()
Next pageNumber
doc.Close()
Qualcuno sa che cosa mi può mancare per ottenere effettivamente la dimensione del file giù così?
Grazie.
Soluzione
La riduzione delle dimensioni della pagina appena riduce le dimensioni della pagina; di non rimuovere qualsiasi contenuto, in modo dalla dimensione del file non cambierà.
Ci sono tre modi per ridurre le dimensioni del file; rimuovere i contenuti, fare in modo che gli oggetti di testo sono compressi, e / o assicurarsi che le immagini sono efficienti.
Per le immagini efficaci, voglio dire che le immagini non sono più grandi di cui hanno bisogno per essere, e che viene utilizzato il giusto tipo di compressione. È possibile utilizzare un'immagine enorme, dire larga 1800 pixel, e la scala di essere da 2,5" in formato pdf. Se si esegue questa operazione, sarà ancora 1800 pixel di larghezza anche se è visualizzato come una larghezza di 2,5 pollici. È possibile ridurre il file dimensioni ridimensionando l'immagine -.. in questo caso, per 300 dpi risoluzione di stampa, ha solo bisogno di essere largo 750 pixel per risoluzione standard pdf 72 dpi, si avrebbe solo bisogno di un'immagine di larghezza 202 pixel
Molti programmi che generano file PDF utilizzare automaticamente i file JPEG. Se l'immagine è 2 colore, come una fattura o controllare scansione, utilizzando TIFF con compressione G4 farà un file di dimensioni molto più piccolo di un jpeg.