将图像添加到现有 PDF 不要替换整个 PDF
Adding Image to existing PDF DO NOT replace the whole PDF
我有将图像添加到 PDF 的代码:
string SRC =
@"C:/Saved/Test.pdf";
string DEST = @"C:/Saved/TestComplete.pdf";
string IMG = @"C:Saved//TestImage.JPG";
Document doc = new Document();
try
{
iTextSharp.text.pdf.PdfWriter.GetInstance(doc, new FileStream(SRC, FileMode.Create));
doc.Open();
//doc.Add(new Paragraph("GIF"));
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(IMG);
image.ScalePercent(200f);
doc.Add(image);
}
catch (Exception ex)
{
//Log error;
string error = ex.Message;
}
finally
{
doc.Close();
}
}
问题在于它不只是添加图像,而是用该图像替换整个 PDF 有没有办法在 PDF 中添加图像,只是签名图像,只需将其添加到页面
任何想法 ?
此外,我已将 Itextsharp 升级到 IText7,但我找不到将图像添加到现有 PDF 的方法,只有水印。如果您知道示例 Link 或关于它的文章,请告诉我。
如果您想使用旧方法,请使用此方法:
string SRC =
@"C:/Saved/Test.pdf";
string DEST = @"C:/Saved/TestComplete.pdf";
string IMG = @"C:Saved//TestImage.JPG";
iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(SRC);
iTextSharp.text.Rectangle Size = reader.GetPageSizeWithRotation(1);
Document document = new Document(Size);
FileStream fs = new FileStream(DEST, FileMode.Create, FileAccess.Write);
iTextSharp.text.pdf.PdfWriter weiter = iTextSharp.text.pdf.PdfWriter.GetInstance(document, fs);
document.Open();
PdfContentByte cb = weiter.DirectContent;
PdfImportedPage page = weiter.GetImportedPage(reader, 1);
cb.AddTemplate(page, 0, 0);
iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(IMG);
document.Add(jpg);
document.Close();
fs.Close();
weiter.Close();
reader.Close();
关于使用 iText7 方法的问题,请参阅此 link IText7 JumpStart
并且要确切地在哪里可以找到处理图像的示例请参考此Chapter7
我还建议您阅读所有章节
我有将图像添加到 PDF 的代码:
string SRC =
@"C:/Saved/Test.pdf";
string DEST = @"C:/Saved/TestComplete.pdf";
string IMG = @"C:Saved//TestImage.JPG";
Document doc = new Document();
try
{
iTextSharp.text.pdf.PdfWriter.GetInstance(doc, new FileStream(SRC, FileMode.Create));
doc.Open();
//doc.Add(new Paragraph("GIF"));
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(IMG);
image.ScalePercent(200f);
doc.Add(image);
}
catch (Exception ex)
{
//Log error;
string error = ex.Message;
}
finally
{
doc.Close();
}
}
问题在于它不只是添加图像,而是用该图像替换整个 PDF 有没有办法在 PDF 中添加图像,只是签名图像,只需将其添加到页面 任何想法 ? 此外,我已将 Itextsharp 升级到 IText7,但我找不到将图像添加到现有 PDF 的方法,只有水印。如果您知道示例 Link 或关于它的文章,请告诉我。
如果您想使用旧方法,请使用此方法:
string SRC =
@"C:/Saved/Test.pdf";
string DEST = @"C:/Saved/TestComplete.pdf";
string IMG = @"C:Saved//TestImage.JPG";
iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(SRC);
iTextSharp.text.Rectangle Size = reader.GetPageSizeWithRotation(1);
Document document = new Document(Size);
FileStream fs = new FileStream(DEST, FileMode.Create, FileAccess.Write);
iTextSharp.text.pdf.PdfWriter weiter = iTextSharp.text.pdf.PdfWriter.GetInstance(document, fs);
document.Open();
PdfContentByte cb = weiter.DirectContent;
PdfImportedPage page = weiter.GetImportedPage(reader, 1);
cb.AddTemplate(page, 0, 0);
iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(IMG);
document.Add(jpg);
document.Close();
fs.Close();
weiter.Close();
reader.Close();
关于使用 iText7 方法的问题,请参阅此 link IText7 JumpStart
并且要确切地在哪里可以找到处理图像的示例请参考此Chapter7
我还建议您阅读所有章节