在PDF中以编程方式添加图片印章
Contents
[
Hide
]
在PDF文件中添加图片印章
您可以使用ImageStamp类向PDF文件添加图片印章。ImageStamp类提供了创建基于图片印章所需的属性,例如高度、宽度、不透明度等。
要添加图片印章:
以下代码片段展示了如何在PDF文件中添加图片印章。
using namespace System;
using namespace Aspose::Pdf;
using namespace Aspose::Pdf::Text;
void AddImageStampToPDFFile()
{
String _dataDir("C:\\Samples\\");
// 输入文件名的字符串
String inputFileName("AddImageStamp.pdf");
String outputFileName("AddImageStamp_out.pdf");
// 打开文档
auto document = MakeObject<Document>(_dataDir + inputFileName);
// 创建图像印章
auto imageStamp = MakeObject<ImageStamp>(_dataDir + u"aspose-logo.jpg");
imageStamp->set_Background(true);
imageStamp->set_XIndent(100);
imageStamp->set_YIndent(100);
imageStamp->set_Height(48);
imageStamp->set_Width(225);
imageStamp->set_Rotate(Rotation::on270);
imageStamp->set_Opacity(0.5);
// 将印章添加到特定页面
document->get_Pages()->idx_get(1)->AddStamp(imageStamp);
// 保存输出文档
document->Save(_dataDir + outputFileName);
}
添加印章时控制图像质量
当将图像作为印章对象添加时,您可以控制图像的质量。 质量属性的 ImageStamp 类用于此目的。它表示图像的质量,以百分比表示(有效值为 0..100)。
void ControlImageQualityWhenAddingStamp() {
String _dataDir("C:\\Samples\\");
// 输入文件名的字符串
String inputFileName("AddImageStamp.pdf");
String outputFileName("ControlImageQuality_out.pdf");
// 打开文档
auto document = MakeObject<Document>(_dataDir + inputFileName);
// 创建图像印章
auto imageStamp = MakeObject<ImageStamp>(_dataDir + u"aspose-logo.jpg");
imageStamp->set_Quality(10);
document->get_Pages()->idx_get(1)->AddStamp(imageStamp);
document->Save(_dataDir + u"ControlImageQuality_out.pdf");
}
浮动框中的图像印章作为背景
Aspose.PDF API 允许您在浮动框中添加图像印章作为背景。 FloatingBox 类的 BackgroundImage 属性可用于设置浮动框的背景图像戳记,如以下代码示例所示。
void ImageStampAsBackgroundInFloatingBox() {
String _dataDir("C:\\Samples\\");
// 输入文件名称的字符串
String inputFileName("AddImageStamp.pdf");
String outputFileName("AddImageStampAsBackgroundInFloatingBox_out.pdf");
// 实例化 Document 对象
auto document = MakeObject<Document>();
// 向 PDF 文档添加页面
auto page = document->get_Pages()->Add();
// 创建 FloatingBox 对象
auto aBox = MakeObject<FloatingBox>(200, 100);
// 设置 FloatingBox 的左侧位置
aBox->set_Left(40);
// 设置 FloatingBox 的顶部位置
aBox->set_Top(80);
// 设置 FloatingBox 的水平对齐
aBox->set_HorizontalAlignment(HorizontalAlignment::Center);
// 向 FloatingBox 的段落集合中添加文本片段
aBox->get_Paragraphs()->Add(MakeObject<TextFragment>(u"main text"));
// 设置 FloatingBox 的边框
aBox->set_Border(MakeObject<BorderInfo>(BorderSide::All, Color::get_Red()));
// 添加背景图像
auto image = MakeObject<Image>();
image->set_File(_dataDir + u"aspose-logo.png");
aBox->set_BackgroundImage(image);
// 设置 FloatingBox 的背景颜色
aBox->set_BackgroundColor(Color::get_Yellow());
// 将 FloatingBox 添加到页面对象的段落集合中
page->get_Paragraphs()->Add(aBox);
// 保存 PDF 文档
document->Save(_dataDir + outputFileName);
}