我使用iTextSharp从文档中提取一页。 原始文件大小为1.1 MiB,共有74页。 当我只提取一页时,生成的PDF的大小为1.2 MiB。使用PdfStamper的巨大文件大小
我用这个代码:
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();
}
}
来压缩对象和外部参照表。按“重量”,你的意思是文件大小?您当前的问题标题的内容类似于垃圾广告... –
另外,非法语世界的其他人使用“兆字节”而不是“兆字节”。 – CodeCaster
我怀疑资源是由所有页面共享的,提取一个页面会得到所有的行李。请向我们展示PDF。 –