当前位置: 首页>>技术教程>>正文


将DJVU转换为PDF

, , , ,

问题描述

我想将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

  1. 转到Synaptic包管理器

  2. 安装DJview4

  3. 运行DJview(应用程序 – 图形 – DJView4)

  4. 打开您的.djvu文档

  5. :菜单 – 导出为:PDF

方法2

在evince中打开djvu文件选择打印—->打印到文件将.ps更改为.pdf并单击打印

方法3

  1. 转到Synaptic包管理器

  2. 安装djvulibre-bin libdjvulibre21 okular-extra-backends evince libevdocument3 libevview3

  3. 转到终端并写

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

  5. 在那个终端写

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

方法4

还有一个在线转换器DjVu to PDF converter

次佳解决方法

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

  1. ocrodjvu

  2. pdfbeads,它有自己的要求,可以在Google找到

我们可以使用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文件相同,里面有文本层:

pdf,ebooks,convert,djvu,ubuntu

评论摘要:

下面的冗长评论讨论将来自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.txtdjvused myfile.djvu -e 'print-pure-txt' > myfile.txt

(两者都做同样的事情,并被发现here)

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2406.html,未经允许,请勿转载。