Graphiques vectoriels dans iText PDF
Nous utilisons la bibliothèque iText pour générer des fichiers Pdf à partir de Java (basé en partie sur les recommandations sur ce site). Toutefois, l'incorporation d'une copie de notre logo dans un format d'image comme le format GIF permet de chercher un peu étrange comme les gens de zoomer et de dézoomer.
Idéalement, nous aimerions insérer l'image dans un format vectoriel, EPS, SVG ou tout simplement un gabarit PDF. Le site prétend que les EPS de soutien a été abandonné, que l'incorporation d'un fichier PDF ou PS sein d'un document PDF peut entraîner des erreurs, et il ne fait même pas mention de SVG.
Notre code utilise la Graphics2D API plutôt que iText directement, mais nous serions prêts à sortir de l'AWT mode et de l'utilisation de la bibliothèque iText même si il a obtenu le résultat. Comment cela peut-il être fait?
source d'informationauteur Marcus Downing
Vous devez vous connecter pour publier un commentaire.
Selon la la documentation iText prend en charge les formats d'image: JPEG, GIF, PNG, TIFF, BMP, WMF et EPS. Je ne sais pas si cela peut vous être d'une quelconque aide, mais j'ai utilisé avec succès iTextSharp à intégrer vecteur WMF image dans un fichier pdf:
C#:
Ce que j'ai tiré de posts que j'ai trouvé ici et la officiel exemples:
L'Image instance peut l'être facilement ajouté à la pdf (dans mon cas, comme une signature).
J'ai trouvé quelques exemples par les iText auteur qui utilisent le Graphics2D de l'API et de l'Apache Batik bibliothèque pour dessiner le SVG dans un document PDF.
http://itextpdf.com/examples/iia.php?id=269
http://itextpdf.com/examples/iia.php?id=263
Pour mes fins, j'avais besoin de prendre une corde de SVG et de puiser dans un fichier PDF à une certaine taille et l'emplacement tout en maintenant le vecteur de la nature de l'image (pas de pixellisation).
J'ai voulu contourner le fichier SVG qui semble répandue dans les SAXSVGDocumentFactory.createSVGDocument (). J'ai trouvé le post suivant utiles pour l'utilisation de SVG chaîne de texte au lieu d'un fichier plat.
http://batik.2283329.n4.nabble.com/Parse-SVG-from-String-td3539080.html
Source Java dérivé de la iText exemples:
Noter que ceci va dessiner un SVG au format PDF que vous travaillez sur. Le SVG apparaît comme une couche flottante au-dessus du texte. Je travaille toujours sur le déplacement, mise à l'échelle, et il reste dans le corps du texte, mais j'espère que c'est à l'extérieur de la portée de la question.
Espère que cela a pu aider.
Acclamations
EDIT: j'ai pu mettre en œuvre mes svg comme un objet en ligne à l'aide de la suite. Les lignes commentées sont pour l'ajout d'un rapide frontière pour vérifier le positionnement.
J'ai appris récemment que vous pouvez envoyer votre objet Graphics2D directement à la bibliothèque iText, et les fichiers PDF sont aussi bonnes que les scalable vector graphics. À partir de votre post, il semble que cela pourrait résoudre votre problème.