Файлы PDF имеют внутренний формат документа, для которого требуется программный объект, который «понимает» формат. Поскольку многие из вас могли использовать функции Office в своем VB-коде, давайте кратко рассмотрим Microsoft Word как пример обработки форматированного документа, чтобы убедиться, что мы понимаем эту концепцию. Если вы хотите работать с документом Word, вам нужно добавить ссылку на библиотеку объектов Microsoft Word 12.0 (для Word 2007), а затем создать экземпляр объекта приложения Word в своем коде.
Dim myWord As Microsoft. Офис. Interop. Слово. ApplicationClass
«Запустите Word и откройте документ.
myWord = CreateObject ("Word. Заявка")
мое слово. Visible = True
мое слово. Документы. Open ( "C: \ myWordDocument.docx")
(«» должен быть заменен реальным путем к документу, чтобы этот код работал на вашем ПК.)
Microsoft использует библиотеку объектов Word для предоставления других методов и свойств для вашего использования. Прочитать статью Совместимость COM-.NET в Visual Basic чтобы понять больше о взаимодействии Office COM.
Но PDF-файлы не являются технологией Microsoft. PDF - Portable Document Format - это формат файла, созданный Adobe Systems для обмена документами. В течение многих лет он был полностью закрытым, и вы должны были получить программное обеспечение, которое могло бы обрабатывать PDF-файл от Adobe. 1 июля 2008 года PDF был завершен в качестве опубликованного международного стандарта. Теперь любому разрешено создавать приложения, которые могут читать и записывать файлы PDF, не выплачивая лицензионные платежи Adobe Systems. Если вы планируете продавать свое программное обеспечение, вам все равно может потребоваться получить лицензию, но Adobe предоставляет их бесплатно. (Microsoft создала другой формат под названием XPS, основанный на XML. Формат PDF Adobe основан на Postscript. XPS стал опубликованным международным стандартом 16 июня 2009 года.)
Использование PDF
Так как формат PDF является конкурентом технологии Microsoft, они не оказывают большой поддержки, и вы должны получить программный объект, который «понимает» формат PDF от кого-то, кроме Microsoft, прямо сейчас. Adobe возвращает услугу. Они не очень хорошо поддерживают технологии Microsoft. Цитирую последнюю (октябрь 2009 г.) документацию Adobe Acrobat 9.1: «В настоящее время поддержка разработка плагинов с использованием управляемых языков, таких как C # или VB.NET. "(" плагин "- это программное обеспечение по требованию) компонент. Плагин Adobe используется для отображения PDF в браузере. ")
Поскольку PDF является стандартом, несколько компаний разработали программное обеспечение для продажи, которое вы можете добавить в свой проект, в том числе Adobe. Существует также ряд доступных систем с открытым исходным кодом. Вы также можете использовать библиотеки объектов Word (или Visio) для чтения и записи файлов PDF, но использовать эти большие системы просто эта вещь потребует дополнительного программирования, также имеет проблемы с лицензией, и сделает вашу программу больше, чем нужно быть.
Точно так же, как вам нужно купить Office, прежде чем вы сможете воспользоваться преимуществами Word, вам также нужно купить полную версию Acrobat, прежде чем вы сможете воспользоваться не только Reader. Вы будете использовать весь продукт Acrobat примерно так же, как и другие библиотеки объектов, такие как Word 2007 и выше. У меня не установлено полнофункционального продукта Acrobat, поэтому я не смог предоставить здесь проверенных примеров.
Как
Но если вам нужно только отобразить PDF-файлы в вашей программе, Adobe предоставляет элемент управления ActiveX COM, который вы можете добавить в VB.NET Toolbox. Это сделает работу бесплатно. Это тот же самый файл, который вы, вероятно, используете для отображения файлов PDF в любом случае: бесплатный Adobe Acrobat PDF Reader.
Чтобы использовать элемент управления Reader, сначала убедитесь, что вы загрузили и установили бесплатный Acrobat Reader от Adobe.
Шаг 2 - добавить элемент управления в VB.NET Toolbox. Откройте VB.NET и запустите стандартное приложение Windows. («Следующее поколение» презентации Microsoft, WPF, пока не работает с этим элементом управления. Извините!) Для этого щелкните правой кнопкой мыши на любой вкладке (например, «Общие элементы управления») и выберите «Выбрать элементы ...» из всплывающего контекстного меню. Выберите вкладку «Компоненты COM», установите флажок рядом с «Adobe PDF Reader» и нажмите «ОК». Вы сможете прокрутить вниз до вкладки «Элементы управления» на панели инструментов и увидеть там «Adobe PDF Reader».
Теперь просто перетащите элемент управления в форму Windows в окне дизайна и измените его размер соответствующим образом. Для этого быстрого примера я не собираюсь добавлять какую-либо другую логику, но элемент управления обладает большой гибкостью, о которой я расскажу позже. В этом примере я просто собираюсь загрузить простой PDF-файл, созданный в Word 2007. Для этого добавьте этот код в процедуру загрузки события формы:
Приставка. WriteLine (AxAcroPDF1.LoadFile (_
"C: \ Users \ Temp \ SamplePDF.pdf"))
Замените путь и имя файла PDF на вашем компьютере, чтобы запустить этот код. Я отобразил результат вызова только в окнах вывода, чтобы показать, как это работает. Вот результат:
Нажмите здесь, чтобы отобразить иллюстрацию
Нажмите кнопку «Назад» в вашем браузере, чтобы вернуться
Если вы хотите управлять Reader, в нем также есть методы и свойства. Но хорошие люди в Adobe сделали лучшую работу, чем я мог. Загрузите Adobe Acrobat SDK из их центра разработчиков ( http://www.adobe.com/devnet/acrobat/). Программа AcrobatActiveXVB в каталоге VBSamples SDK показывает, как перемещаться по документу, получать номера версий используемого вами программного обеспечения Adobe и многое другое. Если у вас не установлена полная система Acrobat, которую необходимо приобрести в Adobe, вы не сможете запустить другие примеры.