为 Kindle 格式化 PDF

为 Kindle 格式化 PDF

我首先扫描了一本双栏 PDF 书,然后使用gs线程将 PDF 转换为单页格式,效果很好。这在 PC 屏幕上看起来不错,但当我将 PDF 传输到我的 Kindle(第 3 代)时,该fit-to-screen选项会从大多数页面的底部截去大约 10-20%,而该actual size选项对于屏幕来说太大了。

有解决办法吗?我应该使用-g4210x5950与原始拆分不同的参数gs吗?或者我是否可以调整已生成的 PDF(或其边距)的大小,使其适合 Kindle 屏幕?如果是这样,我需要的第三代 Kindle 屏幕尺寸是多少。

我想重新缩放单页 pdf 以适应 kindle 大小(可能使用gs),而不是转换。或者添加边距/边框,以便 kindle 适合屏幕工作而不会截断两端。

(我应该说我已经尝试过亚马逊的免费转换器等,但理想情况下,我希望保留 PDF 格式而不是转换,因为该文档是技术性的,并且转换似乎不是特别可靠。如果可能的话,我宁愿只调整 PDF/PDFmargins 的大小并保留现有的格式)。

答案1

我取得了良好的效果K2pdfopt. 使用命令行选项 -w(宽度)和 -h(高度),您可以设置输出大小,使其完全匹配您的 Kindle 的屏幕尺寸。

答案2

我找到了命令

pdfinfo -box -f 1 -l 3 mypdf.pdf

在查找有关给定 PDF 文档的信息时特别有用。对于在 Kindle 上放进底部被截断的 PDF,信息显示:

Page    1 size: 421 x 595 pts (A5)
Page    1 MediaBox:     0.00     0.00   421.00   595.00
Page    1 CropBox:      0.00     0.00   421.00   595.00
Page    1 BleedBox:     0.00     0.00   421.00   595.00
Page    1 TrimBox:      0.00     0.00   421.00   595.00
Page    1 ArtBox:       0.00     0.00   421.00   595.00
.
.
.

与我使用命令创建的方式一致(可以正确裁剪 A5 页面)

gs \
  -o left-sections.pdf \
  -sDEVICE=pdfwrite \
  -g4210x5950 \
  -c "<</PageOffset [0 0]>> setpagedevice" \
  -f double-page-input.pdf

-gWxH标志以像素为单位设置大小720dpi

第三代 Kindle 的可视屏幕尺寸为560x735 (pixels) @ 167dpi(根据和 wiki),因此在72dpi(标准屏幕)下 Kindle 的可视屏幕尺寸转换为(560/167)*72=241.43(735/167)*72=316.88所以241.43x316.88 @72dpi。但是pdfwrite,下面使用的 dpi 为720dpi,在此 dpi 下 Kindle 的可视尺寸为2414x3168 @720dpi。显然4210x5950@720dpi太大了。

或者,你也可以通过以下事实看出这一点:我创建了一个具有 和 的 PDF ,4210x5950 pixels @ 720dpi其大小167dpi976.48x1380.07,明显大于560x735Kindle 可视区域的 。

因此我需要重新调整至 Kindle 的界限。

-dDEVICEWIDTHPOINTS=w可以直接使用和设置设备尺寸(以磅为单位) -dDEVICEHEIGHTPOINTS=h。在72dpia处1 point= 1 pixel(因为一个磅被定义为1/72一英寸),但在167dpi 1 point ~ 2.31 pixels。因此,如果我们的显示器为,560x735 pixels @ 167dpi那么我们将设置-dDEVICEWIDTHPOINTS=241 -dDEVICEHEIGHTPOINTS=316为适合 Kindle。问题是这不会改变等的值MediaBox,如所示,它们pdfinfo保持在421x595 @72 dpi,因此也使用标志-dPDFFitPage来忽略这些,或者重新缩放它们以适合设备。

gs -o out.pdf -sDEVICE=pdfwrite -dDEVICEWIDTHPOINTS=241 -dDEVICEHEIGHTPOINTS=317 -dPDFFitPage -f in.pdf

现在看来,当out.pdf使用 Kindle 中的选项查看时actual-size,它可以很好地适应屏幕。

我仍然不完全清楚为什么 Kindle 要从对于其屏幕来说太大的 PDF 中截断边缘,而不是在适合屏幕模式下重新缩放(即使这意味着非常小的文本)(我认为这是它通常所做的?)。

相关内容