How2: Ajouter un Composite à un Document, puis exporter au format PDF
premier post jamais sur un forum quant à la programmation... j'ai l'habitude de recherche juste en attendant que je trouve la réponse... mais cette fois, im vraiment coincé...
voici le problème...
j'ai une Composite, et récemment découvert que itext vous donne un moyen d'exporter des IHM Java au format PDF...
je ne peux pas l'air de comprendre itext du langage, ni comment ajouter un simple Composite à un document, puis exporter le document au format PDF... c'est tout ce que j'ai en ce moment...
import java.io.FileOutputStream;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.*;
import java.awt.Color;
import javax.swing.*;
public class HelloWorld {
public static void main(String[] args) {
try
{
//Panel creation and setup
JPanel panel = new JPanel();
//just to ensure that the panel has content...
JLabel label = new JLabel("i am a label");
panel.add(label);
panel.setSize(100,100);
//so that even if the label doesnt get added...
//i can see that the panel does
panel.setBackground(Color.red);
//my understanding of the code below: the virtual document
Document document = new Document();
//my interpretation just writes the virtual pdf document to the hdd
PdfWriter writer = PdfWriter.getInstance
(document, new FileOutputStream("C:/test.pdf"));
//begin editing the vpdf
document.open();
//i wanna do something like this
//document.add(panel);
//end editing the vpdf
document.close();
} catch (Exception e)
{
System.out.println(e);
}
}
veuillez s'il vous plaît aider... j'ai essayé de faire le code le plus court possible pour éviter les trucs inutiles...
merci d'avance...
Craig
J'aimerais avoir le code, s'il vous plaît. Merci à l'avance.
OriginalL'auteur | 2010-12-23
Vous devez vous connecter pour publier un commentaire.
Vous devez appeler
print
sur le panneau et spécifier le fichier pdf de la carte graphique à l'impression, comme indiqué ci-dessous:writer.setPageEmpty(false)
avant d'appelerdocument.close()
. iText n'aime pas les pages vides.Cela a parfaitement fonctionné! =] je vous remercie beaucoup de prendre le temps, surtout pendant cette période de l'année. joyeux noël "dogbane"... tu es une star
j'ai essayé de tourner le document à exporter le pdf au format A4 en mode paysage... j'ai donc utilisé ce: Document document = new Document(PageSize.A4.rotate()); le programme s'exécute (comme il se doit)... mais lors de l'export en pdf... il y a un document pdf en mode paysage, mais il n'y a rien sur le document!...
ok, donc j'ai été jouer avec le code... semble que lorsque j'ai mis le createTemplate() & createGraphics différemment les valeurs, où la hauteur > largeur... il fonctionne très bien. cependant j'ai encore de la difficulté... ce n'createTemplate & createGraphics signifie réellement?? ma compréhension est juste que le code crée un graphique titulaire pour une sorte de graphique qui avait largeur & hauteur égale aux valeurs que vous avez définies. et que graphique attend le sorta de l'objet à peindre pour... comme pour le createTemplate méthode... je n'ai aucune idée. im juste de penser logiquement...
les gars, enfin résolu, si quelqu'un souhaite le code: envoyez-moi un message
OriginalL'auteur dogbane