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

PageRangeExpressão de faixa de páginas usando números de página com base 1. Um valor vazio seleciona todas as páginas
OptionsCombinaçã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 greaterNúmero de instruções de exibição de texto convertidas
0Nenhum 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

506A fonte de origem não consegue fornecer um programa de glifo vetorial suportado
507Um modo de renderização de clipping de texto exige um clipping path que não pode ser representado por um Form de glifo independente
508O 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);