pdf-generation – wkhtmltopdf是否提供任何孤儿或保持下一个控制?

pdf-generation – wkhtmltopdf是否提供任何孤儿或保持下一个控制?,第1张

概述我正在 Github上写一系列Markdown文档,以便使编辑过程可分叉和合并.我打算首先渲染PDF格式.我只需要这些印刷功能: >标题级别1和2 >段落 >项目符号列表和项目符号项目 >页脚页码 >内联预格式样式(主要用于内联代码) >分组代码 我正在使用pandoc作为我的Markdown解析器,最初直接尝试LaTeX / PDF输出.然而I asked a question on that已 我正在 Github上写一系列Markdown文档,以便使编辑过程可分叉和合并.我打算首先渲染pdf格式.我只需要这些印刷功能: @H_403_7@

@H_403_7@>标题级别1和2
>段落
>项目符号列表和项目符号项目
>页脚页码
>内联预格式样式(主要用于内联代码)
>分组代码

@H_403_7@我正在使用pandoc作为我的Markdown解析器,最初直接尝试LaTeX / pdf输出.然而I asked a question on that已经放弃 – LaTeX使用缓慢而且难以使用(imo),并且似乎不鼓励对其他格式(特别是HTML)有用的内联预格式样式的类属性.

@H_403_7@所以,我现在使用Pandoc转换为HTML,然后使用wkHTMLtopdf将HTML转换为pdf.这让我获得了90%的排版功能,并且只需要很少的努力,所以我认为这是一个很好的方法.但是,在段落之前的标题和无序列表之前的段落中,我希望保持下一个或孤立控制,但这似乎不受支持.我试过这些CSS功能:

@H_403_7@

li {    /* Try to avoID breaking insIDe a bullet,doesn't work for me */    break-insIDe: avoID-page;}ul {    /* Try to avoID breaking before a bullet List,doesn't work for me */    page-break-after: avoID;}p {    /* Not supported by Webkit: https://developer.mozilla.org/en-US/docs/Web/CSS/orphans */    orphans: 2;}
@H_403_7@从我的代码中可以看出,孤儿听起来很理想,但它对pdf输出没有任何影响,Mozilla引用说Webkit(由WkHTMLtopdf内部使用)不支持它.

@H_403_7@我能做些什么来实现这个目标?我觉得我非常接近,但令人沮丧的是,这是一个微不足道的问题,似乎没有任何明显的解决方案.虽然我已经付出了一些努力来学习Pandoc和WkHTMLtopdf,但我愿意放弃其中一个或两个以支持其他F / OSS工具,如果它们可以被证明可以做得更好.

@H_403_7@策略2

@H_403_7@我不想消失太多无意义的兔子洞,但我看到Pandoc可以呈现给ODT.我的主文档保存在ODT中(使用OpenOffice),这种格式很完美,包括我想要的所有保持.也许我可以有一个ODT文档来指定样式,然后将它与Markdown文档一起转换.这值得尝试吗?

@H_403_7@战略3

@H_403_7@Pandoc的HTML输出正确地区分了所有标记,因此我想知道是否可以添加新的HTML到pdf转换器. Dompdf听起来不错,所以我也会给它一个去.

@H_403_7@战略4

@H_403_7@我会在某些时候尝试原始的LaTeX,使用像Lyx这样的编辑器 – 我无法想象LaTeX没有与下一个保持一致,并且围绕它的GUI将软化锋利的边缘!这并不理想,因为LaTeX不像Markdown那样具有人类可读性,但我认为它仍然可以以同样的方式合并.

解决方法 尝试策略2 @H_403_7@

@H_403_7@使用this article我试图将Markdown转换为ODT;然而,它仍然不完美.

@H_403_7@使用这种方法,我可以包含一个包含预定义样式的“参考文档”.因此,孤立控制和保持与下一步现在已经触手可及 – 我只需重新定义参考文档中的样式,并将其正确添加到输出中.

@H_403_7@>但是,无序列表只具有“文本正文”段落样式,因此不能将它们与段落文本区分为块.将HTML转换为pdf时,我当然可以为< ul>创建样式.
>我还有两个(单独的)内联预格式样式(一个用于代码,一个用于文件名)但这些样式都使用字符样式“Teletype”呈现.这意味着他们无法在最终文件中加以区分.
>我之前使用HTML的手动分页符不再有效.它们没有附加的样式,所以我认为我需要手动插入它们.

@H_403_7@因此,这种方法向前迈出了一步,又退了几步!

@H_403_7@尝试策略3

@H_403_7@我已切换到DOMpdf,我的大多数分页控件似乎都在工作! :=)

@H_403_7@>不要在标题元素后断开
>手动分页符很好
>不要破坏无序列表项
>不要在无序列表之前中断

@H_403_7@我发现了几个小小的BUG,但是他们有CSS解决方法.我将继续处理该文档,但我怀疑我最终将继续使用此解决方案.

总结

以上是内存溢出为你收集整理的pdf-generation – wkhtmltopdf是否提供任何孤儿或保持下一个控制?全部内容,希望文章能够帮你解决pdf-generation – wkhtmltopdf是否提供任何孤儿或保持下一个控制?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1054935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存