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);