Adicionar carimbos de imagem em PDF programaticamente
Adicionar Carimbo de Imagem em Arquivo PDF
Você pode usar a classe ImageStamp para adicionar uma imagem como um carimbo em um documento PDF. A classe ImageStamp fornece métodos para especificar altura, largura, opacidade etc.
Para adicionar um carimbo de imagem:
-
Crie um objeto Document e um objeto ImageStamp usando as propriedades necessárias.
-
Chame o método addStamp(..) da classe Page para adicionar o carimbo ao PDF.
O trecho de código a seguir mostra como adicionar um carimbo de imagem no arquivo PDF.
public static void AddImageStampInPDFFile() {
// Abrir documento
Document pdfDocument = new Document(_dataDir + "AddImageStamp.pdf");
// Criar carimbo de imagem
ImageStamp imageStamp = new ImageStamp(_dataDir + "aspose-logo.png");
imageStamp.setBackground(true);
imageStamp.setXIndent(100);
imageStamp.setYIndent(100);
imageStamp.setHeight(48);
imageStamp.setWidth(225);
imageStamp.setRotate(Rotation.on270);
imageStamp.setOpacity(0.5);
// Adicionar carimbo a uma página específica
pdfDocument.getPages().get_Item(1).addStamp(imageStamp);
// Salvar documento de saída
pdfDocument.save(_dataDir + "AddImageStamp_out.pdf");
}
Controlar a Qualidade da Imagem ao Adicionar Carimbo
A classe ImageStamp permite adicionar uma imagem como carimbo em um documento PDF. Ela também permite controlar a qualidade da imagem ao adicionar uma imagem como marca d’água em um arquivo PDF. Para permitir isso, um método chamado setQuality(…) foi adicionado à classe ImageStamp. Um método semelhante também pode ser encontrado na classe Stamp do pacote com.aspose.pdf.facades.
O trecho de código a seguir mostra como controlar a qualidade da imagem ao adicionar como carimbo no arquivo PDF.
public static void ControlImageQualityWhenAddingStamp() {
// Abrir documento
Document pdfDocument = new Document(_dataDir + "AddImageStamp.pdf");
// Criar carimbo de imagem
ImageStamp imageStamp = new ImageStamp(_dataDir + "aspose-logo.png");
imageStamp.setQuality(10);
pdfDocument.getPages().get_Item(1).addStamp(imageStamp);
pdfDocument.save(_dataDir + "ControlImageQuality_out.pdf");
}
Carimbo de Imagem como Fundo em Caixa Flutuante
A API Aspose.PDF permite adicionar um carimbo de imagem como fundo em uma caixa flutuante. A propriedade BackgroundImage da classe FloatingBox pode ser usada para definir o carimbo de imagem de fundo para uma caixa flutuante, como mostrado no exemplo de código a seguir.
public static void ImageStampAsBackgroundInFloatingBox() {
// Instanciar objeto Document
Document doc = new Document();
// Adicionar página ao documento PDF
Page page = doc.getPages().add();
// Criar objeto FloatingBox
FloatingBox aBox = new FloatingBox(200, 100);
// Definir posição à esquerda para FloatingBox
aBox.setLeft(40);
// Definir posição superior para FloatingBox
aBox.setTop(80);
// Definir alinhamento horizontal para FloatingBox
aBox.setHorizontalAlignment(HorizontalAlignment.Center);
// Adicionar fragmento de texto à coleção de parágrafos de FloatingBox
aBox.getParagraphs().add(new TextFragment("texto principal"));
// Definir borda para FloatingBox
aBox.setBorder(new BorderInfo(BorderSide.All, Color.getRed()));
// Adicionar imagem de fundo
Image img = new Image();
img.setFile(_dataDir + "aspose-logo.png");
aBox.setBackgroundImage(img);
// Definir cor de fundo para FloatingBox
aBox.setBackgroundColor(Color.getYellow());
// Adicionar FloatingBox à coleção de parágrafos do objeto page
page.getParagraphs().add(aBox);
// Salvar o documento PDF
doc.save(_dataDir + "AddImageStampAsBackgroundInFloatingBox_out.pdf");
}
}