Por que 'cat' não consegue ler o conteúdo de arquivos pdf?

1

Quando tentei o comando cat < 1.pdf imprimi uma saída muito grande, o que foi totalmente incompreensível para mim. O conteúdo de 1.pdf foi abc .

A saída foi assim:

ÀýÓëöûcÎ=ÉÐÎTaüÍ8]ö¹mg:=Rú*@H1S¢▒ùá½~Ì8u_4,¬7ïy­t#¯ÚZ|åôÛ~«Æ    fM²JKÁNÿ6 ì©ìÞ¾▒bT
¦åÊmBíöÖ¡÷ÄïÝM{Í1¹@;ÄqÄú             t]È7DJ   Êûc0£jÜÖã­
ÀýÓëöûcÎ=ÉÐÎTaüÍ8]ö¹mg:=Rú*@H1S¢▒ùá½~Ì8u_4,¬7ïy­t#¯ÚZ|åôÛ~«Æ    fM²JKÁNÿ6 ì©ìÞ¾▒bT
¦åÊmBíöÖ¡÷ÄïÝM{Í1¹@;ÄqÄú             t]È7DJ   Êûc0£jÜÖã­%pre%O8À±(2)èJR'Ø÷=~ÝƵ¡´ oÇKÈ]¹ÞÜY)ÚwÒ?[4ò©Ió¦>G)î¾J&d}ýíÜÅÓò~Ø0 $´Në¿´Èc®pVqí+ëCppG¾ùóßeõõ6GÌ,öfú8Ô7»S[¢S50c­q/_9¹jó¿·Ü%×­tQSßî▒LðbkÂÒxâ£Ö▒üVAûÇamÏ·Â׫H´+ÆWíç´upèó'I]± ÎëÚwiòtçúwAhO¼²´'Æ©ëÀ0lô?¿ÌIò▒ìXË<»ÅUepçæå¥
SïÒFҽϷº®Ën.Z×´\£ÁEH@®2ÊçC¢n½¡hÑâ>º´¢YÚXEfg    sôë¥*|zº7>ù!I©Åÿ«;        ;&==
)dS/),÷È´:ÞõH:CÉÑÀiTÌw!u@Âp2÷AÒfµòÜtFIZ^iÿà£ùÖ5ÐsDiërÿ$0b6Ëü~xÏ·._ÏÒõÜr²'wYù;¤²å»äE3óù²ëvÇ»Ó'ãµ~?ÿîMZÍPkh{aÙ1y&tüÙòÕMoó¬²<ñ/ÇÖa?üʯuÝÓjû,¨Üå@/GMa-èGkD}¤ð©fZbYÑlt/      ±Øj¦èRhCå1âÆñ±S@ÖòÁ~e}
>NÀ^²Jà-Û[Mø¡FËB7ÉVy0|ôÉÏjx[ÙÁnneê)wã+ök'R6"dÞqît¿ý,ߢ]MöV>»Ñ@ÞwM0®èçã^F'çFÕ²æL((¬±S¢ÅïÂy§púÓ­Ë5y1pÆ{uxëÈOþ'¾7+Öº!í
uV-R²f*'æ\ías\Øl^÷ ÿ'r1|yÅ-Y­Ø,º·¢▒ÀPæá¸EW0d¤q]&ÿdV6ß.cùÂ~´óðCß▒(¨îMëb#òEnÑ»PÅV½!ÀÈѵ                              c´è
jFÇé¨J$ǵÀcu?4·[ö&å:1&OÓö(øyKxòëÑq¸çÎÇÈI#5¨çû,'µÐûfG¸Í§³UÚëÎCDøõe²Ñú$Á½é½Ocø»Éßs! ÀõE²©)8½îv¿<Üî|趻B▒ÿYw¹·ÌÞƶâôIÇ.>¾H¡n¬Éüׯ*m«¶£L£#7È?¾sÊNoXµ·àMÚ
?ó´ZìâþÌçùä½ÿ$qÀÊcOºùdewænår▒ÖB½dfÕ;­t4Êe3#ÄúÀ£çP=¨QÌ▒ÕþºÑ\U¼Fµ»â¯/!NZ=>½éú©,EÉ|ªQafu,5Ý%Xw%seàØÇÇTª    BZëCaßî;zÃ"Bma¤ y=ÞwÁű~ÿõåEyV/Ò%q¥Ì^Ç  2U¸âQ³1y(¾&¨òYùÆ«}üx#Á®úÅÿÆðö.i8
              ïþ¨è|Âý6\ U+ᬮ[®eVéüvíÜ{ÈL+]¬)ùxþecä溰ÿoö?,Ä:¯Oò9T:1G4qÞ.ÌtÉÑëEæáHÔ׬¡ª                                                                                         çc^
nÍPÑU7/ÄñcªXâ§nc]¾¨XPayÚGºxª.wÈç¤}¬ÓÏÇ\rf'¤ñ@zJnî´a'¾¨s­NÔAëG½PL6ºIQkíJÍçؼÔKýF¾)$\&§^»                                                                                            Eý¨_{tÂp¥ñT'mùPvcìÃç1ÿûKáz¹â®ò÷p×Ø?äIIö 6²¬QªMÚIµÈTã+¤i1âN¾8ɽNww²Îf¹¿kVr²ù½Ä¼Ìå±"ªúº+äÿ¥
óv¡t5!(«:Ö+Ovl<¦aö6Kì»â2óÎåØØ|üËàÇÒ.j§·¸[ãæ¿ï'¡÷¥¾©,ÝßiÝPMåoÑéïToãw¿dyçëÀã·ó6ês\ÔR;ÕXÚ»ûÿõå▒öÁ▒¡\Ðs·~=ðÈTDÝCCijÚ'¹ÎÔ¬\·ðñ_ÿü§¯$Âõj®Û¢_]Lù¦8áÌæ²»BJÖÛn¼ûXÏjY8Ò6éØí©YóZtÛt´ÌníUè¨PGØÊzý+ÚT¦M1¥e¬åxendstreamýC~¢6A¬»hå?5µÎÍbKÏÔlwæ l▒_%L;8ê8jßQüg-í×                                                     Jâ'd¬*»ö</nä"nAíÀ ÿ]©äXĦMYS▒
endobjÎ{°m-°õ1Hgîºû:h*µVØK°F8ñGÔÎl~V3ÄÞ!bÊcÞDGë¯×Yl(.ãâÝå'£=cü§ýÔb£ÄèMu Íëve«XîÝ£#"VØgáKÔ?öþ§®êϺݡ[3uש²Nµq÷Ú▒ßób¸l6=?'«ì>BÔ?t_Ñ  gÁ£õ=q@ÜÕÅûªE3¶L+ÕÅ©Cå}b-7Q,ì·Túlñ¨þ¦:='î¹aÐçeÆãÜw°¥ès
E▒ªpÇ !}¡1{¹_ZlÈë¡Á;u§·+ú,fo ä-AÏ[HM¥×▒ÌÝåìtò*9¼Â^ѧ▒aÛ'B>/Cö0Þ÷ðiNË­þÊ âÄCH´/9fVÎÉó6!vóÑ@ ðÉ!w±y;¯m$i¾äµH+·]YA|åÀD!j{øEÙ^äFÖÑ4▒ääû5þµ)Ãå*y´¹Q« 7í?NýÍ'^õ(*C4f;3ûûn³i|nIï­0uo>#n³yµ¹5§*É»&Gtê;c.9 0 objéðÜ}zÔ22T'¦E'ýX®WÈô»&Â>9=ay$àÊGWdwÂ!f·¹eMvÖ=EÞߢ¯ò^¢n'ZÜöQ!Yߧµã gÚEbØù»ÑñÓ                                                             1ªAäØÿPâ'4RÅU]xý'¬¡Â>¹æîtê3Yêy.·¬4ÖçæÍÕOß®×ñh¶ap(<</Type/Font/Subtype/Type1/BaseFont/NimbusRomNo9L-Regu                   9îî~ýÚK°ÓÑ*ÈTt÷ ØL
/ToUnicode 8 0 R} Åta°Àj)                           _                                      Kû'Üd§éËpôKÜ~¯
/FirstChar 0 /LastChar 255ºP!y%µRÕÖ×bðó°~®_ñA=ùjÒÜW!þy0Æ¢]ìMºõ$ÊÍD96)éàjM[îÍÙù»@y»;«!BÌaÓ;²À    ÏÞî¨ZÚ8Ýà ìÏ?å²@ÙÏû¬W$O9²ößÄ髶Âv(r·?,½ø?u«¬§ýéøZÍñÉÆSêÒfæÿ ÕÀb8ÇxØݯ¹ÅAýöµiº\ÉI$▒À}0@bâÚÕq9s'XÝ/Widths[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0®ã¥Vø![
250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278Õ¶~~Yö*Ó}+«▒rl¥z«°       :¬Î­>2y®GmÀúÀ
500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444
921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722
556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500e$<Ìßf¼péØøag#au.ÁÄè6Ý▒
333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500
500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0/NimbusRomNo9L-Regu
0 333 500 500 167 500 500 500 500 180 444 500 333 333 556 556
0 500 500 500 250 0 453 350 333 444 444 500 1000 1000 0 444
0 333 333 333 333 333 333 333 333 0 333 333 0 333 333 333
1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 889 0 276 0 0 0 0 611 722 889 310 0 0 0 0
0 667 0 0 0 278 0 0 278 500 722 500 0 0 0 0
O8À±(2)èJR'Ø÷=~ÝƵ¡´ oÇKÈ]¹ÞÜY)ÚwÒ?[4ò©Ió¦>G)î¾J&d}ýíÜÅÓò~Ø0 $´Në¿´Èc®pVqí+ëCppG¾ùóßeõõ6GÌ,öfú8Ô7»S[¢S50c­q/_9¹jó¿·Ü%×­tQSßî▒LðbkÂÒxâ£Ö▒üVAûÇamÏ·Â׫H´+ÆWíç´upèó'I]± ÎëÚwiòtçúwAhO¼²´'Æ©ëÀ0lô?¿ÌIò▒ìXË<»ÅUepçæå¥ SïÒFҽϷº®Ën.Z×´\£ÁEH@®2ÊçC¢n½¡hÑâ>º´¢YÚXEfg sôë¥*|zº7>ù!I©Åÿ«; ;&== )dS/),÷È´:ÞõH:CÉÑÀiTÌw!u@Âp2÷AÒfµòÜtFIZ^iÿà£ùÖ5ÐsDiërÿ$0b6Ëü~xÏ·._ÏÒõÜr²'wYù;¤²å»äE3óù²ëvÇ»Ó'ãµ~?ÿîMZÍPkh{aÙ1y&tüÙòÕMoó¬²<ñ/ÇÖa?üʯuÝÓjû,¨Üå@/GMa-èGkD}¤ð©fZbYÑlt/ ±Øj¦èRhCå1âÆñ±S@ÖòÁ~e} >NÀ^²Jà-Û[Mø¡FËB7ÉVy0|ôÉÏjx[ÙÁnneê)wã+ök'R6"dÞqît¿ý,ߢ]MöV>»Ñ@ÞwM0®èçã^F'çFÕ²æL((¬±S¢ÅïÂy§púÓ­Ë5y1pÆ{uxëÈOþ'¾7+Öº!í uV-R²f*'æ\ías\Øl^÷ ÿ'r1|yÅ-Y­Ø,º·¢▒ÀPæá¸EW0d¤q]&ÿdV6ß.cùÂ~´óðCß▒(¨îMëb#òEnÑ»PÅV½!ÀÈѵ c´è jFÇé¨J$ǵÀcu?4·[ö&å:1&OÓö(øyKxòëÑq¸çÎÇÈI#5¨çû,'µÐûfG¸Í§³UÚëÎCDøõe²Ñú$Á½é½Ocø»Éßs! ÀõE²©)8½îv¿<Üî|趻B▒ÿYw¹·ÌÞƶâôIÇ.>¾H¡n¬Éüׯ*m«¶£L£#7È?¾sÊNoXµ·àMÚ ?ó´ZìâþÌçùä½ÿ$qÀÊcOºùdewænår▒ÖB½dfÕ;­t4Êe3#ÄúÀ£çP=¨QÌ▒ÕþºÑ\U¼Fµ»â¯/!NZ=>½éú©,EÉ|ªQafu,5Ý%Xw%seàØÇÇTª BZëCaßî;zÃ"Bma¤ y=ÞwÁű~ÿõåEyV/Ò%q¥Ì^Ç 2U¸âQ³1y(¾&¨òYùÆ«}üx#Á®úÅÿÆðö.i8 ïþ¨è|Âý6\ U+ᬮ[®eVéüvíÜ{ÈL+]¬)ùxþecä溰ÿoö?,Ä:¯Oò9T:1G4qÞ.ÌtÉÑëEæáHÔ׬¡ª çc^ nÍPÑU7/ÄñcªXâ§nc]¾¨XPayÚGºxª.wÈç¤}¬ÓÏÇ\rf'¤ñ@zJnî´a'¾¨s­NÔAëG½PL6ºIQkíJÍçؼÔKýF¾)$\&§^» Eý¨_{tÂp¥ñT'mùPvcìÃç1ÿûKáz¹â®ò÷p×Ø?äIIö 6²¬QªMÚIµÈTã+¤i1âN¾8ɽNww²Îf¹¿kVr²ù½Ä¼Ìå±"ªúº+äÿ¥ óv¡t5!(«:Ö+Ovl<¦aö6Kì»â2óÎåØØ|üËàÇÒ.j§·¸[ãæ¿ï'¡÷¥¾©,ÝßiÝPMåoÑéïToãw¿dyçëÀã·ó6ês\ÔR;ÕXÚ»ûÿõå▒öÁ▒¡\Ðs·~=ðÈTDÝCCijÚ'¹ÎÔ¬\·ðñ_ÿü§¯$Âõj®Û¢_]Lù¦8áÌæ²»BJÖÛn¼ûXÏjY8Ò6éØí©YóZtÛt´ÌníUè¨PGØÊzý+ÚT¦M1¥e¬åxendstreamýC~¢6A¬»hå?5µÎÍbKÏÔlwæ l▒_%L;8ê8jßQüg-í× Jâ'd¬*»ö</nä"nAíÀ ÿ]©äXĦMYS▒ endobjÎ{°m-°õ1Hgîºû:h*µVØK°F8ñGÔÎl~V3ÄÞ!bÊcÞDGë¯×Yl(.ãâÝå'£=cü§ýÔb£ÄèMu Íëve«XîÝ£#"VØgáKÔ?öþ§®êϺݡ[3uש²Nµq÷Ú▒ßób¸l6=?'«ì>BÔ?t_Ñ gÁ£õ=q@ÜÕÅûªE3¶L+ÕÅ©Cå}b-7Q,ì·Túlñ¨þ¦:='î¹aÐçeÆãÜw°¥ès E▒ªpÇ !}¡1{¹_ZlÈë¡Á;u§·+ú,fo ä-AÏ[HM¥×▒ÌÝåìtò*9¼Â^ѧ▒aÛ'B>/Cö0Þ÷ðiNË­þÊ âÄCH´/9fVÎÉó6!vóÑ@ ðÉ!w±y;¯m$i¾äµH+·]YA|åÀD!j{øEÙ^äFÖÑ4▒ääû5þµ)Ãå*y´¹Q« 7í?NýÍ'^õ(*C4f;3ûûn³i|nIï­0uo>#n³yµ¹5§*É»&Gtê;c.9 0 objéðÜ}zÔ22T'¦E'ýX®WÈô»&Â>9=ay$àÊGWdwÂ!f·¹eMvÖ=EÞߢ¯ò^¢n'ZÜöQ!Yߧµã gÚEbØù»ÑñÓ 1ªAäØÿPâ'4RÅU]xý'¬¡Â>¹æîtê3Yêy.·¬4ÖçæÍÕOß®×ñh¶ap(<</Type/Font/Subtype/Type1/BaseFont/NimbusRomNo9L-Regu 9îî~ýÚK°ÓÑ*ÈTt÷ ØL /ToUnicode 8 0 R} Åta°Àj) _ Kû'Üd§éËpôKÜ~¯ /FirstChar 0 /LastChar 255ºP!y%µRÕÖ×bðó°~®_ñA=ùjÒÜW!þy0Æ¢]ìMºõ$ÊÍD96)éàjM[îÍÙù»@y»;«!BÌaÓ;²À ÏÞî¨ZÚ8Ýà ìÏ?å²@ÙÏû¬W$O9²ößÄ髶Âv(r·?,½ø?u«¬§ýéøZÍñÉÆSêÒfæÿ ÕÀb8ÇxØݯ¹ÅAýöµiº\ÉI$▒À}0@bâÚÕq9s'XÝ/Widths[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0®ã¥Vø![ 250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278Õ¶~~Yö*Ó}+«▒rl¥z«° :¬Î­>2y®GmÀúÀ 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500e$<Ìßf¼péØøag#au.ÁÄè6Ý▒ 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0/NimbusRomNo9L-Regu 0 333 500 500 167 500 500 500 500 180 444 500 333 333 556 556 0 500 500 500 250 0 453 350 333 444 444 500 1000 1000 0 444 0 333 333 333 333 333 333 333 333 0 333 333 0 333 333 333 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 889 0 276 0 0 0 0 611 722 889 310 0 0 0 0 0 667 0 0 0 278 0 0 278 500 722 500 0 0 0 0

Por que o 'gato' não pode ler o conteúdo de arquivos pdf?

    
por Mr. Orange 10.04.2016 / 10:04

3 respostas

6

Se você chamar cat em um arquivo que contenha um texto em chinês¹, não será impressa uma tradução em inglês. Com os formatos de computador, é a mesma coisa: se você chamar cat em um arquivo que contém dados em um determinado formato, ele não será traduzido para outro formato, como texto simples. Esse não é seu trabalho: seu trabalho é copiar sua entrada para sua saída sem modificá-la.

Um arquivo PDF não é um arquivo de texto. Um arquivo PDF pode conter texto, juntamente com instruções de formatação, imagens, hiperlinks, etc. Se você quiser ler o texto em um arquivo PDF, é necessário usar uma ferramenta que entenda o formato de arquivo PDF.

Existem alguns bits reconhecíveis no arquivo PDF: NimbusRomNo9L sugere que o texto está escrito em uma fonte Nimbus Roman. Essa não é uma das poucas fontes que todos os visualizadores e impressoras de PDF devem ter, portanto, ela deve estar incorporada no arquivo PDF. O texto em si ( abc ) não está enterrado na saída porque está comprimido.

Uma ferramenta comum para visualizar arquivos, independentemente do formato em que estão, é xdg-open . No Debian e derivados, see é uma alternativa. Ambos funcionam adivinhando o formato de arquivo da extensão do nome do arquivo e chamando um aplicativo apropriado. Se você quiser extrair explicitamente as partes do texto (e esquecer outras informações, como imagens, fontes, a localização do texto na página, etc.), poderá chamar um programa para converter o arquivo PDF em texto, como < href="http://linux.die.net/man/1/pdftotext"> pdftotext .

¹ Se você entende chinês, substitua Georgian, ou Kanada, ou Cree, ou qualquer outra língua que você não fala.

    
por 11.04.2016 / 02:26
10

É porque o pdf não é texto simples. cat só pode imprimir o arquivo como está. Para ver o conteúdo de um arquivo pdf usando a linha de comando, você pode usar pdftotext .

pdftotext pdffile -
    
por 10.04.2016 / 10:22
3

cat (1) não "imprime" arquivos, é uma ferramenta para obter uma seqüência de arquivos de entrada e concatená-los em uma saída.

O que o cat file faz é pegar o conteúdo de file e enviá-lo para o terminal. Se o file contiver texto, o terminal mostrará isso como tal. Os arquivos PDF não são texto e (como qualquer não texto) são exibidos como ininteligíveis. Cada tipo de arquivo precisa de algum programa específico para torná-lo inteligível.

Atualmente, as impressoras aceitam a entrada de PDF para renderização na página, ou as ferramentas usadas para imprimir são traduzidas para o que a impressora consome automaticamente.

    
por 11.04.2016 / 00:33