我想将 DJVU 文档转换为 PDF 文档,分离并保留文本层和图片同时保持结构来自 DJVU。如何在 Ubuntu 中执行此操作?
(然后我将使用口径转换为 ePub/Mobi,所以如果整个过程有一个 Calibre 插件,那对我来说就完美了!)
注 1:从 Evince 打印、从 DJview 导出,或使用该包进行任何操作閱讀, 是不是足够的解决方案,因为它们丢弃文本层,只保存图像。
注2:使用DJVULibre好像只提取文本层,不提取图片。同样,“手动”复制文本会丢失文档结构和图片。
答案1
方法 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 文件所在的目录。单击鼠标右键。转到“在终端中打开”选项。单击它。将打开一个终端。
在那个终端写入
ddjvu -format=tiff file_name.djvu file_name.tiff tiff2pdf -j -o file_name.pdf file_name.tiff
方法 4
还有一个在线转换器DjVu 到 PDF 转换器
答案2
这是一种方法,但是需要一些不太常见的工具:
我们可以使用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
这样我们最终会在工作文件夹中得到这些文件:
sample.djvu
pg10.html
pg10.tif
这就是pdfbeads
发挥作用的地方,我们简单地执行:
pdfbeads -o pg10.pdf
然后这个漂亮的程序会处理这个文件夹中的所有内容(具有相同基本名称的 HTML 和 TIFF 文件)并生成带有一些副产品的输出 PDF 文件:
sample.djvu
pg10.html
pg10.tif
pg10.jbig2
pg10.pdf
pg10.sym
与输入的 DjVu 文件相同,并且包含文本层:
评论摘要:
下面的长篇评论讨论了将 DjVu 文档页面中的较小图像表示为单独的对象,这并非易事,因为 DjVu 文档页面本身只是带有可选文本层的单个图像,没有关于较小图像作为单独对象的“信息”。如果 DjVu 文档有彩色图像,则通常会将它们放置在背景层上;在这种情况下,用户可以利用ddjvu
(仅提取背景层)和imagemagick
(自动裁剪)等工具仅输出图像而不是整个画布,但无法自动创建 PDF 输出
另一种更明智但更慢的方法是使用常规的 OCR GUI 工具。gscan2pdf
建议将 (> 1.0) 作为 Linux PC 的可能候选版本
答案3
有djvu2pdf但它依赖于 ghostscript,因此它可能是另一种打印选项。我仍然建议您看一下,以防它比我认为的更聪明。
它不在存储库中,但你可以从制造商的网站下载一个 deb:http://0x2a.at/s/projects/djvu2pdf
** 在此插入关于从存储库之外下载/安装内容的强制性声明 **
答案4
我制作了@zetah 的回答的脚本。
可以在这里获取:https://gist.github.com/matthieuheitz/7287e214b1aeda7948f6c27fbfb5288b