Adicionar selos de imagem em PDF programaticamente
Adicionar Selo de Imagem em Arquivo PDF
Você pode usar a classe ImageStamp para adicionar uma imagem como um selo no documento PDF. A classe ImageStamp fornece métodos para especificar altura, largura, opacidade, etc.
Para adicionar um selo 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.
// Abrir documento
$document = new Document($inputFile);
$pages = $document->getPages();
// Criar carimbo de imagem
$imageStamp = new ImageStamp($inputImageFile);
$imageStamp->setBackground(true);
$imageStamp->setXIndent(100);
$imageStamp->setYIndent(100);
$imageStamp->setHeight(48);
$imageStamp->setWidth(225);
$imageStamp->setRotate((new Rotation())->getOn270());
$imageStamp->setOpacity(0.5);
// Adicionar carimbo a uma página específica
$document->getPages()->get_Item(1)->addStamp($imageStamp);
// Salvar documento de saída
$document->save($outputFile);
$document->close()
Controlar a Qualidade da Imagem ao Adicionar Carimbo
A classe ImageStamp permite adicionar uma imagem como carimbo em um documento PDF. It also allows you to control the image quality when adding an image as a watermark in a PDF file. To allow this, a method named setQuality(…) has been added to the ImageStamp class. A similar method can also be found in the Stamp class of the com.aspose.pdf.facades package.
O trecho de código a seguir mostra como controlar a qualidade da imagem ao adicionar como carimbo no arquivo PDF.
// Abrir documento
$document = new Document($inputFile);
$pages = $document->getPages();
// Criar carimbo de imagem
$imageStamp = new ImageStamp($inputImageFile);
$imageStamp->setQuality(10);
$document->getPages()->get_Item(1)->addStamp($imageStamp);
// Salvar documento de saída
$document->save($outputFile);
$document->close();
Carimbo de Imagem como Plano de Fundo em Caixa Flutuante
A API Aspose.PDF permite adicionar um carimbo de imagem como plano de fundo em uma caixa flutuante. A propriedade BackgroundImage da classe FloatingBox pode ser usada para definir a imagem de fundo para uma caixa flutuante, como mostrado no exemplo de código a seguir.
Este trecho de código demonstra o processo de criação de um documento PDF e a adição de um FloatingBox a ele. O FloatingBox contém um fragmento de texto, uma borda, uma imagem de fundo e uma cor de fundo. O documento resultante é então salvo em um arquivo de saída.
// Abrir documento
$document = new Document($inputFile);
$colors = new Color();
$pages = $document->getPages();
// Adicionar página ao documento PDF
$page = $pages->add();
// Criar objeto 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 o alinhamento horizontal para FloatingBox
$aBox->setHorizontalAlignment((new HorizontalAlignment())->getCenter());
// Adicionar fragmento de texto à coleção de parágrafos do FloatingBox
$aBox->getParagraphs()->add(new TextFragment("texto principal"));
// Definir borda para FloatingBox
$aBox->setBorder(new BorderInfo(BorderSide::$All, $colors->getRed()));
// Adicionar imagem de fundo
$img = new Image();
$img->setFile($inputImageFile);
$aBox->setBackgroundImage($img);
// Definir cor de fundo para FloatingBox
$aBox->setBackgroundColor($colors->getYellow());
// Adicionar FloatingBox à coleção de parágrafos do objeto página
$page->getParagraphs()->add($aBox);
// Salvar documento de saída
$document->save($outputFile);
$document->close();