Re: Divné PDF vs Python

Jindroush jindroush na seznam.cz
Pátek Prosinec 8 18:56:06 CET 2023


Pouzil jsem qpdf na rozbaleni streamu a know-how ziskane lety zirani do 
cizich formatu ;)
PDF je slozity jako krava, uz na urovni formatu (Specifikace ma 756 
stran v pdf)

Jinak tam nejsou 'vnorene objekty'. Je to uplne normalni stranka, s 
uplne normalnim streamem s obsahem. Jen proste ten stream obsahuje jen 
operatory pro carovou grafiku, zadne operatory pro znaky/fonty/obrazky. 
Funkce extract_text, kterou pouzivate, ta prochazi stream a snazi se 
nejak vyrenderovat ten text. Neni to 'konverze formatu'. Je to 'zkousim 
simulovat tisk a sebrat vysledny text'.

J.

On 08.12.2023 18:22, Pavel Hudeček wrote:
> Díky,
> Že autorem je skladník, to jsem taky našel:-)
> Zkusím zjistit, zda ta knihovna má něco na práci s vnořenými objekty.
> Uvedené informace jste jen vykoukal txt editorem, nebo je na to nějaký 
> nástroj?
>
> PH
>
> Dne 08.12.2023 v 16:16 Jindroush napsal(a):
>> Je to 'normalni' pdf, problem je v tom, ze pdf je 'normalni' tiskovy 
>> format, proto ruzne prevody funguji obtizne, nebo vubec.
>> Jsou to instrukce, jak vyrenderovat stranku.
>> Toto pdf
>> a) obsahuje 1 stranu
>> b) vyprodukovano panem Paleckem tiskem z Wordu
>> c) tato jedna stranka (objekt 4 0 R) se odkazuje na zakompresovany 
>> obsah v objektu 5 0 R
>> d) objekt 5 0 R ma 160kb a je tvoren pouze grafickymi operatory, tj. 
>> vysledny obrazek se 'kresli', neni vlozen jako pdf apod. Je to 7159 
>> radek ~ priblizne stejne operatoru.
>>
>> Coz je z hlediska zvetsovatelnosti apod idealni. Naprosto netusim, 
>> zda se daji pomoci hente one pdf pythonovske knihovny takoveto 
>> obrazky renderovat.
>> Text (tj. operatory, ktere obsahuji retezce pismenek) se tam 
>> nevyskytuje zadny.
>>
>> J.
>>
>> On 08.12.2023 15:57, Pavel Hudeček wrote:
>>> Donrý den všem,
>>> mějme py skript:
>>>
>>> *import PyPDF2
>>>
>>> with open("W0140.pdf", 'rb') as pdf_file:
>>>     reader = PyPDF2.PdfReader(pdf_file)
>>>     pagesCnt = len(reader.pages)
>>>     print("pagesCnt", pagesCnt)
>>>     text = ""
>>>
>>>     for stranka in reader.pages:
>>>         imgCnt = len(stranka.images)
>>>         text += ">" + stranka.extract_text() + "<"
>>>         text += "\nimgCnt: " + str(imgCnt) + "\n---------\n"
>>>
>>> print(text)
>>> *
>>> Když se pustí na nějaké normální pdf, vyleze seznam stránek s 
>>> textama a počtama obrázků. No a pak je tu tohle (příloha), který 
>>> nějak záhadně vyrobil náš skladník... Je v něm vidět wafer, ale 
>>> python zahlásí žádnej text a 0 obrázků.
>>>
>>> Poznámka: Ten skladník vzal PDF, který takto normálně jde zpracovat 
>>> a nějak z něj vykopíroval jednu stránku, čímž vzniklo předmětné pdf. 
>>> Takže problém je vyřešen tím, že jsem mu napsal ať tento krok vynechá:-)
>>> Ale mě by stejně zajímalo, co to jako vyrobil a jak to případně 
>>> číst. Protože samozřejmě když taková možnost existuje, tak nám 
>>> takový protokol může poslat i nějaký dodavatel čipů.
>>>
>>> Nějaké nápady, jak na takové PDF?
>
> _______________________________________________
> HW-list mailing list  -  sponsored bywww.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


-- 
Jindroush<jindroush na seznam.cz>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20231208/b64e8eb2/attachment.htm>


Další informace o konferenci Hw-list