ConvertTextToPaths

Edición de flujos de contenido, fuentes

Descripción

Reescribe las instrucciones de visualización de texto en las páginas seleccionadas como invocaciones de Form XObject vectoriales, conservando la posición de los glifos, el espaciado del texto, el modo de escritura, las transformaciones, el color de relleno, el color de trazo y las opciones de trazo

Los contornos TrueType y Type 1 se extraen y reutilizan. Los CharProcs Type 3 pasan a Form XObjects conservando matriz, cuadro y recursos; se eliminan instrucciones de texto originales

La conversión es transaccional: analiza todas las capas y Forms en memoria antes de cambiar objetos. Fuentes no admitidas, recorte 4–7, estado malformado o recursos ambiguos fallan sin reescritura parcial

El texto convertido deja de poder buscarse, seleccionarse o extraerse como texto. Sigue siendo contenido vectorial escalable para renderización e impresión

Sintaxis

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

Parámetros

PageRangeExpresión de intervalo de páginas con números de página de base uno. Un valor vacío selecciona todas las páginas
OptionsCombinación bit a bit de PDF_TEXT_PATH_RECURSE_FORMS para convertir Form XObject anidados y PDF_TEXT_PATH_PURGE_FONTS para eliminar los recursos de fuentes de origen que dejan de utilizarse. PDF_TEXT_PATH_DEFAULT activa ambas opciones

Valores devueltos

1 or greaterNúmero de instrucciones de visualización de texto convertidas
0No se encontró texto que cumpliese los requisitos, el intervalo o las opciones no eran válidos o falló la conversión. Examine LastErrorCode para distinguir los errores

Códigos de error

506La fuente de origen no puede proporcionar un programa vectorial de glifos compatible
507Un modo de renderizado de recorte de texto requiere una ruta de recorte que no puede representarse mediante un Form de glifo independiente
508El programa de texto, el estado de fuente o el ámbito recursivo de recursos de Form tiene un formato incorrecto o es ambiguo

Ejemplo

Converted := PDF.ConvertTextToPaths('1-3,5', PDF_TEXT_PATH_DEFAULT);
If (Converted= 0)and (PDF.LastErrorCode<> 0) Then
  raise Exception.Create(PDF.LastError);