Je veux convertir djvu en pdf tout en préservant l'OCR. Cette page décrit comment procéder, mais je reçois un fichier html vierge.
Dans/home/steven/Documents/djvu2pdf/1 /, djvu2hocr -p 1 Intro.djvu
Donne moi:
Converting 'Intro.djvu':
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="ocr-system" content="djvu2hocr 0.7.9" />
<meta name="ocr-capabilities" content="ocr_carea ocr_page ocr_par ocrx_block ocrx_line ocrx_Word" />
<title>DjVu hidden text layer</title>
</head>
<body>
*** [1-11711] Failed to open 'Intro.djvu': No such file or directory.
*** (ByteStream.cpp:693)
*** 'DJVU::GUTF8String DJVU::ByteStream::Stdio::init(const DJVU::GURL&, const char*)'
</body>
</html>
Traceback (most recent call last):
File "/usr/bin/djvu2hocr", line 7, in <module>
_.main(sys.argv)
File "/usr/share/ocrodjvu/lib/cli/djvu2hocr.py", line 325, in main
djvused.wait()
File "/usr/share/ocrodjvu/lib/ipc.py", line 114, in wait
raise CalledProcessError(return_code, self.__command)
subprocess.CalledProcessError: Command 'djvused' returned non-zero exit status 10
menant à un fichier html vierge, donc quand je lance
sed 's/ocrx/ocr/g' > pg1.html
il fonctionne simplement sur une boucle indéfinie.
J'ai également un programme secondaire appelé djvu2pdf que j'ai trouvé sur http://0x2a.at/s/projects/djvu2pdf , mais
djvu2pdf Intro.djvu
donne moi
-e Error: /usr/bin/djvu2pdf: File 'Intro.djvu' not found
Le fichier OCR s'ouvre correctement.
J'ai corrigé le fichier /home/steven/Documents/djvu2pdf/1/Intro.djvu. Il s'avère que tous mes fichiers djvu n'avaient pas d'extensions, mais Linux les ouvrait quand même.
Test avec un document d'une seule page
J'ai d'abord couru cd /home/steven/Documents/djvu2pdf/1/
Puis a couru: djvu2hocr -p 1 1.djvu
DjVu hidden text layer - Page #1 Traceback (most recent call last): File "/usr/bin/djvu2hocr", line 7, in _.main(sys.argv) File "/usr/share/ocrodjvu/lib/cli/djvu2hocr.py", line 323, in main process_page(page_zone, options) File "/usr/share/ocrodjvu/lib/cli/djvu2hocr.py", line 263, in process_page result = process_zone(None, page_text, last=True, options=options) File "/usr/share/ocrodjvu/lib/cli/djvu2hocr.py", line 238, in process_zone parent.append(child) AttributeError: 'NoneType' object has no attribute 'append'
La commande: djvu2hocr -p 1 1.djvu > tmp.html
A fait la même chose Converting '1.djvu': - Page #1 Traceback (most recent call last): File "/usr/bin/djvu2hocr", line 7, in _.main(sys.argv) File "/usr/share/ocrodjvu/lib/cli/djvu2hocr.py", line 323, in main process_page(page_zone, options) File "/usr/share/ocrodjvu/lib/cli/djvu2hocr.py", line 263, in process_page result = process_zone(None, page_text, last=True, options=options) File "/usr/share/ocrodjvu/lib/cli/djvu2hocr.py", line 238, in process_zone parent.append(child) AttributeError: 'NoneType' object has no attribute 'append'
sed 's/ocrx/ocr/g' tmp.html > pg1.html
J'ai un html & tmp.html disant ceci
Je devais le poster là b/c pour une raison absurde, ce site ne me permettra pas de poster ce code, en utilisant du HTML, du code, des balises pré, ça n'a pas fonctionné. ? Je suis nouveau sur le terminal sous Linux, j'apprends juste par les recherches Google
Tout d'abord, essayez d'exécuter le programme avec le chemin d'accès complet au fichier. Exécutez la commande suivante pour vous assurer que votre fichier existe
file /home/steven/Documents/djvu2pdf/1/Intro.djvu
puis essayez
djvu2hocr -p 1 /home/steven/Documents/djvu2pdf/1/Intro.djvu
Deuxièmement, il y a un problème avec la commande suivante sur elle-même:
sed 's/ocrx/ocr/g' > pg1.html
Cela ne fonctionnera pas "dans une boucle infinie" mais attendra simplement l'entrée standard (clavier dans votre cas), car vous n'exécutez pas sed avec un argument ou en tant que partie d'un canal. sed ne sait pas quel fichier vous souhaitez traiter.
La page à laquelle vous vous référez spécifie clairement que vous devez l'exécuter en tant que partie d'un tuyau. Alternativement, vous pouvez le faire comme suit:
djvu2hocr -p 10 /home/steven/Documents/djvu2pdf/1/Intro.djvu > tmp.html
sed 's/ocrx/ocr/g' tmp.html > pg10.html