Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package gestionContratsCession; import classesMetier.ContratCession; import classesMetier.Representation; import com.itextpdf.text.BadElementException; import com.itextpdf.text.BaseColor; import com.itextpdf.text.Chapter; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Element; import com.itextpdf.text.Font; import com.itextpdf.text.Image; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfWriter; import com.itextpdf.text.Section; import java.io.FileOutputStream; import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import nezdames.serialisation.NezDamesSerialisation; /** * Cration d'un contrat de cession en PDF */ public class GenererPdfContratCession { private String FILE; private static final Font catFont = new Font(Font.FontFamily.TIMES_ROMAN, 18, Font.BOLD); private static final Font redFont = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.NORMAL, BaseColor.RED); private static final Font subFont = new Font(Font.FontFamily.TIMES_ROMAN, 16, Font.BOLD); private static final Font smallBold = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD); public static final String imageBanniere = "src/images/banniere.png"; public static final String entete = "src/images/entete.png"; private static ContratCession leContrat; public GenererPdfContratCession(int indiceDuContratCessionAEditer) { try { leContrat = NezDamesSerialisation.lesContratsCession.get(indiceDuContratCessionAEditer); FILE = "ContratsCession/ContratDeCession-" + NezDamesSerialisation.lesContratsCession .get(indiceDuContratCessionAEditer).getNumeroContratCession() + ".pdf"; Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(FILE)); document.open(); ajoutContenu(document); document.close(); } catch (Exception e) { e.printStackTrace(); } } 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 CESSION", 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("ENTRE LES SOUSSIGNES : ", 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("ET : ", subFont)); subCatPart.add(new Paragraph(" Raison sociale : ")); subCatPart.add(new Paragraph(" S.I.R.E.T. N : " + " NAF : ")); subCatPart.add(new Paragraph(" Adresse : ")); subCatPart.add(new Paragraph(" Reprsent par : " + " Tl. :")); subCatPart.add(new Paragraph(" En sa qualit de : " + " Fax. : ")); 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)); //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); } }