pdf-generation - 在 iTextSharp 中对矩形进行分组

标签 pdf-generation itext rectangles

我有多个矩形,它们都共享相同的专色。有没有一种方法可以将它们合并/分组为一个矢量对象,以便生成的 pdf 具有更小的尺寸?

最佳答案

如果您从头开始创建文档,那么答案很简单:是!

绘制共享相同专色的矩形的所有路径就足够了,然后使用填充、描边或填充和描边路径的运算符。

如果您正在谈论优化现有的 PDF 文档,那么您将需要进行一些繁重的编程。您需要解析每个内容流以查找矩形运算符(假设矩形不是使用移动到和行到运算符绘制的),检查这些形状的填充和/或描边位置,然后重新排列所有这些运算符。这需要很多思考。我知道从哪里开始,但我无法预测它会在哪里结束。也许结果是,将单个矩形定义为 Form XObject 并重用该单个外部对象更有意义,也许不是。很难预测。

此外:您正在谈论流中的运算符。无论如何,这些流都会被压缩,因此您可能需要做大量工作才能获得很小的大小减小。

我想说:您所要求的可能是可能的,但不清楚为什么要这样做,因为这只会导致文件大小的有限减小。

如果大小是一个问题,则可能在其他地方“浪费字节”,这可能会产生更理想的结果。我很好奇为什么你认为使用专色的矩形是罪魁祸首。您正在重用专色实例,不是吗?如果您为绘制的每个矩形创建一个新的专色实例,则您已经找到了真正的罪魁祸首,并且可以避免对矩形进行分组。

关于pdf-generation - 在 iTextSharp 中对矩形进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26605770/

相关文章:

javascript - html2canvas和jsPDF生成的pdf有点模糊

java - 如何使用 iText 将 ByteArrayInputStream 内容放入 PDF 中?

java - 使用 iText 在 PDF 页脚中的图像上添加文本

c# - 使用 itextsharp 从 PDF 获取字体大小

java - itextpdf : merge pdf files

java - 矩形与从中心点绘制的直线之间的截距

php - 使用 dompdf 从数据库渲染数据时出错

ios - 我可以在 PDF 创建过程中更新 UI 吗?

javascript - 谷歌地图 : How can I not let the user create a rectangle which has an area more than X?

c# - 如何绘制一组矩形的轮廓?