Веб-интерфейс

Использование встроенного веб-сервера обеспечивает удалённый доступ к некоторым функциям PDF Explorer. В частности, к режимам сканирования БД_поиск и БД_диск_папки. С помощью общего веб-браузера или любой другой технологии, способной выполнять HTTP-запросы, пользователи могут удалённо искать и просматривать индексированные программой PDF Explorer файлы формата PDF и CMH в среде подобной веб-поисковым системам.

Страница веб-интерфейса БД_поиск

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

Архитектуру клиент-сервера легко настроить. Запущенный веб-интерфейс включает экземпляр PDF Explorer на сервере, к которому будут обращаться клиенты, используя веб-браузеры компьютеров локальной сети, или используя интернет в любой точке планеты.

Ещё одним преимуществом является то, что использовать интерфейс должен только веб-браузер, поэтому система Windows нужна только компьютеру на котором запущен PDFE. Клиенты могут использовать любую ОС (Linux, Mac OS и т.д.) обеспечивающую совместимый веб-браузер.

Технически веб-интерфейс обеспечивается встроенным и выделенным HTTP-сервером. Необходимо знать, как запустить общий http-сервер, например, Apache или MS IIS, и как установить наш веб-сервер PDFE. Веб-сервер PDFE прост и более лёгок в настройке.

Можно получить доступ к опциям функциональности и к диалогу интерфейса из Экстра-меню пункта Веб-интерфейс или нажав кнопку инструмента Веб-интерфейс на вкладке Информация PDF.

На следующем рисунке показан комплект скриншотов окна конфигурации инструмента и интерфейса некоторых функциональных этапов.

Давайте рассмотрим все настраиваемые параметры и функциональные возможности.

Пользователи и разрешения

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

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

Разрешения определяются по группам. Клиенты/пользователи определяются при входе парой пользователь/пароль и члены определённой группы наследуют разрешения и ограничения группы.

 

По умолчанию в системе две группы, Администраторы и Гости, и они всегда присутствуют в списке. Группа Администраторы имеет доступ ко всем функциям постоянно. Также, эта группа используется, когда в системе не создан ни один пользователь.

Членами группы Гости являются все незарегистрированные пользователи, поэтому, будьте внимательны при определении разрешений для этой группы.

Если снять отметку в группе Гости, то это принудительно направит пользователей непосредственно к странице входа в систему, хотя доступ к этой странице могут получить только незарегистрированные пользователи.

Чтобы создать новую группу, просто нажмите кнопку Добавить. Новая группа с настройками по умолчанию будет отображаться в списке. Можно дать ей новое имя в окне редактирования имени группы.

При включении режима "БД_диск_папки" обеспечивается доступ к эквиваленту интерфейса БД_диск_папки. Пользователи смогут просматривать содержимое всех индексированных папок, используя дерево индексированных дисков/папок.

Можно будет скачать/просмотреть файл PDF или CHM, если снята опция "Может открывать документы", но пользователи будут иметь доступ только к метаданным результатов поиска.

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

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

Дерево "Доступные папки" на вкладке Папки используется для определения индексированных папок к которым члены группы имеют доступ, так что, если в результатах поиска веб-интерфейса ссылки на файл присутствует в неотмеченных диске/папке, они не будут отображаться в результатах поиска для членов этой группы.

Замечание: отметка и сброс в чек-боксе статуса видимости этой папки устанавливает тот же статус и подпапкам. Для установки её собственного статуса - нажмите CTRL.

Доступ также к будущим новым папкам используется для автоматического доступа к любой папке, отсутствующей в настоящее ремя в индексированном дереве ресурсов, но которая может появиться позже, после добавления администратором, использующим PDFE GUI для индексации новых ресурсов в базе данных PDFE. Отключение этой опции гарантирует, что это новое индексированное содержание папок/дисков позже не будет отображаться в результатах поиска веб-интерфейса. Расширенное управление достигается с помощью опции разрешений папки "Без доступа к новым подпапкам", так что, если включён общий доступ для будущих папок, эта опция будет препятствовать доступу к будущим проиндексированным подпапкам этой конкретной папки.

На этой вкладке можно определить конкретные разрешения папки. В зависимости от состояния эквивалентной группы глобального разрешения, выбранную папку можно настроить для загрузки и копирования, редактирования метаданных. Кнопка Применить к подпапкам будет распространять выбранные разрешения для папок на вложенные папки.

На вкладке Пользователи мы создаём и определяем пользователей. Пользователь определяется парой имя пользователя/пароль соответственно определённой группе разрешений.

Применение этого диалога просто. Кнопка Добавить, чтобы добавить пользователя в список, Удалить, чтобы удалить выбранного пользователя из списка, Имя пользователя, Пароль и Член группы, чтобы установить пользователя. При входе, в правом верхнем углу страницы появится ссылка на страницу веб-интерфейса для входа пользователя в систему, чтобы использовать функции назначенные членам его группы. Если группа гостей отключена, страница Вход появится сразу, и пользователь без регистрации получит доступ к веб-интерфейсу.

Динамический DNS

Для того, чтобы получить доступ к нашему PDFE веб-интерфейсу из интернета, надо знать наш публичный IP-адрес и указать его нашему браузеру, например, http://169.132.10.34 или отобразить его в имени хоста с использованием DNS-сервера и указать наш браузер для этого хоста, например, www.mysite.com. Система доменных имён (DNS) служит "телефонной книгой" для интернета, переводя компьютеру удобочитаемые имена хостов, например www.mysite.com в IP-адрес 169.132.10.34. IP-адрес (адрес интернет-протокола) является уникальным адресом, который некоторые электронные устройства используют для того, чтобы идентифицировать и общаться друг с другом в компьютерной сети, использующей стандарт Internet Protocol (IP) или просто это уникальный идентификатор, используемый для идентификации устройства в сети, чтобы другие устройства могли обратиться по адресу этого устройства. В нашем контексте, IP-адрес, это уникальный идентификатор нашего компьютера, где работает PDFE. Обычно, когда мы подключаемся к интернету с помощью нашего домашнего диал-ап или ADSL-сервиса, нашей машине публичный IP-адрес динамически назначается нашим провайдером и изменяет его каждый раз при подключении. Из-за этого изменения, мы должны всегда знать наш IP в данный момент времени. Запоминание изменяемого IP-адреса не практично. Намного лучше удобочитаемое имя хоста. Поскольку IP изменяется, то и DNS-отображение должно соответственно изменяться. Эта функция динамического DNS используется для автоматизации этого процесса обновления в режиме реального времени. Когда включена, каждый раз, когда стартует веб-сервер PDFE, наш публичный IP-адрес будет доведён до нашего провайдера динамического DNS. Таким образом, мы можем быть уверены - наше имя хоста всегда будет решено для нашего нового публичного IP ПК.

Есть много бесплатных и коммерческих провайдеров динамического DNS в Интернете. Их служба является сопоставление данного IP-адреса пользователя, определённого хоста и обновить карту каждый раз сменяя наш IP-адрес. Обновление маршрутизатора IP использует простой запрос HTTP в интернете у провайдера динамической DNS и именно это запрос выполняет PDFE.

Обычно, нужно лишь зарегистрироваться у этих DDNS-провайдеров, выбрать имя хоста для использования и получить на их информационных страницах запрос формата URL, нужный для изменения IP. Этот инструмент предоставляет два предварительно сконфигурированных запроса из двух хорошо знакомых провайдеров и обычно один для использования с другими провайдерами. Карта переменных %username%, %password% и %hostname% для ссответствующих полей "Имя пользователя", "Пароль" и "Имя хоста" и карты переменной %ip% в нашем публичном IP-адресе. Используйте эти переменные, чтобы построить URL-запрос HTTP при использовании другого поставщика услуг.

Пример для провайдера DynDNS: http://%username%:%password%@members.dyndns.org/nic/update?system=dyndns&hostname=%hostname%&myip=%ip%&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG&.

Настройки HTTPS (SSL/TLS)

Используйте этот диалог, чтобы включить/отключить и настроить подключение по протоколу HTTPS. Не вдаваясь в подробности, подключение по протоколу HTTPS использует методы шифрования, чтобы скрыть трафик между сервером и клиентом, что создаёт трудности для желающих перехватить и ознакомиться с данными, передаваемыми между сервером/клиентом и поддерживает конфиденциальность коммуникаций. Когда включено и правильно настроено, HTTPS-соединение будет автоматически использоваться для входа в систему всех зарегистрированных пользователей.

Для работы протокола необходим доступ к файлам цифрового сертификата и личного ключа в полях этого окна "Сертификат сервера" и "Личный ключ".

Сертификат, отправленный клиентам, подключённых с использованием протокола HTTPS, содержит идентификационную информацию, связанную с сертифицированным доменом, доверенным центром сертификации (CA) и открытым ключом шифрования сервера. Клиентские браузеры могут связаться с сервером, который выдал сертификат (доверенного центра сертификации, как указано выше) и прежде чем продолжить, удостовериться в подлинности сертификата.

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

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

Использование этих доверенных СА-услуг нужно только тогда, когда мы действительно должны разрешить доступ к веб-интерфейсу незнакомым пользователям и отказаться от соединения, если браузер предупреждает их, что сертификат подписан неизвестным CA.

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

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

Для начала генерации ключа и сервера сертификации, надо просто использовать мастер создания сертификатов.

Мастер создания сертификатов

Этот мастер может генерировать готовые к использованию SSL самозаверяющие сертификаты или запрос на подпись сертификата (CSR).

Запрос на подпись сертификата должен быть подписан центром сертификации (CA), чтобы стать функциональным веб-сервером SSL-сертификатов. Обе опции также генерируют соответствующий личный ключевой файл.

Обе опции мастера генерации показаны на нижнем изображении.

Заполнение почти всех этих полей очевидно и только поле "Общее имя" заслуживают особого внимания. Это поле используется, чтобы указать доменное имя, используемое для доступа к веб-серверу PDFE. Браузеры клиентов будут жаловаться на сертификат подлинности, если общее имя сертификата не соответствует введённому адресу домена для доступа к веб-серверу. Поэтому, если мы хотим только протестировать локально на ПК-сервере, localhost - правильное имя и если оно будет доступно из локальной сети, должно быть использовано сетевое имя ПК-сервера, например, xptoPC. Если доступное из интернета доменное имя отображается на веб-сервере ПК внешнего IP, например, www.mysite.com, то это правильный выбор. Локальный IP-адрес для доступа к локальной сети или внешний для доступа в Интернет, также является жизнеспособным вариантом, если позже он используется в браузере клиента в качестве адреса для доступа к веб-серверу.

Более длинный ключ эквивалентен большей эффективности и мощности шифрования, но для генерации CSR надо проверить способность нашего CA подписать ключ этой длины. Кроме того, старые браузеры с возможностью 40-битного шифрованием, разрешают длину ключа сертификата только 512-бит.

Для защиты секретного ключа, надёжный пароль можно установить в поле пароля.

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

Для создания самозаверяющего сертификата:

- настроить интерфейс веб-сервера PDF Explorer, чтобы использовать этот сгенерированный сертификат. Файлы нового сертификата и личного ключа сохраняются в папке с данными PDF Explorer, переопределяя старые файлы, если они присутствуют, и устанавливая опции веб-сервера HTTPS для использования этого нового сертификата, ключевого файла и фразы-пароля.
- сохранить файлы сгенерированного сертификата и частного ключа в папку выбранную пользователем.

Для генерации CSR:

- файл запроса сертификата в кодировке Base64 показан вверху. На этом этапе возможно скопировать его в буфер обмена и перейти к следующему шагу мастера, где можно сохранить CSR и частные ключевые файлы в выбранной папке.

Параметры CGI/ISAPI

Веб-сервер PDFE не ограничивается обеспечиванием основного веб-интерфейса PDFE, но также может быть использован для запуска небольшого веб-сайта. Основной HTML-страницы достаточно, чтобы разработать простой веб-сайт, но важное значение в настоящее время имеет поддержка языков скриптов, например, PHP, Perl, CGI.

Это окно используется для установки папки CGI приложений, его псевдоним и связать расширения файла в CGI или ISAPI переводчика для того, чтобы передать скриптовые страницы (PHP, Perl и т.д.). Скриншот вверху иллюстрирует его использование.

Расширенные параметры

Общие

В общих параметрах можно выбрать/сбросить опцию Многоязычный веб-интерфейса основного PDFE. При включении, в верхней части HTML-страницы будут отображаться изображения флагов стран, что позволит пользователям клиента выбрать язык веб-интерфейса. Для того, чтобы удалённый пользователь выбрал язык по умолчанию, автоопределение языка браузера попробует язык предпочитаемый браузером, если он в списке доступных, и этот язык будет выбран по умолчанию при первом запросе на подключение удалённого пользователя.

При сбросе язык веб-интерфейса по умолчанию возвращается к используемому графическому интерфейсу PDF Explorer.

Поле Корневой каталог веб-сервера раздела расширенного интерфейса веб-сервера может быть легко использовано для расширения веб-интерфейса с контентом пользователя. При установке доменное имя нашего сайта будет отображено в этом корневом каталоге веб-интерфейса PDFE, остальные доступны в виртуальном каталоге http://:/pdfews/.
Вот практический пример организации дерева папок контента пользователя.

C:\MySite
   ├───perl
   ├───php
   ├───utils
   └───wwwroot
         ├───cgi-bin
         ├───css
         ├───images
         └───js

Указав в поле, как на приведённом выше скриншоте, каталог Wwwroot и положив туда файл index.html (или .php, .pl и т.д., если установлены CGI/ISAPI переводчики для этих расширений), будет поручено веб-серверу передать этот файл при запросе корневого домена. Эта расширенная функциональность веб-сервера очень проста и почти всё что он делает, это передача запрошенных файлов. Так вполне способен работать простой веб-сайт, которому не нужно быть непосредственно связанным с веб-интерфейсом PDF Explorer и это простой способ передать специально разработанные и более продвинутые, чем стандартные шаблоны HTML, веб-интерфейсы клиента с применением API веб-интерфейса.

Виртуальные каталоги

Используются для установки псевдонимов каталогов. Эти псевдонимы используются для отображения сложной папки просто - одним словом.

Эти псевдонимы используются для построения веб-ссылок адресов, как будто используется полный каталог. PDFE WS заменит псевдоним и найдёт запрашиваемый файл в каталоге по отображаемому псевдониму.

Разрешены каталоги за пределами заданного корневого каталога веб-сервера, и примером этого является псевдоним "pdfews", автоматически создаваемый PDFE и всегда присутствующий в списке виртуальных каталогов. Псевдоним "pdfews" отображается в подпапке webserv каталога установки ​​PDF Explorer и имеет важное значение для доступа к веб-интерфейсу основного PDFE и в то же время разрешит расширение веб-сервера с заданным контентом пользователя.

Ограничения доступа

Используется для блокировки или включения доступа к веб-интерфейсу на основе базовых правил. Доступ может быть заблокирован/предоставлен по имени агента пользователя, IP-адресу удалённого клиента или диапазону адресов и по ссылке на адреса.

Верхний скриншот показывает пример для всех этих правил. Выбор опции "Разрешить только" разрешает доступ только к клиентам в рамках общего списка правил. С другой стороны, выбор "Запретить всё" заблокирует доступ к любому клиенту с хотя бы одним из свойств, равным одному из правил в списке.

Опция "Запрет поисковых роботов" создаёт виртуальный файл robots.txt, который по просьбе клиентов информирует совместимые роботы, что они не должны получить доступ к любому контенту веб-сайта. Это работает только с роботами уважающими эти стандартные правила robots.txt.

Вот содержание этого виртуального файла robots.txt:

User­agent: *
Disallow: /

Этот параметр не выполняет никаких действий, если файл robots.txt существует в корневой папке веб-сайта и этот заданный robots.txt отослан по запросу клиентов.

Лог-файл доступа

Весь доступ к веб-интерфейсу можно записать в файл, используя формат NCSA Combined Log Format.

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

Разделение лог-файлов важно, потому что программное обеспечение, аппаратные средства или аварии всегда могут повредить активный лог-файл и все данные в нём.

Миниатюры

Эта функция визуально представляет индексированные документы в виде файла изображения (миниатюры, эскиза) на первой странице документа веб-интерфейса клиентов.

Расширенные параметры - миниатюры

Файлы с миниатюрами должны быть получены из внешнего инструмента, если встроенный генератор миниатюр в данный момент недоступен. Для их созданияесть два метода:

OpenSearch

Из википедии: "OpenSearch - набор технологий, позволяющих веб-сайтам и поисковым системам публиковать результаты поиска в форматах, удобных для распространения и сбора.

Эта технология доступна также через веб-интерфейс PDF Explorer с форматами ответов RSS, ATOM и HTML, разрешая агрегаторы поиска и другие инструменты, способные выполнять запросы и обрабатывать форматы OpenSearch возможных ответов, чтобы получить доступ к веб-интерфейсу открытых записей базы данных PDFE.

Подходящий плагин клиента OpenSearch находится по адресу: http://<domain>:<port>/pdfews/opensearch.xml

Современные интернет-браузеры поддерживают стандарт OpenSearch и автоматически добавляют плагин клиента OpenSearch в список поисковых провайдеров.

Плагин OpenSearch браузера

Чтобы установить плагин клиента в список доступных провайдеров поиска браузера, надо перейти на страницу веб-интерфейса PDFE, даже если эта страница в настоящее время обеспечивается удалённым компьютером и не надо иметь установленный PDFE. Браузер автоматически найдёт плагин клиента OpenSearch и параметром разрешит пользователю добавить его в качестве провайдера поиска. После того, как провайдер окажется в списке браузера, пользователь может выполнить поиск даже не открывая любую страницу веб-интерфейса PDFE. Браузер уже знает адрес и до тех пор, пока удалённый компьютер по этому адресу работает через веб-интерфейс, результаты поиска будут отображаться.

Веб-интерфейс API

API - это простой интерфейс на основе RESTful, обеспечивающий возможность разработки клиентов веб-интерфейса полностью независимо от любого html-шаблона с одним требованием: способность выполнять HTTP-запросы GET и POST и обрабатывать предоставленный формат файла ответов для доступа ко всем функциям веб-интерфейса PDF Explorer. При использовании любой технологии разработки, которая способна выполнять HTTP-запросы и обрабатывать любой из предоставленных форматов ответов, это даёт возможность разработки клиентов не только веб-браузера.

Стиль Web 2.0 полностью функционален и готов к использованию клиентом веб-интерфейса, что делает использование этого API доступным для загрузки и комментариев на форуме поддержки PDF Explorer: http://www.rttsoftware.com/forum/index.php?topic=322.0
Включен исходный код, и это полезно для лучшего понимания этого API.

Запросы API вызываются с помощью следующей схемы URL-адреса:

http://<domain>:<port>/pdfews/apicall?f=FunctionName&Param1=Value&Param2=Value...

Запрос HTTP для виртуальной папки /Pdfews/apicall передаёт имя сайта сервера, функцию выполнения именованного параметра f, плюс любой из функциональных, конкретных, дополнительных параметров.

В зависимости от функции, существуют различные форматы данных ответов доступные для выбора. Таким образом разработчик клиента может выбрать ещё одну подходящую технологию разработки.
Этот выбор формата данных ответа достигается общим для всех запросов параметром format, который в зависимости от тех функций запроса может иметь одно из следующих значений:

Все форматы данных ответа в кодировке UTF-8.

Еще один общий для всех функций параметр называется lng и он используется для указания активного языка при возврате текстовых сообщений или текстовых полей интерфейса. Его значение должно следовать схеме тегов языка RFC 1766, как тегов языка HTTP (en, pt-BR, etc.). Веб-сервер будет пытаться получить нужный язык из заголовка Accept-Language HTTP, если параметр lng не указан и будет использовать интерфейс PDF Explorer в использовании языка GUI, если запрошенного языка нет в списке доступных.

Клиенту на основе интернет-браузера рекомендуют использовать параметр кэша Buster с GET запросами допуска к часто меняющимся данным для обмана механизмов кэша браузера. Это для сервера нонсенс, случайное имя и/или значение параметра всегда делается равным серверу, запрошенный URL всегда отличается от кэшированных ответов браузера.

Сводка функций API

 

IsLoginNeeded - чтобы узнать, что пользователи должны авторизоваться, прежде чем отправить любой другой запрос. Вход не нужен, если нет ни одного пользователя в настройках пользователя и разрешений и это означает, что любой запрос будет обработан в умолчания группы Администраторы.

IsGuestAccountEnabled - чтобы узнать, что включён аккаунт Гости (имя пользователя=guest и пароль=guest).

Login - для запроса логина пользователя

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

GetMetadataFieldsListInfo - возвращает список из PDFE определяемый макетами сетки доступными авторизованному пользователю. Включает в себя имя макета и характеристики его включённых полей метаданных (имя, тип данных, выравнивание текста для редактируемых полей).

DBSearch - выполняет логический поиск базы данных по пришедшим ключевым словам. Эквивалент режима БД_поиск.

GetDatabaseTree - возвращает базу данных дерева индексируемых папок. Данные необходимы, чтобы узнать, какие папки будут индексироваться в базе данных PDFE для того, чтобы выполнить запросы БД_папки и заполнить управление GUI дерева, так чтобы пользователи клиента могли лучше выполнять эти запросы.

DBFolder - возвращает все запросы записи метаданных папок индексируемой базы данных PDFE. Эквивалент режима БД_диск_папки.

GetThumbnail - возвращает имя переданного документа миниатюре изображения

SetMetadata - для редактирования указанного индексированного поля метаданных документов. Эквивалент инструмента Правка информации.

Upload - для загрузки файлов индексируемых в PDFE и включённых для загрузки папок.

GetUploadState - для получения статистического значения загрузки загружаемых файлов.

DeleteFiles - для удаления файлов.

CopyFiles - для копирования файлов из одной папки в другую

MoveFiles - для перемещения файлов из одной папки в другую.

RenameFiles - для изменения имени файлов.

GetFileShareURL - возвращает URL файла общего доступа. Защищённые ограничениями групп пользователей файлы можно таким образом передать кому-либо не принадлежащему этой группе. Ссылка связана с вызывающим эту функцию пользователем и не будет работать, если пользователь теряет последующий доступ к соответствующему файлу.

Logout - для запроса выхода пользователя

Функции API подробно

 

  Функция Метод Формат ответа
  CopyFiles POST xml, json

Используется для копирования индексированных документов из одной папки в другую.

Пример запроса:
http://localhost/pdfews/apicall?f=CopyFiles&toFolder=C:\tmp&format=xml

Текстом сообщения должен быть документ xml в кодировке UTF-8, содержащий файлы для копирования идентификации (элемент fileURL возвращён методами БД_поиск и БД_папка), папку назначения операции копирования и организован как следующий пример структуры xml-файла.

Пример текста сообщения для копирования двух файлов в одном запросе:

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
      <toFolder>C:\PDFs</toFolder>
   </entry>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</dataset>
  

Возможный ответ примеру запроса вверху:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <entry>
      <result>true</result>
      <message>Operation succeeded</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
      <newFileURL>/pdfews/getfile/%BE%C7%A1%AD%B9%BB%8E/1956%20%2D%202.pdf</newFileURL>
   </entry>
   <entry>
      <result>false</result>
      <message>File not found</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</response>

Пункт NewFileURL возвращён для всех успешных копий файлов и отражает ID этого нового индексированного файла.

Дополнительные параметры:

  Параметр Значение Примечание
toFolder Необязательно, если параметр задаёт файл, но требуется, если XML-текст только указывает ID файла для копирования. Используется, чтобы указать папку назначения операции копирования.  
format Необязательно, по умолчанию "xml". Чтобы указать формат возвращаемых данных. Допустимые значения:
xml, json

 

  Функция Метод Формат ответа
  DBFolder GET html, csv, rss, atom, xml, json

Используется для запроса всех записей метаданных в базе данных индексируемой папки PDFE. Эквивалент режима сканирования БД_диск_папки.

Пример запроса:
http://localhost/pdfews/apicall?f=DBFolder&sort=1&dir=ASC&format=xml
&layout=0&count=50&start=0&i=30&sf=0

В форматах ответов rss, atom, xml и json используются именованные элементы стандартные, OpenSearch namespace, totalResults, startIndex и itemsPerPage, чтобы передать общее число результатов найденных запросов, во первых, 1 основной возвращённый результат и соответственно количеству результатов в ответе.

Пример ответа:

<?xml version='1.0' encoding='UTF-8'?><?xml version='1.0' encoding='UTF-8'?>
<pdfexml version="1.0" xmlns="http://www.rttsoftware.com/pdfens/1.0/">
<generator>PDF Explorer 1.5.0.59</generator>
<title>C:\PDFs\ - PDF Explorer DBDiskTree</title>
<link>http://localhost/pdfews/apicall?f=DBFolder&sort=1&dir=ASC&format=xml
       &layout=0&count=50&start=0&i=30&sf=0</link>
<description>PDF Explorer database query results</description>
<pubDate>Tue, 1 Jan 2010 00:00:00 GMT</pubDate>
<totalResults>2</totalResults>
<startIndex>1</startIndex>
<itemsPerPage>2</itemsPerPage>
<entry>
   <Filename>HSR_25.pdf</Filename>
   <fileURL>/pdfews/getfile/%BE%C7%A1%AD%B9%BB%8E/HSR%5F25.pdf</fileURL>
   <Title>Canada and The European Space Agency</Title>
   <Subject>Three Decades of Cooperation</Subject>
   <Author>Lydia Dotto</Author>
   <Keywords>HSR-25</Keywords>
   <Pages>31</Pages>
   <Version>1.5</Version>
   <Security>0</Security>
</entry>
<entry>
   <Filename>HSR_26.pdf</Filename>
   <fileURL>/pdfews/getfile/%BE%C7%A1%AD%B9%BB%8E/HSR%5F26.pdf</fileURL>
   <Title>Spain in Space</Title>
   <Subject>A short history of Spanish activity in the space sector</Subject>
   <Author>José M. Dorado, Manuel Bautista , Pedro Sanz-Aránguez, Drs. IA</Author>
   <Keywords>HSR-26</Keywords>
   <Pages>41</Pages>
   <Version>1.5</Version>
   <Security>0</Security>
</entry>
</pdfexml>
Дополнительные параметры
  Параметр Значение Примечание
count Необязательно, по умолчанию 10. Используется для указания максимального количества записей метаданных документов для возврата.  
dir Необязательно, по умолчанию ASC. Используется для указания направления сортировки.

ASC - по возрастанию.

DESC - по убыванию.

folder Требуется, вместо параметров i и l. Используется, чтобы указать папку, откуда получить поля метаданных проиндексированных документов. Должен быть полный путь к каталогу. Способ замены параметров i и l, которые не могут быть указаны одновременно, или он будет использован вместо них.
format Необязательно, по умолчанию "html". Чтобы указать формат возвращаемых данных. Допустимые значения: html, csv, rss, atom, xml, json
i Требуется, если параметр folder не используется. Параметр используется в качестве ID папки. Это конкретное значение реализация веб-интерфейса и должно быть получено из функции возвращаемых данных GetDatabaseTree.

Используется в сочетании с параметром l, если он доступен.

Может быть заменён параметром folder, но этот более дружественный для веб-сервера.

l Требуется, если доступно и параметр folder не используется. Параметр используется в качестве ID папки. Это конкретное значение реализация веб-интерфейса и должно быть получено из функции возвращаемых данных GetDatabaseTree.

Используется в сочетании с параметром i .

Может быть заменён параметром folder, но этот более дружественный для веб-сервера.

layout

Необязательно, по умолчанию для пользователя вошедшего в макет по умолчанию. Числовой ID макета. Используется для указания расположения при ответе. Макет укажет, какие поля метаданных будут возвращены и их тип данных.

Доступные ID макета могут быть получены из функции возвращаемых данных GetMetadataFieldsListInfo.
sf Необязательно, по умолчанию 0. Чтобы указать, если запрос включает в себя вложенные папки.

Допустимые значения:
0 - подпапки не включены.
1 - подпапки включены.

sort Необязательно, по умолчанию ID поля имени файла. Числовой ID поля метаданных для сортировки. Числовой ID метаданных, это постоянное значение PDFE, определяющее индексированные поля метаданных PDFE. Может быть получен из функции возвращаемых данных GetMetadataFieldsListInfo.
start Необязательно, по умолчанию 0. Первый индекс записи для возврата.  

 

  Функция Метод Формат ответа
  DBSearch GET html, csv, rss, atom, xml, json

Используется для поиска ключевых слов во всей базе данных индексируемых метаданных PDFE или индексируюемого текстового содержания документов. Эквивалент режима сканирования БД_поиск.

Пример запроса:
http://localhost/pdfews/apicall?f=DBSearch&q=test&start=0&count=50
&sort=1&dir=ASC&stype=0&format=xml&layout=0&cs=0&wo=0

Пример ответа: Similar to the DBFolder request result.

Дополнительные параметры
  Параметр Значение Примечание
count Необязательно, по умолчанию 10. Используется для указания максимального количества записей метаданных документов для возврата.  
cs Необязательно, по умолчанию 0. Используется для указания учёта регистра операцией поиска.

Допустимые значения:
0 - без учёта регистра.
1 - с учётом регистра.
Имеет смысл, если stype=0

dir Необязательно, по умолчанию ASC. Используется для указания направления сортировки.

ASC - по возрастанию

DESC - по убыванию.

format Необязательно, по умолчанию "html". Чтобы указать формат возвращаемых данных. Допустимые значения:
html, csv, rss, atom, xml, json
layout

Необязательно, по умолчанию для пользователя вошедшего в макет по умолчанию. Числовой ID макета. Используется для указания расположения при ответе. Макет укажет, какие поля метаданных будут возвращены и их тип данных.

Доступные ID макета могут быть получены из функции возвращаемых данных GetMetadataFieldsListInfo.
q Требуется. Параметр используется, чтобы передать выражение поиска.

Должна быть кодировка utf-8.

Поддержка логических операторов "and", "or" and "not".

sort Необязательно, по умолчанию для ID поля имени файла. Числовой ID поля метаданных для сортировки. Числовой ID метаданных, это постоянное значение PDFE, которое определяет поля индексируемых метаданных PDFE. Может быть получен из функции возвращаемых данных GetMetadataFieldsListInfo.
start Необязательно, по умолчанию 0. Первый индекс записи для возврата.  
stype Необязательно, по умолчанию 0. Используется для передачи типа поиска.

Допустимые значения:
0 - поиск по индексированным полям метаданных.
1 - поиск по индексированному тексту контента.

wo Необязательно, по умолчанию 0. Используется, если операция поиска должна использовать опцию "Только целые слова".

Допустимые значения:
0 - только целые слова выкл.
1 - только целые слова вкл.

 

  Функция Метод Формат ответа
  DeleteFiles POST xml, json

Используется для удаления индексированных файлов.

Пример запроса:
http://localhost/pdfews/apicall?f=DeleteFiles&format=xml

Текстом сообщения должен быть документ xml в кодировке UTF-8, содержащий файл идентификации (пункт fileURL возвращается методами БД_поиск и БД_папка ) и организованный как в следующем примере структуры файла xml.

Пример текста сообщения для удаления двух файлов одним запросом:

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
   </entry>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</dataset>
  

Возможный ответ примеру запроса вверху:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <entry>
      <result>true</result>
      <message>Operation succeeded</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
   </entry>
   <entry>
      <result>false</result>
      <message>File in use</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</response>
Дополнительные параметры
  Параметр Значение Примечание
format Необязательно, по умолчанию "xml". Чтобы указать формат возвращаемых данных. Допустимые значения:
xml, json

  Функция Метод Формат ответа
  GetDatabaseTree GET xml, json

Используется для запроса описания древовидной структуры папок базы данных.

Пример запроса:
http://localhost/pdfews/apicall?f=GetDatabaseTree&format=xml

Пример ответа:

<?xml version='1.0' encoding='UTF-8'?>
<tree>
   <folder>
      <name>DB</name>
      <url>#</url>
      <folder>
      <name>C:[AAF8-76C6]</name>
      <uploadEnabled>False</uploadEnabled>
      <url>/pdfews/folder?i=0&l=1</url>
         <folder>
            <name>Downloads</name>
            <uploadEnabled>False</uploadEnabled>
            <url>/pdfews/folder?i=22</url>
         </folder>
         <folder>
            <name>PDFs</name>
            <uploadEnabled>False</uploadEnabled>
            <url>/pdfews/folder?i=30</url>
            <folder>
               <name>tmp</name>
               <uploadEnabled>True</uploadEnabled>
               <url>/pdfews/folder?i=31</url>
            </folder>
         </folder>
      </folder>
   </folder>
</tree>
Дополнительные параметры
  Параметр Значение Примечание
format Необязательно, по умолчанию "xml". Чтобы указать формат возвращаемых данных. Допустимые значения:
xml, json

 

  Функция Метод Формат ответа
  GetFeatures GET xml, json

Используется, чтобы узнать особенности доступа к веб-интерфейсу вошедшего в систему пользователя. Полезна для динамической адаптации клиентов веб-интерфейса к возможностям эффективного использования.

Пример запроса:
http://localhost/pdfews/apicall?f=GetFeatures&format=xml

Пример ответа:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <DBTreeEnabled>True</DBTreeEnabled>
   <AccessToFiles>False</AccessToFiles>
   <EditMetadata>True</EditMetadata>
   <Thumbnails>True</Thumbnails>
</response>
Дополнительные параметры
  Параметр Значение Примечание
format Необязательно, по умолчанию "xml". Чтобы указать формат возвращаемых данных. Допустимые значения:
xml, json

 

  Функция Метод Формат ответа
  GetFileShareURL GET xml, json, html

Возвращает URL файла общего доступа. Защищённые ограничениями групп пользователей файлы можно таким образом передать кому-либо не принадлежащему этой группе. Ссылка связана с вызывающим эту функцию пользователем и не будет работать, если пользователь теряет последующий доступ к соответствующему файлу.

Пример запроса:
http://localhost/pdfews/apicall?f=GetFileShareURL&src=/pdfews/getfile/%BE%C7%A1%89%90%8D/016.pdf&format=xml

Пример ответа:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <result>true</result>
   <message></message>
   <ShareFileURL>http://localhost/pdfews/getfile/%BE%C7%A1%89%90%8D/016.pdf?sid=68FFB0233EFE2C1A47C89C1610422188F5F08A4206A0ABD17A212BA8B19A83</ShareFileURL>
</response>
Дополнительные параметры
  Параметр Значение Примечание
src Требуется. Используется для передачи файла ID, чтобы получить URL. Этот ID файла соответствует значению переменной fileURL возвращаемой функциями БД_поиск и БД_папка.
format Необязательно, по умолчанию "xml". Чтобы указать формат возвращаемых данных. Допустимые значения:
xml, json

 

  Функция Метод Формат ответа
  GetMetadataFieldsListInfo GET xml, json

Используйте эту функцию для запроса вошедшим в систему пользователем списка доступных ему макетов сетки. Это списки являются эквивалентом GUI макетов сетки и эта информация используется во многих других API-функциях поручения серверу выполнить запрос в контексте макета сетки.

Пример запроса:
http://localhost/pdfews/apicall?f=GetMetadataFieldsListInfo&format=xml

Пример ответа:

<?xml version='1.0' encoding='UTF-8'?>
<dataset>
<default>0</default>
<item>
<name>Standard</name>
<id>0</id>
<field>
<name>Filename</name>
<caption>Filename</caption>
<index>1</index>
<dataType></dataType>
<align>left</align>
<readOnly>True</readOnly>
</field>
<field>
<name>Title</name>
<caption>Title</caption>
<index>7</index>
<dataType></dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
<field>
<name>Subject</name>
<caption>Subject</caption>
<index>8</index>
<dataType></dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
<field>
<name>Author</name>
<caption>Author</caption>
<index>9</index>
<dataType></dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
<field>
<name>Keywords</name>
<caption>Keywords</caption>
<index>10</index>
<dataType></dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
<field>
<name>Pages</name>
<caption>Pages</caption>
<index>15</index>
<dataType>int</dataType>
<align>right</align>
<readOnly>True</readOnly>
</field>
<field>
<name>Security</name>
<caption>Security</caption>
<index>17</index>
<dataType>int</dataType>
<align>center</align>
<readOnly>True</readOnly>
</field>
<field>
<name>Version</name>
<caption>Version</caption>
<index>16</index>
<dataType>float</dataType>
<align>center</align>
<readOnly>True</readOnly>
</field>
</item>
<item>
<name>SSD_Auction</name>
<id>6</id>
<field>
<name>Filename</name>
<caption>Filename</caption>
<index>1</index>
<dataType></dataType>
<align>left</align>
<readOnly>True</readOnly>
</field>
<field>
<name>Custom1</name>
<caption>ServiceDate</caption>
<index>19</index>
<dataType>date</dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
<field>
<name>Custom2</name>
<caption>Amount</caption>
<index>20</index>
<dataType>float</dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
<field>
<name>Custom3</name>
<caption>Check#</caption>
<index>21</index>
<dataType>int</dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
<field>
<name>Custom4</name>
<caption>DatePaid</caption>
<index>22</index>
<dataType>date</dataType>
<align>left</align>
<readOnly>False</readOnly>
</field>
</item>
</dataset>

Приведённый выше пример результата показывает два списка, общий стандартный PDFE и один определённый заданный.

Элемент <По умолчанию> используется для указания ID списка, который установлен по умолчанию (список выбранных в Пользователи и разрешения, опции доступных полей члена группы вошедшего в систему пользователя). Это список, который будет использоваться функциями требующими параметр layout необходимый указать в контексте выполнения функции, если этот параметр не указан явно.

Дополнительные параметры
  Параметр Значение Примечание
format Необязательно, по умолчанию "xml". Чтобы указать формат возвращаемых данных. Допустимые значения:
xml, json

 

  Функция Метод Формат ответа
  GetThumbnail GET The image file format produced by the thumbnail generator. Image/png if Shell thumbnail handler used.

Используется для запроса миниатюр изображения документа.

Пример запроса:
http://localhost/pdfews/apicall?f=GetThumbnail&src=/pdfews/getfile/%25BE.../HSR%255F38.pdf

Дополнительные параметры
  Параметр Значение Примечание
src Требуется. Используется для передачи ID файла, чтобы получить миниатюру. This file ID correspond to the value of the fileURL variable, returned by the DBSearch and DBFolder functions.
  cache Необязательно, по умолчанию 1. Указание веб-серверу, если запрашиваемое изображение должно быть кэшировано в заданной папке кэша, чтобы повторно использовать в последующих запросах. Опция не кэшировать полезна при запросе увеличенной версии миниатюры Допустимые значения:
0 - не кэшировать изображения.
1 - кешировать изображения.
  size Необязательно, по умолчанию small. Если генератор миниатюр установлен с опцией оболочки обработчика миниатюр, этот параметр используется, чтобы указать, что размер изображения будет запрашиваться из двух доступных возможных. Допустимые значения:
small - малое разрешение изображения.
big - большое разрешение изображения.
  c1,c2,c3,... Необязательно. Используется при внешнем генераторе миниатюр. Передаёт заданные параметры командной строки для наружного применения. Более подробную информацию можно найти в Дополнительных опциях, секции миниатюры.  

 

  Функция Метод Формат ответа
  GetUploadState GET xml, json, html

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

Пример запроса:
http://localhost/pdfews/apicall?f=GetUploadState&uploadID=25861270&format=xml

Пример ответа:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <result>true</result>
   <message></message>
   <bytesTotal>1254050</bytesTotal>
   <bytesUploaded>12350</bytesUploaded>
</response>
Дополнительные параметры
  Параметр Значение Примечание
uploadID Требуется. Чтобы передать то же значение uploadID, используемое для идентификации файла в функции загрузки. Он будет использоваться веб-сервером для идентификации файла, из которого запрашивается информация. Может быть любое значение и это ответственность клиента для его генерации, при настройке загрузки файла.
format Необязательно, по умолчанию "xml". Чтобы указать формат возвращаемых данных. Допустимые значения:
xml, json, html

 

  Функция Метод Формат ответа
  IsGuestAccountEnabled GET xml, json

Простая функция запроса, чтобы узнать веб-сервер, если включена учётная запись гостя. Полезна возможностью динамически адаптировать клиента к неопозннанному пользователю, или использовать пару имя пользователя=гость, пароль=гость для переменных входа в учётную запись гостя.

Пример запроса:
http://localhost/pdfews/apicall?f=IsGuestAccountEnabled&format=xml

Пример ответа:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <result>true</result>
   <message></message>
</response>
Дополнительные параметры
  Параметр Значение Примечание
format Необязательно, по умолчанию "xml". Чтобы указать формат возвращаемых данных. Допустимые значения:
xml, json

 

  Функция Метод Формат ответа
  IsLoginNeeded GET xml, json

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

Эта функция возвращает также значение ServerLoginChallenge необходимое для функции Login.

Пример запроса:
http://localhost/pdfews/apicall?f=IsLoginNeeded&format=xml

Пример ответа:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <result>true</result>
   <message></message>
   <ServerLoginChallenge>40179,08</ServerLoginChallenge>
</response
Дополнительные параметры:
  Параметр Значение Примечание
format Необязательно, по умолчанию "xml". Чтобы указать формат возвращаемых данных. Допустимые значения:
xml, json

 

  Функция Метод Формат ответа
  Login POST xml, json

Используется для входа в веб-интерфейс опознанного парой пользователь/пароль пользователя.

Пример запроса:
http://localhost/pdfews/apicall?f=Login&format=xml

Переменные Username и password передаются в загрузку методом POST, используя стандартные пары имя-значение и применяя application/x-www-form-urlencoded mime type.

Значение пароля для входа должно быть 32-х значный шестнадцатеричный номер md5 хэш конкатенации значения вызова сервера авторизации с простым значением текста пароля. Это значение входа вызова сервера действительно только в течение 5 минут после получения отправленного функцией ответа на запрос IsLoginNeeded.

В псевдокоде: passwordToSend=bin2hex(md5(password + serverLoginChallenge))

Значение serverLoginChallenge тоже должно быть включено в текст отправленного сообщения. Пример отправления:

username=RTT&password=e8c42a296ddf1e9a536c2bc99cc0c5c4
&serverloginchallenge=40179,08

Ответом будет простой стандартный запрос ответа значений результата и сообщения с дополнительным значением SESSIONID при успешной авторизации. Это SESSIONID также отправлено в качестве HTTP-куки в этом заголовке ответа HTTP. Если клиент не поддерживает механизм HTTP-куки, это значение SESSIONID должно быть включено как именованный параметр url "session" во все последующие запросы, чтобы должным образом связать пользователя с его сервером активного сеанса.

Пример ответа:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <result>true</result>
   <message>Welcome RTT</message>
   <sessionID>{9740DF92-B2EE-4D94-A53C-7F59A8DC6C69}</sessionID>
</response>
Дополнительные параметры
  Параметр Значение Примечание
format Необязательно, по умолчанию "xml". Чтобы указать формат возвращаемых данных. Допустимые значения:
xml, json

 

  Функция Метод Формат ответа
  Logout GET xml, json, html

Простая функция запроса требует сеанса Logout. Пользователь будет удалён из списка зарегистрированых пользователей веб-сервера и с заголовком ответа будет отправлена просьба удалить куки сессии.

Пример запроса:
http://localhost/pdfews/apicall?f=Logout&format=xml

Пример ответа:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <result>true</result>
   <message>Successful Log Out. All cookies cleared.</message>
</response>
Дополнительные параметры
  Параметр Значение Примечание
format Необязательно, по умолчанию "xml". Чтобы указать формат возвращаемых данных. Допустимые значения:
xml, json, html

 

  Функция Метод Формат ответа
  MoveFiles POST xml, json

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

Пример запроса:
http://localhost/pdfews/apicall?f=MoveFiles&toFolder=C:\tmp&format=xml

Текстом сообщения должен быть документ xml в кодировке UTF-8, содержащий файлы для перемещения идентификации (элемент fileURL возвращается методами БД_поиск и БД_папка ) и папку назначения операции перемещения и организованный как в следующем примере структуры файла xml.

Пример текста сообщения для перемещения двух файлов c одним запросом:

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
      <toFolder>C:\PDFs</toFolder>
   </entry>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</dataset>
  

Возможный ответ примеру запроса вверху:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <entry>
      <result>true</result>
      <message>Operation succeeded</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
      <newFileURL>/pdfews/getfile/%BE%C7%A1%AD%B9%BB%8E/1956%20%2D%202.pdf</newFileURL>
   </entry>
   <entry>
      <result>false</result>
      <message>The file exists</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</response>

Элемент NewFileURL возвращается для всех успешно перемещённых файлов и отражает ID этого нового индексированного файла.

Дополнительные параметры:

  Параметр Значение Примечание
toFolder Необязательно, если параметр задаётся файлом, но требуется, если текст xml только указывает идентификатор файла для перемещения. Используется, чтобы указать папку назначения в операции перемещения.  
format Необязательно, по умолчанию "xml". Чтобы указать формат возвращаемых данных. Допустимые значения:
xml, json

 

  Функция Метод Формат ответа
  RenameFiles POST xml, json

Используется, чтобы дать новое имя индексированным файлам.

Пример запроса:
http://localhost/pdfews/apicall?f=RenameFiles&format=xml

Текстом сообщения должен быть документ xml в кодировке UTF-8, содержащий определение файла (пункт fileURL возвращается методами БД_поиск and БД_папка) и новое имя файла, организованное как в следующем примере структуры файла xml.

Пример текста сообщения для переименования двух файлов c одним запросом:

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
      <newFilename>test.pdf</newFilename>	  
   </entry>
   <entry>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
      <newFilename>newname.pdf</newFilename>	  
   </entry>
</dataset>
  

Возможный ответ примеру запроса вверху:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <entry>
      <result>true</result>
      <message>Operation succeeded</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
      <newFileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/test.pdf</newFileURL>	  
   </entry>
   <entry>
      <result>false</result>
      <message>File in use</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</response>

Элемент NewFileURL возвращён всем успешно переименованным файлам и отражает ID нового переименованного индексированного файла.

Дополнительные параметры:

  Параметр Значение Примечание
format Необязательно, по умолчанию "xml". Чтобы указать формат возвращаемых данных. Допустимые значения:
xml, json

 

  Функция Метод Формат ответа
  SetMetadata POST xml, json

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

Пример запроса:
http://localhost/pdfews/apicall?f=SetMetadata&layout=0&format=xml

БД_поиск и БД_папка)

Текстом сообщения должен быть документ xml в кодировке UTF-8, содержащий определение файла (пункт fileURL возвращается методами БД_поиск и БД_папка) и поля метаданных, которые эффективно изменяют, организованные как в следующем примере структуры файла xml.

Пример текста сообщения, чтобы установить два файла метаданных с одинаковым запросом:

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
   <entry>
      <Title>Document1 Title</Title>
      <Keywords>Key1, key2</Keywords>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
   </entry>
   <entry>
      <Title>Document2 Title</Title>
      <Author>RTT</Author>
      <Keywords>Key1, key2</Keywords>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</dataset>

Возможный ответ примеру запроса вверху:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <entry>
      <result>true</result>
      <message>Updated successfully</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%202.pdf</fileURL>
   </entry>
   <entry>
      <result>false</result>
      <message>File in use</message>
      <fileURL>/pdfews/getfile/%BE%C7%A1%89%90%8D/1956%20%2D%203.pdf</fileURL>
   </entry>
</response>
Дополнительные параметры
  Параметр Значение Примечание
layout Требуется. Чтобы указать контекст макета полей метаданных при настройке метаданных документов.

Это значение ID элемента используемого макета, возвращаемое ответом GetMetadataFieldsListInfo.

format Необязательно, по умолчанию "xml". Чтобы указать формат возвращаемых данных. Допустимые значения:
xml, json

 

  Функция Метод Формат ответа
  Upload POST xml, json, html

Используется для загрузки файлов в индексированный PDF Explorer и включённый для загрузки каталог. Эта функция загрузки для любого типа файлов, но будут индексироваться только поддерживаемые PDF Explorer типы файлов. Можно загрузить несколько файлов с одинаковым запросом.

Пример запроса:
http://localhost/pdfews/apicall?f=Upload&folder=c:\pdfs\uploads&o_r=0&format=xml

HTTP Post правила текста сообщения:
- текст сообщения должен быть закодирован multipart/form-data и, как правило, используется с html-файлами форм загрузки.
- если будет использоваться функция GetUploadState, то каждому файлу данных должен предшествовать параметр uploadID с любым алфавитно-цифровым значением, чтобы однозначно идентифицировать файл
- дополнительные параметры "folder", "i" и "o_r", см ниже, также могут быть переданы в этом тексте сообщения, передав переопределения URL.

Пример ответа для двух загрузок файлов с одинаковым запросом:

<?xml version='1.0' encoding='UTF-8'?>
<response>
   <item>
      <result>true</result>
      <message>Upload successfully</message>
      <uploadID>a34ht12</uploadID>
   </item>
   <item>
      <result>false</result>
      <message>Unable to overwrite local file</message>
      <uploadID>tbf4345</uploadID>
   </item>
</response>
Дополнительные параметры
  Параметр Значение Примечание
folder Требуется, если не используются вместо этого параметр i. Чтобы пройти в папку назначения загрузки файла.  
i Требуется, если не используется вместо этого параметр folder. Параметр используется в качестве ID папки. Это конкретное значение реализация веб-интерфейса и должно быть получено из функции возвращаемых данных GetDatabaseTree. Может быть заменён параметром folder но этот более дружественный веб-серверу.
o_r Необязательно, по умолчанию 1. Используется, чтобы указать метод замены файла, когда файл с таким же именем в целевой папке уже есть. Допустимые значения:
0 - заменить локальный файл.
1 - переименовать локальный файл для backup.
format Необязательно, по умолчанию "xml". Чтобы указать формат возвращаемых данных. Допустимые значения:
xml, json, html