我使用 iTextSharp.text.pdf.PdfContentByte 方法绘制了一些从 svg 到 pdf 的路径:moveTo、LineTo 和 CurveTo。它适用于简单的路径,但有些路径有一个正方形。例如
<path
style="fill:#1034ff;fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 128.5625,106.65625 c -54.285714,37.14286 -54.285714,174.28571 0,260 100,51.42857 434.29464,34.28571 511.4375,0 31.42857,-31.42857 25.71429,-217.14286 0,-260 -31.42857,-34.285714 -460.00893,-42.857143 -511.4375,0 z M 611.4375,232.375 c -1.10965,39.4333 -70.01443,99.97768 -150,71.40625 -78.01486,-27.86748 -164.28571,16.61409 -150,-71.40625 6.31987,-38.93939 67.15729,-71.4375 150,-71.4375 75.65298,0.52477 151.5294,17.08767 150,71.4375 z"
id="rect3774"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccssccs" />
当前路径具有由 z=closepath 完成的 am=moveto 和 c=curveto 点。接下来 M、C 和 Z 在图中切一个洞。
如何使用 iTextSharp 在 PDF 中绘制它?如何从现有路径中剪切一些内部路径以通过 ContentByte.Fill(); 填充它?