You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将XGraphics渲染的内容复用至PDF不同页面?

PdfSharp复用已绘制文本的解决方案
  • 无法直接复用已绘制到XGraphics对象上的文本。XGraphics的绘制操作是直接写入PDF内容流的,一旦完成绘制,内容就固定为PDF文档的一部分,没有内置机制可以将已绘制元素移动或复制到其他位置。

  • 你提到的System.Drawing.Graphics.AddMetafileComment在PdfSharp-GDI版本中没有对应的可访问接口,PdfSharp并未将绘制操作封装为可提取的图元文件对象,因此无法通过该途径获取已绘制的文本内容。

  • XGraphics.CreateMeasureContext仅用于测量文本尺寸,无法复用已绘制的文本内容,对你的问题没有帮助。

  • 最优方案是将绘制文本的逻辑封装为可复用方法,通过传入不同的位置参数来在多个地方绘制相同文本,实现代码复用(本质仍是重新绘制,但避免重复编写绘制逻辑)。

示例代码:

// 封装的文本绘制方法
private void DrawReusableText(XGraphics gfx, XPoint drawPosition)
{
    var textFont = new XFont("Arial", 14, XFontStyle.Bold);
    gfx.DrawString("目标文本内容", textFont, XBrushes.DarkBlue, drawPosition);
}

// 调用示例
// 在第一个位置绘制
DrawReusableText(gfx, new XPoint(50, 50));
// 在第二个位置绘制
DrawReusableText(gfx, new XPoint(150, 200));

内容的提问来源于stack exchange,提问作者jmucchiello

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 08:35:57