【发布时间】:2013-02-06 12:35:21
【问题描述】:
我想使用 iTextSharp 添加 PDF 文件,但如果 PDF 文件包含书签,那么也应该添加它们。
目前我正在使用以下代码
Document document = new Document();
//Step 2: we create a writer that listens to the document
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(outputFileName, FileMode.Create));
writer.ViewerPreferences = PdfWriter.PageModeUseOutlines;
//Step 3: Open the document
document.Open();
PdfContentByte cb = writer.DirectContent;
//The current file path
string filename = "D:\\rtf\\2.pdf";
// we create a reader for the document
PdfReader reader = new PdfReader(filename);
//Chapter ch = new Chapter("", 1);
for (int pageNumber = 1; pageNumber < reader.NumberOfPages + 1; pageNumber++)
{
document.SetPageSize(reader.GetPageSizeWithRotation(1));
document.NewPage();
// Insert to Destination on the first page
if (pageNumber == 1)
{
Chunk fileRef = new Chunk(" ");
fileRef.SetLocalDestination(filename);
document.Add(fileRef);
}
PdfImportedPage page = writer.GetImportedPage(reader, pageNumber);
int rotation = reader.GetPageRotation(pageNumber);
if (rotation == 90 || rotation == 270)
{
cb.Add(page);
}
else
{
cb.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
}
}
document.Close();
【问题讨论】:
-
您是否考虑过使用 PdfStamper 处理带有大纲的原始 PDF 来添加您的其他内容? PdfStamper 保留原始文件的所有轮廓和所有交互功能...
-
你用什么语言编程? - c 锐利?
-
这是一个使用pdfstamper的例子wskidmore.com/2011/04/…
标签: itextsharp