添加水印多页文件,控制台c#

本教程展示了如何创建一个c# Windows控制台应用程序,添加了水印的每个页面一个多页文件使用LEADTOOLS SDK。

概述
总结 本教程介绍了如何烧一个水印多页文件在c#控制台应用程序。
完成时间 30分钟
Visual Studio项目 下载教程项目(4 KB)
平台 c# Windows控制台应用程序
IDE Visual Studio 2017中,2019年
开发许可 下载LEADTOOLS

所需的知识

在工作之前添加水印多页文件,控制台c#教程中,熟悉的基本步骤,创建一个项目通过审查添加引用和设置一个许可证教程。

创建项目并添加LEADTOOLS引用

从项目中创建的副本添加引用和设置一个许可证教程。如果你没有这个项目,按照这个教程中的步骤创建它。

的引用需要取决于项目的目的。引用可以通过添加一个或另一个下面的两种方法(但不是全部)。对于这个项目,还需要以下引用:

如果使用NuGet引用,本教程需要以下NuGet包:

如果使用本地DLL的引用,下面的DLL是必要的。dll位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64:

对于一个完整的列表的编解码器dll需要特定的格式,请参考文件格式的支持

设置许可文件

许可解锁项目需要的特性。它必须设置工具箱函数被调用之前。细节包括教程不同的平台,请参考设置一个运行时许可

有两种类型的运行时许可证:

添加水印的代码

与项目创建、添加引用,许可,可以开始编码。

解决方案资源管理器,打开Program.cs。添加一个新方法AddWatermarktoFile ()然后在调用它主要方法。

添加以下语句的使用块的顶部Program.cs:

c#
/ /使用块使用系统;使用先;使用Leadtools;使用Leadtools.Annotations.BatesStamp;使用Leadtools.Annotations.Engine;使用Leadtools.Annotations.Rendering;使用Leadtools.Codecs;

将下面的代码添加到新创建的方法添加水印的每个页面一个多页文件。

c#
静态无效AddWatermarktoFile (){字符串_sourceFile =@“C: \ LEADTOOLS22 \资源\ \ Leadtools.pdf图像”;/ /创建并添加AnnBatesStampComposer实例创建的贝茨邮票使用(AnnBatesStampComposer batesStampComposer =AnnBatesStampComposer ()){/ /设置渲染引擎AnnBatesStampComposer。RenderingEngine =AnnWinFormsRenderingEngine ();/ /创建贝茨邮票容器,设置它的大小和映射器和附加的作曲家AnnContainer batesStampContainer =AnnContainer ();/ /创建AnnBatesStamp并设置其属性AnnBatesStamp batesStamp =AnnBatesStamp ();batesStamp。字体=AnnFont (“天线”12);batesStamp。前景= AnnSolidColorBrush.Create (“红色”);batesStamp。HorizontalAlignment = AnnHorizontalAlignment.Center;batesStamp。VerticalAlignment = AnnVerticalAlignment.Center;batesStamp.Logo。角= 45;batesStamp.Logo。字体=AnnFont (“天线”、32);batesStamp.Logo。不透明度= 0.25;batesStamp.Logo。StretchLogo =真正的;batesStamp.Logo。文本=“水印”;使用(RasterCodecs _codecs =RasterCodecs ()){使用(CodecsImageInfo信息= _codecs.GetInformation (_sourceFile,真正的)){batesStampContainer.Mapper.MapResolutions(信息。XResolution,信息。YResolution,信息。XResolution info.YResolution);batesStampContainer。大小= batesStampContainer.Mapper.SizeToContainerCoordinates (LeadSizeD.Create(信息。宽度,info.Height));batesStampComposer.Stamps.Add (batesStamp);/ /应用贝茨戳我们的容器batesStampComposer.TargetContainers.Add (batesStampContainer);int页面= _codecs.GetTotalPages (_sourceFile);(inti = 1;我< =页;我+ +){使用(RasterImage _image = _codecs。24岁的负载(_sourceFile CodecsLoadByteOrder。BgrOrGray,我,我){AnnBatesStampComposer.RenderingEngine。RenderOnImage (batesStampContainer _image);_codecs.Save (_image@“C: \ LEADTOOLS22 \资源\ \ watermarkedImage.tif图像”,RasterImageFormat。Tif, _image。BitsPerPixel, 1, 1, 1, CodecsSavePageMode.Append);}}}}}}

处理流

加载文件使用MemoryStream,替换的代码循环使用以下:

c#
字节[]字节= File.ReadAllBytes (_sourceFile);使用(MemoryStream ms =MemoryStream(字节){使用(RasterImage _image = _codecs.Load(女士){AnnBatesStampComposer.RenderingEngine。RenderOnImage (batesStampContainer _image);_codecs.Save (_image@“C: \ LEADTOOLS22 \资源\ \ watermarkedImage.tif图像”,RasterImageFormat。Tif, _image。BitsPerPixel, 1, 1, 1, CodecsSavePageMode.Append);}}

运行该项目

按运行项目F5,或通过选择调试- >开始调试

如果是正确的步骤,应用燃烧一个自定义的水印多页文件的每一页。对于本教程,使用PDF位于下面的文件路径:C: \ LEADTOOLS22 \ \ \ Leadtools.pdf图像资源

在第一页显示水印图像

总结

本教程展示如何添加必要的引用添加水印多页文件的每一页。同时,我们介绍了如何使用AnnContainer,AnnBatesStamp,AnnBatesStampComposer类。

另请参阅

iOS
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2023领先的技术公司。保留所有权利。