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
| PageRange | Expression de plage utilisant des numéros de page à partir de 1 Une valeur vide sélectionne toutes les pages |
|---|---|
| Options | Combinaison 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 greater | Nombre d’instructions d’affichage de texte converties |
|---|---|
| 0 | Aucun 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
| 506 | La police source ne peut pas fournir de programme de glyphe vectoriel pris en charge |
|---|---|
| 507 | Un 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 |
| 508 | Le 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);