有没有办法将 PDF 文档转换为 epub、azw 或 mobi 等电子书格式?我正在寻找一个转换速度快的应用程序。我刚刚尝试过口径。 10 分钟后,转化率甚至还没有达到 2%。所以请不要口径。 CLI 是首选。
答案1
答案2
你应该尝试一下pdftotext
(在软件包中的 Ubuntu 下poppler-utils
)。它是一个命令行转换器。它假定 PDF 包含文本并且不仅仅包含图像。
如果 PDF 文件包含图像(没有 OCR 信息),则必须采用 OCR 解决方案,这要慢得多。
我也成功地对扰乱的 PDF 文本使用了 OCR 方法(通过以非线性方式将单个字符定位在页面上)。然后您可以使用egpdftoppm
来获取页面的各个图像并对这些图像进行OCR。
答案3
我必须对 PDF 文件执行一次此操作,结果如下(使用 poppler 中的 pdftohtml):
#!/bin/bash
pwddir="`pwd`"
tmpdir="`mktemp -d`"
pdftohtml -enc UTF-8 -noframes -p -nomerge -nodrm -q "$1" "$tmpdir"/index
cd "$tmpdir"
sed -e :a -e '$!N;s/\n/ /;ta' \
-i index.html
sed -e 's@ @ @g' \
-e 's@<hr>@ @g' \
-e 's@<br/>\s*<br/>@</p><p>@g' \
-e 's@<br/>@ @g' \
-i index.html
tidy -utf8 -i -wrap 9999999 -m index.html
sed -e 's@<a name="[^"]*"></a>@@g' \
-i index.html
rm "$pwddir"/"$1".zip
zip "$pwddir"/"$1".zip *
将 zip 文件输入 Calibre 并转换为 EPUB。过滤所有 CSS 属性(例如颜色、字体)。
每个 PDF 文件都是不同的 - 没有明确的解决方案。上面的方法适用于一种特定情况 - 您必须弱化 pdftohtml/pdftotext,然后调整输出以满足您的需求。
如果失败,您必须求助于 OCR,我在楔形文字方面运气不错。但也可以尝试 tesseract、ocrad、gocr。然而,所有这些都需要手工劳动才能获得良好的结果。