ConvertTextToPaths
Edição de stream de conteúdo, Fontes
Descrição
Reescreve as instruções de exibição de texto nas páginas selecionadas como invocações de Form XObject vetoriais, mantendo posicionamento de glifos, espaçamento de texto, modo de escrita, transformações, cor de preenchimento, cor de traço e configurações de traço
Contornos de glifos TrueType e Type 1 são extraídos uma única vez e reutilizados para glifos repetidos. CharProcs Type 3 são convertidos em Form XObjects comuns com sua matriz de fonte, bounding box e escopo de recursos preservados. As instruções originais de exibição de texto e de seleção de fonte são removidas
A conversão é transacional. Toda camada de conteúdo selecionada e todo Form aninhado solicitado é analisado e convertido em memória antes que qualquer objeto PDF seja alterado. Fontes não suportadas, modos de renderização de clipping de texto 4 a 7, estado de texto malformado e escopos de recursos Form compartilhados ambíguos falham sem reescrever parcialmente o documento
O texto convertido deixa de ser pesquisável, selecionável ou extraível como texto. Ele permanece conteúdo vetorial escalável para renderização e impressão
Sintaxe
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 | Expressão de faixa de páginas usando números de página com base 1. Um valor vazio seleciona todas as páginas |
|---|---|
| Options | Combinação bit a bit de PDF_TEXT_PATH_RECURSE_FORMS para converter Form XObjects aninhados e PDF_TEXT_PATH_PURGE_FONTS para remover recursos de fonte de origem que ficarem sem uso. PDF_TEXT_PATH_DEFAULT habilita as duas opções |
Valores retornados
| 1 or greater | Número de instruções de exibição de texto convertidas |
|---|---|
| 0 | Nenhum texto elegível foi encontrado, a faixa ou as opções eram inválidas, ou a conversão falhou. Inspecione LastErrorCode para distinguir os erros |
Códigos de erro
| 506 | A fonte de origem não consegue fornecer um programa de glifo vetorial suportado |
|---|---|
| 507 | Um modo de renderização de clipping de texto exige um clipping path que não pode ser representado por um Form de glifo independente |
| 508 | O programa de texto, o estado da fonte ou o escopo recursivo de recursos do Form está malformado ou é ambíguo |
Exemplo
Converted := PDF.ConvertTextToPaths('1-3,5', PDF_TEXT_PATH_DEFAULT);
If (Converted= 0)and (PDF.LastErrorCode<> 0) Then
raise Exception.Create(PDF.LastError);