Clase Stamp

El Java StampExamples La clase demuestra los principales flujos de trabajo de construcción de sellos disponibles a través de la API Facades.

Agregar un sello de imagen

Utilice este flujo de trabajo cuando un archivo de imagen deba colocarse en el PDF como un sello.

Pasos

  1. Cree una instancia de PdfFileStamp y enlace el PDF de origen.
  2. Cree un objeto Stamp y enlácelo al archivo de imagen.
  3. Establezca el identificador del sello y el origen de colocación.
  4. Añada el sello al documento.
  5. Guarde el resultado y cierre el objeto fachada.

Ejemplo de Java

public static void addImageStamp(Path inputFile, Path imageFile, Path outputFile) {
    PdfFileStamp pdfStamper = new PdfFileStamp();
    try {
        pdfStamper.bindPdf(inputFile.toString());
        Stamp stamp = new Stamp();
        stamp.bindImage(imageFile.toString());
        stamp.setStampId(1);
        stamp.setOrigin(36, 520);
        pdfStamper.addStamp(stamp);
        pdfStamper.save(outputFile.toString());
    } finally {
        pdfStamper.close();
    }
}

Agregar una página PDF como sello

Utilice este flujo de trabajo cuando el contenido de otra página PDF deba reutilizarse como contenido de sello.

Pasos

  1. Cree una instancia de PdfFileStamp y enlace el PDF de destino.
  2. Cree un objeto Stamp.
  3. Vincule el sello a una página específica de otro archivo PDF.
  4. Establezca el número de página de destino y el origen para la ubicación.
  5. Agregue el sello, guarde la salida y cierre el objeto fachada.

Ejemplo de Java

public static void addPdfPageAsStamp(Path inputFile, Path stampPdf, Path outputFile) {
    PdfFileStamp pdfStamper = new PdfFileStamp();
    try {
        pdfStamper.bindPdf(inputFile.toString());
        Stamp stamp = new Stamp();
        stamp.bindPdf(stampPdf.toString(), 1);
        stamp.setPageNumber(1);
        stamp.setOrigin(36, 250);
        pdfStamper.addStamp(stamp);
        pdfStamper.save(outputFile.toString());
    } finally {
        pdfStamper.close();
    }
}

Agregar una marca de texto con TextState

Utilice este flujo de trabajo cuando la marca debe contener texto con estilo en lugar de una imagen.

Pasos

  1. Cree una instancia de PdfFileStamp y enlace el PDF de origen.
  2. Cree un objeto Stamp.
  3. Vincule un FormattedText logo y un personalizado TextState al sello.
  4. Establezca el origen y la rotación del sello.
  5. Agregue el sello, guarde la salida y cierre el objeto fachada.

Ejemplo de Java

public static void addTextStampWithTextState(Path inputFile, Path outputFile) {
    PdfFileStamp pdfStamper = new PdfFileStamp();
    try {
        pdfStamper.bindPdf(inputFile.toString());
        Stamp stamp = new Stamp();
        stamp.bindLogo(createTextLogo("Approved by signing workflow"));
        stamp.bindTextState(createTextState());
        stamp.setOrigin(36, 700);
        stamp.setRotation(15.0f);
        pdfStamper.addStamp(stamp);
        pdfStamper.save(outputFile.toString());
    } finally {
        pdfStamper.close();
    }
}

Agregar un sello a páginas específicas

Utilice este flujo de trabajo cuando el sello debe aparecer solo en las páginas seleccionadas en lugar de en todo el documento.

Pasos

  1. Cree una instancia de PdfFileStamp y enlace el PDF de origen.
  2. Cree un objeto Stamp y enlácelo a un archivo de imagen.
  3. Establezca la lista de páginas de destino, el origen y el tamaño de la imagen.
  4. Añada el sello al documento.
  5. Guarde el resultado y cierre el objeto fachada.

Ejemplo de Java

public static void addStampToSpecificPages(Path inputFile, Path imageFile, Path outputFile) {
    PdfFileStamp pdfStamper = new PdfFileStamp();
    try {
        pdfStamper.bindPdf(inputFile.toString());
        Stamp stamp = new Stamp();
        stamp.bindImage(imageFile.toString());
        stamp.setPages(new int[] {1});
        stamp.setOrigin(400, 40);
        stamp.setImageSize(120, 60);
        pdfStamper.addStamp(stamp);
        pdfStamper.save(outputFile.toString());
    } finally {
        pdfStamper.close();
    }
}

Agregar una marca de imagen de fondo

Utilice este flujo de trabajo cuando el sello debe aparecer detrás del contenido de la página con opacidad y rotación controladas.

Pasos

  1. Cree una instancia de PdfFileStamp y enlace el PDF de origen.
  2. Cree un objeto Stamp y enlácelo al archivo de imagen.
  3. Marque el sello como contenido de fondo.
  4. Configure la opacidad, la calidad, la rotación, el tamaño y el origen.
  5. Agregue el sello, guarde la salida y cierre el objeto fachada.

Ejemplo de Java

public static void addBackgroundImageStamp(Path inputFile, Path imageFile, Path outputFile) {
    PdfFileStamp pdfStamper = new PdfFileStamp();
    try {
        pdfStamper.bindPdf(inputFile.toString());
        Stamp stamp = new Stamp();
        stamp.bindImage(imageFile.toString());
        stamp.setBackground(true);
        stamp.setOpacity(0.35f);
        stamp.setQuality(90);
        stamp.setRotation(45.0f);
        stamp.setImageSize(160, 80);
        stamp.setOrigin(200, 300);
        pdfStamper.addStamp(stamp);
        pdfStamper.save(outputFile.toString());
    } finally {
        pdfStamper.close();
    }
}