//步骤1:创建文档-对象文档Document=new Document();
// step 2: we create a writer that listens to the document
PdfCopy writer = new PdfCopy(document, new FileStream(outFile, FileMode.Create));
if (writer == null)
{
return;
}
// step 3: we open the document
document.Open();
foreach (string fileName in fileNames)
{
// we create a reader for a certain document
PdfReader reader = new PdfReader(fileName);
reader.ConsolidateNamedDestinations();
// step 4: we add content
for (int i = 1; i <= reader.NumberOfPages; i++)
{
PdfImportedPage page = writer.GetImportedPage(reader, i);
writer.AddPage(page);
}
//This commented part is not working
////Add a new page to the pdf file
//document.NewPage();
//Paragraph paragraph = new Paragraph();
//Font titleFont = new Font(iTextSharp.text.Font.FontFamily.HELVETICA
// , 15
// , iTextSharp.text.Font.BOLD
// , BaseColor.BLACK
// );
//Chunk titleChunk = new Chunk("Comments", titleFont);
//paragraph.Add(titleChunk);
//writer.Add(paragraph);
//paragraph = new Paragraph();
//Font textFont = new Font(iTextSharp.text.Font.FontFamily.HELVETICA
// , 12
// , iTextSharp.text.Font.NORMAL
// , BaseColor.BLACK
// );
//Chunk textChunk = new Chunk("Hello", textFont);
//paragraph.Add(textChunk);
//writer.Add(paragraph);
//document.Add(paragraph);
reader.Close();
}
// step 5: we close the document and writer
writer.Close();
document.Close();
提前道谢。
不能将document.newpage()
与pdfcopy
结合使用。如果您想插入带有即时创建内容的额外页面,您需要在内存中创建一个新文档:在内存中创建PDF而不是物理文件
例如,您可以创建以下方法:
private byte[] CreatePdf(String comments)
{
Document doc = new Document(PageSize.LETTER);
using (MemoryStream output = new MemoryStream())
{
PdfWriter wri = PdfWriter.GetInstance(doc, output);
doc.Open();
Paragraph header = new Paragraph("Comments");
doc.Add(header);
Paragraph paragraph = new Paragraph(comments);
doc.Add(paragraph);
doc.Close();
return output.ToArray();
}
}
在您的代码中,您可以像这样使用该方法:
writer.AddDocument(new PdfReader(CreatePdf("Test comment")););
for (int i = 1; i <= reader.NumberOfPages; i++)
{
PdfImportedPage page = writer.GetImportedPage(reader, i);
writer.AddPage(page);
}
writer.AddDocument(reader);
我正在尝试将多个pdf页面合并为一个pdf页面。有很多iText的例子展示了如何将pdf页面合并到一个文件中,但是我需要所有的页面都放在一个页面中(一路上缩小它们的宽度和高度) 编辑:尝试从这里这个代码,但它只是合并成一个文件的pdf页面,我需要他们收缩成一个单一的页面
我想合并成一个新的pdf多个pdf文件,并在每个页面上添加文具。 为此,我使用了PdfWriter,如下所示: } 但这是错误的:根据原始pdf,结果有时是错误的。方向不正确。然后我在这里找到了该行为函数的答案,该函数可以使用iText将PDF连接/合并在一起,从而导致一些问题 = } 这一次的结果在任何情况下都是好的:所有页面都处于良好的方向。 但是生成的pdf比以前的代码快10倍。经过分析,我
问题内容: 如何使用iText将书签添加到现有PDF? 我将多个PDF合并为一个PDF,并且需要为最终PDF构建书签。例如,我有三个PDF:doc1.pdf,doc2.pdf和doc3.pdf,doc1和doc2属于Group1,doc3属于Group2。我需要合并它们,并且必须为生成的PDF构建嵌套书签,如下所示: 等等 问题答案: 我已经制作了一个MergeWithOutlines示例,该示例
主要内容:合并多个PDF文档,示例在前一章中,我们已经看到如何将给定的PDF文档分成多个文档。 现在让我们学习如何将多个PDF文档合并为一个文档。 合并多个PDF文档 使用类的类将多个PDF文档合并到单个PDF文档中,该类提供了将两个或多个PDF文档合并到单个PDF文档中的方法。 以下是合并多个PDF文档的步骤。 第1步:加载现有的PDF文档 使用类的静态方法加载现有的PDF文档。 此方法接受一个文件对象作为参数,因为这是一个静态
我有一个pdf,里面总共有6页的图片。我想将第1页和第2页合并为单个pdf,以此类推,共3到6页。 我将所有6页的pdf拆分为单独的pdf。 从PyPDF2导入操作系统导入PdfFileReader、PdfFileWriter pdf_splitter: fname=os.path.splitext(os.path.basename(path))[0] if name=='main': path=
在上一章中,我们已经了解了如何合并多个PDF文档。 在本章中,我们将了解如何从PDF文档的页面中提取图像。 从PDF文档生成图像 PDFBox库为您提供了一个名为PDFRenderer的类, PDFRenderer PDF文档呈现为AWT BufferedImage。 以下是从PDF文档生成图像的步骤。 第1步:加载现有PDF文档 使用PDDocument类的静态方法load()加载现有PDF文档