我有一个现有的 XPS 文件,我想将其用作模板并可能将数据绑定到它。我尝试了几种方法,但似乎无法使其正常工作。
有没有人有任何更改现有 XPS 文件以在运行时添加数据然后打印或保存的经验?
任何帮助表示赞赏。
我有一个现有的 XPS 文件,我想将其用作模板并可能将数据绑定到它。我尝试了几种方法,但似乎无法使其正常工作。
有没有人有任何更改现有 XPS 文件以在运行时添加数据然后打印或保存的经验?
任何帮助表示赞赏。
XPS 文档符合 Open XML 标准。有一个用于处理这些文档的 SDK。这是 Beth Massi 的一篇操作指南文章:“使用 Open XML SDK 访问 Open XML 文档部件”。
由于您使用的是内部文档结构,您还可以查看“打开 XML 包编辑器”,它可以让您使用 Visual Studio 浏览文档。这是 Beth Massi 的另一个操作指南:“ Handy Visual Studio Add-In to View Office 2007 年文件”。
+汤姆
在写入 XPS 文档的过程中会评估绑定。因此,您无法在 FixedDocument 中设置 {Binding},将该 FD 写入 XpsDocument,并期望在您下次打开该保存的文档时再次获取该原始 FD。
此外,标准的 XpsWriter 确实将所有内容转换为画布上的字形,因此您不能说,原始文本框并希望在将其保存到文档后能够找到它。
我从来没有使用过 NiXPS 库,所以如果尼克说可以做到,你可能想检查一下。
最后一种可能性--您可以以稍后可以找到的形式创建占位符。它们必须是带有某种分隔符方案的文本(类似于 [[{{FORMFIELDHERELOL}}]]),以将文本与其他所有内容区分开来。然后,您可以在 XML 中寻找适合分隔符模式的文本,并为您的绑定文本切换出这些字形。当然,THAT 的问题在于,如果您不使用 X 字符代替 X 字符,您可能会发现必须进行一些重新定位。由于它的所有字形都在画布上,这可能比用鞋带穿针头稍微难一些。