Я хочу использовать IText (сообщество v7), чтобы разбить документ PDF на разные байтовые массивы (byte[]
) меньшего размера, либо хранящиеся в виде файлов на диске, либо просто хранящиеся в памяти для последующего использования. Каждый байтовый массив сам по себе должен быть действительным PDF.
Private Sub splitmypdfbysize()
Dim pdfDoc As iText.Kernel.Pdf.PdfDocument = New iText.Kernel.Pdf.PdfDocument(New iText.Kernel.Pdf.PdfReader("C:\Users\XXX\Desktop\Test\Test.pdf"))
Dim splitDocuments As List(Of iText.Kernel.Pdf.PdfDocument) = (New iText.Kernel.Utils.PdfSplitter(pdfDoc).SplitBySize(5000000))
For Each doc As iText.Kernel.Pdf.PdfDocument In splitDocuments
Console.WriteLine(doc.GetNumberOfPages)
'How do I store the pdfdocument as byte arrays so that I can either write them out into files or just store it in the memory for use later?
doc.Close()
Next
pdfDoc.Close()
End Sub
Цель состоит в том, чтобы разбить большие файлы (более 10 МБ) на более мелкие, чтобы их можно было отправлять по электронной почте (не более 10 МБ). Мне известно, что общий результат всех отправленных байтов будет больше, как объяснено в ответе на вопрос iText 5 Как разделить PDF на основе ограничения размера?