我从 Internet Archive 下载了一些文件。它们有不同的文件格式,大多数时候我使用 PDF。但是,有时扫描件保存为彩色而不是黑白。这使得在专用电子书阅读器上阅读变得困难(或不可能)。在这种情况下,我下载了 DjVu 文件,因为在 PC 上您可以选择要查看的图层(彩色、黑白、前景、背景)。
选择黑白可以获得出色的效果。但是,电子书阅读器没有此选项。
问题是,如何从 DjVu 文件中删除或提取某一层并仅保存这一层?
到目前为止,我尝试了以下两种方法:
在 PC 上的 DjVu 查看器中选择黑白,然后打印到 PostScript 文件。然后进行转换
ps2pdf
。这可行,但会生成相当大的 PDF 文件。当然,我可以再次将其上传到 any2DjVu,但每个文件似乎都需要大量手动操作。我尝试了共享注释功能,并输入了“模式 bw”。此功能在 PC 上按预期运行,但在电子书阅读器上被忽略,因为其他层仍然存在。
答案1
- 解绑djvu文件:
djvuextract g.djvu BG44=g.c44
;djvuextract t.djvu Sjbz=t.cjb2
- 再次捆绑:
djvumake q.djvu INFO=1662,1840 BGbz=\#white Sjbz=t.cjb2 FGbz=\#black
(命令是临时的,我还没有验证它们)
答案2
您需要的程序是 djvups。正如其名称所示,它将从 DjVu 转换为 PostScript,并允许您选择要保留哪些图层(全部、前景、背景或前景蒙版)。试试这个:
djvups -mode=foreground -gray input.djvu output.ps
或者,仅输出前景蒙版:
djvups -mode=black input.djvu output.ps
经过这次转换,ps2pdf 应该可以得到你想要的结果。
答案3
有一种方法,不涉及扩充文件。为了简单起见,我假设只有一个页面文件。也许该方法也可以适用于多个页面。首先使用列出文件中的块djvudump
。典型的输出将如下所示:
FORM:DJVU [72422]
INFO [10] DjVu 2443x3471, v24, 300 dpi, gamma=2.2
Sjbz [47781] JB2 bilevel data
FG44 [3393] IW4 data #1, 100 slices, v1.2 (color), 408x579
BG44 [2611] IW4 data #1, 74 slices, v1.2 (color), 815x1157
BG44 [3307] IW4 data #2, 10 slices
BG44 [1208] IW4 data #3, 6 slices
BG44 [8543] IW4 data #4, 7 slices
然后您可以提取非背景块。
djvuextract input.djvu Sjbz=tmp1
djvuextract input.djvu FG44=tmp2
当您创建新文件时未指定任何背景,它将默认为白色。传递给的数字INFO
是输出的尺寸和 DPI djvudump
。
djvumake output.djvu INFO=2443,3471,300 Sjbz=tmp1 FG44=tmp2
可能需要一些脚本才能使其在实践中发挥作用。