ConvertTextToPaths
Редактирование потоков содержимого, Шрифты
Описание
Переписывает инструкции показа текста на выбранных страницах как векторные вызовы Form XObject, сохраняя размещение глифов, межзнаковые интервалы, направление письма, трансформации, цвет заливки, цвет обводки и настройки обводки
Контуры глифов TrueType и Type 1 извлекаются один раз и используются повторно для повторяющихся глифов. CharProcs Type 3 преобразуются в обычные Form XObjects с сохранением их матрицы шрифта, bounding box и области ресурсов. Исходные инструкции показа текста и выбора шрифта удаляются
Преобразование транзакционно. Каждый выбранный слой содержимого и каждая запрошенная вложенная Form разбираются и преобразуются в памяти до изменения какого-либо объекта PDF. Неподдерживаемые шрифты, режимы отсечения текста с 4 по 7, некорректное состояние текста и неоднозначные общие области ресурсов Form приводят к отказу без частичного переписывания документа
Преобразованный текст больше не доступен для поиска, выделения и извлечения как текст. Он остается масштабируемым векторным содержимым для отображения и печати
Синтаксис
Delphi
Function TPDFlib.ConvertTextToPaths(Const PageRange: WideString= ''; Options: Integer= PDF_TEXT_PATH_DEFAULT): Integer;
ActiveX
Function PDFlib::ConvertTextToPaths(PageRange As String, Options As Long) As Long
DLL
int DLConvertTextToPaths(int InstanceID, const wchar_t *PageRange, int Options);
int DLConvertTextToPathsA(int InstanceID, const char *PageRange, int Options);
Параметры
| PageRange | Выражение диапазона страниц с номерами от 1. Пустое значение выбирает все страницы |
|---|---|
| Options | Побитовая комбинация PDF_TEXT_PATH_RECURSE_FORMS для преобразования вложенных Form XObjects и PDF_TEXT_PATH_PURGE_FONTS для удаления ставших ненужными ресурсов исходных шрифтов. PDF_TEXT_PATH_DEFAULT включает обе опции |
Возвращаемые значения
| 1 or greater | Число преобразованных инструкций показа текста |
|---|---|
| 0 | Подходящий текст не найден, диапазон или опции недопустимы либо преобразование не удалось. Проверьте LastErrorCode, чтобы различить ошибки |
Коды ошибок
| 506 | Исходный шрифт не может предоставить поддерживаемую векторную программу глифов |
|---|---|
| 507 | Режим отображения с отсечением текста требует путь отсечения, который нельзя представить независимой Form глифа |
| 508 | Программа текста, состояние шрифта или рекурсивная область ресурсов Form некорректны или неоднозначны |
Пример
Converted := PDF.ConvertTextToPaths('1-3,5', PDF_TEXT_PATH_DEFAULT);
If (Converted= 0)and (PDF.LastErrorCode<> 0) Then
raise Exception.Create(PDF.LastError);