ItextSharp优化pdf文件

时间:2018-11-29 09:13:11

标签: c# winforms itext wia

嗨,我有这样的代码行

var lstimage = device.ScanTIFF(SelectedScanType.Value);

// Combine list Image to PDF
imageExtension = ".pdf";
var path = Path.Combine(textBox1.Text, textBox2.Text + imageExtension);

if (File.Exists(path))
{
    File.Delete(path);
}

Document doc = new Document();
//doc.SetPageSize(PageSize.A4);

var ms = File.Create(path);
{
    var pdf = PdfWriter.GetInstance(doc, ms);
    doc.Open();

    foreach (ImageFile item in lstimage)
    {
        var imagepdf = iTextSharp.text.Image.GetInstance((byte[])item.FileData.get_BinaryData());
        //imagepdf.ScaleAbsolute(500f, 750f);
        //PdfPTable table = new PdfPTable(1);
        //table.AddCell(imagepdf);
        doc.Add(imagepdf);
    }

    if (doc.IsOpen()) doc.Close();
}

我的结果pdf文件太大。

只有3个图像文件(300dpi)可以给我提供35MB的pdf文件。

您知道如何帮助我优化文件或将文件缩小到较小的大小吗?


这是我的文件信息

MyFileInfo

任何C#库都可以在不更改DPI的情况下缩小此图像(因为我将此文件用于OCR)

1 个答案:

答案 0 :(得分:0)

我使用此代码

        iTextSharp.text.Image cabecera = iTextSharp.text.Image.GetInstance(Server.MapPath("images/logoCabeceraRecibos.png"));
        cabecera.ScalePercent(24f);
        cabecera.SetAbsolutePosition(0, documento.PageSize.Height - 70);
        //cabecera.ScalePercent(24f);
        documento.Add(cabecera);