API Моих скриптов

Объект PDFE

Обеспечивает доступ к корневому объекту для модели объекта Хост моих скриптов.

Замечания

Объект pdfe - корневой объект иерархии моделей объекта Хост моих скриптов. Он не нуждается в создании перед вызовом его свойств и методов и всегда доступен из любого скрипта. Объект pdfe обеспечивает доступ к следующей информации: список выбранных файлов переданных при запуске скрипта, имя запущенного скрипта и список определённых свойств метаданных. Объект pdfe позволяет: получить доступ к внутренним конкретным объектам обработки PDF, создавать объекты, подключаться к объектам, синхронизировать события, программно останавливать выполнение скрипта и выводить информацию в окне вывода.

Этот объект реализует методы и свойства множества скриптов корневого объекта Windows WScript и делает Хост моих скриптов совместимым со скриптами WSH. Этот корневой объект pdfe также существует под именем WScript, и WSH-совместимые скрипты могут работать без изменений.

Пример

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

for (i = 0; i < pdfe.SelectedFiles.Count; i++) {
 var Item = pdfe.SelectedFiles(i);
 pdfe.echo(Item.Metadata.Title);
 }

Свойства

Методы

Описание свойств

Arguments : IArguments (чтение)

(WSH) - возвращает объект IArguments (сбора аргументов).

FullName : String (чтение)

(WSH) - возвращает полный путь размещения исполняемого файла.

Interactive : Boolean (чтение;запись)

(WSH) - устанавливает или определяет режим скриптов взаимодействия с пользователем. Когда вкл. (по умолчанию), обеспечивает взаимодействие с пользователем. В выключенном состоянии работает без заданной функции ввода/вывода.

MetadataFieldsInfo : IMetadataFieldsInfo (чтение)

Возвращает объект IMetadataFieldsInfo (коллекция объектов IMetadataFieldInfo).

OpenDialog : Object (чтение)

Обеспечивает простой диалоговый объект открыть файл.

ProgressBar : IProgressBar (чтение)

Возвращает объект IProgressBar (объект прогресс-бар для GUI Хоста моих скриптов).

SaveDialog : Object (чтение)

Обеспечивает простой диалоговый объект сохранить файл.

ScriptFullName : String (чтение)

(WSH) - возвращает полный путь к запущенному скрипту.

ScriptName : String (чтение)

(WSH) - возвращает имя текущего запущенного скрипта.

SelectedFiles : ISelectedFiles (чтение)

Возвращает объект ISelectedFiles (коллекция IFileObject).

Version : String (чтение)

(WSH) - возвращает версию Хоста моих скриптов.

Описание методов

Alert( String msg )

Отображает окно предупреждения с заданным сообщением и кнопкой ОК

Параметры

BringWindowToFront( unsigned short hWnd, [Boolean KeepAlwaysOnTop] )

Приносит указанное окно в верхнюю часть Z-порядка.

Параметры

ConnectObject( Object objEventSource, String Prefix ) : Object

(WSH) - подключает источники событий объекта для функции с заданным префиксом.

Параметры

CreateDocumentMerger( ) : IDocumentMerger

Возвращает объект IDocumentMerger, используется для объединения нескольких документов в новый документ.

CreateFileObject( String Filename ) : IFileObject

Создаёт самостоятельный IFileObject

Параметры

CreateObject( String ProgID, [String Prefix] ) : Object

(WSH) - создаёт объект COM.

Параметры

  • ProgID : String

    Значение строки, указывающее программный идентификатор (ProgID) объекта, который вы хотите создать.

  • Prefix : String (необязательно)

    Значение строки, указывающее префикс функции.

Пример

Следующий код JScript создаёт экземпляр объекта Internet Explorer и устанавливает функции события префикс "objIE_". Затем переходит к Google-поиску свойства метаданных Автор первого выбранного файла. Он также показывает, как использовать префикс функции события для перехвата событий от объекта.

var objIE = pdfe.CreateObject("InternetExplorer.Application", "objIE_");
objIE.Visible = true;
objIE.Navigate('www.google.com/search?q=' + pdfe.SelectedFiles(0).Metadata.Author.replace(/\s+/g, '+'));
pdfe.BringWindowToFront(objIE.HWND);
boolBrowserRunning = true;
while (boolBrowserRunning && objIE.Visible) {
    pdfe.Sleep(500);
}

function objIE_NavigateComplete2(pDisp, URL) {
    pdfe.Echo("You just navigated to :" + URL);
}

function objIE_OnQuit() {
    boolBrowserRunning = false;
    pdfe.Echo("Closed");
}

Echo( String msg, [Integer color] )

(WSH) - выводит текст в окне вывода.

Параметры

  • msg : String

    Значение строки, указывающее текст для вывода.

  • color : Integer (необязательно)

    Целое значение, указывающее цвет RGB выводимого текста.

Пример

pdfe.echo('Red',0xFF0000);
pdfe.echo('Green',0x00FF00);
pdfe.echo('Blue',0x0000FF);
pdfe.echo('Default text color');

MessageBox( String lpText, String lpCaption, unsigned short uType ) : Integer

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

Параметры

  • lpText : String

    Отображаемое сообщение. Если строка состоит из более чем одной линии, можно разделить линии, используя возврат каретки и/или символ перевода строки между каждой строкой.

  • lpCaption : String

    Название окна диалога.

  • uType : unsigned short

    Содержание и поведение окна диалога. Этот параметр может быть комбинацией flags.

Quit( [Integer ErrorCode] )

(WSH) - принудительный запуск скрипта для остановки в любой момент.

Параметры

  • ErrorCode : Integer (необязательно)(не используется)

     

Sleep( Integer Duration )

(WSH) - приостанавливает выполнение скрипта на определёный момент, затем продолжает работу.

Параметры

  • Duration : Integer

    Целое значение, указывающее интервал (в миллисекундах) для неактивности скрипта.

VarToStr( Variant Value, [String default] ) : String

Преобразует вариант с строковый тип

Параметры

  • Value : Variant

     

  • default : String (необязательно)

     

Объект ISelectedFiles

Коллекция объектов выбранных файлов, отфильтрованных по типам файлов, которые может обработать скрипт и в первоначально введённом порядке.

Замечания

 

Пример

 

Свойства

Методы

Этот объект не имеет методов

Описание свойств

Count : Integer (чтение)

Возвращает число элементов ISelectedFile в коллекции.

Item( Integer Index ) : IFileObject (чтение;по умолчанию)

Убирает указанный элемент IFileObject из коллекции.

Объект IFileObject

Это корневой объект для доступа ко всем фунуциям обработки документов.

Замечания

 

Пример

 

Свойства

Методы

Описание свойств

AttachmentRoot : IAttachment (чтение)

Вложения корневой папки для дерева вложений. Это вложение как реальное физически не существует,
но эта программная конструкция используется для доступа к дереву вложений.

BookmarkRoot : IBookmark (чтение)

Корневая закладка для дерева закладок. Эта закладка не отображается для пользователя, но эта
программная конструкция используется для доступа к дереву и дочерним закладкам.

DateLastModified : Date (чтение)

Возвращает дату последнего изменения файла

FileSize : Integer (чтение)

Возвращает размер файла

Filename : String (чтение)

Возвращает полный путь имени файла

Metadata : IFileMetadata (чтение;по умолчанию)

Возвращает объект IFileMetadata документа

NumPages : Integer (чтение)

Возвращает количество страниц в документе

Pages : IPDFPages (чтение)

Возвращает объект IPDFPage документа

Описание методов

Close( )

Закрывает дескриптор файла PDF

Объект IPDFPages

Вся коллекция страниц документа

Замечания

 

Пример

 

Свойства

Методы

Описание свойств

Count : Integer (чтение)

Возвращает количество элементов IPDFPage в коллекции

Item( Integer Index ) : IPDFPage (чтение;по умолчанию)

Убирает указанный элемент IPDFPage из коллекции.

Описание методов

CommitChanges( [String Filename], [Boolean CreateBackup] ) : Boolean

Сохранить изменения в файл.

Параметры

  • Filename : String (необязательно)

     

  • CreateBackup : Boolean (необязательно)

     

Объект IPDFPage

Представляет собой объект страницы в документе.

Замечания

 

Пример

 

Свойства

Методы

Этот объект не имеет методов

Описание свойств

ArtBox : IFloatRect (чтение;запись)

Устанавливает или возвращает прямоугольник ArtBox

BleedBox : IFloatRect (чтение;запись)

Устанавливает или возвращает прямоугольник BleedBox

CropBox : IFloatRect (чтение;запись)

Устанавливает или возвращает прямоугольник CropBox

Height : Single (чтение)

Получает высоту страницы

MediaBox : IFloatRect (чтение;запись)

Устанавливает или возвращает прямоугольник MediaBox

Rotation : Integer (чтение;запись)

Устанавливает или возвращает угол поворота страницы.

Text : String (чтение)

Получает текст содержания страницы.

TextEx : Object (чтение)

Получает страницу расширенного текстового объекта.

TrimBox : IFloatRect (чтение;запись)

Устанавливает или возвращает прямоугольник TrimBox

Width : Single (чтение)

Получает ширину страницы

Объект IMetadataFieldsInfo

Обеспечивает доступ ко всей коллекции определяемых полей метаданных, стандартных и заданных.

Замечания

 

Пример

 

Свойства

Методы

Этот объект не имеет методов

Описание свойств

Count : Integer (чтение)

Возвращает число элементов IFileMetadata в коллекции.

Item( Integer Index ) : IMetadataFieldInfo (чтение;по умолчанию)

Убирает указанный элемент IFileMetadata из коллекции.

Объект IProgressBar

Обеспечивает доступ к основному прогресс-бару GUI Хоста моих скриптов.

Замечания

 

Пример

 

Свойства

Методы

Этот объект не имеет методов

Описание свойств

Max : Integer (чтение;запись)

Устанавливает или возвращает максимальную позицию прогресс-бара.

Min : Integer (чтение;запись)

Устанавливает или возвращает минимальную позицию прогресс-бара.

Position : Integer (чтение;запись)

Устанавливает или возвращает позицию прогресс-бара.

Объект IFloatRect

Объект структуры простого прямоугольника

Замечания

 

Пример

 

Свойства

Методы

Этот объект не имеет методов

Описание свойств

Bottom : Single (чтение;запись)

 

Left : Single (чтение;запись)

 

Right : Single (чтение;запись)

 

Top : Single (чтение;запись)

 

Объект IMetadataFieldInfo

Объект информации поля метаданных для получения информации о его характеристиках определения

Замечания

 

Пример

 

Свойства

Методы

Этот объект не имеет методов

Описание свойств

Caption : String (чтение)

Возвращает видимое имя свойства поля.

PropertyName : String (чтение)

Возвращает внутренне имя поля свойств.

Объект IArguments

(WSH) - обеспечивает доступ ко всей коллекции параметров командной строки в том порядке, в котором они были введены изначально.

Замечания

 

Пример

 

Свойства

Методы

Описание свойств

Item( Integer Index ) : String (чтение;по умолчаанию)

(WSH) - убирает указанный элемент из коллекции.

Length : Integer (чтение)

(WSH) - возвращает количество параметров командной строки, принадлежащих скрипту (количество элементов в коллекции аргументов).

Описание методов

Count( ) : Integer

(WSH) - возвращает количество членов в коллекции.

Объект IFileMetadata

Для чтения и записи свойств метаданных документа.

Замечания

 

Пример

 

Свойства

Методы

Описание свойств

Author : String (чтение;запись)

Возвращает или задаёт поле метаданных автора документа.

Calculated( Integer Index ) : String (чтение)

Возвращает указанный индекс, расчитанное поле метаданных.

Count : Integer (чтение)

Возвращает количество элементов метаданных в коллекции.

CreationDate : Variant (чтение;запись)

Возвращает или устанавливает поле метаданных даты создания документа.

Creator : String (чтение;запись)

Возвращает или задаёт поле метаданных создателя документа.

Custom( Integer Index ) : String (чтение;запись)

Возвращает или устанавливает документ, указанный индекс, заданное поле метаданных.

EncryptLevel : Integer (чтение)

Возвращает уровень шифрования документа.

Item( Integer Index ) : Variant (чтение;по умолчанию)

Убирает указанный элемент метаданных из коллекции.

Keywords : String (чтение;запись)

Возвращает или задаёт поле метаданных ключевых слов документа.

ModificationDate : Variant (чтение;запись)

Возвращает или задаёт поле метаданных даты изменения документа.

Producer : String (чтение;запись)

Возвращает или задаёт поле метаданных производителя документа.

Subject : String (чтение;запись)

Возвращает или задаёт поле метаданных темы документа.

Title : String (чтение;запись)

Возвращает или задаёт поле метаданных названия документа.

Version : String (чтение)

Возвращает версию документа.

Описание методов

CommitChanges( [Boolean DBOnly] ) : Boolean

Сохранить изменения метаданных в файл.

Параметры

  • DBOnly : Boolean (необязательно)

    Вообще-то, эти изменения не сохраняются в формате PDF. Только обновляется база данных.

Объект IAttachment

Представляет объект вложение. Корень вложения полученный из свойства IFileObject AttachmentRoot .

Замечания

 

Пример

Следующий дамп JScript имён и описаний всех вложений в документе.

var ProgressBar = pdfe.ProgressBar;
ProgressBar.max = pdfe.SelectedFiles.Count;
for (var i = 0; i < pdfe.SelectedFiles.count; i++) {
    ProgressBar.position = i + 1;
    var doc = pdfe.SelectedFiles(i);
    if (doc.AttachmentRoot.Children.Count > 0) {
        pdfe.echo('>' + doc.filename, 0x0000FF);
        DumpAttachments('  ', doc.AttachmentRoot.Children);
    }
}

function DumpAttachments(parentName, Attachments) {
    if (Attachments) {
        for (var i = 0; i < Attachments.count; i++) {
            var attachment = Attachments(i);
            if (attachment.AttType == 1 /*attFile*/ ) {
                var desc = (attachment.description.length > 0) ? ' : ' + attachment.description : "";
                pdfe.echo(parentName + attachment.name + desc);
            } else {
                DumpAttachments(parentName + attachment.name + '\\', attachment.Children);
            }
        }
    }
}

Свойства

Методы

Описание свойств

AttType : user defined type (чтение)

Тип вложения (attFolder=0,attFile=1).

Children : IAttachments (чтение)

Объект IAttachments дочернего списка, если вложение типа attFolder

Description : String (чтение)

Текстовая строка для описания вложения, которую пользователь видит на панели вложений

Name : String (чтение)

Текстовая строка для вложения, которую пользователь видит на панели вложений

Описание методов

SaveTo( String Path ) : Boolean

Сохраняет вложение во внешний файл или папку.

Parameters

  • Path : String

    Если вложение имеет тип attFolder, полный путь имени каталога должен сохранить все содержащиеся вложения.
    Если тип attFile, может быть только полный путь имени каталога и созданное имя файла будет именем вложения или полный путь и filename, чтобы указать имя файла для использования.

Объект IAttachments

Замечания

 

Пример

 

Свойства

Методы

Этот объект не имеет методов

Описание свойств

Count : Integer (чтение)

 

Item( Integer Index ) : IAttachment (чтение;по умолчанию)

 

Объект IBookmarks

Замечания

 

Пример

 

Свойства

Методы

Этот объект не имеет методов

Описание свойств

Count : Integer (чтение)

 

Item( Integer Index ) : IBookmark (чтение;по умолчанию)

 

Объект IBookmark

Представляет объект закладки узла. Не видный пользователю корень закладки получен из свойства BookmarkRoot.

Замечания

 

Пример

Следующий дамп JScript имён закладок дерева закладок документа.

var ProgressBar = pdfe.ProgressBar;
ProgressBar.max = pdfe.SelectedFiles.Count;
for (var i = 0; i < pdfe.SelectedFiles.count; i++) {
    ProgressBar.position = i + 1;
    var doc = pdfe.SelectedFiles(i);
    if (doc.BookmarkRoot && doc.BookmarkRoot.Children) {
        pdfe.echo('>' + doc.filename, 0x0000FF);
        DumpBookmark(doc.BookmarkRoot, 0);
    }
}

function DumpBookmark(bookmark, index) {
    if (bookmark) {
        if (index > 0) pdfe.echo(Array(index * 3).join(" ") + bookmark.name);
        var children = bookmark.Children;
        if (children) {
            for (var i = 0; i < children.count; i++) {
                DumpBookmark(children(i), index + 1);
            }
        }
    }
}

Свойства

Методы

Этот объект не имеет методов

Описание свойств

Children : IBookmarks (чтение)

Объект IBookmarks дочернего списка этой закладки в дереве закладок

DestPageIndex : Integer (чтение)

Целевая страница с нумерацией с нуля. Возвращает -1, если целевой объект не является страницей документа, или если целевой объект не может быть определён.

Name : String (чтение)

Текстовая строка для закладки, которую пользователь видит в навигационной панели

Объект IDocumentMerger

Объект объединения документа

Замечания

 

Пример

Следующий код JScript иллюстрирует, как использовать две различных функции объединения.

var Merger = pdfe.CreateDocumentMerger();
Merger.BookmarkAll1stPages = true;


//объединить все выбранные документы с нечётными страницами
for (var i = 0; i < pdfe.SelectedFiles.Count; i++) {
    Merger.MergeDocument(pdfe.SelectedFiles(i).Filename,'odd');
}
Merger.EndAndSaveTo('C:\\Temp\\Merged_OddPages.pdf');

//объединить все 1-е страницы документа, передавая IPDFPage объекты и одновременно повернуть страницы 
for (var i = 0; i < pdfe.SelectedFiles.Count; i++) {
    var page=pdfe.SelectedFiles(i).Pages(0);
    page.Rotation=90;
    Merger.MergePage(page);
}
Merger.EndAndSaveTo('C:\\Temp\\Merged_1sPages.pdf');

Свойства

Методы

Описание свойств

BookmarkAll1stPages : Boolean (чтение;запись)

Устанавливает или определяет, будет ли всегда добавлена закладка для первой страницы документа, если документы без определённых закладок.

GroupBookmarksByDocument : Boolean (чтение;запись)

Если закладки сохранены, устанавливает или определяет, сгруппированы ли закладки объединённого документа.

GroupLayersByDocument : Boolean (чтение;запись)

Если слои сохранены, устанавливает или определяет, сгруппированы ли слои объединённого документа.

KeepBookmarks : Boolean (чтение;запись)

Устанавливает или определяет, сохранены ли закладки документа.

KeepLayers : Boolean (чтение;запись)

Устанавливает или определяет, сохранены ли слои документа

LastError : String (чтение)

Если одна из функций объединения возвращает false, то это свойство содержит текст сообщения об ошибке.

Описание методов

EndAndSaveTo( String Filename ) : Boolean

Заканчивает операцию объединения и сохраняет результатирующий документ в файл с указанным именем. После выполнения объект готов начать очередную операцию объединения.

Параметры

MergeBlankPage( [Integer Width], [Integer Height] ) : Boolean

Объединить пустую страницу, указав её ширину и высоту в миллиметрах

Параметры

  • Width : Integer (необязательно)

     

  • Height : Integer (необязательно)

     

MergeDocument( String Filename, [String PagesRange] ) : Boolean

Объединить документ, указав имя его файла и страницы для включения.

Параметры

  • Filename : String

     

  • PagesRange : String (необязательно)

     

MergePage( IPDFPage Page ) : Boolean

Объединить страницы документа, указав его объект IPDFPage.

Параметры