5

開いてページのサイズを変更してから保存しようとしているPDFがたくさんあります。また、そうすることでファイルサイズが大幅に縮小されることも期待しています。私は 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()

実際にファイルサイズを小さくするために何が欠けているか知っている人はいますか?

ありがとう。

4

1 に答える 1

2

ページのサイズを縮小すると、ページのサイズが縮小されるだけです。コンテンツを削除していないため、ファイル サイズは変わりません。

ファイル サイズを小さくするには 3 つの方法があります。コンテンツを削除し、テキスト オブジェクトが圧縮されていることを確認し、画像が効率的であることを確認します。

効率的な画像とは、画像が必要以上に大きくなく、適切な種類の圧縮が使用されていることを意味します。たとえば幅 1800 ピクセルの巨大な画像を使用して、pdf で 2.5 インチに拡大できます。これを行うと、幅 2.5 インチで表​​示されていても、幅は 1800 ピクセルのままです。ファイルを縮小できます。画像のサイズを変更する - この場合、300 dpi の印刷解像度の場合は幅 750 ピクセルで十分ですが、標準の pdf 72 dpi 解像度の場合は幅 202 ピクセルの画像しか必要ありません。

PDF を自動的に生成する多くのプログラムは jpeg を使用します。請求書や小切手のスキャンなど、画像が 2 色の場合、G4 圧縮の tiff を使用すると、jpeg よりもファイル サイズがはるかに小さくなります。

于 2009-07-09T00:19:37.377 に答える