using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using iTextSharp.text.html.simpleparser;
using iTextSharp.text.pdf;
using iTextSharp.text;
using System.IO;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using iTextSharp.text.html.simpleparser;
using iTextSharp.text.pdf;
using iTextSharp.text;
using System.IO;
using System.Web.UI.HtmlControls;
using System.Drawing;
//itextsharp.dll version:5.1.10
protected
void Button1_Click(
object sender, EventArgs e)
{
string source = @" D:\My.Sample\C#NET\Exoport2PDF\Web2\Chap1011.pdf "; //模板路徑
string output = @" D:\My.Sample\C#NET\Exoport2PDF\Web2\Chap1012.pdf "; //導出水印背景后的PDF
string watermark = @" D:\My.Sample\C#NET\Exoport2PDF\Web2\gp0.jpg "; // 水印圖片
{
string source = @" D:\My.Sample\C#NET\Exoport2PDF\Web2\Chap1011.pdf "; //模板路徑
string output = @" D:\My.Sample\C#NET\Exoport2PDF\Web2\Chap1012.pdf "; //導出水印背景后的PDF
string watermark = @" D:\My.Sample\C#NET\Exoport2PDF\Web2\gp0.jpg "; // 水印圖片
bool isSurrcess = PDFWatermark(source, output, watermark, 10, 10);
}
public bool PDFWatermark( string inputfilepath, string outputfilepath, string ModelPicName, float top, float left)
{
// throw new NotImplementedException();
PdfReader pdfReader = null;
PdfStamper pdfStamper = null;
try
{
pdfReader = new PdfReader(inputfilepath);
int numberOfPages = pdfReader.NumberOfPages;
iTextSharp.text.Rectangle psize = pdfReader.GetPageSize( 1);
float width = psize.Width;
float height = psize.Height;
pdfStamper = new PdfStamper(pdfReader, new FileStream(outputfilepath, FileMode.Create));
PdfContentByte waterMarkContent;
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(ModelPicName);
image.GrayFill = 20; // 透明度,灰色填充
// image.Rotation // 旋轉
// image.RotationDegrees // 旋轉角度
// 水印的位置
if (left < 0)
{
left = width - image.Width + left;
}
image.SetAbsolutePosition(left, (height - image.Height) - top);
// 每一頁加水印,也可以設置某一頁加水印
for ( int i = 1; i <= numberOfPages; i++)
{
waterMarkContent = pdfStamper.GetUnderContent(i);
waterMarkContent.AddImage(image);
}
// strMsg = "success";
return true;
}
catch (Exception ex)
{
ex.Message.Trim();
return false;
}
finally
{
if (pdfStamper != null)
pdfStamper.Close();
if (pdfReader != null)
pdfReader.Close();
}