Note that there are some explanatory texts on larger screens.

plurals
  1. POitextsharp merge resizes and unrotates pdf
    primarykey
    data
    text
    <p>I'm trying to merge pdf files using itextsharp.<br> The problem 'm getting its that any cropping or rotating I've applied to the individual files before the merge is somehow ignored. All original files were cropped and rotated as TIFFs then converted to pdf and now finally I'm trying to merge them.<br> I'd like the page size to match the added content, and I any rotation I've applied to come through.'</p> <p>Thank you for any help,<br> Corbin de Bruin</p> <pre><code>Public Function MergePDFFiles(FileList As Dictionary(Of String, String), DeleteOldFile As Boolean) As Byte() ' Public Function MergePDFFiles(FileList As Dictionary(Of String, String), DeleteOldFile As Boolean) As MemoryStream() Dim document As New Document() Dim output As New MemoryStream() Try Dim writer As PdfWriter = PdfWriter.GetInstance(document, output) writer.PageEvent = New PdfPageEvents() document.Open() Dim content As PdfContentByte = writer.DirectContent ' foreach For Each FilePath As KeyValuePair(Of String, String) In FileList If File.Exists(FilePath.Value) Then Dim reader As New PdfReader(FilePath.Value) Dim numberOfPages As Integer = reader.NumberOfPages For currentPageIndex As Integer = 1 To numberOfPages document.SetPageSize(reader.GetPageSizeWithRotation(currentPageIndex)) document.NewPage() ' you can see iTextSharp.tutorial.01 - 0403sample If currentPageIndex.Equals(1) Then Dim par As New Paragraph(FilePath.Key) Debug.Print("FilePath.Key = " &amp; FilePath.Key) Dim bookmark As New Chapter(par, 0) With {.NumberDepth = 0} document.Add(bookmark) End If Dim importedPage As PdfImportedPage = writer.GetImportedPage(reader, currentPageIndex) Dim pageOrientation As Integer = reader.GetPageRotation(currentPageIndex) If (pageOrientation = 90) OrElse (pageOrientation = 270) Then content.AddTemplate(importedPage, 0, 1.0F, 1.0F, 0, 0, reader.GetPageSizeWithRotation(currentPageIndex).Height) Else content.AddTemplate(importedPage, 1.0F, 0, 0, 1.0F, 0, 0) End If Next End If Next Catch exception As Exception Debug.Print("Failure") Finally document.Close() End Try If DeleteOldFile Then 'Delete(FileList) End If Return output.GetBuffer() End Function End Try If DeleteOldFile Then 'Delete(FileList) End If Return output.GetBuffer() </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload