2016-09-19 4 views

Répondre

1

J'ai trouvé la solution suivante après une boucle essayer fail-et-:

 float[] col = new float[]{0,0.5f,0}; 
     Color szin = Color.makeColor(Color.GREEN.getColorSpace(), col); 
     Canvas canvas = new Canvas(pdfCanvas, pdfDoc, page.getPageSize()); 
     canvas.setProperty(Property.FONT_COLOR, szin); 

Au début, je ne savais pas comment puis-je obtenir/définir cet espace colorimétrique, ce qui était requis comme premier paramètre de la méthode makeColor. Une fois connecté les opérations suivantes

LOGGER.info(Color.GREEN.getColorSpace().getPdfObject()); 

j'ai vu, il est une Relatifs RVB, alors peut-être que je devrais préciser le second flotteur [] avec 3 éléments (non 4, comme CMYK).

Info: 2464035 [http-auditeur-1 (3)] INFO fornax.hu.pdf.generate.PdfCreator2 -/DeviceRGB

L'autre gros problème était, comment dois-je régler le flotteur valeurs. La pointe logique était pour un vert foncé est 62,172,62, mais je n'ai rien vu. J'ai dû réaliser, 0 agissant en tant que 0, mais n'importe quel nombre supérieur à 1 agissent en tant que 255 dans la couleur de résultat, ainsi essayé de placer des valeurs entre 0 et 1, et j'ai eu le JACKPOT!

test color 1 avec {1,0.5f, 0} { test color 2 avec 0,0.5f, 0}

grand merci pour les rédacteurs de documentation iText7, qui ont été incapables d'insérer aucun exemple pour ce genre de choses très très basique pour noobs comme moi.

+1

Ne hésitez pas à soumettre une demande de traction qui améliore les javadocs: https://github.com/itext/itext7/pulls. En ce qui concerne la documentation sur http://developers.itextpdf.com/examples-itext7, il s'agit d'un processus continu et la documentation continue de croître presque quotidiennement, très souvent en fonction des questions Stack Overflow comme la vôtre. –

3

J'utiliser ce code pour personnaliser la couleur du texte:

com.itextpdf.kernel.color.Color myColor = new DeviceRgb(255, 100, 20); 
Paragraph colorPara = new Paragraph("text with color").setFontColor(myColor); 
+0

Sympa, c'est mieux que ce que j'ai compris. (new DeviceRgb a un autre constructeur avec des paramètres float, et que l'on utilise l'intervalle 0-1, mais le constructeur utilisant les paramètres int est plus favorable aux développeurs) – Balagex