Как отредактировать и распечатать документ Word или PDF, используя C # .net? - PullRequest
0 голосов
/ 18 сентября 2011

У меня есть огромная коллекция баз данных моих клиентов в MS Access. Я сделал пользовательские почтовые (печатные почтовые) форматы. В каждом формате я создал отдельные поля для каждого динамического поля.

Пример:

 __________________
|                  | 
|                  |
|      LOGO        |
|      IMAGE       |
|                  |
 __________________

=====================================================

Dear %customername%,
      Your age is %age%. bla bla bla..

Thank you!

Я хочу программно определить поле% customername%, заполнить его каждым именем из базы данных и, наконец, распечатать.

Как мне это сделать без использования каких-либо внешних библиотек в C # .net?

Ответы [ 4 ]

0 голосов
/ 18 сентября 2011

Обнаружение любого переменного поля, которое начинается и заканчивается на%, может быть выполнено с помощью регулярного выражения. С помощью регулярных выражений вы можете легко найти имя в блоке%.

Информация о регулярных выражениях

Имея имя, вы можете сопоставить его с полем базы данных и заменить значение с помощью функций string.Replace () или regex.Replace ().

0 голосов
/ 18 сентября 2011

@ Ответ Carspar - самый простой способ, который будет работать, хотя, возможно, вы не будете использовать строку, если вам придется много заменять большое количество текста.Другая встроенная библиотека, которая может представлять интерес, - это использование библиотеки Razor из ASP.NET MVC 3. Есть несколько внешних библиотек, созданных поверх других, если вы не возражаете против использования сторонних сборок.http://razorengine.codeplex.com/

0 голосов
/ 18 сентября 2011

Посмотрите на службы отчетности Microsoft SSRS, это именно то, что вам нужно. Microsoft предоставляет бесплатную библиотеку .NET для SSRS: http://msdn.microsoft.com/en-us/library/ms159106.aspx

0 голосов
/ 18 сентября 2011

Вам необходим метод String.Replace

string customername = "Paul Jones";
completeText = completeText.Replace("%customername%", customername);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...