ConvertTextToPaths

Edição de fluxos de conteúdo, tipos de letra

Descrição

Reescreve as instruções de apresentação de texto nas páginas selecionadas como invocações de Form XObject vetoriais, mantendo a colocação de glifos, o espaçamento do texto, o modo de escrita, as transformações, a cor de preenchimento, a cor do traço e as definições do traço

Os contornos de glifos TrueType e Type 1 são extraídos uma vez e reutilizados para glifos repetidos. Os CharProcs Type 3 são convertidos em Form XObjects normais, preservando a respetiva matriz de tipo de letra, caixa delimitadora e âmbito de recursos. As instruções originais de apresentação de texto e seleção de tipos de letra são removidas

A conversão é transacional. Todas as camadas de conteúdo selecionadas e todos os Form aninhados pedidos são analisados e convertidos em memória antes de qualquer objeto PDF ser alterado. Tipos de letra não suportados, modos de composição de texto com recorte de 4 a 7, um estado de texto malformado e âmbitos ambíguos de recursos Form partilhados provocam uma falha sem reescrever parcialmente o documento

O texto convertido deixa de ser pesquisável, selecionável ou extraível como texto. Mantém-se como conteúdo vetorial escalável para composiçã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 intervalo de páginas que utiliza 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 tipos de letra de origem que deixem de ser utilizados. PDF_TEXT_PATH_DEFAULT ativa ambas as opções

Valores devolvidos

1 or greaterNúmero de instruções de apresentação de texto convertidas
0Não foi encontrado texto elegível, o intervalo ou as opções eram inválidos ou a conversão falhou. Inspecione LastErrorCode para distinguir os erros

Códigos de erro

506O tipo de letra de origem não consegue fornecer um programa de glifos vetoriais suportado
507Um modo de composição de recorte de texto requer um caminho de recorte que não pode ser representado por um Form de glifo independente
508O programa de texto, o estado do tipo de letra ou o âmbito recursivo dos recursos de 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);