【问题标题】:Making a PDF output in raster format instead of vector using itextsharp使用 itextsharp 以光栅格式而不是矢量格式输出 PDF
【发布时间】:2009-11-03 18:22:34
【问题描述】:

我使用 iTextSharp 编写了 C# 代码来将产品规格保存到 PDF 文档中,主要使用 PdfPTable 和 PdfPCells 中的块/段落。但是,我被告知输出是不可接受的,因为您可以突出显示和复制文档中的文本,并且他们当前使用的文档存储和检索服务器软件不支持基于“矢量”的 PDF。我不确定光栅 pdf 和矢量 pdf 之间有什么区别。基本上,PDF 文档的每一页都应该是一个图像,这样文本就不会被突出显示。有没有办法在不使用 DirectContent 的情况下做到这一点?下面是一张图片,说明了创建的 PDF 的一部分,以及如何选择和复制文本,这是不正确的功能。

我想避免直接写入画布,除非有办法做到这一点并且仍然让 itextsharp 处理我的格式和正确的分页。

Windows 应用程序PDF2R 运行良好,但似乎没有提供任何程序化解决方案。我发现图书馆说他们进行这种转换,但要几千美元。我想在我的预算范围内工作并使用 itextsharp 或比这便宜得多的东西。

【问题讨论】:

    标签: itext pdf-generation


    【解决方案1】:

    我建议您尝试使用 System.Drawing 类生成图像,然后将其插入到 PDF 文档中。

    【讨论】:

    • 我不相信这会奏效,因为与 DirectContent 一样,它将完全否定 pdf 生成库正确格式化、自动换行和分页文档的能力。
    【解决方案2】:

    在您的 PdfWriter 对象上调用此代码:

    writer.SetEncryption(PdfWriter.STRENGTH40BITS, null, null, PdfWriter.AllowPrinting);
    

    这不会阻止用户选择文本,但会阻止他们复制和粘贴文本。试一试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-12
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多