Как работать с операторами потока контента в 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