本教程演示如何创建一个c# Windows控制台应用程序,该应用程序使用LEADTOOLS SDK向多页文件的每一页添加水印。
概述 | |
---|---|
总结 | 本教程介绍如何在控制台c#应用程序中将水印刻录到多页文件中。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(4kb) |
平台 | c# Windows控制台应用程序 |
IDE | Visual Studio 2017, 2019 |
开发许可 | 下载LEADTOOLS |
在开始之前添加水印到多页文件-控制台c#本教程中,通过回顾添加引用和设置License教程。
中创建的项目的副本开始添加引用和设置License教程。如果您没有该项目,请按照该教程中的步骤创建它。
所需要的参考资料取决于项目的目的。引用可以通过以下两种方法中的一种添加(但不能同时添加)。本项目需要参考资料如下:
如果使用NuGet引用,本教程需要以下NuGet包:
Leadtools.Annotations.WinForms
如果使用本地DLL引用,则需要以下DLL。dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64
:
Leadtools.dll
Leadtools.Annotations.BatesStamp.dll
Leadtools.Annotations.Engine.dll
Leadtools.Annotations.Rendering.WinForms.dll
Leadtools.Codecs.dll
Leadtools.Codecs.Cmp
Leadtools.Codecs.Tif
Leadtools.Pdf.dll
有关特定格式所需的Codec dll的完整列表,请参阅文件格式支持.
许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关包括针对不同平台的教程的详细信息,请参阅设置运行时License.
有两种类型的运行时许可证:
请注意
有关如何正确添加LEADTOOLS NuGet和本地引用的详细信息,请参见添加引用和设置License教程。
随着项目的创建、引用的添加和许可的设置,编码就可以开始了。
在解决方案资源管理器,打开Program.cs
.添加一个名为AddWatermarktoFile ()
并在主要
方法。
将下列语句添加到使用
块的顶部Program.cs
:
//在顶部使用块
使用系统;
使用先;
使用Leadtools;
使用Leadtools.Annotations.BatesStamp;
使用Leadtools.Annotations.Engine;
使用Leadtools.Annotations.Rendering;
使用Leadtools.Codecs;
将下面的代码添加到新创建的方法中,以便向多页文件的每一页添加水印。
静态无效AddWatermarktoFile ()
{
字符串_sourceFile =@“C: \ LEADTOOLS22 \资源\ \ Leadtools.pdf图像”;
//创建AnnBatesStampComposer实例,并将创建的Bates戳添加到其中
使用(AnnBatesStampComposer =新AnnBatesStampComposer ())
{
//设置渲染引擎
AnnBatesStampComposer。RenderingEngine =新AnnWinFormsRenderingEngine ();
//创建Bates邮票容器,设置它的大小和映射器,并将其附加到作曲家
AnnContainer batesStampContainer =新AnnContainer ();
//创建AnnBatesStamp并设置其属性
AnnBatesStamp =新AnnBatesStamp ();
batesStamp。字体=新AnnFont (“天线”12);
batesStamp。前景= AnnSolidColorBrush。创建(“红色”);
batesStamp。horizontalalign = annhorizontalalign . center;
batesStamp。verticalalign = annverticalalign . center;
batesStamp.Logo.Angle = 45;
batesStamp.Logo.Font =新AnnFont (“天线”、32);
batesstamp . logo .透明度= 0.25;
batesStamp.Logo.StretchLogo =真正的;
batesStamp.Logo.Text =“水印”;
使用(RasterCodecs _codecs =新RasterCodecs ())
{
使用(CodecsImageInfo信息= _codecs。GetInformation (_sourceFile真正的))
{
batesStampContainer.Mapper.MapResolutions(信息。XResolution,信息。YResolution,信息。XResolution info.YResolution);
batesStampContainer。Size = batesstampcontainer . map . sizetocontainercoordinates (leadsize . create (info. Size = batesstampcontainer . map . sizetocontainercoordinates)宽度,info.Height));
batesStampComposer.Stamps.Add (batesStamp);
//在容器上应用Bates Stamp
batesStampComposer.TargetContainers.Add (batesStampContainer);
intpages = _codecs.GetTotalPages(_sourceFile);
为(intI = 1;I <= pages;我+ +)
{
使用(RasterImage _image = _codecs。加载(_sourceFile, 24, CodecsLoadByteOrder.)bgrogray, i, i))
{
AnnBatesStampComposer.RenderingEngine。RenderOnImage (batesStampContainer _image);
_codecs。保存(_image,@“C: \ LEADTOOLS22 \资源\ \ watermarkedImage.tif图像”, RasterImageFormat.Tif, _image。BitsPerPixel, 1, 1, 1, CodecsSavePageMode.Append);
}
}
}
}
}
}
按下运行项目F5,或选择Debug ->开始调试.
如果正确地执行了这些步骤,应用程序将自定义水印刻录到多页文件的每一页。为了本教程的目的,使用位于以下文件路径中的PDF:C: \ LEADTOOLS22 \ \ \ Leadtools.pdf图像资源
本教程展示了如何添加必要的引用,以便向多页文件的每一页添加水印。此外,我们还介绍了如何使用AnnContainer
,AnnBatesStamp
,AnnBatesStampComposer
类。