文档 doc.Add(pdf) 可能吗?
我正在尝试将 pdf 添加到另一个 pdf。文档 doc.Add(IElement) 是我知道要做的事情,但我在添加 pdf 时遇到问题。我尝试添加图像并且成功了。如何将 pdf 文件添加到我的文档中?
iTextSharp.text.Image img;
foreach (var buf in List) {
myDoc.NewPage();
img = iTextSharp.text.Image.GetInstance(buf);
img.ScaleToFit(612f, 792f);
img.Alignment = iTextSharp.text.Image.ALIGN_CENTER | iTextSharp.text.Image.ALIGN_MIDDLE;
myDoc.Add(img);
}
I am trying to add pdf to another pdf. Document doc.Add(IElement) is what I know to do and I am having trouble adding the pdf. I tried adding image and that worked. How do I add a pdf file to my document?
iTextSharp.text.Image img;
foreach (var buf in List) {
myDoc.NewPage();
img = iTextSharp.text.Image.GetInstance(buf);
img.ScaleToFit(612f, 792f);
img.Alignment = iTextSharp.text.Image.ALIGN_CENTER | iTextSharp.text.Image.ALIGN_MIDDLE;
myDoc.Add(img);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不能使用
Document.Add()
但它仍然非常简单。首先,您需要创建一个PdfReader
对象来读取源文档。然后使用目标文档的PdfWriter
并在要导入的每个页面上调用其GetImportedPage(reader, pageNumber)
方法。这将为您提供一个PdfImportedPage
对象,您可以将其传递给PdfWriter.DirectContent.AddTemplate()
。下面是一个针对 iTextSharp 5.1.1.0 的完整工作 C# 2010 WinForms 应用程序,展示了所有这些步骤。首先,它创建一个示例文件 (
File1
),然后创建第二个文件 (File2
) 并向其中添加第一个文件。它还做了一些额外的事情,以展示一些边缘情况,特别是如何处理旋转页面。具体细节请参见代码注释。You can't use
Document.Add()
but it's still pretty easy. First you need to create aPdfReader
object to read your source document. Then use thePdfWriter
of your destination document and call itsGetImportedPage(reader, pageNumber)
method on each page that you want to import. This will give you aPdfImportedPage
object that you can pass toPdfWriter.DirectContent.AddTemplate()
.Below is a full working C# 2010 WinForms app targeting iTextSharp 5.1.1.0 that shows off all of these steps. First it creates a sample file (
File1
) and then creates a second file (File2
) and adds the first file to it. It does some extra things, too, to show off some edge cases, specifically how to handle rotated pages. See the code comments for specific details.