So überprüfen Sie die PDF -Größe, während Sie sie mit iText7 schreiben
Posted: 25 Feb 2025, 19:58
Ich verwende ITEXT7, um eine PDF zu generieren. Ich möchte seine Größe beim Schreiben überprüfen, denn wenn es über 20 MB ist, möchte ich sie speichern und die verbleibenden Teile einer neuen PDF -Datei hinzufügen. Interner Puffer, der die Daten nur dann freigibt, wenn ein Dokument geschlossen ist, wächst mein Speicherstrom nicht, bis das Dokument geschlossen ist. < /p>
Hier ist mein Code: < /p>
Ich habe versucht, writer.getOutputStream () zu verwenden. Br/> Methode Flush () ist veraltet.
Wie mache ich das?
Hier ist mein Code: < /p>
Code: Select all
using (MemoryStream memoryStream = new MemoryStream())
{
PdfWriter writer = new PdfWriter(memoryStream);
writer.SetCloseStream(false);
PdfDocument pdf = new PdfDocument(writer);
Document document = new Document(pdf);
int pageCount = 1;
int imageIndex = 0;
while (imageIndex < imageFiles.Count)
{
...I Do Things...
if (memoryStream.Length >= 20 * 1024 * 1024)
{
SavePdfToFile(memoryStream, currentPdfFileName);
memoryStream.SetLength(0);
pdfIndex++;
currentPdfFileName = GetPdfFileName(pdfFileName, pdfIndex);
writer = new PdfWriter(memoryStream);
writer.SetCloseStream(false);
pdf = new PdfDocument(writer);
document = new Document(pdf);
pageCount = 1;
}
}
SavePdfToFile(memoryStream, currentPdfFileName);
}
Wie mache ich das?