簡體   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