简体   繁体   English

ItextSharp优化pdf文件

[英]ItextSharp optimize pdf file

Hi I have code line like this 嗨,我有这样的代码行

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

My result pdf file is too large. 我的结果pdf文件太大。

Just 3 image files (300dpi) gives me 35MB for the pdf file. 仅3个图像文件(300dpi)就给我35MB的pdf文件。

Do you have any idea how to help me optimize or reduce file to a smaller size? 您是否知道如何帮助我优化文件或将文件减小到较小的尺寸?


Here is my file info 这是我的文件信息

MyFileInfo MyFileInfo

Any C# library for reduce this Image without change DPI(Because i use this file to OCR) 任何C#库都可在不更改DPI的情况下减少此图像(因为我将此文件用于OCR)

I use this code 我用这个代码

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM