Rotacionando carimbo em torno do ponto central

Detalhes da implementação

A classe Stamp permite que você adicione uma marca d’água em um arquivo PDF. Você pode especificar a imagem a ser adicionada como um carimbo usando o método BindImage. O método SetOrigin permite que você defina a origem do carimbo adicionado; essa origem é as coordenadas do canto inferior esquerdo do carimbo. Você também pode definir o tamanho da imagem usando o método SetImageSize.

Agora, veremos como o carimbo pode ser rotacionado em torno do centro do carimbo. A classe Stamp fornece uma propriedade chamada Rotation. Essa propriedade define ou obtém a rotação de 0 a 360 do conteúdo do carimbo. Podemos especificar qualquer valor de rotação de 0 a 360. Ao especificar o valor de rotação, podemos girar o carimbo em torno de seu ponto central. Se um Stamp for um objeto do tipo Stamp, então o valor de rotação pode ser especificado como aStamp.Rotation = 90. Nesse caso, o carimbo será rotacionado em 90 graus em torno do centro do conteúdo do carimbo. O seguinte trecho de código mostra como rotacionar o carimbo em torno do ponto central:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddRotatingStampToPdf()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_TechnicalArticles();  

    // Create PdfFileInfo object to get height and width of the pages
    using (var fileInfo = new Aspose.Pdf.Facades.PdfFileInfo(dataDir + "RotatingStamp.pdf"))
    {
        // Create Stamp object
        var aStamp = new Aspose.Pdf.Facades.Stamp();

        // Bind image file with the Stamp object
        aStamp.BindImage(dataDir + "RotatingStamp.jpg");

        // Specify whether the stamp will be added as a background or not
        aStamp.IsBackground = false;

        // Specifies at which pages to add the watermark
        aStamp.Pages = new int[] { 1 };

        // Specifies the watermark rotation - rotate at 90 degrees
        aStamp.Rotation = 90;

        // Specifies the position of stamp - lower left corner of the stamp
        aStamp.SetOrigin(fileInfo.GetPageWidth(1) / 2, fileInfo.GetPageHeight(1) / 2);

        // Set the size of the watermark
        aStamp.SetImageSize(100, 100);

        // Open PDF document
        using (var document = new Aspose.Pdf.Document(dataDir + "RotatingStamp_out.pdf"))
        {
            // Create PdfFileStamp class to bind input and output files
            using (var stamper = new Aspose.Pdf.Facades.PdfFileStamp(document))
            {
                // Add the stamp in the PDF file
                stamper.AddStamp(aStamp);
            }
        }
    }
}