Hoe te werken met Content Stream Operators in Java
Deze gids laat zien hoe je pagina-contentstreams kunt parseren en bouwen in Aspose.PDF FOSS voor Java. Je leert hoe je ruwe paginabytes kunt lezen, ze kunt parseren met ContentStreamParser, en ContentStreamBuilder kunt gebruiken om nieuwe content te creëren.
Toegang tot de contentstream
Elke Page in een Document bewaart de grafische inhoud in een contentstream. De stream bevat een reeks PDF-operatoren die de tekstpositionering, tekenopdrachten en resource-referenties definiëren. Lees de ruwe bytes van de contentstream van een pagina:
try (Document doc = new Document("input.pdf")) {
PageCollection pages = doc.getPages();
Page page = pages.get(1);
byte[] contentBytes = page.getContents().toByteArray();
System.out.println("Content stream size: " + contentBytes.length + " bytes");
}Parseren met ContentStreamParser
ContentStreamParser tokeniseert en parseert een contentstream tot operatorobjecten, waardoor het mogelijk is om elke tekenopdracht in de stream te inspecteren:
try (Document doc = new Document("input.pdf")) {
PageCollection pages = doc.getPages();
Page page = pages.get(1);
byte[] contentBytes = page.getContents().toByteArray();
ContentStreamParser parser = new ContentStreamParser(contentBytes);
// Iterate over parsed operators
}Bouwen met ContentStreamBuilder
ContentStreamBuilder maakt nieuwe content streams aan voor insluiting in een Page. Gebruik ContentStreamBuilder bij het programmatisch construeren van paginacontent in plaats van een bestaande stream te wijzigen. Nadat de stream is opgebouwd, wijs deze terug toe aan de pagina en sla het document op.
Operatorreferentie
PDF-contentstream-operatoren zijn gedefinieerd in ISO 32000-1:2008, Tabel A.1. Veelvoorkomende operatoren omvatten:
- Tekstoperatoren:
BT,ET,Tf,Tj - Grafische statusoperatoren:
q,Q,cm - Padoperatoren:
m,l,h,f,S