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
| PageRange | Expressão de intervalo de páginas que utiliza 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 tipos de letra de origem que deixem de ser utilizados. PDF_TEXT_PATH_DEFAULT ativa ambas as opções |
Valores devolvidos
| 1 or greater | Número de instruções de apresentação de texto convertidas |
|---|---|
| 0 | Nã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
| 506 | O tipo de letra de origem não consegue fornecer um programa de glifos vetoriais suportado |
|---|---|
| 507 | Um 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 |
| 508 | O 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);