Example usage for com.itextpdf.text Image getInstance

List of usage examples for com.itextpdf.text Image getInstance

Introduction

In this page you can find the example usage for com.itextpdf.text Image getInstance.

Prototype

public static Image getInstance(final Image image) 

Source Link

Document

gets an instance of an Image

Usage

From source file:gestionContratsTravail.GenererPdfContratTravail.java

private static void ajoutContenu(Document document) throws DocumentException, BadElementException, IOException {

    Chapter catPart = new Chapter(new Paragraph(/*contenu*/), 1);
    catPart.add(Image.getInstance(entete));
    catPart.setNumberDepth(0); //on supprime la numerotation du titre du paragraphe

    //on formate la date du jour
    DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
    String date = format.format(new Date());

    Paragraph subPara = new Paragraph("CONTRAT DE TRAVAIL", subFont);
    subPara.setAlignment(Element.ALIGN_CENTER);
    Section subCatPart = catPart.addSection(subPara, 0); //on affiche le sous titre sans numrotation
    subCatPart.add(Image.getInstance(imageBanniere));
    subCatPart.add(new Paragraph(" ")); //on insre une ligne vide
    subCatPart.add(new Paragraph("L'employeur : ", subFont));
    subCatPart.add(new Paragraph("       Raison sociale de l'entreprise : Compagnie  NEZDAMES & NEZSIEURS"));
    subCatPart.add(new Paragraph("       S.I.R.E.T. N:  491 378 766 000 27           APE/NAF : 9001Z"));
    subCatPart.add(new Paragraph("       Licence: 2-1034518"));
    subCatPart.add(new Paragraph("       Adresse: LES AIGLADINES      30140 MIALET"));
    subCatPart.add(new Paragraph("       Reprsente par : Nicolas DUPREY   -        Tl :  0 610 333 555"));
    subCatPart.add(new Paragraph("       en sa qualit de Prsident   -     Mail : cie.nezdames@gmail.com"));
    subCatPart.add(new Paragraph("               Ci-aprs dnomm  LE PRODUCTEUR  dune part,"));
    subCatPart.add(new Paragraph("Le salari : ", subFont));
    subCatPart.add(new Paragraph("       Nom, prnom, pseudonyme : ROUSSEL Michel dit Lon"));
    subCatPart.add(new Paragraph(
            "       Adresse : " + "     NAF : Le Calistou  Les Aigladines\n" + "30140 MIALET"));
    subCatPart.add(new Paragraph("       Date et lieu de naissance : 15/01/1957  HONFLEUR (14)"));
    subCatPart.add(new Paragraph("       Nationalit : " + "    FRANCAISE. :"));
    subCatPart.add(new Paragraph("       N S.S. / titre de travail : " + "    1 67 01 14 334 017 89. : "));
    subCatPart.add(new Paragraph("               Ci-aprs dnomm  L'ORGANISATEUR  dautre part,"));
    subCatPart.add(new Paragraph(" "));
    subCatPart.add(new Paragraph("IL EST PREALABLEMENT EXPOSE CE QUI SUIT : ", subFont));
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    subCatPart.add(new Paragraph(
            "1 - LE PRODUCTEUR dispose du droit de prsentation en France et dans les pays concerns par la prsente, du spectacle suivant, pour lequel il sest assur le concours des artistes ncessaires  sa prsentation."));
    subCatPart.add(new Paragraph(
            "    Titre du Spectacle : " + leContrat.getLeSpectacleDuContratDeCession().getTitre(), smallBold));
    subCatPart.add(new Paragraph(
            "    Numro d'objet : " + leContrat.getLeSpectacleDuContratDeCession().getNumeroObjet(),
            smallBold));//from   www .  j  a  v  a2 s .co  m
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    subCatPart.add(new Paragraph(
            "2 - LORGANISATEUR sest assur de disposer des autorisations administratives en vigueur pour prsenter le spectacle susnomm et il sest assur de la disponibilit du(des) lieu(x) prcis(s) dans l'article 1er du prsent contrat,"));
    subCatPart.add(new Paragraph(
            "dont le producteur dclare connatre et accepter les caractristiques techniques."));
    subCatPart.add(new Paragraph(" "));
    subCatPart.add(new Paragraph("CECI ETANT EXPOSE, IL EST CONVENU ET ARRETE CE QUI SUIT:", subFont));
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    subPara = new Paragraph("Article 1er. OBJET", subFont);
    subCatPart = catPart.addSection(subPara, 0); //on affiche le sous titre sans numrotation
    subCatPart.add(new Paragraph(
            "LORGANISATEUR et le PRODUCTEUR sassocieront pour raliser en commun, dans les conditions dfinies ci-aprs et dans le cadre du prsent contrat de cession de droit, "
                    + leContrat.getLesRepresentations().size() + " reprsentation(s)"));
    for (Representation uneRepresentation : leContrat.getLesRepresentations()) {
        subCatPart.add(new Paragraph("-  Date : " + uneRepresentation.getDate(), smallBold));
        subCatPart.add(new Paragraph("   Horaire  : " + uneRepresentation.getHeureDebut()));
        subCatPart.add(new Paragraph("   Lieu de la reprsentation : " + uneRepresentation.getLeLieu().getNom()
                + " " + uneRepresentation.getLeLieu().getAdresseRue() + " "
                + uneRepresentation.getLeLieu().getAdresseVille(), smallBold));
        subCatPart.add(new Paragraph("   Dure du jeu  : "
                + leContrat.getLeSpectacleDuContratDeCession().getDuree() + " minutes "));
    }

    subCatPart.add(new Paragraph(
            "Cette collaboration ne constitue aucune forme dassociation ou de socit entre les parties."));
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    subPara = new Paragraph("Article 2. OBLIGATIONS DU PRODUCTEUR", subFont);
    subCatPart = catPart.addSection(subPara, 0); //on affiche le sous titre sans numrotation
    subCatPart.add(new Paragraph(
            "2.1. GENERALITES : LE PRODUCTEUR sengage  fournir le spectacle dcrit entirement mont et assumera la responsabilit artistique de la prestation.\n"));
    subCatPart.add(new Paragraph(
            "Le spectacle comprendra les costumes et accessoires et dune manire gnrale tous les lments ncessaires  sa reprsentation. En qualit demployeur"));
    subCatPart.add(new Paragraph(
            "2.2 CONDITIONS TECHNIQUES : LE PRODUCTEUR adressera  LORGANISATEUR la fiche technique du spectacle et les conditions de cantine et de restauration de son personnel sur le lieu de reprsentation en mme temps que le prsent contrat. LORGANISATEUR dclare en avoir pris connaissance et en accepter lensemble des clauses"));
    subCatPart.add(new Paragraph(
            "2.3. PUBLICITE : Le PRODUCTEUR fournira les lments ncessaires  la publicit et  la promotion du spectacle : les dossiers de presse et photos seront envoys gracieusement au nombre dexemplaires convenus avec LORGANISATEUR"));
    subCatPart.add(new Paragraph(
            "2.4. SECURITE : Le PRODUCTEUR sengage  respecter et/ou  faire respecter la lgislation et la rglementation en vigueur relatives  la scurit du spectacle quil fournit."));
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    subPara = new Paragraph("Article 3. OBLIGATIONS DE LORGANISATEUR", subFont);
    subCatPart = catPart.addSection(subPara, 0); //on affiche le sous titre sans numrotation
    subCatPart.add(new Paragraph(
            "3.1. GENERALITES : LORGANISATEUR fournira le lieu de reprsentation en ordre de marche, y compris la sonorisation et les clairages (selon fiche technique), et le personnel ncessaire au dchargement et au rechargement, au montage et au dmontage, et au service des reprsentations. Il assurera en outre le service gnral du lieu : location, accueil, billetterie, encaissement et comptabilit des recettes et service de scurit ventuel. En sa qualit demployeur, il assumera les rmunrations, charges sociales et fiscales comprises, de son personnel attach au spectacle. Le lieu de reprsentation ne pourra tre modifi par lorganisateur sans laccord crit du producteur."));
    subCatPart.add(new Paragraph(
            "3.2. CONDITIONS TECHNIQUES : LORGANISATEUR sengage  respecter les conditions techniques dfinies globalement par la fiche technique annexe et module en fonction de la visite pralable du lieu de reprsentation, ou  lissue dun contact tlphonique, par un interlocuteur technique de la Cie NEZDAMES&NEZSIEURS au moins un mois avant la premire reprsentation; besoins quil dclare connatre et accepter. Dans le cas o il serait dans limpossibilit dhonorer une ou plusieurs conditions de cette fiche technique, il devra contacter LE PRODUCTEUR. La non-observation de ces conditions sans accord de ce dernier entranerait la responsabilit de LORGANISATEUR."));
    subCatPart.add(new Paragraph(
            "LORGANISATEUR adressera au PRODUCTEUR, avec le contrat sign, le plan de ville portant les indications suivantes : lieu du spectacle, htel, restaurant, gare."));
    subCatPart.add(new Paragraph(
            "3.3. LOGE : Afin de prsenter le spectacle dans des conditions de qualit optimum, les comdiens disposeront dune loge propre et chauffe, elles comporteront : tables, chaises, lavabos, miroirs, clairages et prise de courant. Elles devront fermer  cl. LORGANISATEUR mettra dans ces loges,  disposition des artistes et de lquipe technique, ds leur arrive : eau, coca cola, caf, th, fruits, un catering et si possible des serviettes de bain"));
    subCatPart.add(new Paragraph(
            "3.4. MONTAGE-DEMONTAGE : LORGANISATEUR tiendra les lieux de reprsentation  la disposition du PRODUCTEUR au moins 2 heures avant la premire reprsentation pour permettre deffectuer le montage, les rglages et dventuels raccords."));
    subCatPart.add(new Paragraph("Le dmontage sera effectu  lissue de la dernire reprsentation"));
    subCatPart.add(new Paragraph(
            "3.5. JAUGE : LORGANISATEUR sengage  ce que le nombre des spectateurs admis dans le lieu de reprsentation soir strictement infrieur aux quotas dfinis dans les prescriptions de scurit dtermine par la commission de scurit comptente. Dune manire gnrale, il sengage  respecter et/ou  faire respecter la lgislation et la rglementation en vigueur relatives  la scurit. LORGANISATEUR assurera le service de scurit sur le lieu du spectacle et fera en sorte quil ny ait pas de nuisances sonores pouvant porter prjudice au jeu des acteurs."));
    subCatPart.add(new Paragraph(
            "3.6. BILLETTERIE : Lorganisateur sera responsable de ltablissement de la billetterie et en supportera le cot. Il sera galement responsable de sa mise en vente, de lencaissement de la recette correspondante et de la mise en place des services et personnels de contrle. Dans le cas o limage de lartiste serait reproduite sur les billets, lorganisateur devra imprativement obtenir laccord pralable du producteur (bon  tirer)."));
    subCatPart.add(new Paragraph(
            "Les droits dauteur lis aux reprsentations du spectacle sont  la charge de lORGANISATEUR qui en assurera le paiement."));
    subCatPart.add(new Paragraph(
            "3.7. AUTORISATIONS : Lorganisateur sera responsable de la demande et de lobtention des ventuelles autorisations administratives relatives  la reprsentation : taxes, impts, droits dauteurs (SACEM) ou autres. Il communiquera au producteur lesdites autorisations avant le spectacle. Il sassurera, par ailleurs, de la mise en place des services de secours mdical et damnagement de la circulation automobile."));
    subCatPart.add(new Paragraph(
            "3.8. PUBLICITE : LORGANISATEUR aura  sa charge la publicit, la promotion, laffichage, ainsi que les frais qui en rsultent. Il sefforcera, en matire de publicit, de respecter lesprit gnral de la documentation fournie par LE PRODUCTEUR et observera scrupuleusement les ventuelles mentions obligatoires."));
    subCatPart.add(new Paragraph(
            "3.9. PROMOTION : Aucune enseigne de partenaires mdiatiques ou commerciaux ne pourra apparatre devant et dans le lieu de reprsentation, et en particulier sur la scne ou sur les enceintes de diffusion, autre que celles contractuellement agres par le PRODUCTEUR."));
    subCatPart.add(new Paragraph(
            "3.10. PREMIERE PARTIE : Aucune premire partie au spectacle objet au prsent contrat ne pourra tre programme sans autorisation pralable crite par le PRODUCTEUR."));
    subCatPart.add(new Paragraph(
            "3.11. INVITATIONS : Lorganisateur sengage  mettre  la disposition du PRODUCTEUR jusqu 2 places exonres pour la/les reprsentation(s) objet du prsent contrat."));
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    subPara = new Paragraph("Article 4. HEBERGEMENT, RESTAURATION, TRANSPORT", subFont);
    subCatPart = catPart.addSection(subPara, 0); //on affiche le sous titre sans numrotation
    subCatPart.add(new Paragraph("4.1 FRAIS DHEBERGEMENT ET DE RESTAURATION"));
    subCatPart.add(
            new Paragraph("Ils seront  la charge de lorganisateur, suivant les modalits dfinies :"));
    subCatPart.add(new Paragraph("Restauration : RAS"));
    subCatPart.add(new Paragraph("Hbergement : RAS"));
    subCatPart.add(new Paragraph("4.2. TRANSPORT : RAS"));
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    subPara = new Paragraph("Article 5. PAIEMENT", subFont);
    subCatPart = catPart.addSection(subPara, 0); //on affiche le sous titre sans numrotation
    subCatPart.add(new Paragraph("PRIX DU SPECTACLE  PAIEMENT"));
    subCatPart.add(new Paragraph(
            "5.1. PRIX : A titre exceptionnel cette reprsentation est ralise  titre gratuit."));
    subCatPart.add(new Paragraph(
            "LORGANISATEUR sacquittera nanmoins en sus de toute taxe qui viendrait  tre cre par la puissance publique"));
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    subPara = new Paragraph("Article 6. ASSURANCES", subFont);
    subCatPart = catPart.addSection(subPara, 0); //on affiche le sous titre sans numrotation
    subCatPart.add(new Paragraph(
            "Le PRODUCTEUR est tenu dassurer contre tous les risques pouvant subvenir  loccasion des transports et entreposages excuts entre deux reprsentations tout objet lui appartenant ou appartenant  son personnel. Il dclare en outre avoir souscrit toutes les assurances ncessaires  ses dispositifs techniques."));
    subCatPart.add(new Paragraph(
            "LORGANISATEUR dclare avoir souscrit les assurances ncessaires  la couverture des risques lis  lexploitation du spectacle dans son lieu, notamment en matire de responsabilit civile ainsi que les assurances ncessaires  la couverture des risques lis aux prsentations de lintervention spectaculaire sur le parcours en question."));
    subCatPart.add(new Paragraph(
            "Il mettra  la disposition du producteur des loges fermant  cl et sera responsable de la protection et du gardiennage de tout objet appartenant au producteur."));
    subCatPart.add(new Paragraph(
            "Dans le cas dun spectacle en plein air, le producteur et lorganisateur sengagent  souscrire une assurance couvrant les risques dintempries pour les frais incombant  chacun, tant entendu que cette assurance ncessite une couverture de scne."));
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    subPara = new Paragraph("Article 7. RESPONSABILITE", subFont);
    subCatPart = catPart.addSection(subPara, 0); //on affiche le sous titre sans numrotation
    subCatPart.add(new Paragraph(
            "Chaque partie garantie lautre contre tous recours des personnels, fournisseurs et prestataires dont elle a personnellement la charge au titre des obligations respectives dfinies au prsent contrat."));
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    subPara = new Paragraph("Article 8. ENREGISTREMENT - DIFFUSION - PHOTOS - VIDEOS", subFont);
    subCatPart = catPart.addSection(subPara, 0); //on affiche le sous titre sans numrotation
    subCatPart.add(new Paragraph(
            "8.1. LE PRODUCTEUR aura la possibilit dorganiser une sance photo ou un tournage vido de son spectacle sur le parcours de LORGANISATEUR."));
    subCatPart.add(new Paragraph(
            "8.2. En dehors des missions dinformations radiophoniques ou tlvises dune dure de trois minutes au plus, tout enregistrement ou diffusion, mme partiel, des reprsentations, objet du prsent contrat, devra faire lobjet dun accord crit de la part du producteur."));
    subCatPart.add(new Paragraph(
            "8.3. LORGANISATEUR sengage  faire figurer le nom  Cie Nezdames et Nezsieurs dans ses communiqus de presse et  lui faire parvenir tout article de presse mentionnant la ou les prestation(s) en question."));
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    subPara = new Paragraph("Article 9. EXTERIEUR", subFont);
    subCatPart = catPart.addSection(subPara, 0); //on affiche le sous titre sans numrotation
    subCatPart.add(new Paragraph(
            "9.1. Il est prcis que la pluie ou le mauvais temps ne constituent pas un cas de force majeure. Toutefois, en cas de pluie ou de mauvais temps, LORGANISATEUR se doit davoir prvu une salle couverte de repli, le prix de la reprsentation reste d au PRODUCTEUR que la prestation ait lieu ou non."));
    subCatPart.add(new Paragraph(
            "9.2. En cas de spectacle en plein air, LORGANISATEUR veillera tout particulirement  la totale isolation du matriel lectrique du lieu tant vis  vis du sol que des intempries. Le non-respect de cette clause justifiera  elle seule le refus de jouer sans quil soit alors possible de rechercher la responsabilit du PRODUCTEUR."));
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    subPara = new Paragraph("Article 10. ANNULATION - FORCE MAJEURE", subFont);
    subCatPart = catPart.addSection(subPara, 0); //on affiche le sous titre sans numrotation
    subCatPart.add(new Paragraph(
            "10.1. Le prsent contrat se trouverait annul de plein droit et sans indemnits daucune sorte dans tous les cas de force majeure entranant limpossibilit de reprsenter lintervention spectaculaire vis, sauf  tudier pralablement la possibilit den repousser lapplication dans le temps pour la plus proche saison."));
    subCatPart.add(new Paragraph(
            "10.2. Les parties conviennent dentendre comme cas de force majeure au sens du prsent contrat : guerre, rvolution, inondation, grve gnrale tant du point de vue gographique que du point de vue des catgories socio-professionnelles concernes, meutes, accident de la route des artistes se rendant au(x) intervention(s) sus-mentionne(s), pidmies, maladie dment constate de lun des artistes vedettes ou tout vnement prsentant cumulativement les caractres dirrfutabilit et dimprvisibilit."));
    subCatPart.add(new Paragraph(
            "10.3. Tout autre cas dannulation du fait de lune des parties dfaillantes entrane lobligation de verser  lautre  titre de clause pnale une indemnit gale  la totalit des cachets dus en vertu de larticle 5 supra.  "));
    subCatPart.add(new Paragraph(
            "Additionellement, toute annulation de fait de lune des parties entranerait pour la partie dfaillante, lobligation de verser  lautre une indemnit calcule en fonction des frais effectivement engags par cette dernire au moment de la rupture. A titre dexemple, si LORGANISATEUR rompt le contrat alors que lquipe est en route ou se trouve dj sur le lieux, LE PRODUCTEUR recevra en sus des droits de cession convenus la somme totale des frais de transport et les dfraiements fixs  lannexe N1."));
    subCatPart.add(new Paragraph(
            "Le prsent contrat se trouverait suspendu ou annul de plein droit et sans aucune indemnit daucune sorte, dans tous les cas reconnus de force majeure :"));
    subCatPart.add(new Paragraph(
            "-    titre dexemple, la maladie de membres trs importants du groupe dont LORGANISATEUR est inform avant le dbut du spectacle est considr comme tel,"));
    subCatPart.add(new Paragraph(
            "-   par contre, linterdiction de prsenter le spectacle prononce ultrieurement  la signature du contrat par les autorits locales nest pas considr comme tel."));
    subCatPart.add(new Paragraph(""));
    subCatPart.add(new Paragraph(""));
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    subPara = new Paragraph("Article 11. SIGNATURE", subFont);
    subCatPart = catPart.addSection(subPara, 0); //on affiche le sous titre sans numrotation
    subCatPart.add(new Paragraph(
            "Le prsent engagement nest valable que revtu de la signature des deux parties, sans aucun rajout ni rature sauf  ce que ceux-ci fassent lobjet dun paraphe de chacune des parties dans leur marge avec mention exacte des types doprations effectues et que le rcapitulatif de ces rajouts ou suppressions soit mentionn sous le dernier article des prsentes."));
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    subPara = new Paragraph("Article 12. REGLEMENT DES CONFLITS", subFont);
    subCatPart = catPart.addSection(subPara, 0); //on affiche le sous titre sans numrotation
    subCatPart.add(new Paragraph(
            "En cas de dsaccord, de contestation, ou de non-respect du prsent accord, les deux parties sefforceront de trouver un arrangement  lamiable avant de porter le litige devant le tribunal de commerce de MONTPELLIER. Le prsent contrat est soumis exclusivement au droit franais."));
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    subPara = new Paragraph("Article 13. RETOUR DU CONTRAT", subFont);
    subCatPart = catPart.addSection(subPara, 0); //on affiche le sous titre sans numrotation
    subCatPart.add(new Paragraph(
            "Un exemplaire du prsent contrat devra tre sign et retourn au PRODUCTEUR dans les 10 jours, dernier dlai. "));
    subCatPart.add(new Paragraph(
            "Au del du dlai indiqu, en cas de non signature par lune des parties, le signataire sera dgag de toute obligation  lgard de lautre partie."));
    subCatPart.add(new Paragraph(" "));
    subCatPart.add(new Paragraph(" "));
    subCatPart.add(new Paragraph("Fait  Montpellier le " + date + ", en deux exemplaires"));
    subCatPart.add(new Paragraph(" "));
    subCatPart.add(new Paragraph("Nombre de pages (y compris les annexes) : "));
    subCatPart.add(new Paragraph("Nombre de mots rays ou nuls : "));
    subCatPart.add(new Paragraph("Nombre de mots rajouts :"));
    subCatPart.add(new Paragraph(" "));
    subCatPart.add(new Paragraph(
            "LE PRODUCTEUR                                                             LORGANISATEUR"));
    subCatPart.add(new Paragraph("Nicolas DUPREY                                         "));
    //on saute une ligne
    subCatPart.add(new Paragraph(" "));

    document.add(catPart);

}

From source file:gestionsessions.FenSession.java

private void jTableGestionSessionMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTableGestionSessionMouseClicked
    Document document = new Document();
    String req;/*from   w w w.  j  a va  2  s .c  o  m*/
    int nbLignes = 0;
    // Creation d'une PdfPTable avec 5 colonnes
    final PdfPTable table = new PdfPTable(5);
    try {
        PdfWriter.getInstance(document,
                new FileOutputStream(System.getProperty("user.dir") + "//listeEmargementSession.pdf"));
        document.open();
        //en tte du pdf
        Image logo = Image.getInstance("logo.png");
        logo.scaleAbsolute(120f, 67f);
        document.add(logo);
        //on indique la marge
        document.add(new Phrase("\n\n\nMarge dgage par la session: "
                + jTableGestionSession.getValueAt(jTableGestionSession.getSelectedRow(), 9).toString()
                + ""));
        document.add(new Phrase("\n\nListe d'margement de la session "));
        document.add(new Phrase(
                jTableGestionSession.getValueAt(jTableGestionSession.getSelectedRow(), 0).toString()));
        document.add(new Phrase(
                " / " + jTableGestionSession.getValueAt(jTableGestionSession.getSelectedRow(), 1).toString()));
        document.add(new Phrase(
                " / " + jTableGestionSession.getValueAt(jTableGestionSession.getSelectedRow(), 2).toString()));
        document.add(new Phrase(" / "
                + jTableGestionSession.getValueAt(jTableGestionSession.getSelectedRow(), 3).toString() + ":"));
        // Ajout d'un espace entre la PdfPTable et l'lment prcdent.
        table.setSpacingBefore(15f);
        //requte pour les personnes inscrites
        stmt1 = GestionBdd.connexionBdd(GestionBdd.TYPE_MYSQL, "formarmor", "localhost", "root", "");
        req = "Select c.* from client c, inscription i where c.id = i.client_id and i.session_formation_id = "
                + jTableGestionSession.getValueAt(jTableGestionSession.getSelectedRow(), 0).toString();
        ResultSet rs1 = GestionBdd.envoiRequeteLMD(stmt1, req);
        // Ajout d'une entte pour PdfPTable
        table.addCell("Matricule");
        table.addCell("Nom");
        table.addCell("Rue");
        table.addCell("Code Postal");
        table.addCell("Ville");
        // Ajout d'un espace entre la PdfPTable et l'lment prcdent.
        table.setSpacingBefore(15f);
        table.setWidthPercentage(100);
        table.setSpacingBefore(0f);
        table.setSpacingAfter(0f);
        //change taille colonnes
        table.setWidths(new int[] { 5, 10, 14, 6, 8 });
        while (rs1.next()) {
            // Ajout d'objets String  la PdfPTable
            table.addCell(rs1.getString(1));
            table.addCell(rs1.getString(3));
            table.addCell(rs1.getString(5));
            table.addCell(rs1.getString(6));
            table.addCell(rs1.getString(7));
            // Ajout d'un espace entre la PdfPTable et l'lment prcdent.
            table.setSpacingBefore(15f);
            nbLignes++;
        }
        //cas ou il n'y a personne d'inscrit
        if (nbLignes == 0) {
            JOptionPane.showMessageDialog(null, "Il n'y a personne d'inscrits");
            document.add(new Phrase("\n\nIl n'y a personne d'inscrits"));
        } else {
            document.add(table);
            //ouvre le fichier listeEmargementSession.pdf avec le logiciel de lecture pdf par dfaut 
            Runtime r = Runtime.getRuntime();
            r.exec(new String[] { "cmd.exe", "/C",
                    System.getProperty("user.dir") + "//listeEmargementSession.pdf" });
        }
        document.close();
    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (SQLException ex) {
        Logger.getLogger(FenSession.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(FenSession.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:GestoSAT.Albaran.java

License:Open Source License

public String albaran2PDF(int id) {
    try {/* ww w . j  a  v a 2 s .c o m*/
        String arch = "Albaran" + (new Date()).getTime() + ".pdf";
        Document doc = new Document();
        PdfWriter.getInstance(doc, new FileOutputStream("/TomEE/webapps/ROOT/descargables/" + arch));
        DecimalFormat df = new DecimalFormat("0.00");

        doc.open();
        File f = new File("logo");
        if (f.exists()) {
            Image img = Image.getInstance("logo");
            img.setAbsolutePosition(50, 735);
            img.scaleAbsolute(50, 50);
            doc.add(img);
            Paragraph p = new Paragraph(" ");
            p.setLeading((float) 75);
            doc.add(p);
        }
        doc.add(new Paragraph("ALBAR?N"));
        doc.add(new Paragraph(" "));
        doc.add(new Paragraph("Datos empresa"));
        Oficina ofi = this.getGestoSAT().getEmpleado().getOficina();
        doc.add(new Paragraph(
                ofi.getProvincia() + " " + ofi.getPoblacion() + " " + ofi.getCalle() + " " + ofi.getNumero()));
        doc.add(new Paragraph(ofi.getNombre()));
        doc.add(new Paragraph("NIF: " + ofi.getNif()));
        doc.add(new Paragraph("Tlf: " + ofi.getTlfFijo() + " " + ofi.getTlfMovil()));
        doc.add(new Paragraph("Fax: " + ofi.getFax()));
        doc.add(new Paragraph(" "));
        doc.add(new Paragraph(" "));
        doc.add(new Paragraph("Datos de inters"));
        doc.add(new Paragraph(
                "Cliente: " + this.getCliente().getNombre() + " " + this.getCliente().getApellidos()));
        doc.add(new Paragraph("Concepto: " + this.concepto));
        doc.add(new Paragraph(" "));
        doc.add(new Paragraph("Lugar de entrga:" + this.provincia + " " + this.poblacion + " " + this.calle
                + " " + this.escalera + " " + this.piso + " " + this.puerta));

        doc.add(new Paragraph(" "));

        float auxPrecio = 0;
        PdfPTable table = new PdfPTable(5);

        table.addCell("#");
        table.addCell("Nombre");
        table.addCell("Precio Ud / H");
        table.addCell("Uds / H");
        table.addCell("Total");

        Iterator itTabla = this.materialUtilizado.entrySet().iterator();
        while (itTabla.hasNext()) {
            Map.Entry aux = (Map.Entry) itTabla.next();
            table.addCell(aux.getKey().toString());
            table.addCell(((MaterialTrabajos) aux.getValue()).getStock().getNombre());
            table.addCell(((MaterialTrabajos) aux.getValue()).getStock().getPrecioUnidad() + "");
            table.addCell(((MaterialTrabajos) aux.getValue()).getCantidad() + "");
            auxPrecio += ((MaterialTrabajos) aux.getValue()).getCantidad()
                    * ((MaterialTrabajos) aux.getValue()).getStock().getPrecioUnidad();
            table.addCell((((MaterialTrabajos) aux.getValue()).getCantidad()
                    * ((MaterialTrabajos) aux.getValue()).getStock().getPrecioUnidad()) + "");
        }

        itTabla = this.trabajoRealizado.entrySet().iterator();
        while (itTabla.hasNext()) {
            Map.Entry aux = (Map.Entry) itTabla.next();
            table.addCell("*");
            Trabajo tra = (Trabajo) aux.getValue();
            table.addCell(tra.getEmpleado().getNombre() + " " + tra.getEmpleado().getApellidos());
            table.addCell(tra.getEmpleado().getPrecioHora() + "");
            table.addCell(tra.getHoras() + "");
            auxPrecio += tra.getEmpleado().getPrecioHora() * tra.getHoras();
            table.addCell((tra.getEmpleado().getPrecioHora() * tra.getHoras()) + "");
        }
        doc.add(table);
        doc.add(new Paragraph("I.V.A: " + this.getGestoSAT().getIva() + "%"));
        doc.add(new Paragraph(
                "Total I.V.A: " + df.format((this.getGestoSAT().getIva() / (float) 100) * auxPrecio)));
        doc.add(new Paragraph(
                "Total: " + df.format(((this.getGestoSAT().getIva() / (float) 100) + 1) * auxPrecio)));

        doc.close();
        if (this.fchEntrega == null) {
            this.fchEntrega = new Date();
            if (this.getGestoSAT().entregaAlbaran(id, this))
                return "descargables/" + arch;
            else
                return "";
        } else
            return "descargables/" + arch;

    } catch (IOException ex) {
        Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
        return "";
    } catch (BadElementException ex) {
        Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
        return "";
    } catch (DocumentException ex) {
        Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
        return "";
    }
}

From source file:GestoSAT.Entrada.java

License:Open Source License

public String entrada2PDF() {
    try {//from  w  w  w  .  j  a va  2  s. c om
        String arch = "Entrada" + (new Date()).getTime() + ".pdf";
        Document doc = new Document();
        PdfWriter.getInstance(doc, new FileOutputStream("/TomEE/webapps/ROOT/descargables/" + arch));
        doc.open();
        File f = new File("logo");

        // http://www.java2s.com/Tutorial/Java/0280__SWT/UseImageDatatocreateanewimage.htm
        if (f.exists()) {
            Image img = Image.getInstance("logo");
            img.setAbsolutePosition(50, 735);
            img.scaleAbsolute(50, 50);
            doc.add(img);
            Paragraph p = new Paragraph(" ");
            p.setLeading((float) 75);
            doc.add(p);
        }
        doc.add(new Paragraph(
                "Cliente: " + this.getCliente().getNombre() + " " + this.getCliente().getApellidos()));
        if (this.incidencia.getClass().getName().equals("GestoSAT.Averia")) {
            doc.add(new Paragraph(" "));
            doc.add(new Paragraph("APARATO"));
            doc.add(new Paragraph(" "));
            Averia av = (Averia) this.incidencia;
            doc.add(new Paragraph("Problema: " + av.getMotivo()));
            doc.add(new Paragraph(" "));
            doc.add(new Paragraph("Tipo: " + av.getAparato().getTipo()));
            doc.add(new Paragraph("Marca: " + av.getAparato().getMarca()));
            doc.add(new Paragraph("Modelo: " + av.getAparato().getModelo()));
            doc.add(new Paragraph("NSerie: " + av.getAparato().getNumSerie()));
            doc.add(new Paragraph("Color: " + av.getAparato().getColor()));
            doc.add(new Paragraph("Observaciones: " + av.getAparato().getObservaciones()));
        } else {
            Cita cita = (Cita) this.incidencia;
            doc.add(new Paragraph(" "));
            doc.add(new Paragraph("CITA"));
            doc.add(new Paragraph("Problema:" + cita.getMotivo()));
            doc.add(new Paragraph(
                    "Direccin:" + cita.getPoblacion() + " " + cita.getCalle() + " " + cita.getNumero() + " "
                            + cita.getEscalera() + " " + cita.getPiso() + " " + cita.getPuerta()));
            doc.add(new Paragraph("Obsevaciones:" + cita.getObservacionesDirrecion()));
            doc.add(new Paragraph(cita.getObservaciones()));
        }
        doc.close();
        return "descargables/" + arch;
    } catch (Exception ex) {
        Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
        return "";
    }
}

From source file:GestoSAT.Factura.java

License:Open Source License

public String factura2PDF() {
    try {/*from w w w  .j  av  a2s.c om*/
        String arch = "Factura" + (new Date()).getTime() + ".pdf";
        Document doc = new Document();
        PdfWriter.getInstance(doc, new FileOutputStream("/TomEE/webapps/ROOT/descargables/" + arch));
        DecimalFormat df = new DecimalFormat("0.00");

        doc.open();
        File f = new File("logo");
        if (f.exists()) {
            Image img = Image.getInstance("logo");
            img.setAbsolutePosition(50, 735);
            img.scaleAbsolute(50, 50);
            doc.add(img);
            Paragraph p = new Paragraph(" ");
            p.setLeading((float) 75);
            doc.add(p);
        }
        doc.add(new Paragraph("FACTURA"));
        doc.add(new Paragraph(" "));
        doc.add(new Paragraph("Datos empresa"));
        Oficina ofi = this.getGestoSAT().getEmpleado().getOficina();
        doc.add(new Paragraph(
                ofi.getProvincia() + " " + ofi.getPoblacion() + " " + ofi.getCalle() + " " + ofi.getNumero()));
        doc.add(new Paragraph(ofi.getNombre()));
        doc.add(new Paragraph("NIF: " + ofi.getNif()));
        doc.add(new Paragraph("Tlf: " + ofi.getTlfFijo() + " " + ofi.getTlfMovil()));
        doc.add(new Paragraph("Fax: " + ofi.getFax()));
        doc.add(new Paragraph(" "));
        doc.add(new Paragraph(" "));
        doc.add(new Paragraph("Datos de inters"));
        doc.add(new Paragraph(
                "Cliente: " + this.getCliente().getNombre() + " " + this.getCliente().getApellidos()));
        doc.add(new Paragraph("Concepto: " + this.concepto));
        doc.add(new Paragraph("Forma pago: " + this.formaPago));
        doc.add(new Paragraph(" "));
        doc.add(new Paragraph("Albaranes"));

        Iterator itAlbaranes = this.albaran.entrySet().iterator();
        while (itAlbaranes.hasNext()) {
            Map.Entry auxAlbaranes = (Map.Entry) itAlbaranes.next();
            // Leer albaranes
            float auxPrecio = 0;
            PdfPTable table = new PdfPTable(5);

            table.addCell("#");
            table.addCell("Nombre");
            table.addCell("Precio Ud / H");
            table.addCell("Uds / H");
            table.addCell("Total");

            Iterator itTabla = ((Albaran) auxAlbaranes.getValue()).getMaterialUtilizado().entrySet().iterator();
            while (itTabla.hasNext()) {
                Map.Entry aux = (Map.Entry) itTabla.next();
                table.addCell(aux.getKey().toString());
                table.addCell(((MaterialTrabajos) aux.getValue()).getStock().getNombre());
                table.addCell(((MaterialTrabajos) aux.getValue()).getStock().getPrecioUnidad() + "");
                table.addCell(((MaterialTrabajos) aux.getValue()).getCantidad() + "");
                auxPrecio += ((MaterialTrabajos) aux.getValue()).getCantidad()
                        * ((MaterialTrabajos) aux.getValue()).getStock().getPrecioUnidad();
                table.addCell((((MaterialTrabajos) aux.getValue()).getCantidad()
                        * ((MaterialTrabajos) aux.getValue()).getStock().getPrecioUnidad()) + "");
            }

            itTabla = ((Albaran) auxAlbaranes.getValue()).getTrabajoRealizado().entrySet().iterator();
            while (itTabla.hasNext()) {
                Map.Entry aux = (Map.Entry) itTabla.next();
                table.addCell("*");
                Trabajo tra = (Trabajo) aux.getValue();
                table.addCell(tra.getEmpleado().getNombre() + " " + tra.getEmpleado().getApellidos());
                table.addCell(tra.getEmpleado().getPrecioHora() + "");
                table.addCell(tra.getHoras() + "");
                auxPrecio += tra.getEmpleado().getPrecioHora() * tra.getHoras();
                table.addCell((tra.getEmpleado().getPrecioHora() * tra.getHoras()) + "");
            }
            doc.add(table);
            doc.add(new Paragraph("I.V.A: " + this.getGestoSAT().getIva() + "%"));
            doc.add(new Paragraph(
                    "Total I.V.A: " + df.format((this.getGestoSAT().getIva() / (float) 100) * auxPrecio)));
            doc.add(new Paragraph(
                    "Total: " + df.format(((this.getGestoSAT().getIva() / (float) 100) + 1) * auxPrecio)));
            doc.add(new Paragraph(" "));
        }

        doc.add(new Paragraph(" "));
        doc.add(new Paragraph("Tota factura: " + df.format(this.total)));

        doc.close();
        return "descargables/" + arch;
    } catch (IOException ex) {
        Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
        return "";
    } catch (BadElementException ex) {
        Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
        return "";
    } catch (DocumentException ex) {
        Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
        return "";
    }
}

From source file:GestoSAT.Presupuesto.java

License:Open Source License

public String presupuesto2PDF() {
    try {/*from  www.j  a v a 2s. co  m*/
        String arch = "Presupeusto" + (new Date()).getTime() + ".pdf";
        Document doc = new Document();
        PdfWriter.getInstance(doc, new FileOutputStream("/TomEE/webapps/ROOT/descargables/" + arch));
        DecimalFormat df = new DecimalFormat("0.00");

        doc.open();
        File f = new File("logo");
        if (f.exists()) {
            Image img = Image.getInstance("logo");
            img.setAbsolutePosition(50, 735);
            img.scaleAbsolute(50, 50);
            doc.add(img);
            Paragraph p = new Paragraph(" ");
            p.setLeading((float) 75);
            doc.add(p);
        }
        doc.add(new Paragraph("PRESUPUESTO"));
        doc.add(new Paragraph(" "));
        doc.add(new Paragraph("Datos empresa"));
        Oficina ofi = this.getGestoSAT().getEmpleado().getOficina();
        doc.add(new Paragraph(
                ofi.getProvincia() + " " + ofi.getPoblacion() + " " + ofi.getCalle() + " " + ofi.getNumero()));
        doc.add(new Paragraph(ofi.getNombre()));
        doc.add(new Paragraph("NIF: " + ofi.getNif()));
        doc.add(new Paragraph("Tlf: " + ofi.getTlfFijo() + " " + ofi.getTlfMovil()));
        doc.add(new Paragraph("Fax: " + ofi.getFax()));
        doc.add(new Paragraph(" "));
        doc.add(new Paragraph(" "));
        doc.add(new Paragraph("Datos de inters"));
        doc.add(new Paragraph(
                "Cliente: " + this.getCliente().getNombre() + " " + this.getCliente().getApellidos()));
        doc.add(new Paragraph("Concepto: " + this.concepto));
        doc.add(new Paragraph("Fecha validez: " + this.validez));
        if (this.aceptado)
            doc.add(new Paragraph("Aceptado: SI"));
        else
            doc.add(new Paragraph("Aceptado: NO"));
        doc.add(new Paragraph("Adelanto: " + this.adelanto));
        doc.add(new Paragraph("Forma pago: " + this.formaPago));
        doc.add(new Paragraph("Tiempo estimado: " + this.plazo));
        doc.add(new Paragraph("Condiciones: " + this.condiciones));
        doc.add(new Paragraph("Seguro: " + this.seguro));
        doc.add(new Paragraph("Garantia: " + this.garantia));
        doc.add(new Paragraph(" "));

        float auxPrecio = 0;
        PdfPTable table = new PdfPTable(5);

        table.addCell("#");
        table.addCell("Nombre");
        table.addCell("Precio Ud / H");
        table.addCell("Uds / H");
        table.addCell("Total");

        Iterator itTabla = this.materialPresupuestado.entrySet().iterator();
        while (itTabla.hasNext()) {
            Map.Entry aux = (Map.Entry) itTabla.next();
            table.addCell(aux.getKey().toString());
            table.addCell(((MaterialTrabajos) aux.getValue()).getStock().getNombre());
            table.addCell(((MaterialTrabajos) aux.getValue()).getStock().getPrecioUnidad() + "");
            table.addCell(((MaterialTrabajos) aux.getValue()).getCantidad() + "");
            auxPrecio += ((MaterialTrabajos) aux.getValue()).getCantidad()
                    * ((MaterialTrabajos) aux.getValue()).getStock().getPrecioUnidad();
            table.addCell((((MaterialTrabajos) aux.getValue()).getCantidad()
                    * ((MaterialTrabajos) aux.getValue()).getStock().getPrecioUnidad()) + "");
        }

        itTabla = this.trabajoPresupuestado.entrySet().iterator();
        while (itTabla.hasNext()) {
            Map.Entry aux = (Map.Entry) itTabla.next();
            table.addCell("*");
            Trabajo tra = (Trabajo) aux.getValue();
            table.addCell(tra.getEmpleado().getNombre() + " " + tra.getEmpleado().getApellidos());
            table.addCell(tra.getEmpleado().getPrecioHora() + "");
            table.addCell(tra.getHoras() + "");
            auxPrecio += tra.getEmpleado().getPrecioHora() * tra.getHoras();
            table.addCell((tra.getEmpleado().getPrecioHora() * tra.getHoras()) + "");
        }
        doc.add(table);
        doc.add(new Paragraph("I.V.A: " + this.getGestoSAT().getIva() + "%"));
        doc.add(new Paragraph(
                "Total I.V.A: " + df.format((this.getGestoSAT().getIva() / (float) 100) * auxPrecio)));
        doc.add(new Paragraph(
                "Total: " + df.format((this.getGestoSAT().getIva() / (float) 100 + 1) * auxPrecio)));

        doc.close();
        return "descargables/" + arch;
    } catch (IOException ex) {
        Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
        return "";
    } catch (BadElementException ex) {
        Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
        return "";
    } catch (DocumentException ex) {
        Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
        return "";
    }
}

From source file:GestoSAT.Recibo.java

License:Open Source License

public String recibo2PDF() {
    try {/*w  w  w  .j a  va2  s  . co m*/
        String arch = "Recibo" + (new Date()).getTime() + ".pdf";
        Document doc = new Document();
        PdfWriter.getInstance(doc, new FileOutputStream("/TomEE/webapps/ROOT/descargables/" + arch));
        DecimalFormat df = new DecimalFormat("0.00");

        doc.open();
        File f = new File("logo");
        if (f.exists()) {
            Image img = Image.getInstance("logo");
            img.setAbsolutePosition(50, 735);
            img.scaleAbsolute(50, 50);
            doc.add(img);
            Paragraph p = new Paragraph(" ");
            p.setLeading((float) 75);
            doc.add(p);
        }
        doc.add(new Paragraph("Recibo"));
        doc.add(new Paragraph(" "));
        doc.add(new Paragraph("Datos empresa"));
        Oficina ofi = this.getGestoSAT().getEmpleado().getOficina();
        doc.add(new Paragraph(
                ofi.getProvincia() + " " + ofi.getPoblacion() + " " + ofi.getCalle() + " " + ofi.getNumero()));
        doc.add(new Paragraph("NIF: " + ofi.getNif()));
        doc.add(new Paragraph("Tlf: " + ofi.getTlfFijo() + " " + ofi.getTlfMovil()));
        doc.add(new Paragraph("Fax: " + ofi.getFax()));
        doc.add(new Paragraph(" "));
        doc.add(new Paragraph(" "));
        doc.add(new Paragraph("Datos de inters"));
        doc.add(new Paragraph(
                "Cliente: " + this.getCliente().getNombre() + " " + this.getCliente().getApellidos()));
        doc.add(new Paragraph("Concepto: " + this.factura.getConcepto()));
        doc.add(new Paragraph("Lugar de entrga: " + this.provincia + " " + this.poblacion + " " + this.calle
                + " " + this.escalera + " " + this.piso + " " + this.puerta));
        doc.add(new Paragraph("Albaranes "));

        doc.add(new Paragraph(" "));

        Iterator itAlbaranes = this.factura.getAlbaranes().entrySet().iterator();
        while (itAlbaranes.hasNext()) {
            Map.Entry auxAlbaranes = (Map.Entry) itAlbaranes.next();
            // Leer albaranes
            float auxPrecio = 0;
            PdfPTable table = new PdfPTable(5);

            table.addCell("#");
            table.addCell("Nombre");
            table.addCell("Precio Ud / H");
            table.addCell("Uds / H");
            table.addCell("Total");

            Iterator itTabla = ((Albaran) auxAlbaranes.getValue()).getMaterialUtilizado().entrySet().iterator();
            while (itTabla.hasNext()) {
                Map.Entry aux = (Map.Entry) itTabla.next();
                table.addCell(aux.getKey().toString());
                table.addCell(((MaterialTrabajos) aux.getValue()).getStock().getNombre());
                table.addCell(((MaterialTrabajos) aux.getValue()).getStock().getPrecioUnidad() + "");
                table.addCell(((MaterialTrabajos) aux.getValue()).getCantidad() + "");
                auxPrecio += ((MaterialTrabajos) aux.getValue()).getCantidad()
                        * ((MaterialTrabajos) aux.getValue()).getStock().getPrecioUnidad();
                table.addCell((((MaterialTrabajos) aux.getValue()).getCantidad()
                        * ((MaterialTrabajos) aux.getValue()).getStock().getPrecioUnidad()) + "");
            }

            itTabla = ((Albaran) auxAlbaranes.getValue()).getTrabajoRealizado().entrySet().iterator();
            while (itTabla.hasNext()) {
                Map.Entry aux = (Map.Entry) itTabla.next();
                table.addCell("*");
                Trabajo tra = (Trabajo) aux.getValue();
                table.addCell(tra.getEmpleado().getNombre() + " " + tra.getEmpleado().getApellidos());
                table.addCell(tra.getEmpleado().getPrecioHora() + "");
                table.addCell(tra.getHoras() + "");
                auxPrecio += tra.getEmpleado().getPrecioHora() * tra.getHoras();
                table.addCell((tra.getEmpleado().getPrecioHora() * tra.getHoras()) + "");
            }
            doc.add(table);
            doc.add(new Paragraph("I.V.A: " + this.getGestoSAT().getIva() + "%"));
            doc.add(new Paragraph(
                    "Total I.V.A: " + df.format((this.getGestoSAT().getIva() / (float) 100) * auxPrecio)));
            doc.add(new Paragraph(
                    "Total: " + df.format(((this.getGestoSAT().getIva() / (float) 100) + 1) * auxPrecio)));
            doc.add(new Paragraph(" "));
        }

        doc.add(new Paragraph(" "));
        doc.add(new Paragraph("Tota factura: " + df.format(this.factura.getTotal())));

        doc.close();
        return "descargables/" + arch;
    } catch (IOException ex) {
        Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
        return "";
    } catch (BadElementException ex) {
        Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
        return "";
    } catch (DocumentException ex) {
        Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
        return "";
    }
}

From source file:gov.nih.nci.firebird.service.registration.AbstractPdfWriterGenerator.java

License:Open Source License

private void addLogo() throws IOException, DocumentException {
    Image image = Image.getInstance(AbstractPdfWriterGenerator.class.getResource(LOGO_IMAGE_PATH));
    image.setAlignment(Image.RIGHT);
    image.scalePercent(FIFTY_PERCENT);//from ww  w .  ja  va  2 s.  c om
    document.add(image);
}

From source file:gov.utah.dts.det.ccl.actions.facility.information.license.reports.LicenseCertificate.java

private static void writePdf(License license, ByteArrayOutputStream ba, HttpServletRequest request)
        throws DocumentException, BadElementException {
    SimpleDateFormat df = new SimpleDateFormat("MMMM d, yyyy");
    StringBuilder sb;/*  w  w w.j av  a  2 s  . c om*/

    // Retrieve the certificate template to use as watermark
    ServletContext context = request.getSession().getServletContext();
    String templatefile = context.getRealPath("/resources") + "/LicenseCertificateTemplate.pdf";
    PdfReader reader = getTemplateReader(templatefile);
    if (reader != null && reader.getNumberOfPages() > 0) {
        Phrase phrase;

        // Create new document using the page size of the certificate template document
        Document document = new Document(reader.getPageSizeWithRotation(1), 0, 0, 0, 0);
        PdfWriter writer = PdfWriter.getInstance(document, ba);
        document.open();

        // Get the writer under content byte for placing of watermark
        PdfContentByte under = writer.getDirectContentUnder();
        PdfContentByte over = writer.getDirectContent();

        // Retrieve the first page of the template document and wrap as an Image to use as new document watermark
        PdfImportedPage page = writer.getImportedPage(reader, 1);
        Image img = Image.getInstance(page);
        // Make sure the image has an absolute page position
        if (!img.hasAbsoluteX() || !img.hasAbsoluteY()) {
            img.setAbsolutePosition(0, 0);
        }

        under.addImage(img);

        /*
         * THE FOLLOWING TWO FUNCTION CALLS DISPLAY THE PAGE MARGINS AND TEXT COLUMN BORDERS FOR DEBUGGING TEXT PLACEMENT.
         * UNCOMMENT EACH FUNCTION CALL TO HAVE BORDERS DISPLAYED ON THE OUTPUT DOCUMENT.  THIS WILL HELP WHEN YOU NEED
         * TO SEE WHERE TEXT WILL BE PLACED ON THE CERTIFICATE FORM.
         */
        // Show the page margins
        //showPageMarginBorders(over);

        // Show the text column borders
        //showColumnBorders(over);

        ColumnText ct = new ColumnText(over);
        ct.setLeading(fixedLeading);

        // Add Facility Name to column
        String text = license.getFacility().getName();
        if (text != null) {
            phrase = new Phrase(text.toUpperCase(), mediumfontB);
            phrase.setLeading(noLeading);
            ct.addText(phrase);
            ct.addText(Chunk.NEWLINE);
        }
        // Add Facility Site to column
        text = license.getFacility().getSiteName();
        if (text != null) {
            phrase = new Phrase(text.toUpperCase(), mediumfontB);
            phrase.setLeading(noLeading);
            ct.addText(phrase);
            ct.addText(Chunk.NEWLINE);
        }
        // Add Facility Address to column
        text = license.getFacility().getLocationAddress().getAddressOne();
        if (text != null) {
            phrase = new Phrase(text.toUpperCase(), mediumfontB);
            phrase.setLeading(noLeading);
            ct.addText(phrase);
            ct.addText(Chunk.NEWLINE);
        }
        text = license.getFacility().getLocationAddress().getCityStateZip();
        if (text != null) {
            phrase = new Phrase(text.toUpperCase(), mediumfontB);
            phrase.setLeading(noLeading);
            ct.addText(phrase);
            ct.addText(Chunk.NEWLINE);
        }
        // Write column to document
        ct.setAlignment(Element.ALIGN_CENTER);
        ct.setSimpleColumn(COLUMNS[0][0], COLUMNS[0][1], COLUMNS[0][2], COLUMNS[0][3]);
        ct.go();

        // Add Certification Service Code to column
        ct = new ColumnText(over);
        ct.setLeading(fixedLeading);
        String service = "";
        if (license.getSpecificServiceCode() != null
                && StringUtils.isNotBlank(license.getSpecificServiceCode().getValue())
                && DV_TREATMENT.equalsIgnoreCase(license.getSpecificServiceCode().getValue())) {
            service += DOMESTIC_VIOLENCE;
        }
        if (!license.getProgramCodeIds().isEmpty()) { // redmine 25410
            mentalHealthLoop: for (PickListValue pkv : license.getProgramCodeIds()) {
                String program = pkv.getValue();
                int idx = program.indexOf(" -");
                if (idx >= 0) {
                    String code = program.substring(0, idx);
                    if (MENTAL_HEALTH_CODES.indexOf(code + ":") >= 0) {
                        if (service.length() > 0) {
                            service += " / ";
                        }
                        service += MENTAL_HEALTH;
                        break mentalHealthLoop;
                    }
                }
            }
            substanceAbuseLoop: for (PickListValue pkv : license.getProgramCodeIds()) {
                String program = pkv.getValue();
                int idx = program.indexOf(" -");
                if (idx >= 0) {
                    String code = program.substring(0, idx);
                    if (SUBSTANCE_ABUSE_CODES.indexOf(code + ":") >= 0) {
                        if (service.length() > 0) {
                            service += " / ";
                        }
                        service += SUBSTANCE_ABUSE;
                        break substanceAbuseLoop;
                    }
                }
            }
        }
        if (StringUtils.isNotBlank(license.getServiceCodeDesc())) {
            if (service.length() > 0) {
                service += " / ";
            }
            service += license.getServiceCodeDesc();
        }
        if (StringUtils.isNotEmpty(service)) {
            phrase = new Phrase(service.toUpperCase(), mediumfont);
            phrase.setLeading(noLeading);
            ct.addText(phrase);
            ct.addText(Chunk.NEWLINE);
        }

        // Add CLIENTS Info to column
        sb = new StringBuilder("FOR ");
        if (license.getAgeGroup() == null
                || license.getAgeGroup().getValue().equalsIgnoreCase("Adult & Youth")) {
            // Adult & Youth
            if (license.getAdultTotalSlots() != null) {
                sb.append(license.getAdultTotalSlots().toString());
            }
            sb.append(" ADULT AND YOUTH CLIENTS");
        } else if (license.getAgeGroup().getValue().equalsIgnoreCase("Adult")) {
            // Adult
            if (license.getAdultTotalSlots() != null) {
                // Are male or female counts specified?
                sb.append(license.getAdultTotalSlots().toString());
                sb.append(" ADULT");
                if (license.getAdultFemaleCount() != null || license.getAdultMaleCount() != null) {
                    // Does either the male or female count equal the total slot count?
                    if ((license.getAdultFemaleCount() != null
                            && license.getAdultFemaleCount().equals(license.getAdultTotalSlots()))) {
                        sb.append(" FEMALE CLIENTS");
                    } else if (license.getAdultMaleCount() != null
                            && license.getAdultMaleCount().equals(license.getAdultTotalSlots())) {
                        sb.append(" MALE CLIENTS");
                    } else {
                        sb.append(" CLIENTS, ");
                        if (license.getAdultMaleCount() != null) {
                            sb.append(license.getAdultMaleCount().toString() + " MALE");
                        }
                        if (license.getAdultFemaleCount() != null) {
                            if (license.getAdultMaleCount() != null) {
                                sb.append(" AND ");
                            }
                            sb.append(license.getAdultFemaleCount().toString() + " FEMALE");
                        }
                        if (license.getFromAge() != null || license.getToAge() != null) {
                            sb.append(",");
                        }
                    }
                } else {
                    sb.append(" CLIENTS");
                }
            } else {
                sb.append(" ADULT CLIENTS");
            }
        } else {
            // Youth
            if (license.getYouthTotalSlots() != null) {
                // Are male or female counts specified?
                sb.append(license.getYouthTotalSlots().toString());
                sb.append(" YOUTH");
                if (license.getYouthFemaleCount() != null || license.getYouthMaleCount() != null) {
                    // Does either the male or female count equal the total slot count?
                    if ((license.getYouthFemaleCount() != null
                            && license.getYouthFemaleCount().equals(license.getYouthTotalSlots()))) {
                        sb.append(" FEMALE CLIENTS");
                    } else if (license.getYouthMaleCount() != null
                            && license.getYouthMaleCount().equals(license.getYouthTotalSlots())) {
                        sb.append(" MALE CLIENTS");
                    } else {
                        sb.append(" CLIENTS, ");
                        if (license.getYouthMaleCount() != null) {
                            sb.append(license.getYouthMaleCount().toString() + " MALE");
                        }
                        if (license.getYouthFemaleCount() != null) {
                            if (license.getYouthMaleCount() != null) {
                                sb.append(" AND ");
                            }
                            sb.append(license.getYouthFemaleCount().toString() + " FEMALE");
                        }
                        if (license.getFromAge() != null || license.getToAge() != null) {
                            sb.append(",");
                        }
                    }
                } else {
                    sb.append(" CLIENTS");
                }
            } else {
                sb.append(" YOUTH CLIENTS");
            }
        }
        if (license.getFromAge() != null || license.getToAge() != null) {
            sb.append(" AGES ");
            if (license.getFromAge() != null) {
                sb.append(license.getFromAge().toString());
                if (license.getToAge() != null) {
                    sb.append(" TO " + license.getToAge().toString());
                } else {
                    sb.append(" AND OLDER");
                }
            } else {
                sb.append("TO " + license.getToAge().toString());
            }
        }
        phrase = new Phrase(sb.toString(), mediumfont);
        phrase.setLeading(noLeading);
        ct.addText(phrase);
        ct.addText(Chunk.NEWLINE);

        // Add Certificate Comments
        if (StringUtils.isNotBlank(license.getCertificateComment())) {
            phrase = new Phrase(license.getCertificateComment().toUpperCase(), mediumfont);
            phrase.setLeading(noLeading);
            ct.addText(phrase);
        }

        // Write column to document
        ct.setAlignment(Element.ALIGN_CENTER);
        ct.setSimpleColumn(COLUMNS[1][0], COLUMNS[1][1], COLUMNS[1][2], COLUMNS[1][3]);
        ct.go();

        // Add Certificate Start Date
        if (license.getStartDate() != null) {
            phrase = new Phrase(df.format(license.getStartDate()), mediumfont);
            phrase.setLeading(noLeading);
            ct = new ColumnText(over);
            ct.setSimpleColumn(phrase, COLUMNS[2][0], COLUMNS[2][1], COLUMNS[2][2], COLUMNS[2][3], fixedLeading,
                    Element.ALIGN_RIGHT);
            ct.go();
        }

        // Add Certificate End Date
        if (license.getEndDate() != null) {
            phrase = new Phrase(df.format(license.getEndDate()), mediumfont);
            phrase.setLeading(noLeading);
            ct = new ColumnText(over);
            ct.setSimpleColumn(phrase, COLUMNS[3][0], COLUMNS[3][1], COLUMNS[3][2], COLUMNS[3][3], fixedLeading,
                    Element.ALIGN_LEFT);
            ct.go();
        }

        // Add License Number
        if (license.getLicenseNumber() != null) {
            phrase = new Phrase(license.getLicenseNumber().toString(), largefontB);
            phrase.setLeading(noLeading);
            ct = new ColumnText(over);
            ct.setSimpleColumn(phrase, COLUMNS[4][0], COLUMNS[4][1], COLUMNS[4][2], COLUMNS[4][3],
                    numberLeading, Element.ALIGN_CENTER);
            ct.go();
        }
        document.close();
    }
}

From source file:gov.va.cem.eoas.business.FaxArchivesPDF.java

public InputStream generatePDF(FaxRecord data) {
    SimpleDateFormat newFormat = new SimpleDateFormat("MM/dd/yyyy");

    Date curDate = new Date();
    String caseIdData = (data.getCaseId() != null) ? data.getCaseId() : "";
    String currentDate = new String(newFormat.format(curDate));
    String sepDocs = (data.getSepDocs()) ? "X" : "";
    String marLicense = (data.getMarLicense()) ? "X" : "";
    String adminDecision = (data.getAdminDecision()) ? "X" : "";
    String deathCert = (data.getDeathCert()) ? "X" : "";
    String divorceDecree = (data.getDivorceDecree()) ? "X" : "";
    String otherCheck = (data.getOtherCheck()) ? "X" : "";
    String transDate = (data.getTransDate() != null) ? new String(newFormat.format(data.getTransDate())) : "";
    String priorLoc = (data.getPriorLoc() != null) ? data.getPriorLoc() : "";
    String otherComments = (data.getOtherComments() != null) ? data.getOtherComments() : "";
    String remarks = (data.getRemarks() != null) ? data.getRemarks() : "";
    String to = data.getTo().getDisplayName();
    String fileNo = (data.getFileNo() != null) ? data.getFileNo() : "";
    String vetName = (data.getVetName() != null) ? data.getVetName() : "";
    String ssnData = (data.getSSN() != null) ? data.getSSN() : "";
    String snData = (data.getSN() != null) ? data.getSN() : "";
    String farcNo = (data.getFarcNo() != null) ? data.getFarcNo() : "";
    String boxNoData = (data.getBoxNo() != null) ? data.getBoxNo() : "";
    String faxPages = (data.getFaxPages() != null) ? data.getFaxPages() : "";

    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    Document document = new Document(PageSize.A4, 50, 50, 50, 50);
    try {/*from  w w w . j  ava 2s  . c om*/
        PdfWriter.getInstance(document, outputStream);
        //Font font1 = new Font(Font.FontFamily.TIMES_ROMAN, 9);
        Font font2 = new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.BOLD);
        Font font3 = new Font(Font.FontFamily.TIMES_ROMAN, 11);
        Font fontBold = new Font(Font.FontFamily.TIMES_ROMAN, 11, Font.BOLD);
        //Font fontUnderline = new Font(Font.FontFamily.TIMES_ROMAN, 11, Font.UNDERLINE);
        Font fontHeader = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD);

        document.open();

        String dirPath = FacesContext.getCurrentInstance().getExternalContext()
                .getInitParameter("image_file_path");
        // Check servlet context for invalid character
        if (dirPath.contains(".."))
            throw new IllegalArgumentException(
                    "Servlet context contains invalid character(s).  Security may have been compromised.");
        File dir = new File(dirPath);

        Image image = Image.getInstance(dir + "/ArchiveFaxHeader.jpg");
        image.scalePercent(69, 66);
        document.add(image);

        // Create first table
        float[] colsWidthTo = { .3f, 2f, .4f, 2f };
        PdfPTable addressTable = new PdfPTable(colsWidthTo);
        addressTable.setWidthPercentage(100);
        PdfPCell toLabel = new PdfPCell(new Phrase("TO:", fontBold));
        toLabel.setRowspan(3);
        toLabel.setBorderWidthRight(0);
        addressTable.addCell(toLabel);
        PdfPCell toName = new PdfPCell(new Phrase(to, fontBold));
        toName.setBorderWidthLeft(0);
        toName.setBorderWidthBottom(0);
        addressTable.addCell(toName);
        PdfPCell fromLabel = new PdfPCell(new Phrase("FROM:", fontBold));
        fromLabel.setBorderWidthRight(0);
        fromLabel.setBorderWidthBottom(0);
        addressTable.addCell(fromLabel);
        PdfPCell fromName = new PdfPCell(new Phrase("Eligibility Case Manager", fontBold));
        fromName.setBorderWidthBottom(0);
        fromName.setBorderWidthLeft(0);
        addressTable.addCell(fromName);
        PdfPCell toAddress = new PdfPCell(new Phrase("", fontBold));
        toAddress.setBorderWidthLeft(0);
        toAddress.setBorderWidthTop(0);
        addressTable.addCell(toAddress);
        PdfPCell fromDateLabel = new PdfPCell(new Phrase("DATE:", fontBold));
        fromDateLabel.setBorderWidthRight(0);
        fromDateLabel.setBorderWidthTop(0);
        //toLabel.setRowspan(2);
        addressTable.addCell(fromDateLabel);
        PdfPCell dateFrom = new PdfPCell(new Phrase(currentDate, fontBold));
        dateFrom.setBorderWidthTop(0);
        dateFrom.setBorderWidthLeft(0);
        addressTable.addCell(dateFrom);
        addressTable.setSpacingBefore(15);
        addressTable.setSpacingAfter(15);
        document.add(addressTable);

        float[] colsWidthCaseId = { .7f, 3f };
        PdfPTable caseTable = new PdfPTable(colsWidthCaseId);
        caseTable.setWidthPercentage(100);
        PdfPCell caseIdLabel = new PdfPCell(new Phrase("Eligibility Case Id:", font3));
        caseIdLabel.setBorderWidth(0);
        caseTable.addCell(caseIdLabel);
        PdfPCell caseIdInput = new PdfPCell(new Phrase(caseIdData, font3));
        caseIdInput.setBorderWidth(0);
        caseTable.addCell(caseIdInput);
        caseTable.setSpacingAfter(8);
        document.add(caseTable);

        float[] colsWidthFolder = { .5f, 3f };
        PdfPTable folderTable = new PdfPTable(colsWidthFolder);
        folderTable.setWidthPercentage(100);
        PdfPCell folderLabel = new PdfPCell(new Phrase("VA file No:", font3));
        folderLabel.setBorderWidth(0);
        folderTable.addCell(folderLabel);
        PdfPCell folder = new PdfPCell(new Phrase(fileNo, font3));
        folder.setBorderWidth(0);
        folderTable.addCell(folder);
        folderTable.setSpacingAfter(8);
        document.add(folderTable);

        float[] colsWidthRef = { .7f, 3f };
        PdfPTable refTable = new PdfPTable(colsWidthRef);
        refTable.setWidthPercentage(100);
        PdfPCell ref = new PdfPCell(new Phrase("Veteran's Name:", font3));
        ref.setBorderWidth(0);
        refTable.addCell(ref);
        PdfPCell refName = new PdfPCell(new Phrase(vetName, font3));
        refName.setBorderWidth(0);
        refTable.addCell(refName);
        refTable.setSpacingAfter(8);
        document.add(refTable);

        float[] colsWidthSSN = { .3f, 2f, .25f, 2f };
        PdfPTable ssnTable = new PdfPTable(colsWidthSSN);
        ssnTable.setWidthPercentage(100);
        PdfPCell ssnLabel = new PdfPCell(new Phrase("SSN:", font3));
        ssnLabel.setBorderWidth(0);
        ssnTable.addCell(ssnLabel);
        PdfPCell ssn = new PdfPCell(new Phrase(ssnData, font3));
        ssn.setBorderWidth(0);
        ssnTable.addCell(ssn);
        PdfPCell snLabel = new PdfPCell(new Phrase("SN:", font3));
        snLabel.setBorderWidth(0);
        ssnTable.addCell(snLabel);
        PdfPCell sn = new PdfPCell(new Phrase(snData, font3));
        sn.setBorderWidth(0);
        ssnTable.addCell(sn);
        ssnTable.setSpacingAfter(8);
        document.add(ssnTable);

        float[] colsWidthFARC = { .6f, 2f, .8f, 2f };
        PdfPTable farcTable = new PdfPTable(colsWidthFARC);
        farcTable.setWidthPercentage(100);
        PdfPCell farcLabel = new PdfPCell(new Phrase("FARC No:", font3));
        farcLabel.setBorderWidth(0);
        farcTable.addCell(farcLabel);
        PdfPCell farc = new PdfPCell(new Phrase(farcNo, font3));
        farc.setBorderWidth(0);
        farcTable.addCell(farc);
        PdfPCell farcDateLabel = new PdfPCell(new Phrase("Transfer Date:", font3));
        farcDateLabel.setBorderWidth(0);
        farcTable.addCell(farcDateLabel);
        PdfPCell farcDate = new PdfPCell(new Phrase(transDate, font3));
        farcDate.setBorderWidth(0);
        farcTable.addCell(farcDate);
        farcTable.setSpacingAfter(8);
        document.add(farcTable);

        float[] colsWidthLoc = { .8f, 2f, .6f, 2f };
        PdfPTable locTable = new PdfPTable(colsWidthLoc);
        locTable.setWidthPercentage(100);
        PdfPCell locLabel = new PdfPCell(new Phrase("Prior Location:", font3));
        locLabel.setBorderWidth(0);
        locTable.addCell(locLabel);
        PdfPCell location = new PdfPCell(new Phrase(priorLoc, font3));
        location.setBorderWidth(0);
        locTable.addCell(location);
        PdfPCell boxNoLabel = new PdfPCell(new Phrase("Box No:", font3));
        boxNoLabel.setBorderWidth(0);
        locTable.addCell(boxNoLabel);
        PdfPCell boxNo = new PdfPCell(new Phrase(boxNoData, font3));
        boxNo.setBorderWidth(0);
        locTable.addCell(boxNo);
        locTable.setSpacingAfter(8);
        document.add(locTable);

        float[] colsWidthRemarks = { .6f, 5f };
        PdfPTable remarks1Table = new PdfPTable(colsWidthRemarks);
        remarks1Table.setWidthPercentage(100);
        PdfPCell remark1Label = new PdfPCell(new Phrase("Remarks:", font3));
        remark1Label.setBorderWidth(0);
        remarks1Table.addCell(remark1Label);
        PdfPCell remarks1Input = new PdfPCell(new Phrase(
                "Please provide copy(ies) of the following document(s) to establish eligibility for burial in a national cemetery.",
                font3));
        remarks1Input.setBorderWidth(0);
        remarks1Table.addCell(remarks1Input);
        remarks1Table.setSpacingAfter(8);
        document.add(remarks1Table);

        float[] colsWidthDocs = { .4f, 2f, .4f, 2f };
        PdfPTable docsTable = new PdfPTable(colsWidthDocs);
        docsTable.setWidthPercentage(100);
        PdfPCell docsLabel = new PdfPCell(new Phrase(sepDocs, font3));
        docsLabel.setHorizontalAlignment(Element.ALIGN_CENTER);
        docsLabel.setBorderWidth(0);
        docsLabel.setBorderWidthBottom(1);
        docsTable.addCell(docsLabel);
        PdfPCell docs1 = new PdfPCell(new Phrase("Separation Document(s)", font3));
        docs1.setBorderWidth(0);
        docsTable.addCell(docs1);
        PdfPCell docs2 = new PdfPCell(new Phrase(deathCert, font3));
        docs2.setHorizontalAlignment(Element.ALIGN_CENTER);
        docs2.setBorderWidth(0);
        docs2.setBorderWidthBottom(1);
        docsTable.addCell(docs2);
        PdfPCell docs3 = new PdfPCell(new Phrase("Death Certificate", font3));
        docs3.setBorderWidth(0);
        docsTable.addCell(docs3);
        PdfPCell docs4 = new PdfPCell(new Phrase(marLicense, font3));
        docs4.setHorizontalAlignment(Element.ALIGN_CENTER);
        docs4.setBorderWidth(0);
        docs4.setBorderWidthBottom(1);
        docsTable.addCell(docs4);
        PdfPCell docs5 = new PdfPCell(new Phrase("Marriage License", font3));
        docs5.setBorderWidth(0);
        docsTable.addCell(docs5);
        PdfPCell docs6 = new PdfPCell(new Phrase(divorceDecree, font3));
        docs6.setHorizontalAlignment(Element.ALIGN_CENTER);
        docs6.setBorderWidth(0);
        docs6.setBorderWidthBottom(1);
        docsTable.addCell(docs6);
        PdfPCell docs7 = new PdfPCell(new Phrase("Divorce Decree", font3));
        docs7.setBorderWidth(0);
        docsTable.addCell(docs7);
        PdfPCell docs8 = new PdfPCell(new Phrase(adminDecision, font3));
        docs8.setHorizontalAlignment(Element.ALIGN_CENTER);
        docs8.setBorderWidth(0);
        docs8.setBorderWidthBottom(1);
        docsTable.addCell(docs8);
        PdfPCell docs9 = new PdfPCell(new Phrase("VA Admin Decision", font3));
        docs9.setBorderWidth(0);
        docsTable.addCell(docs9);
        PdfPCell docs10 = new PdfPCell(new Phrase("", font3));
        docs10.setBorderWidth(0);
        docsTable.addCell(docs10);
        PdfPCell docs11 = new PdfPCell(new Phrase("", font3));
        docs11.setBorderWidth(0);
        docsTable.addCell(docs11);
        document.add(docsTable);

        float[] colsWidthOther = { .4f, .4f, 4f };
        PdfPTable otherDocTable = new PdfPTable(colsWidthOther);
        otherDocTable.setWidthPercentage(100);
        PdfPCell otherDoc1 = new PdfPCell(new Phrase(otherCheck, font3));
        otherDoc1.setHorizontalAlignment(Element.ALIGN_CENTER);
        otherDoc1.setBorderWidth(0);
        otherDoc1.setBorderWidthBottom(1);
        otherDocTable.addCell(otherDoc1);
        PdfPCell otherDoc2 = new PdfPCell(new Phrase("Other", font3));
        otherDoc2.setBorderWidth(0);
        otherDocTable.addCell(otherDoc2);
        PdfPCell otherDoc3 = new PdfPCell(new Phrase("", font3));
        otherDoc3.setBorderWidth(0);
        otherDocTable.addCell(otherDoc3);
        otherDocTable.setSpacingAfter(8);
        document.add(otherDocTable);

        if (!otherComments.equals("")) {
            float[] colsWidthOtherComments = { 1.1f, 5f };
            PdfPTable otherCommentsTable = new PdfPTable(colsWidthOtherComments);
            otherCommentsTable.setWidthPercentage(100);
            PdfPCell otherCommentLabel = new PdfPCell(new Phrase("Other Comments:", font3));
            otherCommentLabel.setBorderWidth(0);
            otherCommentsTable.addCell(otherCommentLabel);
            PdfPCell otherCommentsInput = new PdfPCell(new Phrase(otherComments, font3));
            otherCommentsInput.setBorderWidth(0);
            otherCommentsTable.addCell(otherCommentsInput);
            otherCommentsTable.setSpacingAfter(8);
            document.add(otherCommentsTable);
        }

        PdfPTable remarksTable = new PdfPTable(colsWidthRemarks);
        remarksTable.setWidthPercentage(100);
        PdfPCell remarkLabel = new PdfPCell(new Phrase("Remarks:", font3));
        remarkLabel.setBorderWidth(0);
        remarksTable.addCell(remarkLabel);
        PdfPCell remarksInput = new PdfPCell(new Phrase(remarks, font3));
        remarksInput.setBorderWidth(0);
        remarksTable.addCell(remarksInput);
        remarksTable.setSpacingAfter(8);
        document.add(remarksTable);

        Paragraph expediteOne = new Paragraph("-- PLEASE EXPEDITE --", font3);
        expediteOne.setSpacingBefore(5);
        expediteOne.setSpacingAfter(10);
        document.add(expediteOne);

        Paragraph disclosure = new Paragraph(
                "This fax is intended only for the use of the person or office to which it is addressed and may contain information that is privileged, confidential, or protected by law.  All others are hereby notified that the receipt of this fax does not waive any applicable privilege or exemption for disclosure and that any dissemination, distribution, or copying of this communication is prohibited.  If you have received this fax in error, please notify this office immediately at the telephone number listed above.",
                font2);
        disclosure.setAlignment(Element.ALIGN_JUSTIFIED);
        disclosure.setSpacingBefore(5);
        disclosure.setSpacingAfter(10);
        document.add(disclosure);

        float[] colsWidthPages = { 5f, .5f, 2f };
        PdfPTable pagesTable = new PdfPTable(colsWidthPages);
        pagesTable.setWidthPercentage(71);
        PdfPCell pageOneLabel = new PdfPCell(
                new Phrase("This fax sheet consists of the cover page and ", fontHeader));
        pageOneLabel.setBorderWidth(0);
        pageOneLabel.setHorizontalAlignment(Element.ALIGN_RIGHT);
        pagesTable.addCell(pageOneLabel);
        PdfPCell pages = new PdfPCell(new Phrase(faxPages, fontHeader));
        pages.setBorderWidth(0);
        pages.setHorizontalAlignment(Element.ALIGN_CENTER);
        pages.setBorderWidthBottom(1);
        pagesTable.addCell(pages);
        PdfPCell pageTwoLabel = new PdfPCell(new Phrase(" additional pages", fontHeader));
        pageTwoLabel.setBorderWidth(0);
        pagesTable.addCell(pageTwoLabel);
        pagesTable.setSpacingAfter(8);
        document.add(pagesTable);

        Paragraph expediteTwo = new Paragraph("FAX:  816-268-8163  ***** BURIAL  PLEASE EXPEDITE   *****",
                fontBold);
        expediteTwo.setSpacingBefore(5);
        expediteTwo.setSpacingAfter(10);
        document.add(expediteTwo);

        document.close();
    } catch (Exception ex) {
        System.err.println(ex.getMessage());
    }
    return new ByteArrayInputStream(outputStream.toByteArray());

}