ConvertTextToPaths

Modification des flux de contenu, polices

Description

Réécrit les instructions d’affichage de texte des pages sélectionnées sous forme d’appels de Form XObject vectoriels tout en conservant le placement des glyphes, l’espacement du texte, le mode d’écriture, les transformations, les couleurs de remplissage et de contour ainsi que les paramètres du contour

Les contours de glyphes TrueType et Type 1 sont extraits une fois puis réutilisés. Les CharProcs Type 3 sont convertis en Form XObjects ordinaires tout en préservant leur matrice de police, cadre de délimitation et portée de ressources. Les instructions d’affichage de texte et de sélection de police d’origine sont supprimées

La conversion est transactionnelle. Chaque couche sélectionnée et Form imbriqué demandé est analysé et converti en mémoire avant toute modification d’objet PDF. Les polices non prises en charge, modes de détourage de texte 4 à 7, états de texte mal formés et portées ambiguës de ressources Form partagées échouent sans réécriture partielle

Le texte converti ne peut plus être recherché, sélectionné ni extrait comme texte. Il reste un contenu vectoriel redimensionnable pour le rendu et l'impression

Syntaxe

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);

Paramètres

PageRangeExpression de plage utilisant des numéros de page à partir de 1 Une valeur vide sélectionne toutes les pages
OptionsCombinaison binaire de PDF_TEXT_PATH_RECURSE_FORMS pour convertir les Form XObjects imbriqués et de PDF_TEXT_PATH_PURGE_FONTS pour supprimer les ressources de police source devenues inutilisées. PDF_TEXT_PATH_DEFAULT active les deux options

Valeurs de retour

1 or greaterNombre d’instructions d’affichage de texte converties
0Aucun texte admissible n'a été trouvé, la plage ou les options n'étaient pas valides, ou la conversion a échoué. Consultez LastErrorCode pour distinguer les erreurs

Codes d’erreur

506La police source ne peut pas fournir de programme de glyphe vectoriel pris en charge
507Un mode de rendu avec détourage du texte exige un chemin de détourage qui ne peut pas être représenté par un Form de glyphe indépendant
508Le programme de texte, l'état de la police ou la portée récursive de ressources Form est mal formé ou ambigu

Exemple

Converted := PDF.ConvertTextToPaths('1-3,5', PDF_TEXT_PATH_DEFAULT);
If (Converted= 0)and (PDF.LastErrorCode<> 0) Then
  raise Exception.Create(PDF.LastError);