【问题标题】:Resize PDF page and wrap text?调整 PDF 页面大小并换行?
【发布时间】:2011-12-30 14:43:23
【问题描述】:

是否可以在不调整所有内容大小的情况下更改 PDF 文档中页面的大小?我希望所有文本都根据新大小包装其内容。

我无法找到任何有关此的信息。看到 PDF 库在写入文本时是如何工作的,我想这是不可能的,但也许有办法解决它。

我主要在寻找一些 .Net 代码,PDFSharp、iTextSharp、PDF Clown 或任何其他 .Net 库都可以,如果某些工具已经允许这样做,我也会感兴趣。当然,一些 Java iText 代码也可以。

【问题讨论】:

    标签: .net pdf itextsharp pdfsharp


    【解决方案1】:

    PDF 文档的内部没有“句子”或“段落”的概念,因此您要查找的内容实际上不可能是提取文本、猜测这些概念并创建一个全新的文档. iTextSharp 和 PDF Clown 等库具有使处理文本更容易的抽象,但最终它们都归结为绘制字符或文本行的 PDF 命令。我们认为的段落只是 PDF 中的一堆垂直间隔的文本行。库执行计算如何将“段落”转换为这些文本行的繁重工作,一旦发生这种情况,就没有更多的“段落”了。为了“流动”文本,我们需要这些概念,以便您了解为什么这不起作用。

    可能有一些库提供此功能,但我没有看到它们,最终它们也会猜测。

    【讨论】:

    • 当我看到文本是如何绘制的时,我立即意识到你所说的缺乏,但是看到像 iText 这样的库所付出的所有努力,也许有一些自动化的方法可以做到这一点。我想知道 Acrobat Reader Pro 是否允许这样的事情。
    • 如果你找到了这样的东西,请告诉我,我也有几个用途!但我只能想到如果实际实现了未定义的边缘情况。例如,如果回流导致一个新页面,它只是空白还是应该基于模板,会发生什么?页眉和页脚呢,可能应该只是移动而不是重排。对齐方式,左对齐还是居中?后者实际上只是与额外的字符间距左对齐。这些事情让我觉得没有任何东西可以自动完成。
    • 我知道有很多格式需要考虑,在很多情况下你肯定会以无用的 PDF 结尾,但我不需要任何非常复杂的东西。这将自动转换几个 PDF,如果其中一些看起来不像预期的那样接近,我会手动制作一个适当调整大小的 PDF 版本。由于这些 PDF 来自 Word 文件,我也想过更改 doc 文件本身的宽度,并从那里生成一个新的 PDF,但我还没有解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 2012-09-07
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-28
    相关资源
    最近更新 更多