Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Попробуйте Слова Aspose за .NET. С их веб-сайта: "Aspose. Слова позволяют.NET и JAVA-приложениям прочитать, изменить и записать документы Word®, не используя Microsoft Word". Использование Слов Aspose с PDF Aspose разрешает Вам производить к PDF.
Одна вещь, которую Вы НЕ хотите делать, установить MS Word на Вашем рабочем сервере. Загрузка тех объектов является МЕДЛЕННОЙ и ЕСТ память. Вы не сможете использовать Устройство записи CutePDF, если Вы также не установите MS Word на сервере. Yeck.
Существует ли причина использовать Word? Если Вы запускаете с PDF с полями Form, можно или позволить пользователю заполнять поля или делать это программно с матрицей PDF iTextSharp.
Если необходимо использовать MSOffice 2000/2003 компоненты программно, можно попробовать веб-Компоненты Office. Они действительно должны быть установлены на сервере, но могут использоваться.NET и приложениями Com для взаимодействия с офисными типами файлов. Больше информации здесь... http://en.wikipedia.org/wiki/Office_Web_Components
Если Вы роете о на офисе CD, необходимо найти установщик OWC для версии. Я не работал с 2007, но я предполагаю, что существует что-то доступное подобное.
iTextSharp и OWC без стоимости, проверяют лицензирование на большее количество деталей.
Хм... Вы смогли использовать принтер CutePDF творческим способом решить эту проблему. По существу это берет что-либо, что может питаться через стандартный драйвер печати и делает PDF из него. Это свободно.
Попытайтесь использовать ПОИ Apache API для заполнения полей. Это может войти в документы Word и получить доступ к их элементам.
Что касается Word-> шаг PDF, я также рекомендовал бы оценить решение Aspose. Это может даже смочь выполнить оба шага. Не свободный, как бы то ни было.
Моя первая мысль для "шаблона документа" + объединяется с решением PDF, должен был бы запуститься с открытых офисных форматов. - odt файл (открытый шаблон документа) является находящимся в xml - таким образом, Вы могли даже использовать жемчуг, чтобы сделать слияние, затем назовите документ 2 писателя PDF (я понятия не имею, есть ли у них API, но можно было бы узнать меньше чем через день - даже если нужно было исследовать источник.)
и преобразование Вашей точки "слова" устройству записи odt файл является просто "файлом, сохраняют как" операция в OoWriter.
Если вы используете Aspose.Words, то ваш входной документ / шаблон может быть в одном из нескольких поддерживаемых форматов, включая DOC, DOCX.
Затем вы можете вставить данные в документ в количество способов. Вы можете использовать закладки в документе и просто установить их текст. А еще лучше использовать предоставляемую нами систему отчетов. Это позволяет использовать стандартные поля MERGEFIELD MS Word, а также добавляет возможности для повторяющихся областей и даже вложенных. Например, вы можете создать шаблон счета-фактуры (с родительскими / дочерними данными) в MS Word, а затем заполнить его из .NET DataSet в одной строке кода.
Кроме того, вам нужен Aspose.Words только для создания PDF (год назад вы нужны как Aspose.Words, так и Aspose.Pdf). Вы также можете легко сохранить тот же документ в DOC, DOC, DOCX и некоторых других форматах.
Я в команде разработчиков Aspose.Words.
Взгляните на Веб-службы Muhimbi PDF Converter . Он работает в Windows как служба, но может быть доступен из любой среды, поддерживающей веб-службы, отличной от Windows, включая Java и .NET.
Хотя это решение требует, чтобы MS-Office был установлен на сервере (не обязательно на том же сервере, что и ваше приложение), оно очень надежно и обеспечивает идеальную точность преобразования.
Для создания или изменения файлов MS-Word я рекомендую использовать бесплатный Open XML SDK для Microsoft Office . Эрик Уайт ведет действительно хороший блог об этом.
Заявление об ограничении ответственности, я работал над этим продуктом. Сказав это, он отлично работает.