Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
El siguiente fragmento de código también funciona con la biblioteca Aspose.PDF.Drawing.
Una anotación de marca de agua se debe usar para representar gráficos que se imprimirán en un tamaño y posición fijos en una página, independientemente de las dimensiones de la página impresa.
Puede agregar texto de marca de agua usando WatermarkAnnotation en una posición específica de la página PDF. La opacidad de la marca de agua también se puede controlar utilizando la propiedad de opacidad.
Por favor, consulte el siguiente fragmento de código para agregar WatermarkAnnotation.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddWatermarkAnnotation()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "source.pdf"))
{
// Load Page object to add Annotation
var page = document.Pages[1];
// Create Watermark Annotation
var wa = new Aspose.Pdf.Annotations.WatermarkAnnotation(page, new Aspose.Pdf.Rectangle(100, 500, 400, 600));
// Add annotation into Annotation collection of Page
page.Annotations.Add(wa);
// Create TextState for Font settings
var ts = new Aspose.Pdf.Text.TextState();
ts.ForegroundColor = Aspose.Pdf.Color.Blue;
ts.Font = Aspose.Pdf.Text.FontRepository.FindFont("Times New Roman");
ts.FontSize = 32;
// Set opacity level of Annotation Text
wa.Opacity = 0.5;
// Add Text in Annotation
wa.SetTextAndState(new string[] { "HELLO", "Line 1", "Line 2" }, ts);
// Save PDF document
document.Save(dataDir + "AddWatermarkAnnotation_out.pdf");
}
}
A veces tenemos la necesidad de usar la misma imagen múltiples veces en un documento PDF. Agregar una nueva instancia aumenta el tamaño del documento PDF resultante. Hemos agregado un nuevo método XImageCollection.Add(XImage) en Aspose.PDF for .NET 17.1.0. Este método permite agregar referencia al mismo objeto PDF que la imagen original, lo que optimiza el tamaño del documento PDF.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddWatermarkAnnotationWithImage()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Annotations();
// Define the rectangle for the image
var imageRectangle = new Aspose.Pdf.Rectangle(0, 0, 30, 15);
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
{
// Open the image stream
using (var imageStream = File.Open(dataDir + "icon.png", FileMode.Open))
{
XImage image = null;
// Iterate through each page in the document
foreach (Page page in document.Pages)
{
// Create a Watermark Annotation
var annotation = new Aspose.Pdf.Annotations.WatermarkAnnotation(page, page.Rect);
XForm form = annotation.Appearance["N"];
form.BBox = page.Rect;
string name;
// Add the image to the form resources if it hasn't been added yet
if (image == null)
{
name = form.Resources.Images.Add(imageStream);
image = form.Resources.Images[name];
}
else
{
name = form.Resources.Images.Add(image);
}
// Add operators to the form contents to place the image
form.Contents.Add(new Aspose.Pdf.Operators.GSave());
form.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(new Aspose.Pdf.Matrix(imageRectangle.Width, 0, 0, imageRectangle.Height, 0, 0)));
form.Contents.Add(new Aspose.Pdf.Operators.Do(name));
form.Contents.Add(new Aspose.Pdf.Operators.GRestore());
// Add the annotation to the page
page.Annotations.Add(annotation, false);
// Adjust the image rectangle size for the next iteration
imageRectangle = new Aspose.Pdf.Rectangle(0, 0, imageRectangle.Width * 1.01, imageRectangle.Height * 1.01);
}
}
// Save PDF document
document.Save(dataDir + "AddWatermarkAnnotationWithImage_out.pdf");
}
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.