Example usage for com.itextpdf.text Document addSubject

List of usage examples for com.itextpdf.text Document addSubject

Introduction

In this page you can find the example usage for com.itextpdf.text Document addSubject.

Prototype


public boolean addSubject(String subject) 

Source Link

Document

Adds the subject to a Document.

Usage

From source file:net.vzurczak.timesheetgenerator.PdfGenerator.java

License:Apache License

/**
 * Creates a PDF document.//from  ww w.  jav  a 2  s . c  o  m
 * @param bean a generation bean (not null)
 * @throws DocumentException
 * @throws FileNotFoundException
 */
public void createDocument(GenerationDataBean bean) throws FileNotFoundException, DocumentException {

    // Create the document
    File outputFile = new File("./Feuille-De-Temps.pdf");
    final Document doc = new Document(PageSize.A4.rotate());
    PdfWriter.getInstance(doc, new FileOutputStream(outputFile));

    doc.open();
    doc.addAuthor(bean.getName());
    doc.addCreator(bean.getName());

    String s;
    if (bean.getEndWeek() - bean.getStartWeek() > 1)
        s = "Feuilles de Temps - Semaines " + bean.getStartWeek() + "  " + bean.getEndWeek();
    else
        s = "Feuille de Temps - Semaine " + bean.getStartWeek();

    doc.addTitle(s);
    doc.addSubject(s);

    // Add pages
    for (int i = bean.getStartWeek(); i <= bean.getEndWeek(); i++)
        addPageForWeek(i, doc, bean);

    // That's it!
    doc.close();
}

From source file:org.bonitasoft.studio.migration.utils.PDFMigrationReportWriter.java

License:Open Source License

private void addMetaData(Document document) {
    document.addTitle(report.getName());
    document.addSubject("Migration status report");
    document.addKeywords("BPMN, Migration, BonitaSoft, Process");
    document.addAuthor("Bonita Studio");
    document.addCreator("Bonita Studio");
}

From source file:org.gbif.ipt.task.Eml2Pdf.java

/**
   * Construct PDF document, mainly out of information extracted from Resource's EML object. 
   */*from w w  w .j  a  v  a  2s.co m*/
   * @param doc      Document
   * @param resource Resource
   * @param lng language of the document
   *
   * @throws DocumentException if problem occurs during add
*/

private void addMetaData(Document document) {
    log.info("Adding metadata info to document");
    document.addTitle(getText("pdf.title.doc"));
    document.addSubject(getText("pdf.subj.doc"));
    document.addAuthor(getText("pdf.author.doc"));
    document.addCreator(getText("pdf.creator.doc"));
}

From source file:org.me.modelos.PDFHelper.java

public void tablaToPdf(JTable jTable, File pdfNewFile, String title) {
    try {//  w w  w.  j av  a  2s.c  o m
        Font subCategoryFont = new Font(Font.FontFamily.HELVETICA, 16, Font.BOLD);
        Document document = new Document(PageSize.LETTER.rotate());
        PdfWriter writer = null;
        try {
            writer = PdfWriter.getInstance(document, new FileOutputStream(pdfNewFile));
        } catch (FileNotFoundException fileNotFoundException) {
            Message.showErrorMessage(fileNotFoundException.getMessage());
        }

        writer.setBoxSize("art", new Rectangle(150, 10, 700, 580));
        writer.setPageEvent(new HeaderFooterPageEvent());
        document.open();
        document.addTitle(title);

        document.addSubject("Reporte");
        document.addKeywords("reportes, gestion, pdf");
        document.addAuthor("Gestion de Proyectos de software");
        document.addCreator("gestion de proyectos");

        Paragraph parrafo = new Paragraph(title, subCategoryFont);

        PdfPTable table = new PdfPTable(jTable.getColumnCount());
        table.setWidthPercentage(100);
        PdfPCell columnHeader;

        for (int column = 0; column < jTable.getColumnCount(); column++) {
            Font font = new Font(Font.FontFamily.HELVETICA);
            font.setColor(255, 255, 255);
            columnHeader = new PdfPCell(new Phrase(jTable.getColumnName(column), font));
            columnHeader.setHorizontalAlignment(Element.ALIGN_LEFT);
            columnHeader.setBackgroundColor(new BaseColor(96, 125, 139));
            table.addCell(columnHeader);
        }
        table.getDefaultCell().setBackgroundColor(new BaseColor(255, 255, 255));
        table.setHeaderRows(1);
        BaseColor verdad = new BaseColor(255, 255, 255);
        BaseColor falso = new BaseColor(214, 230, 244);
        boolean bandera = false;
        for (int row = 0; row < jTable.getRowCount(); row++) {

            for (int column = 0; column < jTable.getColumnCount(); column++) {

                if (bandera) {
                    table.getDefaultCell().setBackgroundColor(verdad);
                } else {
                    table.getDefaultCell().setBackgroundColor(falso);
                }
                table.addCell(jTable.getValueAt(row, column).toString());
                bandera = !bandera;
            }

        }

        parrafo.add(table);
        document.add(parrafo);
        document.close();
        //JOptionPane.showMessageDialog(null, "Se ha creado el pdf en " + pdfNewFile.getPath(),
        //        "RESULTADO", JOptionPane.INFORMATION_MESSAGE);
    } catch (DocumentException documentException) {
        System.out.println("Se ha producido un error " + documentException);
        JOptionPane.showMessageDialog(null, "Se ha producido un error" + documentException, "ERROR",
                JOptionPane.ERROR_MESSAGE);
    }
}

From source file:org.opentox.io.publishable.PDFObject.java

License:Open Source License

public void publish(YaqpIOStream stream) throws YaqpException {
    if (stream == null) {
        throw new NullPointerException("Cannot public pdf to a null output stream");
    }/*w  w  w . j  a va  2s .  c  o m*/
    try {
        Document doc = new Document();
        try {
            PdfWriter.getInstance(doc, (OutputStream) stream.getStream());
        } catch (ClassCastException ex) {
            throw new ClassCastException("The stream you provided is not a valid output stream");
        }
        doc.open();
        doc.addAuthor(pdfAuthor);
        doc.addCreationDate();
        doc.addProducer();
        doc.addSubject(subject);
        doc.addCreator(pdfCreator);
        doc.addTitle(pdfTitle);
        doc.addKeywords(pdfKeywords);
        doc.addHeader("License", "GNU GPL v3");
        Image image = null;
        try {
            image = Image.getInstance(new URL(OpenToxLogoUrl));
        } catch (Exception ex) {// OpenTox Logo was not found on the web...
            try {// use the cached image instead
                YaqpLogger.LOG.log(new Trace(getClass(), "OpenTox Logo not found at " + OpenToxLogoUrl));
                image = Image.getInstance(alternativeLogoPath);
            } catch (Exception ex1) {// if no image at local folder
                YaqpLogger.LOG.log(new Debug(getClass(),
                        "OpenTox Logo not found at " + alternativeLogoPath + " :: " + ex1));
            }
        }
        if (image != null) {
            image.scalePercent(40);
            image.setAnnotation(new Annotation(0, 0, 0, 0, "http://opentox.org"));
            Chunk ck_ot = new Chunk(image, -5, -30);
            doc.add(ck_ot);
        }
        try {
            Image yaqp = Image.getInstance(yaqpLogo);
            yaqp.scalePercent(30);
            yaqp.setAnnotation(new Annotation(0, 0, 0, 0, "https://opentox.ntua.gr"));
            yaqp.setAlt("YAQP(R), yet another QSAR Project");
            Chunk ck_yaqp = new Chunk(yaqp, 15, -30);
            doc.add(ck_yaqp);
        } catch (Exception ex) {
            YaqpLogger.LOG
                    .log(new Warning(getClass(), "YAQP Logo not found at " + kinkyDesignLogo + " :: " + ex));
        }
        doc.add(new Paragraph("\n\n\n"));
        for (Element e : elements) {
            doc.add(e);
        }
        doc.close();
    } catch (DocumentException ex) {
        String message = "Error while generating PDF representation.";
        YaqpLogger.LOG.log(new Warning(getClass(), message));
        throw new YaqpException(XPDF18, message, ex);
    }

}

From source file:org.sharegov.cirm.utils.PDFExportUtil.java

License:Apache License

private static void addMetaData(Document doc) {
    doc.addTitle("My title");
    doc.addSubject("My subject");
    doc.addKeywords("itext, java, export");
    doc.addAuthor("");
    doc.addCreator("");
}

From source file:org.sistemafinanciero.rest.impl.CuentaBancariaRESTService.java

License:Apache License

@Override
public Response getEstadoCuentaPdf(BigInteger idCuentaBancaria, Long desde, Long hasta) {
    Date dateDesde = (desde != null ? new Date(desde) : null);
    Date dateHasta = (desde != null ? new Date(hasta) : null);

    //dando formato a las fechas
    SimpleDateFormat fechaformato = new SimpleDateFormat("dd/MM/yyyy");
    String fechaDesde = fechaformato.format(dateDesde);
    String fechaHasta = fechaformato.format(dateHasta);

    Set<Titular> titulares = cuentaBancariaServiceNT.getTitulares(idCuentaBancaria, true);
    List<String> emails = new ArrayList<String>();
    for (Titular titular : titulares) {
        PersonaNatural personaNatural = titular.getPersonaNatural();
        String email = personaNatural.getEmail();
        if (email != null)
            emails.add(email);//from  ww  w.j  a  v  a 2  s . co  m
    }
    CuentaBancariaView cuentaBancariaView = cuentaBancariaServiceNT.findById(idCuentaBancaria);
    List<EstadocuentaBancariaView> list = cuentaBancariaServiceNT.getEstadoCuenta(idCuentaBancaria, dateDesde,
            dateHasta);

    /**obteniendo la moneda y dando formato**/
    Moneda moneda = monedaServiceNT.findById(cuentaBancariaView.getIdMoneda());
    NumberFormat df1 = NumberFormat.getCurrencyInstance();
    DecimalFormatSymbols dfs = new DecimalFormatSymbols();
    dfs.setCurrencySymbol("");
    dfs.setGroupingSeparator(',');
    dfs.setMonetaryDecimalSeparator('.');
    ((DecimalFormat) df1).setDecimalFormatSymbols(dfs);

    /**PDF**/
    ByteArrayOutputStream outputStream = null;
    outputStream = new ByteArrayOutputStream();

    Document document = new Document();
    try {
        PdfWriter.getInstance(document, outputStream);
        document.open();

        document.addTitle("Estado de Cuenta");
        document.addSubject("Estado de Cuenta");
        document.addKeywords("email");
        document.addAuthor("Cooperativa de Ahorro y Crdito Caja Ventura");
        document.addCreator("Cooperativa de Ahorro y Crdito Caja Ventura");

        Paragraph saltoDeLinea = new Paragraph();
        document.add(saltoDeLinea);
    } catch (DocumentException e1) {
        e1.printStackTrace();
    }

    /******************* TITULO ******************/
    try {
        //Image img = Image.getInstance("/images/logo_coop_contrato.png");
        Image img = Image.getInstance("//usr//share//jboss//archivos//logoCartilla//logo_coop_contrato.png");
        img.setAlignment(Image.LEFT | Image.UNDERLYING);
        document.add(img);

        Paragraph parrafoPrincipal = new Paragraph();
        parrafoPrincipal.setSpacingAfter(30);
        //parrafoPrincipal.setSpacingBefore(50);
        parrafoPrincipal.setAlignment(Element.ALIGN_CENTER);
        parrafoPrincipal.setIndentationLeft(100);
        parrafoPrincipal.setIndentationRight(50);

        Paragraph parrafoSecundario = new Paragraph();
        parrafoSecundario.setSpacingAfter(20);
        parrafoSecundario.setSpacingBefore(-20);
        parrafoSecundario.setAlignment(Element.ALIGN_LEFT);
        parrafoSecundario.setIndentationLeft(160);
        parrafoSecundario.setIndentationRight(10);

        Chunk titulo = new Chunk("ESTADO DE CUENTA");
        Font fuenteTitulo = new Font(FontFamily.UNDEFINED, 13, Font.BOLD);
        titulo.setFont(fuenteTitulo);
        parrafoPrincipal.add(titulo);

        Font fuenteDatosCliente = new Font(FontFamily.UNDEFINED, 10);
        Date fechaSistema = new Date();
        SimpleDateFormat formatFecha = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
        String fechaActual = formatFecha.format(fechaSistema);

        if (cuentaBancariaView.getTipoPersona() == TipoPersona.NATURAL) {
            Chunk clientePNNombres = new Chunk("CLIENTE       : " + cuentaBancariaView.getSocio() + "\n");
            Chunk clientePNDni = new Chunk(cuentaBancariaView.getTipoDocumento() + "                : "
                    + cuentaBancariaView.getNumeroDocumento() + "\n");
            //Chunk clientePNTitulares = new Chunk("TITULAR(ES): " + cuentaBancariaView.getTitulares() + "\n");
            Chunk clientePNFecha = new Chunk("FECHA          : " + fechaActual + "\n\n");

            Chunk tipoCuentaPN = new Chunk("CUENTA " + cuentaBancariaView.getTipoCuenta() + " N "
                    + cuentaBancariaView.getNumeroCuenta() + "\n");
            Chunk tipoMonedaPN;

            if (cuentaBancariaView.getIdMoneda().compareTo(BigInteger.ZERO) == 0) {
                tipoMonedaPN = new Chunk("MONEDA: " + "DOLARES AMERICANOS" + "\n");
            } else if (cuentaBancariaView.getIdMoneda().compareTo(BigInteger.ONE) == 0) {
                tipoMonedaPN = new Chunk("MONEDA: " + "NUEVOS SOLES" + "\n");
            } else {
                tipoMonedaPN = new Chunk("MONEDA: " + "EUROS" + "\n");
            }

            Chunk fechaEstadoCuenta = new Chunk("ESTADO DE CUENTA DEL " + fechaDesde + " AL " + fechaHasta);
            //obteniedo titulares
            /*String tPN = cuentaBancariaView.getTitulares();
            String[] arrayTitulares = tPN.split(",");
            Chunk clientePNTitulares = new Chunk("Titular(es):");
            for (int i = 0; i < arrayTitulares.length; i++) {
               String string = arrayTitulares[i];
            }*/

            clientePNNombres.setFont(fuenteDatosCliente);
            clientePNDni.setFont(fuenteDatosCliente);
            //clientePNTitulares.setFont(fuenteDatosCliente);
            clientePNFecha.setFont(fuenteDatosCliente);
            tipoCuentaPN.setFont(fuenteDatosCliente);
            tipoMonedaPN.setFont(fuenteDatosCliente);
            fechaEstadoCuenta.setFont(fuenteDatosCliente);

            parrafoSecundario.add(clientePNNombres);
            parrafoSecundario.add(clientePNDni);
            //parrafoSecundario.add(clientePNTitulares);
            parrafoSecundario.add(clientePNFecha);
            parrafoSecundario.add(tipoCuentaPN);
            parrafoSecundario.add(tipoMonedaPN);
            parrafoSecundario.add(fechaEstadoCuenta);

        } else {
            Chunk clientePJNombre = new Chunk("CLIENTE       : " + cuentaBancariaView.getSocio() + "\n");
            Chunk clientePJRuc = new Chunk(cuentaBancariaView.getTipoDocumento() + "               : "
                    + cuentaBancariaView.getNumeroDocumento() + "\n");
            //Chunk clientePJTitulares = new Chunk("TITULAR(ES): " + cuentaBancariaView.getTitulares() + "\n");
            Chunk clientePJFecha = new Chunk("FECHA          : " + fechaActual + "\n\n");

            Chunk tipoCuentaPJ = new Chunk("CUENTA " + cuentaBancariaView.getTipoCuenta() + " N "
                    + cuentaBancariaView.getNumeroCuenta() + "\n");
            Chunk tipoMonedaPJ;

            if (cuentaBancariaView.getIdMoneda().compareTo(BigInteger.ZERO) == 0) {
                tipoMonedaPJ = new Chunk("MONEDA: " + "DOLARES AMERICANOS" + "\n");
            } else if (cuentaBancariaView.getIdMoneda().compareTo(BigInteger.ONE) == 0) {
                tipoMonedaPJ = new Chunk("MONEDA: " + "NUEVOS SOLES" + "\n");
            } else {
                tipoMonedaPJ = new Chunk("MONEDA: " + "EUROS" + "\n");
            }

            Chunk fechaEstadoCuenta = new Chunk("ESTADO DE CUENTA DEL " + fechaDesde + " AL " + fechaHasta);
            //obteniedo titulares
            /*String tPN = cuentaBancariaView.getTitulares();
            String[] arrayTitulares = tPN.split(",");
            Chunk clientePNTitulares = new Chunk("Titular(es):");
            for (int i = 0; i < arrayTitulares.length; i++) {
               String string = arrayTitulares[i];
            }*/

            clientePJNombre.setFont(fuenteDatosCliente);
            clientePJRuc.setFont(fuenteDatosCliente);
            //clientePJTitulares.setFont(fuenteDatosCliente);
            clientePJFecha.setFont(fuenteDatosCliente);
            tipoCuentaPJ.setFont(fuenteDatosCliente);
            tipoMonedaPJ.setFont(fuenteDatosCliente);
            fechaEstadoCuenta.setFont(fuenteDatosCliente);

            parrafoSecundario.add(clientePJNombre);
            parrafoSecundario.add(clientePJRuc);
            //parrafoSecundario.add(clientePJTitulares);
            parrafoSecundario.add(clientePJFecha);
            parrafoSecundario.add(tipoCuentaPJ);
            parrafoSecundario.add(tipoMonedaPJ);
            parrafoSecundario.add(fechaEstadoCuenta);

        }

        document.add(parrafoPrincipal);
        document.add(parrafoSecundario);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    Font fontTableCabecera = new Font(FontFamily.UNDEFINED, 9, Font.BOLD);
    Font fontTableCuerpo = new Font(FontFamily.UNDEFINED, 9, Font.NORMAL);

    float[] columnWidths = { 5f, 4f, 2.8f, 10f, 3.5f, 4f, 2.8f };
    PdfPTable table = new PdfPTable(columnWidths);
    table.setWidthPercentage(100);

    PdfPCell cellFechaHoraCabecera = new PdfPCell(new Paragraph("FECHA Y HORA", fontTableCabecera));
    PdfPCell cellTransaccionCabecera = new PdfPCell(new Paragraph("TIPO TRANS.", fontTableCabecera));
    PdfPCell cellOperacionCabecera = new PdfPCell(new Paragraph("NUM. OP.", fontTableCabecera));
    PdfPCell cellReferenciaCabecera = new PdfPCell(new Paragraph("REFERENCIA", fontTableCabecera));
    PdfPCell cellMontoCabecera = new PdfPCell(new Paragraph("MONTO", fontTableCabecera));
    PdfPCell cellSaldoDisponibleCabecera = new PdfPCell(new Paragraph("DISPONIBLE", fontTableCabecera));
    PdfPCell cellEstado = new PdfPCell(new Paragraph("ESTADO", fontTableCabecera));

    table.addCell(cellFechaHoraCabecera);
    table.addCell(cellTransaccionCabecera);
    table.addCell(cellOperacionCabecera);
    table.addCell(cellReferenciaCabecera);
    table.addCell(cellMontoCabecera);
    table.addCell(cellSaldoDisponibleCabecera);
    table.addCell(cellEstado);

    for (EstadocuentaBancariaView estadocuentaBancariaView : list) {
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm");
        String fecHoraFormat = sdf.format(estadocuentaBancariaView.getHora());

        PdfPCell cellFechaHora = new PdfPCell(new Paragraph(fecHoraFormat, fontTableCuerpo));
        table.addCell(cellFechaHora);
        PdfPCell cellTipoTrasaccion = new PdfPCell(
                new Paragraph(estadocuentaBancariaView.getTipoTransaccionTransferencia(), fontTableCuerpo));
        table.addCell(cellTipoTrasaccion);
        PdfPCell cellNumOperacion = new PdfPCell(
                new Paragraph(estadocuentaBancariaView.getNumeroOperacion().toString(), fontTableCuerpo));
        table.addCell(cellNumOperacion);
        PdfPCell cellReferencia = new PdfPCell(
                new Paragraph(estadocuentaBancariaView.getReferencia(), fontTableCuerpo));
        table.addCell(cellReferencia);
        PdfPCell cellMonto = new PdfPCell(
                new Paragraph(df1.format(estadocuentaBancariaView.getMonto()), fontTableCuerpo));
        table.addCell(cellMonto);
        PdfPCell cellSaldoDisponible = new PdfPCell(
                new Paragraph(df1.format(estadocuentaBancariaView.getSaldoDisponible()), fontTableCuerpo));
        table.addCell(cellSaldoDisponible);
        if (estadocuentaBancariaView.getEstado()) {
            PdfPCell cellEstadoActivo = new PdfPCell(new Paragraph("Activo", fontTableCuerpo));
            table.addCell(cellEstadoActivo);
        } else {
            PdfPCell cellEstadoExtornado = new PdfPCell(new Paragraph("Extornado", fontTableCuerpo));
            table.addCell(cellEstadoExtornado);
        }
    }

    Paragraph saldoDisponible = new Paragraph();
    saldoDisponible.setAlignment(Element.ALIGN_CENTER);
    Chunk textoSaldoDisponible = new Chunk(
            "SALDO DISPONIBLE: " + moneda.getSimbolo() + df1.format(cuentaBancariaView.getSaldo()),
            fontTableCabecera);
    textoSaldoDisponible.setFont(fontTableCabecera);
    saldoDisponible.add(textoSaldoDisponible);

    try {
        document.add(table);
        document.add(saldoDisponible);
    } catch (DocumentException e) {
        e.printStackTrace();
    }

    document.close();

    return Response.ok(outputStream.toByteArray()).type("application/pdf").build();
}

From source file:org.totschnig.myexpenses.model.Account.java

License:Open Source License

private void addMetaData(Document document) {
    document.addTitle(label);
    document.addSubject("Generated by MyExpenses.mobi");
}

From source file:org.tvd.thptty.management.report.Report.java

private void addMetaData(Document document) {
    document.addTitle(title);//from w w w  .  j  a v a  2s  . com
    document.addSubject(subject);
    document.addKeywords(keywords);
    document.addAuthor(author);
    document.addCreator(creator);
}

From source file:org.zaproxy.zap.extension.alertReport.AlertReportExportPDF.java

License:Apache License

private static void addMetaData(Document document, ExtensionAlertReportExport extensionExport) {

    document.addTitle(extensionExport.getParams().getTitleReport());
    document.addSubject(extensionExport.getParams().getCustomerName());
    document.addKeywords(extensionExport.getParams().getPdfKeywords());
    document.addAuthor(extensionExport.getParams().getAuthorName());
    document.addCreator(extensionExport.getParams().getAuthorName());
}