【发布时间】:2015-09-09 03:31:02
【问题描述】:
我使用 iTextSharp 将页脚注释添加到现有 pdf。问题是当我访问 pdf 文件并从其内容创建另一个文件时,页面的方向会改变并且内容会被切断。 我使用的代码是:
//using itextsharp
string oldFile = dtroldp + strfn;
if (File.Exists(oldFile))
{
string newFile = strpath + "sys_" + docid + strext;
PdfReader reader = new PdfReader(oldFile);
int numberOfPages = reader.NumberOfPages;
FileStream fs = new FileStream(newFile, FileMode.Create, FileAccess.Write);
Document document = new Document();
// open the writer
PdfWriter writer = PdfWriter.GetInstance(document, fs);
writer.PageEvent = new PDFFooter();
document.Open();
for (int i = 1; i <= numberOfPages; i++)
{
document.SetPageSize(reader.GetPageSizeWithRotation(1));
document.NewPage();
PdfContentByte cb = writer.DirectContent;
//// select the font properties
BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
cb.SetColorFill(BaseColor.BLACK);
cb.SetFontAndSize(bf, 32);
// write the text in the pdf content
cb.BeginText();
cb.EndText();
PdfImportedPage page = writer.GetImportedPage(reader, i);
cb.AddTemplate(page, 0, 0);
}
document.Close();
fs.Close();
writer.Close();
reader.Close();
}
谁能告诉我我做错了什么?为什么方向会自动改变?
【问题讨论】:
-
请附上您生成的 pdf 的屏幕截图
-
扔掉你的代码。阅读documentation。阅读有关
PdfStamper的所有答案。感到羞耻是因为你没有先阅读文档,因为你做错了。
标签: c# asp.net itextsharp