J'ai un fichier de modèle PDF avec des champs. Modèle créé par le client. Il a du texte, des étiquettes de champs et des champs lui-même. Le texte et les étiquettes utilisent des polices incorporées dans le modèle.Remplir des champs de modèle pdf avec des valeurs cyrilliques (itextsharp)
Des problèmes se produisent lorsque j'essaie de remplir des champs avec des valeurs cyrilliques - il n'y a pas de symboles cyrilliques dans le document de résultat.
J'ai vu beaucoup de problèmes similaires qui ont été résolus en utilisant la police de substitution pour AcroFields. Mais ici je ne peux pas utiliser une police spécifique pour la substitution, parce que je ne peux pas définir la police de champ dans le modèle. J'ai essayé de définir des polices différentes pour les champs dans Acrobat Editor - Times New Roman, Arial et d'autres polices Windows bien connues, mais il n'y a aucun effet dans le pdf résultant.
Exemple de code:
FontFactory.RegisterDirectory(Environment.GetFolderPath(Environment.SpecialFolder.Fonts));
using (var dest = File.Create(@"result.pdf"))
{
using (var stamper = new PdfStamper(reader, dest))
{
var fields = stamper.AcroFields;
fields.SetField("ClientName", "Имя клиента");
stamper.FormFlattening = true;
stamper.Close();
}
}
J'ai même enregistré toutes les polices disponibles dans FontFactory, mais il n'y avait pas d'effet. Les questions sont les suivantes: 1. Si je peux intégrer une police dans Adobe Acrobat utilisée uniquement pour les champs, alors comment le faire? 2. Si je peux définir une famille de polices pour un champ existant avec iTextSharp, alors comment le faire?
Donc la police est incorporée dans le PDF mais vous ne pouvez pas l'utiliser? Je commencerais là. Pouvez-vous taper manuellement dans le champ dans Adobe Acrobat et voir ce que vous attendez? Sinon, vous n'avez pas de polices intégrées ou elles ont une forme de corruption. Pouvez-vous poster le PDF? –
Je ne peux pas utiliser les polices intégrées car les polices ne sont pas installées sur ma machine. Fields utilise Arial ou Times New Roman, et je peux y taper des symbos cyrilliques, mais quand je fais ça avec iTextSharp, aucun symbole cyrillique n'est affiché. – Nogard