问题描述
imagefile = 要添加的图章
filename = PDF 的文件路径
我的问题是添加到每页的图章重叠。我想把这些邮票放在一起。我该怎么做?谢谢。
private void damga(string resimdosyası,string dosyayolu)
{
byte[] bytes = File.ReadAllBytes(dosyayolu);
PdfContentByte waterMark;
using (MemoryStream stream = new MemoryStream())
{
PdfReader reader = new PdfReader(bytes);
using (pdfstamper stamper = new pdfstamper(reader,stream))
{
int sayfa = reader.NumberOfPages;
for (int i = 1; i <= sayfa; i++)
{
waterMark = stamper.GetUnderContent(i);
string[] files = Directory.GetFiles(resimdosyası);
foreach (string file in files)
{
var resim = iTextSharp.text.Image.GetInstance("C://Users//tufanc//source//repos//PdfStamp//PdfStamp//stampimage//" + Path.GetFileName(file));
resim.SetAbsolutePosition(0,100);
waterMark.AddImage(resim);
}
}
}
bytes = stream.ToArray();
}
File.WriteallBytes(dosyayolu,bytes);
}
解决方法
private void damga(string resimdosyası,string dosyayolu)
{
byte[] bytes = File.ReadAllBytes(dosyayolu);
PdfContentByte waterMark;
using (MemoryStream stream = new MemoryStream())
{
PdfReader reader = new PdfReader(bytes);
using (PdfStamper stamper = new PdfStamper(reader,stream))
{
int sayfa = reader.NumberOfPages;
for (int i = 1; i <= sayfa; i++)
{
waterMark = stamper.GetUnderContent(i);
string[] files = Directory.GetFiles(resimdosyası);
foreach (string file in files)
{
int imzasayisi = files.Length;
for (int imza = 1; imza <= imzasayisi; imza++)
{
var resim = iTextSharp.text.Image.GetInstance("C://Users//tufanc//source//repos//PdfStamp//PdfStamp//stampimage//" + Path.GetFileName(file));
int imzax = 1;
int imzay = 100;
imzax = imzax * imza;
imzay = imzay * imza;
resim.SetAbsolutePosition(imzax,imzay);
waterMark.AddImage(resim);
}
}
}
}
bytes = stream.ToArray();
}
File.WriteAllBytes(dosyayolu,bytes);
}
我是这样改的,但是我错误地设置了for循环。
, private void damga(string resimdosyası,string dosyayolu)
{
byte[] bytes = File.ReadAllBytes(dosyayolu);
PdfContentByte waterMark;
using (MemoryStream stream = new MemoryStream())
{
PdfReader reader = new PdfReader(bytes);
using (PdfStamper stamper = new PdfStamper(reader,stream))
{
int sayfa = reader.NumberOfPages;
for (int i = 1; i <= sayfa; i++)
{
int imzax = 1;
int imzay = 1;
waterMark = stamper.GetUnderContent(i);
string[] files = Directory.GetFiles(resimdosyası);
int imzasayisi = files.Length;
foreach (string file in files)
{
var resim = iTextSharp.text.Image.GetInstance("C://Users//tufanc//source//repos//PdfStamp//PdfStamp//stampimage//" + Path.GetFileName(file));
imzax = imzax + 100;
imzay = imzay + 1;
resim.SetAbsolutePosition(imzax,imzay);
waterMark.AddImage(resim);
}
}
}
bytes = stream.ToArray();
}
File.WriteAllBytes(dosyayolu,bytes);
}
到此完成工作。