问题描述
我想将DJVU文档转换为PDF文档,分离并保留文本图层和图像,同时保持DJVU的结构。我怎么能在Ubuntu中这样做?
(然后我将使用Calibre转换为ePub /Mobi,所以如果有一个Calibre plug-in用于整个过程对我来说是完美的!)
注意1:从Evince打印,从DJview导出或使用包ddjvu的任何内容都不是合适的解决方案,因为它们丢弃文本图层,仅保存图像。
注2:使用DJVULibre似乎是only extract the text layer and pictures are not extracted。同样,复制文本”manually”会丢失文档结构和图片。
最佳解决方法
方法1
只需使用DJView并导出为PDF
-
转到Synaptic包管理器
-
安装DJview4
-
运行DJview(应用程序 – 图形 – DJView4)
-
打开您的.djvu文档
-
:菜单 – 导出为:PDF
方法2
在evince中打开djvu文件选择打印—->打印到文件将.ps更改为.pdf并单击打印
方法3
-
转到Synaptic包管理器
-
安装
djvulibre-bin libdjvulibre21 okular-extra-backends evince libevdocument3 libevview3
-
转到终端并写
sudo apt-get install libtiff-tools
-
转到djvu文件所在的目录。单击鼠标右键。转到“Open In Terminal”选项。点击它。终端将打开。
-
在那个终端写
ddjvu -format=tiff file_name.djvu file_name.tiff tiff2pdf -j -o file_name.pdf file_name.tiff
方法4
还有一个在线转换器DjVu to PDF converter
次佳解决方法
这是一种方法,需要一些不常用的工具:
我们可以使用djvu2hocr
命令(来自ocrodjvu
包)从DjVu文件中提取隐藏文本层(它不做任何OCR或类似的,它只是用几何提取文本层),即:
djvu2hocr -p 10 sample.djvu | sed 's/ocrx/ocr/g' > pg10.html
sed
干预纠正输出hOCR中的类名(这只是简单的HTML文件)
现在我们将DjVu页面提取为TIFF格式:
ddjvu -format=tiff -page=10 sample.djvu pg10.tif
所以我们在out工作文件夹中以这些文件结束:
sample.djvu
pg10.html
pg10.tif
这就是pdfbeads
的用武之地,我们简单地执行:
pdfbeads -o pg10.pdf
然后这个漂亮的程序负责处理此文件夹中的所有内容(具有相同基本名称的HTML和TIFF文件)并生成带有一些by-products的输出PDF文件:
sample.djvu
pg10.html
pg10.tif
pg10.jbig2
pg10.pdf
pg10.sym
这与输入的DjVu文件相同,里面有文本层:
评论摘要:
下面的冗长评论讨论将来自DjVu文档页面的较小图像表示为单独的对象,这是不可能的,因为DjVu文档页面本身只是具有可选文本层的单个图像,没有”information”关于较小图像作为单独的对象。如果DjVu文档有彩色图像,那么它们通常会放在背景图层上;在这种情况下,用户可以利用ddjvu
(仅提取背景图层)和imagemagick
(auto-crop)等工具来输出图像而不是整个画布,但无法自动创建PDF输出
另一种更为理智但速度较慢的方法是使用常规的OCR GUI工具。建议gscan2pdf
(> 1.0)作为Linux PC的可能候选者
第三种解决方法
有djvu2pdf,但它依赖于ghostscript,因此它可能是另一种打印选项。我仍然建议你试一试,以防万一它比我给它的功劳更聪明。
它不在回购中,但您可以从制造商的网站下载deb:http://0x2a.at/s/projects/djvu2pdf
**在此处插入关于从repos外部下载/安装东西的强制性通知**
第四种方法
使用DJVULibre,可以通过terminal
命令提取文本层:
djvutxt myfile.djvu > myfile-ocr.txt
或djvused myfile.djvu -e 'print-pure-txt' > myfile.txt
(两者都做同样的事情,并被发现here)
格式化需要一些努力(因为许多符号未正确转换)并且图片无法恢复。