Як працювати з операторами потоку контенту в Java
Цей керівництво показує, як аналізувати та створювати потоки змісту сторінки в Aspose.PDF FOSS Ви навчитеся читати нерозроблені байти сторінки, аналізувати їх з допомогою ContentStreamParser, і використання ContentStreamBuilder для створення нового контенту.
Доступ до потоку контенту
Each Page в а Document зберігає свій графічний зміст у потоці контенту. Поток містить послідовність операторів PDF, які визначають позиціонування тексту, команди для малюнку та Відвідувачі ресурсу. Читати байти потоку сирого контенту з сторінки:
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");
}Розглядати з ContentStreamParser
ContentStreamParser токенуває та аналізує потік контенту в об’єктах операторів;, що дозволяє перевірити кожну команду на черговий потік:
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
}Створення з ContentStreamBuilder
ContentStreamBuilder створює нові потоки контенту для вбудову в Page. Використання ContentStreamBuilder при конструюванні вмісту сторінки програмно, а не Після створення потоку, призначати його назад до потокового файлу. сторінку і зберегти документ.
Референція оператора
Оператори потоку контенту PDF визначені в ISO 32000-1:2008, таблиця A.1. Загальні оператори включають:
- Текстові оператори:
BT,ET,Tf,Tj - Оператори графічного стану:
q,Q,cm - Оператори маршруту:
m,l,h,f,S