2016-04-29 133 views
-2

我有以下代码工作正常。我使用库HTML-Randerer通过html内容生成pdf文件。问题是生成的pdf文件大小有时会增加到约8MB。我想压缩该文件,因为我必须将此pdf发送给某些客户端。我已经搜索,但没有找到任何解决方案。如何压缩使用HTML-Renderer库生成的PDF文件c#

注:“HTML内容没有图像只是标签,只有文本数据”

库: HTML Renderer

问:如何压缩使用HTML Renderer PDF文件有什么方法?

代码

public void GenerateHtmlToPdf(string htmlContent, string sFilePath) 
    { 
     PdfDocument pdf = PdfGenerator.GeneratePdf(htmlContent, PageSize.A4, 25); 
     pdf.Save(sFilePath); 

    } 

谢谢!

+1

为什么选择赞成票可以解释我? –

+1

PdfGenerator不是PDFsharp的一部分,我不知道它是什么。 PDFsharp有几个选项可以控制文件的大小。没有看到PDF文件,我不能说为什么你会得到大文件。 PDF文件将包含所需的字体。有几种不同的字体可以是几个MiB。只是猜测没有PDF文件看看。 –

+0

@ThomasH here https:// github.com/ArthurHub/HTML-Renderer/blob/master/Source/HtmlRenderer.PdfSharp/PdfGenerator.cs' PdfGenerator是PDFsharp的一部分。我不知道你是怎么说'PdfGenerator'不是'PDFsharp'的一部分。 –

回答

0

看来你不能用pdfsharp做到这一点。而且因为你不使用图像,所以在那个方向上没有任何帮助。您可以阅读其他文章中的备选方案Compress existing PDF using C# programming

+0

感谢您的回复..您发布的链接不是我所需要的。我明确提到,如果存在压缩文件,我需要'pdfsharp'库中的某个函数。 –

1

您提供的PDF“foo.pdf”包含33页,每页大小介于150 kB到350 KB之间。

每页画几百行。也许图书馆在每个细胞周围画四条线。用几条很长的线条可以实现相同的视觉效果,这将大大减小文件大小。

有很多PDF优化器和PDF Compacter,但是恐怕他们不会用那个文件做很多好事。

+0

感谢您的回复:)。 oky我试图改变风格。然后我会告诉你什么结果.. –

+0

[foo_TestFile1](https://www.dropbox.com/s/08968hp3wt7iywp/foo_Test1.pdf?dl=0)。有一个文件。我改变了风格(甚至样式被删除)。文件大小现在减少到3。9MB'(原始大小是11MB)。但我需要更多的尺寸减少。还有什么我可以做的,以减少更多的尺寸? –