繁体   English   中英

使用iTextSharp合并不同方向的PDF

[英]Merging PDFs with different orientations with iTextSharp

我有两个方向不同的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版本。

我刚刚发现问题出在代码的另一部分,之后,当我添加页码时。 顺便说一句,保留页面方向的一种好方法是使用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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM