Itextsharp pdfwriter getimported 页面增长文件大小
Itextsharp pdfwriter getimported page grow file size
我尝试重叠模型 pdf,以查看它与我的新 pdf 之间的差异。
这是我的代码:
PdfReader reader = new PdfReader(WorkDir + "\model.pdf");
PdfImportedPage page = writer.GetImportedPage(reader, 1);
pdfOut.NewPage();
if (checkBox1.Checked) writer.DirectContent.AddTemplate(page, 0, 0);
我只想在选中复选框1 时才放置页面。
但是如果不勾选checkbox1,输出的pdf文件很大,重叠的文件是看不到的。
我删除了重叠部分:
PdfReader reader = new PdfReader(WorkDir + "\model.pdf");
//PdfImportedPage page = writer.GetImportedPage(reader, 1);
pdfOut.NewPage();
//if (checkBox1.Checked) writer.DirectContent.AddTemplate(page, 0, 0);
现在文件大小没问题了。
我做错了什么?
我认为 DirectContent 元素添加了页面,但不可见。
这可以解释为什么输出文件这么大(重叠部分文件大小为700KB,没有只有4KB)
导入页面时页面数据已经添加到新文档中
PdfImportedPage page = writer.GetImportedPage(reader, 1);
后面的writer.DirectContent.AddTemplate(page, 0, 0);
只让它可见
因此,您可能需要
PdfReader reader = new PdfReader(WorkDir + "\model.pdf");
pdfOut.NewPage();
if (checkBox1.Checked)
{
PdfImportedPage page = writer.GetImportedPage(reader, 1);
writer.DirectContent.AddTemplate(page, 0, 0);
}
我尝试重叠模型 pdf,以查看它与我的新 pdf 之间的差异。
这是我的代码:
PdfReader reader = new PdfReader(WorkDir + "\model.pdf");
PdfImportedPage page = writer.GetImportedPage(reader, 1);
pdfOut.NewPage();
if (checkBox1.Checked) writer.DirectContent.AddTemplate(page, 0, 0);
我只想在选中复选框1 时才放置页面。 但是如果不勾选checkbox1,输出的pdf文件很大,重叠的文件是看不到的。
我删除了重叠部分:
PdfReader reader = new PdfReader(WorkDir + "\model.pdf");
//PdfImportedPage page = writer.GetImportedPage(reader, 1);
pdfOut.NewPage();
//if (checkBox1.Checked) writer.DirectContent.AddTemplate(page, 0, 0);
现在文件大小没问题了。
我做错了什么? 我认为 DirectContent 元素添加了页面,但不可见。 这可以解释为什么输出文件这么大(重叠部分文件大小为700KB,没有只有4KB)
导入页面时页面数据已经添加到新文档中
PdfImportedPage page = writer.GetImportedPage(reader, 1);
后面的writer.DirectContent.AddTemplate(page, 0, 0);
只让它可见
因此,您可能需要
PdfReader reader = new PdfReader(WorkDir + "\model.pdf");
pdfOut.NewPage();
if (checkBox1.Checked)
{
PdfImportedPage page = writer.GetImportedPage(reader, 1);
writer.DirectContent.AddTemplate(page, 0, 0);
}