0

我想在 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)的数据库中。

那么如何在以二进制形式保存在数据库中的文档上写一个数字呢?

4

1 回答 1

0

正如@mkl 提到的, PdfReader 的其他参数之一是byte[],因此可以轻松使用二进制数据。

于 2013-07-16T13:24:37.090 回答