如何使用 wkhtmltopdf 为 Kindle Direct Publishing 创建 PDF

Posted

技术标签:

【中文标题】如何使用 wkhtmltopdf 为 Kindle Direct Publishing 创建 PDF【英文标题】:How do you create a PDF for Kindle Direct Publishing with wkhtmltopdf 【发布时间】:2019-07-10 03:09:31 【问题描述】:

Kindle Direct Publishing AKA Create Space,想要一个 6x9 格式的 PDF/X-1a,外边距为 0.25",内边距为 0.375",我需要帮助,因为 Qt PDF 生成器不能内外兼修,所以我必须将它们都设置为最大,我需要知道我的css是否会影响这一点,如果是这样的话,但是设置 --margin-left .375in --margin-right .375in 会给我这个错误:目前所有边距单位必须相同,不知道这意味着什么,如果它们必须相同,为什么要有左右,这真的必须适用于顶部和底部,是什么想法,所以我将它添加到顶部和底部只是为了制作文件,但这不是我想要的边距,我想知道 gs 是否可以解决这个问题? 如果有怎么办。

我知道 wkhtmltopdf 目前只创建 PDF 版本 1.4,而 Kindle 似乎不太介意上传,我还没有发布的上传,所以我希望有人从经验中知道这一点,因为我没有知道他们是否会接受,所以我也使用 Ghost Script 将其转换为 PDF 1.7 版,这就是我目前所拥有的: PDF_Combine 是一个 bash 文件数组: PDF_Combine=("file1.html" "file2.html");

更新:现在 KDP 想要 .875 英寸的边距,两边我的内容都很小,CSS 效果如何影响 PDF 中的边距,我可以在 wkhtmltopdf 中将边距设置为 0 并在我的 CSS 中调整它们,如果是这样,如何,在体内?

wkhtmltopdf --margin-left .375in --margin-right .375in --margin-bottom .375in --margin-top .375in --page-width 6in --page-height 9in --load-error-handling ignore --javascript-delay 3333 --enable-forms --footer-center "[page]/[topage]" "$PDF_Combine[@]" "/MyPath/MyFileName.pdf"

幽灵脚本:

gs -dPDFA -dBATCH -dNOPAUSE -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile="/MyPath/MyOutPutFileName.pdf" "/MyPath/MyInPutFileName.pdf"

【问题讨论】:

你可以写两个以上的句子 【参考方案1】:

PDF/X-1a 是一组高度特定的受限 PDF 功能;例如,您在生成 PDF/X-1a 时不能使用 RGB 颜色模型

您还需要在 PDF 文件的 Info 字典中出现特定的键。

Ghostscript 不会创建 PDF/X-1a 文件。它可以创建 PDF/X-3 文件,但这对你没有好处。

您可以使用 Ghostscript 处理 PDF 文件以在页面周围添加空白,您需要做的是指定更大的媒体大小,并告诉 Ghostscript 其固定大小,因此 PDF 文件无法更改它。然后您需要在新媒体上将内容向上和向右偏移(因为否则内容将呈现在左下角)。笔记;我不清楚你是想增加媒体大小,还是缩小内容以适应所需的媒体,但有边距。

查看问题here的答案和cmets。

【讨论】:

我的问题是内边距太小,所以文字离开页面,而外边又太大,所以我浪费了纸张,但目前看起来内容还不错。另请注意,我已经上传了 PDF 版本 1.4,KDP 并没有抱怨。 那么亚马逊可能对 PDF 1.4 很满意。听起来您需要在添加边距的同时缩小页面内容,我在上面指出的问题同时满足了这两个要求。显然,您需要根据自己的要求调整数字。

以上是关于如何使用 wkhtmltopdf 为 Kindle Direct Publishing 创建 PDF的主要内容,如果未能解决你的问题,请参考以下文章

wkhtmltopdf 内部链接

如何使用 wkhtmltopdf 获取 html 生成的 pdf 中的页码

如何在 ASP.net 中使用 wkhtmltopdf.exe [重复]

使用 wkhtmltopdf 将 Twitter 引导页面转换为 PDF:跨度问题

如何在页面底部添加页脚 wkhtmltopdf

如何使用kindle的攻略