Olga Ivolgin has translated Dani Vainstein’s chapter on accessing Adobe Acrobat PDF files into Russian. Here’s the first part of her article:
Просматривая каталлог статей, которые могли бы заинтересовать русскоязычных читателей, я решила остановить свой выбор на этой статье.На мой взгляд именно этот труд, в своё время принес Даниэлю Вайнштейн мировую известность среди пользоватей QTP.
Данная статья будет полезна всем, у кого есть время для своего развития и тем кто как то связан, в первую очеpедь с QTP.
Итак НАЧИНАЕМ…
Что пpедставляет из себя Adobe Acrobat?
Adobe Acrobat - это семейство инструментальных средств, с помощью которых возможно создавать, хранить, отображать и изменять такой надёжный и независимый от операционных сиситем формат файла, как PDF (Portable Document Format).
Помимо Adobe Acrobat существуют и другие форматы электронных изданий, но ни одно из них не является настолько универсальным средством для создания и передачи электронных документов.
Сегодня Adobe Acrobat применяется в трех направлениях:
Web - формат максимально компактный для использования в интернете для пересылки важных документов, где важным критерием является точность воспроизведения документа.
Print - формат для использования на печатных устройствах невысокого разрешения, где важным является возможность печати документа на офисных устройствах. Можно ли этот формат отнести к первой группе? Можно! Но графические файлы будут занимать больше места в самом документе, потому, что их разрешение ориентировано для печатных устройств, а не для разрешения экрана в 72 dpi.
PrePress - эта группа является важна прежде всего для предпечатной подготовки документов. Эта модификация потребуется для вывода пленок на фотонаборных автоматах для последующей печати с них полиграфической продукции.
PDF/X - пока не принятая концепция графического файла для замены существующего формата TIFF. Эта модификация должна заменить (по задумке) формат TIFF, потому как этот формат, явно устарел и не поддерживает современных возможностей. Очень громоздкий по сравнению даже с многослойным PSD (родной формат Adobe Photoshop).
Формат Adobe Acrobat является кроссплатформенным. А это значит, что документ созданный на РС будет читаться на Macintosh, SUN, Sgi и т.д. И плюс еще мобильные устройства разных платформ. В добавок все это прекрасно работает с русским языком .
К примеру , на операционной системе Windows Microsoft Adobe Acrobat и Adobe Reader экспортируют информационное наполнение формата PDF как объекты общей объектной модели. Приложения можно связать с помощью интерфейса с Акробатом или Adobe Reader двумя способами:
1. Через “Активную Доступность” Microsoft (MSAA) интерфейс, используя объекты MSAA, как Акробат или экспорты Adobe Reader.
2. Непосредственно через экспортируемые объекты общей объектной модели, которые позволяют доступ к внутренней структуре документа в формате PDF, названной Объектной Моделью Документов - (DOM).
Как начать автоматизировать проверки PDF файлов ?
Для этого мы обратимся к SDK Акробатa.SDK Акробата - это ряд инструментальных средств, при помощи которых возможно взаимодействовать с технологией Акробата. SDK содержит файловые библиотеки и простые утилиты помогающие разработать программное обеспечение, которое интегрирует с Акробатом и Adobe Reader .С его помощью QTP обращается к IPI PDF, соответственно рассматривая его как объект .
Полную информацию можно получить здесь :
http://www.adobe.com/devnet/acrobat/,
http://www.adobe.com/devnet/acrobat/?tab:downloads=1 ,
Com-библиотека : http://program.rin.ru/razdel/html/464.html ,
http://www.adobe.com/devnet/acrobat/pdfs/iac_api_reference.pdf
Обязательным условием так же является инсталяция полной версии Adobe Acrobat, иначе во время запуска кода, будет выскакивать сообщение об ошибке такого типа :
В дальнейшем, все примеры задач будут использовать файл QTTutorial.pdf . (Обучающая программа QuickTest pdf Файл)
Сам файл расположен в инсталляционной Папке/help/QTTutorial.pdf .
OLE Automation Objects
Эта глава описывает объекты, типы данных и методы в интерфейсе автоматизации OLE.
Названия AcroExch. Приложение AxAcroPDFLib. AxAcroPDF - внешнее использование OLE-КЛИЕНТОВ строк, чтобы создать объекты определенных типов. Библиотеки типа разработчика Акробата называют их CAcro. Приложение и AcroPDFLib, соответственно.
Акробат поддерживает двойные интерфейсы, таким образом методы у всех есть тип возвращения HResult.
Данная программа динамически открывает файл Acrobata :
Option Explicit
Dim gApp, gPDDoc, jso
Set gApp = CreateObject( "AcroExch.App" )
Set gPDDoc = CreateObject( "AcroExch.PDDoc" )
If gPDDoc.Open( "c:\MyPdfFile.pdf" ) Then
Set jso = gPDDoc.GetJSObject()
jso.console.Show
jso.console.Clear
jso.console.println ( "Hello, Acrobat for QuickTest!" )
gApp.Show
End If
Set jso = Nothing
Set gPDDoc = Nothing
Set gApp = Nothing
AcroExch.Point Object
Этим способом можно получить "размерность" страницы.
Set CArcoPoint = PDPage.GetSize()
С помощью AcroExch.Point.X Property можно получить или устанавить x / y -координаты AcroPoint .
|
|
|
|
|
Gets or sets the x-coordinate of an AcroPoint. |
|
|
|
|
|
returnValue = object.X
|
|
|
|
|
|
The x-coordinate of the AcroPoint. |
AcroExch.Rect Object
Этим способом можно определить координаты верней левой и правой нижней части документа.
|
|
|
|
|
Gets or sets the bottom y-coordinate of an AcroRect. |
|
|
|
|
|
returnValue = object.Bottom
|
|
|
|
|
|
The y-coordinate of the bottom of the AcroRect. |
|
|
|
|
|
Gets or sets left x-coordinate of an AcroRect. |
|
|
|
|
|
returnValue = object.Left
|
|
|
|
|
|
The x-coordinate of the left side of the AcroRect. |
|
|
|
|
|
Gets or sets the right x-coordinate of an AcroRect. |
|
|
|
|
|
returnValue = object.Right
|
|
|
|
|
|
The x-coordinate of the right side of the AcroRect. |
|
|
|
|
|
Gets or sets the top y-coordinate of an AcroRect. |
|
|
|
|
|
returnValue = object.Top
|
|
|
|
|
|
The y-coordinate of the top of the AcroRect. |
Этим способом можно выбрать текст исходя из размера страницы :
Set PdPage = PDDoc.AcquirePage(0)
Set CArcoPoint = PDPage.GetSize()
CAcroRect.Top = CArcoPoint.Y
CAcroRect.Left = 0
CAcroRect.Right = CArcoPoint.X
CAcroRect.bottom = 0
Posted in Environment Techniques, MS Office


Yaron Assa




June 22nd, 2009 at 12:16 pm
I’m very glad that can found article in Russian translation. I hope in the future we see lots of articles at Russian. :)
July 3rd, 2009 at 7:41 pm
Спасибо !
July 8th, 2009 at 8:28 am
i need english version of PDF automation.Was searching for this topic for long time back . i am very to find this topic here .