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();
}

しかし、タイプが varbinary(max) のデータベースに pdf ドキュメントを保存します。

では、データベースにバイナリとして保存されているドキュメントに数値を書き込むにはどうすればよいですか?

4

1 に答える 1

0

@mkl が述べたように、PdfReader の他のパラメーターのbyte[]1 つは であるため、バイナリ データを簡単に使用できます。

于 2013-07-16T13:24:37.090 に答える