Как да работим с оператори на потока от съдържание в Java
Това ръководство показва как да се анализират и изграждат стриймовете на съдържанието на страницата в Aspose.PDF FOSS Ще се научите да четете сурови странични байтове, анализирайте ги с ContentStreamParser, и употреба ContentStreamBuilder да създаваме ново съдържание.
Достъп до потока от съдържание
Всеки от тях. 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, таблица А.1. Общи оператори включват:
- Текстови оператори:
BT,ET,Tf,Tj - Оператори на графичните състояния:
q,Q,cm - Оператори на маршрута:
m,l,h,f,S