كيفية العمل مع مشغلات تدفق المحتوى في جافا
يوضح هذا الدليل كيفية تحليل وبناء سلسلة محتوى الصفحة في 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، الجدول A.1. تشمل المشغليات الشائعة:
- عاملات النص:
BT,ET,Tf,Tj - مشغلات حالة الرسوم البيانية:
q,Q,cm - مشغلي المسار:
m,l,h,f,S