Cum să lucrați cu operatorii de flux de conținut în Java
Acest ghid arată cum să analizeze și construiască fluxuri de conținut pagină în Aspose.PDF FOSS Vei învăţa să citeşti baiti de pagină cruzi, să-i analizezi cu ContentStreamParser, și utilizarea ContentStreamBuilder pentru a crea un nou conținut.
Acces la fluxul de conținut
Fiecare Page în a Document Conținutul grafic este reţinut într-un flux de conținute. conține o secvență de operatori PDF care definesc poziționarea textului, comenzile de desen și Citeste fluxul de byte al continutului brut dintr-o 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");
}Parsează cu ContentStreamParser
ContentStreamParser tokenisează și analizează un flux de conținut în obiecte operator;, care permite inspecția fiecărei comenzi de desenare din flux:
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
}Construi cu ContentStreamBuilder
ContentStreamBuilder creează noi fluxuri de conținut pentru încorporare într-un Page. Utilizare: ContentStreamBuilder atunci când construiți conținutul paginii programatic mai degrabă decât După construirea fluxului, atribuiți-l înapoi la sistemul de date. Pagina și salvați documentul.
Referință operatorului
Operatorii de flux PDF sunt definiți în ISO 32000-1:2008, tabelul A.1.:
- Operatoare de text:
BT,ET,Tf,Tj - Operatori de stare grafică:
q,Q,cm - Operatorii de traseu:
m,l,h,f,S