Встраивайте/вставляйте/добавляйте данные OCR JSON, сгенерированные Google Cloud Vision (OCR) в файл PDF, и делайте PDF дPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Встраивайте/вставляйте/добавляйте данные OCR JSON, сгенерированные Google Cloud Vision (OCR) в файл PDF, и делайте PDF д

Сообщение Anonymous »

Я использую Google Cloud Vision API (OCR) для обнаружения текста в файлах PDF с помощью библиотеки PHP API. Оптическое распознавание текста выполнено идеально, и я сохранил полный набор выходных файлов JSON (например, output-1-to-2.json) с полными данными оптического распознавания символов (которые содержат детали положения, достоверность, полный текст и т. д.
Вот пример вывода JSON (файл: output-1-to-2.json) простого двухстраничного PDF-файла, с о д е р ж а щ е г о с л о в а « А п р е л ь » н а с т р а н и ц е № 1 и « М а й » н а с т р а н и ц е № 2 ( в в и д е и з о б р а ж е н и й ) : < / p > < b r / > < p r e c l a s s = " l a n g - j s o n P r e t t y p r i n t - o v e r r i d e " > < c o d e > { < b r / > & q u o t ; i n p u t C o n f i g & q u o t ; : { < b r / > & q u o t ; g c s S o u r c e & q u o t ; : { < b r / > & q u o t ; u r i & q u o t ; : & q u o t ; g s : / / m y - o c r - b u c k e t / p h p 8 7 2 3 / s a m p l e . p d f & q u o t ; < b r / > } , < b r / > & q u o t ; m i m e T y p e & q u o t ; : & q u o t ; a p p l i c a t i o n / p d f & q u o t ; < b r / > } , < b r / > & q u o t ; r e s p o n s e s & q u o t ; : [ < b r / > { < b r / > & q u o t ; f u l l T e x t A n n o t a t i o n & q u o t ; : { < b r / > & q u o t ; p a g e s & q u o t ; : [ < b r / > { < b r / > & q u o t ; p r o p e r t y & q u o t ; : { < b r / > & q u o t ; d e t e c t e d L a n g u a g e s & q u o t ; : [ < b r / > { < b r / > & q u o t ; l a n g u a g e C o d e & q u o t ; : & q u o t ; e n & q u o t ; , < b r / > & q u o t ; c o n f i d e n c e & q u o t ; : 1 < b r / > } < b r / > ] < b r / > } , < b r / > & q u o t ; w i d t h & q u o t ; : 5 9 5 , < b r / > & q u o t ; h e i g h t & q u o t ; : 8 4 1 , < b r / > & q u o t ; b l o c k s & q u o t ; : [ < b r / > { < b r / > & q u o t ; b o u n d i n g B o x & q u o t ; : { < b r / > & q u o t ; n o r m a l i z e d V e r t i c e s & q u o t ; : [ < b r / > { < b r / > & q u o t ; x & q u o t ; : 0 . 0 7 8 9 9 1 6 , < b r / > & q u o t ; y & q u o t ; : 0 . 0 4 9 9 4 0 5 4 5 < b r / > } , < b r / > { < b r / > & q u o t ; x & q u o t ; : 0 . 1 1 5 9 6 6 3 9 , < b r / > & q u o t ; y & q u o t ; : 0 . 0 4 9 9 4 0 5 4 5 < b r / > } , < b r / > { < b r / > & q u o t ; x & q u o t ; : 0 . 1 1 5 9 6 6 3 9 , < b r / > & q u o t ; y & q u o t ; : 0 . 0 5 9 4 5 3 0 3 3 < b r / > } , < b r / > { < b r / > & q u o t ; x & q u o t ; : 0 . 0 7 8 9 9 1 6 , < b r / > & q u o t ; y & q u o t ; : 0 . 0 6 0 6 4 2 0 9 3 < b r / > } < b r / > ] < b r / > } , < b r / > & q u o t ; p a r a g r a p h s & q u o t ; : [ < b r / > { < b r / > & q u o t ; b o u n d i n g B o x & q u o t ; : { < b r / > & q u o t ; n o r m a l i z e d V e r t i c e s & q u o t ; : [ < b r / > { < b r / > & q u o t ; x & q u o t ; : 0 . 0 7 8 9 9 1 6 , < b r / > & q u o t ; y & q u o t ; : 0 . 0 4 9 9 4 0 5 4 5 < b r / > } , < b r / > { < b r / > & q u o t ; x & q u o t ; : 0 . 1 1 5 9 6 6 3 9 , < b r / > & q u o t ; y & q u o t ; : 0 . 0 4 9 9 4 0 5 4 5 < b r / > } , < b r / > { < b r / > & q u o t ; x & q u o t ; : 0 . 1 1 5 9 6 6 3 9 , < b r / > & q u o t ; y & q u o t ; : 0 . 0 5 9 4 5 3 0 3 3 < b r / > } , < b r / > { < b r / > & q u o t ; x & q u o t ; : 0 . 0 7 8 9 9 1 6 , < b r / > & q u o t ; y & q u o t ; : 0 . 0 6 0 6 4 2 0 9 3 < b r / > } < b r / > ] < b r / > } , < b r / > & q u o t ; w o r d s & q u o t ; : [ < b r / > { < b r / > & q u o t ; p r o p e r t y & q u o t ; : { < b r / > & q u o t ; d e t e c t e d L a n g u a g e s & q u o t ; : [ < b r / > { < b r / > & q u o t ; l a n g u a g e C o d e & q u o t ; : & q u o t ; e n & q u o t ; , < b r / > & q u o t ; c o n f i d e n c e & q u o t ; : 1 < b r / > } < b r / > ] < b r / > } , < b r / > & q u o t ; b o u n d i n g B o x & q u o t ; : { < b r / > & q u o t ; n o r m a l i z e d V e r t i c e s & q u o t ; : [ < b r / > { < b r / > & q u o t ; x & q u o t ; : 0 . 0 7 8 9 9 1 6 , < b r / > & q u o t ; y & q u o t ; : 0 . 0 4 9 9 4 0 5 4 5 < b r / > } , < b r / > { < b r / > & q u o t ; x & q u o t ; : 0 . 1 1 5 9 6 6 3 9 , < b r / > & q u o t ; y & q u o t ; : 0 . 0 4 9 9 4 0 5 4 5 < b r / > } , < b r / > { < b r / > & q u o t ; x & q u o t ; : 0 . 1 1 5 9 6 6 3 9 , < b r / > & q u o t ; y & q u o t ; : 0 . 0 5 9 4 5 3 0 3 3 < b r / > } , < b r / > { < b r / > & q u o t ; x & q u o t ; : 0 . 0 7 8 9 9 1 6 , < b r / > & q u o t ; y & q u o t ; : 0 . 0 6 0 6 4 2 0 9 3 < b r / > } < b r / > ] < b r / > } , < b r / > & q u o t ; s y m b o l s & q u o t ; : [ < b r / > { < b r / > & q u o t ; t e x t & q u o t ; : & q u o t ; A & q u o t ; , < b r / > & q u o t ; c o n f i d e n c e & q u o t ; : 0 . 9 8 8 3 3 7 4 6 < b r / > } , < b r / > { < b r / > & q u o t ; t e x t & q u o t ; : & q u o t ; p & q u o t ; , < b r / > & q u o t ; c o n f i d e n c e & q u o t ; : 0 . 9 8 7 0 9 0 4 < b r / > } , < b r / > { < b r / > & q u o t ; t e x t & q u o t ; : & q u o t ; r & q u o t ; , < b r / > & q u o t ; c o n f i d e n c e & q u o t ; : 0 . 9 9 4 7 7 3 2 7 < b r / > } , < b r / > { < b r / > & q u o t ; t e x t & q u o t ; : & q u o t ; i & q u o t ; , < b r / > & q u o t ; c o n f i d e n c e & q u o t ; : 0 . 9 9 5 1 7 4 3 < b r / > } , < b r / > { < b r / > & q u o t ; p r o p e r t y & q u o t ; : { < b r / > & q u o t ; d e t e c t e d B r e a k & q u o t ; : { < b r / > & q u o t ; t y p e & q u o t ; : & q u o t ; L I N E _ B R E A K & q u o t ; < b r / > } < b r / > } , < b r / > & q u o t ; t e x t & q u o t ; : & q u o t ; l & q u o t ; , < b r / > & q u o t ; c o n f i d e n c e & q u o t ; : 0 . 9 8 9 4 2 7 0 3 < b r / > } < b r / > ] , < b r / > & q u o t ; c o n f i d e n c e & q u o t ; : 0 . 9 9 0 9 6 0 5 < b r / > } < b r / > ] , < b r / > & q u o t ; c o n f i d e n c e & q u o t ; : 0 . 9 9 0 9 6 0 5 < b r / > } < b r / > ] , < b r / > & q u o t ; b l o c k T y p e & q u o t ; : & q u o t ; T E X T & q u o t ; , < b r / > & q u o t ; c o n f i d e n c e & q u o t ; : 0 . 9 9 0 9 6 0 5 < b r / > } < b r / > ] , < b r / > & q u o t ; c o n f i d e n c e & q u o t ; : 0 . 9 9 0 9 6 0 5 < b r / > } < b r / > ] , < b r / > & q u o t ; t e x t & q u o t ; : & q u o t ; A p r i l & q u o t ; < b r / > } , < b r / > & q u o t ; c o n t e x t & q u o t ; : { < b r / > & q u o t ; u r i & q u o t ; : & q u o t ; g s : / / m y - o c r - b u c k e t / p h p 8 7 2 3 / s a m p l e . p d f & q u o t ; , < b r / > & q u o t ; p a g e N u m b e r & q u o t ; : 1 < b r / > } < b r / > } , < b r / > { < b r / > & q u o t ; f u l l T e x t A n n o t a t i o n & q u o t ; : { < b r / > & q u o t ; p a g e s & q u o t ; : [ < b r / > { < b r / > & q u o t ; w i d t h & q u o t ; : 5 9 5 , < b r / > & q u o t ; h e i g h t & q u o t ; : 8 4 1 , < b r / > & q u o t ; b l o c k s & q u o t ; : [ < b r / > { < b r / > & q u o t ; b o u n d i n g B o x & q u o t ; : { < b r / > & q u o t ; n o r m a l i z e d V e r t i c e s & q u o t ; : [ < b r / > { < b r / > & q u o t ; x & q u o t ; : 0 . 0 7 8 9 9 1 6 , < b r / > & q u o t ; y & q u o t ; : 0 . 0 5 4 6 9 6 7 9 < b r / > } , < b r / > { < b r / > & q u o t ; x & q u o t ; : 0 . 1 1 0 9 2 4 3 7 , < b r / > & q u o t ; y & q u o t ; : 0 . 0 5 5 8 8 5 8 5 < b r / > } , < b r / > { < b r / > & q u o t ; x & q u o t ; : 0 . 1 1 0 9 2 4 3 7 , < b r / > "y":0.065398335
},
{
"x":0.07731093,
"y":0.064209275
}
]
},
"paragraphs":[
{
"boundingBox":{
"normalizedVertices":[
{
"x":0.0789916,
"y":0.05469679
},
{
"x":0.11092437,
"y":0.05588585
},
{
"x":0.11092437,
"y":0.065398335
},
{
"x":0.07731093,
"y":0.064209275
}
]
},
"words":[
{
"boundingBox":{
"normalizedVertices":[
{
"x":0.0789916,
"y":0.05469679
},
{
"x":0.11092437,
"y":0.05588585
},
{
"x":0.11092437,
"y":0.065398335
},
{
"x":0.07731093,
"y":0.064209275
}
]
},
"symbols":[
{
"text":"M",
"confidence":0.98251665
},
{
"text":"a",
"confidence":0.9763874
},
{
"property":{
"detectedBreak":{
"type":"LINE_BREAK"
}
},
"text":"y",
"confidence":0.9850642
}
],
"confidence":0.98132277
}
],
"confidence":0.98132277
}
],
"blockType":"TEXT",
"confidence":0.98132277
}
],
"confidence":0.98132277
}
],
"text":"May"
},
"context":{
"uri":"gs://my-ocr-bucket/php8723/sample.pdf",
"pageNumber":2
}
}
]
}

Теперь мне приходится встраивать эти данные OCR (файлы JSON) в PDF, чтобы сделать PDF доступным для поиска. Это означает, что мне нужно отредактировать PDF-файл и добавить в него данные OCR.
Мой вопрос: как вставить/добавить данные OCR в формате JSON, сгенерированные Google Vision, в файл PDF и сделать PDF-файл доступным для поиска?
Спасибо за то, что дочитали это до сих пор.
PS: я создал грубый файл HOCR, анализируя приведенный выше JSON (используя PHP json_decode) в соответствии с Стандарты HOCR (собраны на основе имеющихся примеров). Можно ли встроить этот файл hocr в PDF?












April

May





Подробнее здесь: https://stackoverflow.com/questions/786 ... r-inside-a
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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