繁体   English   中英

PdfSharp 降低了我的 jpg 输入图像的质量

[英]PdfSharp degrading the quality of my jpg input image

我想将 jpg 转换为 pdf。 经过一番研究,我发现您可以使用 PdfSharp 执行此操作,并且由于我使用的是 C#.Net 5.0,因此我得到了PdfSharpCore 1.2.11。

经过一番研究,我想出了以下代码:

public void Convert(string inputFilePath, string targetFilePathTemplate, string title)
{
    using var document = new PdfDocument();
    document.Info.Author = "Me";
    document.Info.Title = title;
    document.Info.CreationDate = DateTime.Now;
    document.Info.ModificationDate = DateTime.Now;
    document.Info.Subject = title;
    
    var page = document.AddPage();
    using (var image = XImage.FromFile(inputFilePath))
    {
        page.Width = image.PixelWidth;
        page.Height = image.PixelHeight;
        using var gfx = XGraphics.FromPdfPage(page);
        gfx.DrawImage(image, 0, 0, image.PixelWidth, image.PixelHeight);
    }
    document.Save($"{targetFilePathTemplate}.pdf");
}

但是,似乎 PdfSharp 决定在不询问的情况下降低我的 jpg 的质量...... 在此处输入图像描述 您还可以看到 jpg 的文件大小约为 1MB,pdf 的文件大小约为 400kB。

为什么会这样,我该如何解决?

XImage.FromFile(inputFilePath)指定默认质量级别 75。

相反,如果您调用ImageSource.FromFile (传入质量级别)然后XImage.FromImageSource ,那么您可以提高质量级别。

图像看起来不太可能完全相同- 但将其提高到 85 或 90 可能会改善其渲染。

暂无
暂无

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

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