【发布时间】:2017-04-13 13:53:48
【问题描述】:
我使用 iTextSharp 从文档中提取一页。 原始文档的大小为 1.1 MiB,有 74 页。 当我只提取一页时,生成的 PDF 的大小为 1.2 MiB。
我使用这个代码:
using (MemoryStream ms = new MemoryStream())
{
using (PdfReader readerTemp = new PdfReader(btFile))
{
readerTemp.SelectPages(new int[] {1});
using (PdfStamper stamper = new PdfStamper(readerTemp, ms))
{ }
}
bt = ms.ToArray();
}
我也试过Jay R answer's,结果相同。
为什么文件这么大?
-- 编辑-- 我也尝试过,结果完全相同:
using (MemoryStream ms = new MemoryStream())
{
using (PdfReader readerTemp = new PdfReader(btFile))
{
reader.SetPageContent(1, reader.GetPageContent(1), PdfStream.BEST_COMPRESSION, true);
readerTemp.SelectPages(new int[] {1});
using (PdfStamper stamper = new PdfStamper(readerTemp, ms, PdfWriter.VERSION_1_5))
{
stamper.SetFullCompression();
}
}
【问题讨论】:
-
“重量”是指文件大小吗?您当前的问题标题看起来像是垃圾邮件广告...
-
此外,其他非法语国家使用“兆字节”而不是“兆字节”。
-
我怀疑资源是所有页面共享的,提取单个页面会得到所有包袱。请给我们看PDF。
-
@PauloSoares 不幸的是,我不能。这是一张包含大量客户数据的发票
-
考虑为压模设置最大压缩。