我有两个不同方向的PDF文件(第一个文档是A4格式,第二个文档是A4横向)。 我想合并它们,但是我需要保留每个页面的原始方向。
我尝试使用以下代码进行轮换:
float width = pdfImportedPage.Width;
float height = pdfImportedPage.Height;
if (width > height)
{
PdfDictionary pageDict = reader.GetPageN(documentPage);
pageDict.Put(PdfName.ROTATE, new PdfNumber(270));
}
旋转之后,我像这样调用AddPage方法:
copy.AddPage(pdfImportedPage);
但是结果是A4格式的文档,其第二部分的文字超出了页面。对我来说,如果第二部分中的文本为水平,则对我来说是很好的,但我还需要页面的方向也应与原始文档一样(水平)。
我正在使用iTextSharp 5.5.13版。
答案 0 :(得分:0)
我刚刚发现问题出在代码的另一部分,之后,当我添加页码时。 顺便说一句,保留页面方向的一个好方法是使用SetPageSize和NewPage方法,如这段代码:
for (int page = 1; page <= reader.NumberOfPages; page++)
{
copy.RotateContents = true;
doc.SetPageSize(reader.GetPageSizeWithRotation(page));
doc.NewPage();
importedPage = copy.GetImportedPage(reader, page);
copy.AddPage(importedPage);
}