Привязка данных в существующем документе XPS - PullRequest
2 голосов
/ 17 февраля 2009

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

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

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

Ответы [ 3 ]

1 голос
/ 17 февраля 2009

сделать это с XPS довольно сложно, но это возможно.

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

Пример переменных данных XPS

С уважением,

Ник

1 голос
/ 17 февраля 2009

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

Поскольку вы работаете с внутренней структурой документов, вы также можете воспользоваться «Редактором пакетов Open XML», который позволяет исследовать документ с помощью Visual Studio. Вот еще одно практическое руководство Бет Масси: « Handy Visual Studio Надстройка для просмотра файлов Office 2007".

+ * Том 1009 *

0 голосов
/ 31 марта 2009

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

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

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

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

...