Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
الشفرة البرمجية التالية تعمل أيضًا مع مكتبة Aspose.PDF.Drawing .
يجب استخدام تعليق العلامة المائية لتمثيل الرسوميات التي يجب طباعتها بحجم ثابت وموقع ثابت على الصفحة، بغض النظر عن أبعاد الصفحة المطبوعة.
يمكنك إضافة نص العلامة المائية باستخدام WatermarkAnnotation في موضع محدد من صفحة PDF. يمكن أيضًا التحكم في شفافية العلامة المائية باستخدام خاصية الشفافية.
يرجى مراجعة الشفرة البرمجية التالية لإضافة 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");
}
}
أحيانًا نحتاج إلى استخدام نفس الصورة عدة مرات في مستند PDF. إضافة مثيل جديد يزيد من حجم مستند PDF الناتج. لقد أضفنا طريقة جديدة XImageCollection.Add(XImage) في Aspose.PDF for .NET 17.1.0. تتيح هذه الطريقة إضافة مرجع لنفس كائن PDF كالصورة الأصلية مما يحسن حجم مستند 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.