2016-07-21 12 views
0

Ich habe this post gefunden, um Seiten aus einer PDF-Datei mit der itextsharp-lib zu extrahieren. Aber mein Dokument hat für jede Seite eine andere Ausrichtung, manchmal ist die Seitengröße anders. Aber zuerst versuche ich das mit der Seitenausrichtung zu beheben. Hier ist mein Code und ich habe Ideen, vielleicht kann mir jemand sagen, wie ich das mache.VB.NET 2015 - Seiten mit unterschiedlicher Ausrichtung extrahieren

Public Function ExtractPdfPages(ByVal SourceFile As String, ByVal TargetFile As String, ByVal IntStr As Integer, ByVal IntEnd As Integer) 
    Try 
     Dim impPage As PdfImportedPage = Nothing 
     Dim Reader As New PdfReader(SourceFile) 
     Dim PageRotation As String = "" 


     Dim srcDoc As New Document(Reader.GetPageSizeWithRotation(IntStr)) 
     Dim PdfCopyProvider As New PdfCopy(srcDoc, New System.IO.FileStream(TargetPath & "\" & TargetFile, System.IO.FileMode.Create)) 

     srcDoc.Open() 
     For X = IntStr To IntEnd 
      impPage = PdfCopyProvider.GetImportedPage(Reader, X) 
      Dim myDocOr As Rectangle = Reader.GetPageSize(X) 

      If myDocOr.Width >= myDocOr.Height Then 
       PageRotation = "land" 
      Else 
       PageRotation = "port" 
      End If 
      ' --- fix orientation 

      ' --- add page 
      PdfCopyProvider.AddPage(impPage) 

     Next 

     srcDoc.Close() 
     Reader.Close() 
    Catch ex As Exception 
     Throw ex 
    End Try 


End Function 
+0

Ich bin fertig ;-) Ich fand die Lösung, dies zu tun, Yipie – Chris

Antwort

0

Dieses es für mich tun. Für jeden anderen hat das gleiche Problem hier die Lösung:

Die Magic ist die PageSize einzustellen.

PdfCopyProvider.SetPageSize(New Rectangle(0.0F, 0.0F, impPage.Width, impPage.Height))