问题标签 [calibre]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pdf - 将 pdf 转换为文本会返回奇怪的转义句
我正在尝试将文本从 pdf 提取到文本。pdf包含捷克语文本,其中包括ščřžý等字符......我尝试了多种方法,包括tika,textract,texttopdf,calibre,PDFMiner等。但是,我得到了许多未定义的字符,并且一些字符被错误地解码。我还尝试使用不同的编解码器对文本进行编码和解码,但没有成功。你能建议解决这个问题的可能方法吗?到目前为止,OCR 效果最好,但将 o(字母)误认为 0(零)并且一些字母大写。
python - 如何使用 From python:3.6 环境在 docker 映像中运行 brew 命令?
我是码头工人的新手。我构建了一个 python 烧瓶应用程序,现在我想为它创建一个 docker 映像。但是,在我的应用程序中,我使用 python 子进程来执行 Calibre 命令。我使用 brew 在本地机器上安装了 Calibre。现在我想知道它如何在“FROM python:3.6”环境下与 docker 一起工作?
我只是在我的 dockerfile 中附加“brew cask install calibre”吗?或者我需要配置自制软件等?
以下是我当前的 dockerfile:
提前致谢!
regex - 多行正则表达式匹配
我目前正在尝试对 pdf 进行一些基本的清理,以便可以将其转换为 ePub 以在我的电子阅读器上使用。我所做的只是删除页码(简单)和脚注(到目前为止很难)。基本上,我想要一个表达式,在每个脚注的开头找到标签模式( <bar>
后跟换行符、数字、字母或引号),选择模式及其后面的所有内容,直到它到达<hr/1>
标签在下一页的开头。这是一些示例文本:
由于所有脚注都以这种方式格式化,因此我想选择以(注意空格)开头并以标签 <br>
结尾的每一组行。<hr/>
这是我第一次真正尝试使用正则表达式,所以我尝试了一些解决方案的尝试:
\s<br>\n\d+\s[a-zA-Z“].*
:这正确选择<br>
了脚注的第一行,但在中断处停止。\s<br>\n\d+\s[a-zA-Z“].*\n.*\n.*\n.*\n.*\n.*
选择正确的行数,但这显然只适用于恰好有三行文本的脚注。\s<br>\n\d+\s[a-zA-Z“]((.*\n)*)<hr\/>
从第一个脚注的正确位置开始,但最终选择整个文档的其余部分。我对这个表达式的解释是“以 开头<br>
,一个数字后跟一个空格,后跟一个字母或引号,然后选择包括换行符在内的所有内容,直到到达<hr/>
。”\s<br>\n\d+\s[a-zA-Z“]((?:.*\r?\n?)*)<hr\/>\n
与(2)相同的想法,具有相同的结果,尽管我对正则表达式不够熟悉,无法完全理解这个是怎么回事。
基本上,我的问题是我的表达式要么排除换行符(并忽略结束模式),要么包含每个换行符并返回整个文本(显然仍然忽略结束模式。
如何让它只返回模式之间的文本,包括换行符?
nginx - Nginx:链接到不同端口上的另一台服务器
我在 Raspberry pi 上安装了 Nginx 服务器/站点,并在https://example.com上运行。
我在https://example.com:8585上运行的同一个 Raspberry pi 上也有一个 Calibre 电子书服务器。最后有一个端口号是丑陋的,不容易记住。
我希望可以通过https://example.com/calibre访问我的 Calibre 服务器
Nginx 服务器中是否有我可以调整以实现此目的的设置?我是 Web 服务器设置的新手。任何的意见都将会有帮助。谢谢!
syntax-error - 在 Calibre 中安装插件 DEDRM - 语法错误
我正在尝试在 Calibre 5.7.2(操作系统:Windows 10)中安装插件 DEDRM 6.7.0,但出现以下错误:
calibre,版本 5.7.2 错误:Eccezione non gestita:SyntaxError:无效语法(calibre_plugins.dedrm.init ,第 168 行)
我该如何克服这个问题?
go - 为什么 calibre 不会读取重新创建的 .epub 文件上的元数据?
我正在编写一个程序,它需要一个 .epub 文件,解压缩它,编辑content.opt
文件以添加自定义元数据,然后压缩内容以创建一个新的 .epub 文件。我将 calibre 用作我的电子阅读器和 .epub 编辑器,因为 calibre 可以很容易地编辑 .epub 的元数据以及 .epub 文件的内容。
我能够成功创建一个新的 .epub 文件。我已经测试过这个新文件可以用 calibre 和我的 Kobo 电子阅读器阅读。
但是,原始 .epub 文件中的任何元数据都不会传输到新的 .epub 文件。此外,我无法在 calibre 中编辑 .epub 文件。当我尝试时,我收到错误“epub 中没有 META-INF/container.xml”。我尝试使用多个 .epub 文件,但得到了相同的结果和错误。
解压后,.epub原文件内容如下:
新创建的 .epub 文件的解压缩目录与原始目录相同。运行diff -r -q /[title]_original /[title]_recreated
不会产生任何输出,这表明它们实际上是相同的。所以我不确定calibre如何读取一个文件而不读取另一个文件。该错误似乎表明 calibre 无法找到 META-INF/container.xml 文件,该文件用于告诉电子阅读器元数据存储在目录中的位置。
注意:在解压缩或压缩过程中,我不会编辑原始 .epub 的任何内容,直到我能够弄清楚发生了什么。
我正在go run main.go zip.go
使用两个 go 文件和 .epub 文件 [title] 的目录中运行命令:
main.go
zip.go
calibre - 口径编辑的书内容未保存
嗨,我有一个 ePub 文件,我需要修复其中的一些内容。我尝试使用 Calibre 软件编辑电子书,通过使用 Calibre 的“编辑书”功能修复 html 内容。
在我第一次尝试中,在我按下保存并退出编辑器后,根本没有保存更改。我编辑的内容无处可寻。我检查了默认的 Calibre 文件夹,但找不到它。我认为 save 会覆盖原始文件,但显然不会。
由于这是第一次体验,我尝试了第二次,但编辑后的内容实际上存在于文件中。但是在做了其他事情之后,当我故意打开编辑书功能只是为了检查时,更改又消失了。
我已经尝试了几轮,似乎更改有时会出现在 Edit Book 的“编辑器”上,有时不会。但无论哪种尝试,在我执行转换电子书或保存到硬盘等操作后,所有更改都消失了。只有原始版本不断出现,最终编辑的内容消失了!
这很奇怪。我开始怀疑编辑书有特殊的“过程”,也许必须像数据库 sql 或其他东西一样“提交”它,否则编辑后的版本根本不会出现。或者程序中可能还有其他文件夹或其他区域,其中存储了我编辑的 ePub 版本。
任何有类似经验的人,如果是我不知道如何使用该软件或 Calibre 只是一个不可靠的软件,请告诉我!
calibre - 未能在 Calibre 中无损压缩图像
当我尝试编辑电子书并使用“无损压缩图像”工具(任何格式:epub、azw3、mobi 等)时,出现以下错误:
无法处理图像/00002.jpeg 并出现错误:
回溯(最后一次调用):文件“/usr/lib/calibre/calibre/ebooks/oeb/polish/images.py”,第 34 行,运行 self.compress(名称)文件“/usr/lib/calibre/calibre/ebooks/oeb/polish/images.py”,第 59 行,在 compress func(路径)文件“/usr/lib/calibre/calibre/utils/img.py”中, 第 522 行, 在 optimize_jpeg 返回 run_optimizer(file_path, cmd) 文件 "/usr/lib/calibre/calibre/utils/img.py", 第 476 行, 在 run_optimizer p = subprocess.Popen(cmd, cwd=cwd, stdout= subprocess.PIPE,stderr=stderr,stdin=stdin,creationflags=creationflags)文件“/usr/lib/python2.7/subprocess.py”,第 394 行,在 init errread,errwrite)文件“/usr/lib/python2. 7/subprocess.py",第 1047 行,在 _execute_child 中引发 child_exception OSError:[Errno 2] 没有这样的文件或目录
在 Ubuntu 18.04 上运行。
regex - 在 RegEx 中捕获字符串部分
我想映射字符串的不同部分,其中一些是可选的,其中一些始终存在。我正在使用 Calibre 的内置函数(基于 Python 正则表达式),但这是一个普遍的问题:我怎样才能在正则表达式中做到这一点?
示例字符串:
字符串的结构如下:
最后我创建了这个正则表达式,但它并不完美,因为如果出现 ISBN,标题也会包含 ISBN 部分......
这是我的沙箱:https ://regex101.com/r/K2FzpH/1
我真的很感激任何帮助!