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
| PageRange | Expresión de intervalo de páginas con números de página de base uno. Un valor vacío selecciona todas las páginas |
|---|---|
| Options | Combinació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 greater | Número de instrucciones de visualización de texto convertidas |
|---|---|
| 0 | No 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
| 506 | La fuente de origen no puede proporcionar un programa vectorial de glifos compatible |
|---|---|
| 507 | Un modo de renderizado de recorte de texto requiere una ruta de recorte que no puede representarse mediante un Form de glifo independiente |
| 508 | El 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);