2011-03-15 3 views
2

J'essaie d'exporter des données de mon application Java vers un fichier pdf. J'ai décidé d'utiliser la bibliothèque pdfBox, mais j'ai réalisé que je ne pouvais pas faire les caractères grecs correctement affichés dans le fichier pdf. Y a-t-il un moyen de définir l'encodage? à utf8, ou iso-8859-7? J'essaie quelque chose comme PdFontEncoding ou Encoding mais je n'ai rien obtenu.Codage de texte Java PDFBOX

Nous vous remercions de votre temps.

Répondre

1

Il y a deux choses que vous devez faire:

  • Choisit l'encodage, et
  • fournissent une police des caractères grecs

Les polices encastrables que la plupart des lecteurs PDF ont (par exemple, Adobe Reader, OS X Preview, etc) ont seulement le codage latin1, qui n'inclut pas les caractères grecs. Voir http://libharu.sourceforge.net/fonts.html

Je suppose que ce problème n'est pas ici avec l'encodage, mais plutôt le problème de la police. Vous devrez obtenir une police avec des caractères grecs et l'intégrer dans le fichier PDF. Assurez-vous d'avoir une licence pour intégrer la police!

Voir aussi Using Java PDFBox library to write Russian PDF

+0

Merci Gutch pour votre réponse, je télécharger des polices de caractères grecs copie également des fenêtres font par exemple Verdana et je tente le code de la police 'PDFont = PDTrueTypeFont.loadTTF (doc, « verdana.ttf ");' mais le résultat est le même plus que je reçois le message d'erreur quand j'ouvre le fichier pdf _font verdana contient mauvais/widths_ Vous avez également dit que dans la première étape à _set the encoding_, comment puis-je le faire? – javment

+0

Ce message d'erreur a été signalé comme bug dans la version 1.4.0 de PDFBox (voir https://issues.apache.org/jira/browse/PDFBOX-954) - peut-être que 1.3.0 fonctionnera pour vous? – gutch

+0

Quant à la question sur la façon de définir l'encodage, je ne sais pas - je trouve que la documentation PDFBox manque un peu dans ce domaine! – gutch