2009-07-08 12 views
4

J'ai un tas de PDF que j'essaie juste d'ouvrir, de redimensionner la page, puis de sauvegarder. J'espère également que la taille des fichiers diminuera de manière significative. J'utilise iTextSharp et le redimensionnement fonctionne très bien, mais la taille du fichier est presque identique, en fait un peu plus grande en fait. Voici la fonction que j'ai maintenant:Comment redimensionner un pdf en utilisant iTextSharp

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() 

Est-ce que quelqu'un sait ce que je peux être absent pour obtenir effectivement la taille du fichier ainsi?

Merci.

Répondre

2

Réduire la taille de la page réduit simplement la taille de la page; vous ne supprimez aucun contenu, la taille du fichier ne change donc pas.

Il y a trois façons de réduire la taille du fichier; supprimez le contenu, assurez-vous que les objets texte sont compressés et/ou assurez-vous que les images sont efficaces. Par des images efficaces, je veux dire que les images ne sont pas plus grandes qu'elles ne devraient l'être, et que le bon type de compression est utilisé. Vous pouvez utiliser une image énorme, par exemple 1800 pixels de large, et l'agrandir à 2.5 "dans le pdf.Si vous le faites, il sera encore 1800 pixels de large, même si elle est affichée comme 2,5 pouces de large.Vous pouvez réduire le fichier taille par redimensionnement de l'image - dans ce cas, pour une résolution d'impression de 300 dpi, il suffit de 750 pixels de large.Pour une résolution pdf standard de 72 dpi, vous auriez seulement besoin d'une image de 202 pixels de large

pdfs utilise automatiquement les jpegs Si l'image est en 2 couleurs, comme une facture ou un scan de contrôle, l'utilisation de tiffs avec compression G4 fera une taille de fichier beaucoup plus petite qu'un jpeg

+0

Je vais extrapoler d'ici et dire ça Pour atteindre mon objectif, j'ai besoin d'extraire les images, puis de les manipuler et de les rassembler dans un nouveau PDF. d résoudre ce problème ici: http://stackoverflow.com/questions/802269/itextsharp-extract-images – Ryan

+0

Oui. Vous devez faire attention à ne pas perturber le formatage. –

Questions connexes