将DJVU转换为PDF


39

我想将DJVU文档转换为PDF文档,分离并保留文本层图像,同时还要保持 DJVU 的结构。如何在Ubuntu中做到这一点?

(然后,我将使用Calibre转换为ePub / Mobi,因此,如果有用于整个过程的Calibre插件对我来说是完美的!)

注1:从打印了Evince,使用包从DJview,或任何出口ddjvu,是不是因为他们丢弃文字图层适当的解决办法,只能保存图像。

注意2:使用DJVULibre似乎仅提取文本层,而不会提取图片。同样,“手动”复制文本会丢失文档结构和图片。

Answers:


37

方法1

只需使用DJView并导出为PDF

  1. 转到突触包管理器
  2. 安装DJview4
  3. 运行DJview(应用程序-图形-DJView4)
  4. 打开您的.djvu文档
  5. :菜单-导出为:PDF

方法二

根据需要打开djvu文件。
选择打印---->打印以
将.ps更改为.pdf,然后单击打印。

方法3

  1. 转到突触包管理器
  2. 安装

    djvulibre-bin libdjvulibre21 okular-extra-backends evince libevdocument3 libevview3

  3. 转到终端并编写

     sudo apt-get install libtiff-tools
    
  4. 转到存在djvu文件的目录。单击鼠标右键。转到“在终端中打开”选项。点击它。终端将打开。

  5. 在那个终端写

    ddjvu -format=tiff file_name.djvu file_name.tiff
    tiff2pdf -j -o file_name.pdf file_name.tiff
    

方法4

还有一个在线转换器DjVu到PDF转换器


@Ashu您确定这会检索图片吗?
干草

是的,方法1和2对我有用。没有尝试3和.4
Ashu 2012年

@Ashu是提取图片还是简单地复制整个页面?(这有意义吗?)
hayd

你尝试过任何方法吗?尝试一下,看看它是否有效
Ashu 2012年

2
它不(检索图像或文本)。
海德

17

这是一种方法,需要一些不太常用的工具:

  1. Ocrodjvu
  2. pdfbeads,它有自己的要求,谷歌可以找到

我们可以使用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的可能候选者


我是否认为这不会提取单个图片数据而是仅提取整个页面的图像,这是正确的吗?
hayd 2012年

当您引用DjVu文件结构时,“单个图片数据”是什么意思?
zetah'4

是否可以将较小的图片裁剪为文档顶部的小图片(例如可以将它们导出为HTML),将其从文档中裁剪出来
hayd 2012年

DjVu文件结构中没有这样的定义。以上原始DjVu文档中的示例图像与字符图像一起“放置”在前景层/蒙版上,并且有单独的文本层,该文本层已按说明提取。如果DjVu文档具有彩色图像,则它们将被放置在整个页面的背景层上(在公共复合DjVu文件中)。虽然可以理解DjVu文档页面中的图像不是单独的对象,这是可以理解的,但可以将DjVU文档页面视为具有可选文本层的单个图像,这基本上就是事实。
zetah

1
@zetah-您在注释中给出的额外信息应真正添加到答案中,因为它提供了有关结构中图片位置以及提取时的期望的宝贵信息。
fossfreedom

4

djvu2pdf,但是它依赖ghostscript,因此它可能是另一个打印选项。我仍然建议您看看它,以防万一它比我认为的要聪明。

它不在存储库中,但是您可以从制造商的网站下载Deb:http://0x2a.at/s/projects/djvu2pdf

**在此处插入有关从存储库外部下载/安装内容的强制性通知**


1
恐怕djvu2pdf使用ddjvu导出到PDF,PDF导出没有文本的图像。
海德

4

使用DJVULibre,可以通过以下terminal命令提取文本层:

djvutxt myfile.djvu > myfile-ocr.txt 要么 djvused myfile.djvu -e 'print-pure-txt' > myfile.txt

(两者都做同样的事情,并且在这里找到)

格式化需要一些努力(因为许多符号未正确转换)并且图片无法恢复


这对于转换DJVU格式的无图片书籍非常有用,但不适用于带有图片的文档。这是目前对我来说当前的解决方案,并且是提取文本的唯一解决方案。保留格式和图片的方法将是首选!
Hayd 2011年


0

最简单的方法:使用gscan2pdf导入djvu,然后使用tesseract对其进行OCR,最后将其另存为pdf。pdf中的OCR文本可能与原始djvu略有不同,并且转换可能需要一段时间,但是这种方法很简单,并且可以使用。


1
嗨,要使其成为更有用的答案,您能否提供更多有关在何处获得和使用gscan2pdf和tesseract的详细信息。
NGRhodes 2015年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.