如何在数据库中保存varbinary的pdf文档上写一个数字
本文关键字:数字 一个 文档 pdf 数据库 保存 varbinary | 更新日期: 2023-09-27 18:22:26
我想在pdf文档上写序列号。我用下面的代码使用itextSharp.dll实现了它。
public byte[] Sign(string path, string serialnumber)
{
PdfReader pdfReader = new PdfReader(path);
MemoryStream memoryStream = new MemoryStream();
PdfStamper pdfStamper = new PdfStamper(pdfReader, memoryStream);
//iterate through all pages in source pdf
for (int pageIndex = 1; pageIndex <= pdfReader.NumberOfPages; pageIndex++)
{
iTextSharp.text.Rectangle pageRectangle = pdfReader.GetPageSizeWithRotation(pageIndex);
PdfContentByte pdfData = pdfStamper.GetUnderContent(pageIndex);
pdfData.SetFontAndSize(BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED), 40);
PdfGState graphicsState = new PdfGState();
graphicsState.FillOpacity = 0.4F;
pdfData.SetGState(graphicsState);
pdfData.SetColorFill(iTextSharp.text.Color.BLUE);
pdfData.BeginText();
pdfData.ShowTextAligned(iTextSharp.text.Element.ALIGN_CENTER, serialnumber, pageRectangle.Width - 175, pageRectangle.Height - 50, 0);
pdfData.EndText();
}
pdfStamper.Close();
memoryStream.Close();
return memoryStream.ToArray();
}
但我将pdf文档保存在数据库中,该数据库类型为varbinary(max)。
那么,我如何在数据库中以二进制形式保存的文档上写一个数字呢?
如@mkl所述,PdfReader的另一个参数是byte[]
,因此可以轻松使用二进制数据。