2009-02-17 5 views
2

У меня есть существующий файл XPS, который я хотел бы использовать в качестве шаблона и, возможно, привязывать к нему данные. Я пробовал несколько методов, но не могу заставить его работать.Сопоставление данных в существующем документе XPS

Есть ли у кого-нибудь опыт изменения существующего файла XPS для добавления данных во время выполнения, а затем для печати или сохранения?

Любая помощь приветствуется.

ответ

1

Документы XPS соответствуют стандарту Open XML. Существует SDK для работы с этими документами. Вот практическая статья Бет Масси: «Accessing Open XML Document Parts with the Open XML SDK».

Поскольку вы работаете с внутренней структурой док вы можете также проверить «Open XML Package Editor», который позволяет изучить документ с Visual Studio Вот еще как к Бет Масси:. „Handy Visual Studio Add-In to View Office 2007 Files

+ том

1

это немного вызов, чтобы сделать это с помощью XPS, но это возможно.

Вы можете сделать это с помощью нашего NiXPS SDK. я разместил пример на моем блоге некоторое время назад:

XPS variable data example

Привет,

Ник

0

привязки оценивается в процессе записи в XPS документ. Таким образом, вы не можете настроить {Binding} в FixedDocument, записать этот FD в XpsDocument и ожидать, что этот оригинальный FD снова появится, когда вы откроете этот сохраненный документ.

Кроме того, стандартный XpsWriter преобразует все в Glyphs на холсты, поэтому вы не можете, скажем, текстовое поле в оригинале и ожидать, что сможете найти его после его сохранения в документе.

Я никогда не использовал библиотеки NiXPS, поэтому, если Ник говорит, что это можно сделать, вы можете проверить его.

Последняя возможность - вы можете создать заполнители в форме, которую вы сможете найти позже. Они должны быть текстом (что-то вроде [[{{FORMFIELDHERELOL}}]) с какой-то схемой разграничения, чтобы отличить текст от всего остального. Затем вы можете перейти в XML в поисках текста, который соответствует шаблону деминера, и отключить эти глифы для вашего текста привязки. Конечно, проблема с THAT заключается в том, что если вы не ставите X-символы вместо X-символов, вы можете обнаружить, что вам нужно сделать какое-то перепозиционирование. Как и все глифы на холсте, это может быть немного сложнее, чем, скажем, нарезать иглу шнурком.

Смежные вопросы