【问题标题】:Vectorgeometric pdf generation (with different width polylines and "clean joins")Vectorgeometric pdf 生成(具有不同宽度的折线和“干净的连接”)
【发布时间】:2014-02-02 14:30:34
【问题描述】:

我想创建包含多边形(.NET 环境)的 pdf。我已经下载了 2 个库(PdfSharp、iTextSharp),但是当多边形的所有边都具有相同的宽度时,它们只会创建“漂亮”的多边形。

让我告诉你我的意思:

我可以创建这个:easy.png

这很简单,我只需为“Polygon”方法提供一个点数组。我的问题是,我无法指定线条的宽度。另一种绘制多边形的方法是使用“DrawLine”之类的方法,当您指定两个点和“Pen”的宽度时。在这种情况下,线路的连接很难看(lines.png - 左侧)。是否可以计算连接点(lines.png - 右侧),或者它在 Pdf 环境中是一个死主意,没有任何 2d 渲染引擎?或者你知道任何支持这种绘图的库吗?

我不是数学天才,也不想写一个完整的渲染引擎库。

当然,绘图可能(将)非常复杂,而不仅仅是矩形,就像示例图像中的那样(更多的折线、尖锐的连接、弯曲的线等)

欢迎任何想法,因为我真的不喜欢它们。

【问题讨论】:

  • 如果您下载 PDF 规范 (adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/…) 并阅读第 8.4 节,将会有所帮助。您可能正在寻找操作员来设置线路上限和线路连接,但我不确定您是否会找到所需的内容。如果没有,你可能会要求一些不可能的事情。

标签: .net pdf itextsharp polygon vector-graphics


【解决方案1】:

您要求的内容在 PDF 中是不可能的。

详细地说,在 PDF 中绘制的每条路径都有由当前图形状态设置的参数。这意味着绘制的每条路径都具有特定的线宽(整个路径)。

要处理角和端点,您可以使用 line cap 和 join 参数(如果您绘制复杂的形状,还可以使用 miter limit),但您正确地看到这些仅适用于当前路径;而不是不同路径之间的连接。你如何处理不同线宽的线条之间的这种组合,取决于你。

数学是你的朋友...

【讨论】:

  • 谢谢你的回答,看来除了我自己没有办法计算这些分数。
猜你喜欢
  • 1970-01-01
  • 2015-03-08
  • 1970-01-01
  • 2010-11-02
  • 1970-01-01
  • 2018-10-06
  • 1970-01-01
  • 1970-01-01
  • 2012-12-12
相关资源
最近更新 更多