neu
This commit is contained in:
@@ -619,8 +619,7 @@ Public Class frmSendungAnhangImport
|
||||
Return True
|
||||
End Function
|
||||
|
||||
|
||||
Public Function ExtractPdfPages_NEW(ByVal SourceFile As String, ByVal TargetFile As String, pagesToExtract As List(Of Integer)) As Boolean
|
||||
Public Function ExtractPdfPages_NEW(ByVal SourceFile As String, ByVal TargetFile As String, pagesToExtract As List(Of Integer)) As Boolean 'ITEXTSHARP
|
||||
Try
|
||||
Dim impPage As iTextSharp.text.pdf.PdfImportedPage = Nothing
|
||||
Dim Reader As New iTextSharp.text.pdf.PdfReader(SourceFile)
|
||||
@@ -651,6 +650,103 @@ Public Class frmSendungAnhangImport
|
||||
End Try
|
||||
Return False
|
||||
End Function
|
||||
|
||||
'ITEXT 7 :::::
|
||||
'Public Function ExtractPdfPages_NEW(ByVal SourceFile As String, ByVal TargetFile As String, pagesToExtract As List(Of Integer)) As Boolean
|
||||
' Try
|
||||
|
||||
' If Not TargetFile.ToLower.EndsWith(".pdf") Then TargetFile = TargetFile & ".pdf"
|
||||
|
||||
' Dim Reader = New iText.Kernel.Pdf.PdfReader(SourceFile)
|
||||
' Dim srcDoc As New iText.Kernel.Pdf.PdfDocument(Reader)
|
||||
' Dim srcDocsp As New iText.Kernel.Utils.PdfSplitter(srcDoc)
|
||||
|
||||
' ' Dim splitRanges As IList(Of iText.Kernel.Utils.PageRange) = New List(Of iText.Kernel.Utils.PageRange)()
|
||||
' Dim splitRange As New iText.Kernel.Utils.PageRange
|
||||
|
||||
' For Each p In pagesToExtract
|
||||
' ' pageRanges.Add(p)
|
||||
' splitRange.AddSinglePage(p)
|
||||
' Next
|
||||
' ' splitRange.Add(nextRange)
|
||||
|
||||
' Dim PDFTarget As iText.Kernel.Pdf.PdfDocument = srcDocsp.ExtractPageRange(splitRange)
|
||||
|
||||
' Dim PdfWriter = New iText.Kernel.Pdf.PdfWriter(TargetFile)
|
||||
' Dim PdfWriter2 As iText.Kernel.Pdf.PdfWriter = PDFTarget.GetWriter()
|
||||
|
||||
' 'Dim PdfCopyProvider As New iTextSharp.text.pdf.PdfCopy(srcDoc, New System.IO.FileStream(TargetFile, System.IO.FileMode.Create))
|
||||
|
||||
|
||||
' PdfWriter.Close()
|
||||
' srcDoc.Close()
|
||||
' Reader.Close()
|
||||
' PDFTarget.Close()
|
||||
|
||||
' ''PdfDocument pdf = New iText.Kernel.Pdf.PdfDocument(writer)
|
||||
|
||||
|
||||
' ''Dim impPage As iTextSharp.text.pdf.PdfImportedPage = Nothing
|
||||
' ''Dim Reader As New iTextSharp.text.pdf.PdfReader(SourceFile)
|
||||
' 'Dim impPage As iText.Kernel.Pdf.PdfPage = Nothing
|
||||
' 'Dim Reader = New iText.Kernel.Pdf.PdfReader(SourceFile)
|
||||
' 'If Not TargetFile.ToLower.EndsWith(".pdf") Then TargetFile = TargetFile & ".pdf"
|
||||
' ''Dim srcDoc As New iTextSharp.text.Document()
|
||||
' 'Dim srcDoc As New iText.Kernel.Pdf.PdfDocument(Reader)
|
||||
' 'Dim srcDocsp As New iText.Kernel.Utils.PdfSplitter(Reader)
|
||||
' 'srcDocsp.ExtractPageRanges()
|
||||
|
||||
' 'Dim PdfCopyProvider As New iTextSharp.text.pdf.PdfCopy(srcDoc, New System.IO.FileStream(TargetFile, System.IO.FileMode.Create))
|
||||
' 'PdfCopyProvider.SetFullCompression()
|
||||
' 'srcDoc.Open()
|
||||
' 'For Each p In pagesToExtract
|
||||
' ' If p > Reader.NumberOfPages Then
|
||||
' ' MsgBox("Seitenanzahl überschritten!")
|
||||
' ' srcDoc.Close() : Reader.Close()
|
||||
' ' Return False
|
||||
' ' End If
|
||||
' ' impPage = PdfCopyProvider.GetImportedPage(Reader, p)
|
||||
' ' ' ----- Ermitteln der Seitenauflösung und setzen für die neue Seite
|
||||
' ' PdfCopyProvider.SetPageSize(New iText.Kernel.Geom.Rectangle(0.0F, 0.0F, impPage.Width, impPage.Height, Reader.GetPageRotation(p)))
|
||||
|
||||
' ' ' ----- PDF Seite in das neue Dokument einfügen
|
||||
' ' PdfCopyProvider.AddPage(impPage)
|
||||
|
||||
' 'Next
|
||||
' '' ----- neues PDF Dokument und den Reader schließen
|
||||
' 'srcDoc.Close()
|
||||
' 'Reader.Close()
|
||||
' Return True
|
||||
' Catch ex As Exception
|
||||
' MsgBox(ex.Message & ex.StackTrace)
|
||||
' End Try
|
||||
' Return False
|
||||
'End Function
|
||||
|
||||
'Public Sub ExtractPages(ByVal sourcePdfPath As String, ByVal outputPdfPath As String, ByVal startPage As Integer, ByVal endPage As Integer) 'ITEXT OLD
|
||||
' Dim reader As iText.Kernel.Pdf.PdfReader = Nothing
|
||||
' Dim sourceDocument As iText.Kernel.Pdf.PdfDocument = Nothing
|
||||
' Dim pdfCopyProvider As iText.Kernel.Pdf.PdfCopy = Nothing
|
||||
' Dim importedPage As iText.Kernel.Pdf.PdfImportedPage = Nothing
|
||||
|
||||
' Try
|
||||
' reader = New iText.Kernel.Pdf.PdfReader(sourcePdfPath)
|
||||
' sourceDocument = New iText.Kernel.Pdf.PdfDocument(reader.GetPageSizeWithRotation(startPage))
|
||||
' pdfCopyProvider = New iText.Kernel.Pdf.PdfCopy(sourceDocument, New System.IO.FileStream(outputPdfPath, System.IO.FileMode.Create))
|
||||
' sourceDocument.Open()
|
||||
|
||||
' For i As Integer = startPage To endPage
|
||||
' importedPage = pdfCopyProvider.GetImportedPage(reader, i)
|
||||
' pdfCopyProvider.AddPage(importedPage)
|
||||
' Next
|
||||
|
||||
' sourceDocument.Close()
|
||||
' reader.Close()
|
||||
' Catch ex As Exception
|
||||
' Throw ex
|
||||
' End Try
|
||||
'End Sub
|
||||
|
||||
'Public Function ExtractPdfPages(ByVal SourceFile As String, ByVal TargetFile As String, ByVal IntStr As Integer, ByVal IntEnd As Integer)
|
||||
' Try
|
||||
' Dim impPage As iTextSharp.text.pdf.PdfImportedPage = Nothing
|
||||
@@ -677,6 +773,101 @@ Public Class frmSendungAnhangImport
|
||||
'End Function
|
||||
|
||||
|
||||
'ITEXT 7::
|
||||
'Public Function removePagesFromPdf_NEW(ByVal sourceFile As String, ByVal destinationFile As String, pagesToDelete As List(Of Integer), ByRef PagesLeft As Integer, delSource As Boolean) As Boolean
|
||||
|
||||
' Try
|
||||
|
||||
|
||||
|
||||
' ' Dim pdfReader As iText.Kernel.Pdf.PdfReader = New iText.Kernel.Pdf.PdfReader(sourceFile)
|
||||
' ' Dim pdfwriter As iText.Kernel.Pdf.PdfWriter = New iText.Kernel.Pdf.PdfWriter(destinationFile)
|
||||
' 'Dim docOringal = New iText.Kernel.Pdf.PdfDocument(pdfReader, pdfwriter)
|
||||
|
||||
' Dim NewPagesReader = New iText.Kernel.Pdf.PdfReader(destinationFile)
|
||||
' Dim docNewPages = New iText.Kernel.Pdf.PdfDocument(NewPagesReader)
|
||||
|
||||
' Dim OriginalDocReader = New iText.Kernel.Pdf.PdfReader(sourceFile)
|
||||
' 'Dim NewPDFWriter As New iText.Kernel.Pdf.PdfWriter(sourceFile)
|
||||
' Dim docOringal = New iText.Kernel.Pdf.PdfDocument(OriginalDocReader) ', NewPDFWriter)
|
||||
' 'docOringal.GetNumberOfPages
|
||||
|
||||
|
||||
|
||||
|
||||
' PagesLeft = 0
|
||||
' ' Dim r As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(sourceFile)
|
||||
' Dim pagesToKeep As New List(Of Integer)
|
||||
' For p = 1 To docOringal.GetNumberOfPages
|
||||
' Dim del = False
|
||||
' For Each i In pagesToDelete
|
||||
' If p = i Then
|
||||
' del = True : Exit For
|
||||
' End If
|
||||
' Next
|
||||
' If Not del Then
|
||||
' pagesToKeep.Add(p)
|
||||
' End If
|
||||
' Next
|
||||
|
||||
|
||||
|
||||
|
||||
' For Each p In pagesToKeep
|
||||
' docNewPages.CopyPagesTo(p, p, docOringal)
|
||||
' Next
|
||||
|
||||
' docOringal.Close()
|
||||
|
||||
|
||||
' 'If pagesToKeep.Count > 0 Then
|
||||
' ' PagesLeft = r.NumberOfPages - pagesToKeep.Count
|
||||
' ' If ExtractPdfPages_NEW(sourceFile, destinationFile, pagesToKeep) Then
|
||||
' ' If delSource Then tryDelete(sourceFile)
|
||||
' ' End If
|
||||
|
||||
' ' If delSource Then tryDelete(sourceFile)
|
||||
' 'End If
|
||||
|
||||
|
||||
|
||||
' 'If Not TargetFile.ToLower.EndsWith(".pdf") Then TargetFile = TargetFile & ".pdf"
|
||||
|
||||
' 'Dim Reader = New iText.Kernel.Pdf.PdfReader(sourceFile)
|
||||
' 'Dim srcDoc As New iText.Kernel.Pdf.PdfDocument(Reader)
|
||||
' 'Dim srcDocsp As New iText.Kernel.Utils.PdfSplitter(srcDoc)
|
||||
|
||||
' 'Dim splitRanges As IList(Of iText.Kernel.Utils.PageRange) = New List(Of iText.Kernel.Utils.PageRange)()
|
||||
|
||||
' 'For Each p In pagesToExtract
|
||||
' ' ' pageRanges.Add(p)
|
||||
' ' Dim nextRange As New iText.Kernel.Utils.PageRange '= GetNextRange(currentPage, numOfPages, Size)
|
||||
' ' nextRange.AddSinglePage(p)
|
||||
' ' splitRanges.Add(nextRange)
|
||||
' 'Next
|
||||
|
||||
' 'Dim PDFTarget As iText.Kernel.Pdf.PdfDocument = srcDocsp.ExtractPageRange(splitRanges)
|
||||
|
||||
' 'Dim PdfWriter = New iText.Kernel.Pdf.PdfWriter(TargetFile)
|
||||
' 'Dim PdfWriter2 As iText.Kernel.Pdf.PdfWriter = PDFTarget.GetWriter()
|
||||
|
||||
' ''Dim PdfCopyProvider As New iTextSharp.text.pdf.PdfCopy(srcDoc, New System.IO.FileStream(TargetFile, System.IO.FileMode.Create))
|
||||
|
||||
|
||||
' 'PdfWriter.Close()
|
||||
' 'srcDoc.Close()
|
||||
' 'Reader.Close()
|
||||
' 'PDFTarget.Close()
|
||||
|
||||
|
||||
' Return True
|
||||
' Catch ex As Exception
|
||||
' MsgBox(ex.Message & ex.StackTrace)
|
||||
' End Try
|
||||
' Return False
|
||||
'End Function
|
||||
|
||||
|
||||
Public Function removePagesFromPdf_NEW(ByVal sourceFile As String, ByVal destinationFile As String, pagesToDelete As List(Of Integer), ByRef PagesLeft As Integer, delSource As Boolean) As Boolean
|
||||
|
||||
Try
|
||||
@@ -724,7 +915,7 @@ Public Class frmSendungAnhangImport
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message & ex.StackTrace)
|
||||
MsgBox(ex.Message & ex.StackTrace)
|
||||
End Try
|
||||
Return False
|
||||
End Function
|
||||
|
||||
Reference in New Issue
Block a user