Как прочитать матрицу перевода из потока xRef с помощью PDFBox (java)JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как прочитать матрицу перевода из потока xRef с помощью PDFBox (java)

Сообщение Anonymous »


У меня есть PDF-файл, из которого я хочу прочитать матрицу перевода для определенной текстовой аннотации. Используя iText RUPS, я вижу, что ключ /AP имеет запись /N, которая указывает на поток xRef


Изображение


Глядя на таблицу xRef, я вижу, что поток содержит искомую матрицу перевода


Изображение


Проблема в том, что я не могу найти способ получить доступ к этой информации программно через PDFBox 3.0.0 (я также пробовал iText). Самое близкое, что я получил, это использование следующего фрагмента кода:

URL-файл = Main.class.getClassLoader().getResource("document.pdf"); Документ PDFDocument = Loader.loadPDF(новый файл(file.toURI())); System.out.println(document.getDocument().getObjectFromPool(новый COSObjectKey(28, 0)).getObject()) Этот код печатает строку, представляющую объект, и я вижу COSStream{363946310} в конце, но не могу найти способ доступа к этому содержимому

COSDictionary{COSName{Length}:COSInt{189};COSName{BBox}:COSArray{COSFloat{153.0};COSFloat{198.0};COSFloat{459.0};COSFloat{594.0};};COSName{Ресурсы }:COSDictionary{COSName{ExtGState}:COSDictionary{COSName{TRP11}:COSDictionary{COSName{CA}:COSFloat{0.300003};COSName{Type}:COSName{ExtGState};COSName{ca}:1050253822;};};COSName {Font}:COSDictionary{COSName{C2_0}:COSObject{COSNull{}};};COSName{ProcSet}:COSArray{COSName{PDF};COSName{Text};};};COSName{Subtype}:COSName{Form} ;}**COSStream{363946310}** Я также пробовал этот код:

URL-файл = Main.class.getClassLoader().getResource("document.pdf"); Документ PDFDocument = Loader.loadPDF(новый файл(file.toURI())); document.getPage(0).getAnnotations().get(0).getAppearance().getNormalAppearance().getAppearanceStream().getMatrix() Но этот код возвращает матрицу перевода, которая отличается от той, которую я вижу в RUPS:
[1.0,0.0,0.0,1.0,0.0,0.0]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»