Создание PDF с помощью iTextSharp

Я пытаюсь добавить изображение вверху каждой страницы в существующий PDF. Я пробовал использовать PdfStamp, но по какой-то причине, когда я пытаюсь распечатать PDF-файл из Chrome, все, что я получаю, - это черная страница. Также Adobe Reader показывает только исходный документ. Есть ли у кого-нибудь идеи, как заставить его работать? Вот код.

public partial class MakePdf : System.Web.UI.Page
{
    public MemoryStream m = new MemoryStream();
    protected void Page_Load(object sender, EventArgs e)
    {
        Document document = new Document(PageSize.LETTER);

        Response.ContentType = "application/pdf";
        string RESULT = @"C:\Users\maitchison\Documents\Pdf\Service Report Search - 650-10-067 4114.pdf";
        PdfReader reader = new PdfReader(RESULT);
        PdfStamper stamp = new PdfStamper(reader, m);
        try
        {
            // Set ContentType and create an instance of the Writer.

            Response.ContentType = "application/pdf";
            PdfWriter writer = PdfWriter.GetInstance(document, m);
            writer.CloseStream = false;

            // Open Document

            document.Open();

            int n = reader.NumberOfPages;
            int i = 1;

            PdfContentByte cb = writer.DirectContent;
            PdfContentByte over;

            Barcode128 barcode128 = new Barcode128();
            string text2 = "650-M5-013";
            barcode128.Code = text2;
            barcode128.ChecksumText = true;
            float x = document.Right;
            float y = document.Top;
            iTextSharp.text.Image img2 = barcode128.CreateImageWithBarcode(cb, null, null);

            img2.SetAbsolutePosition((x - img2.ScaledWidth), (y - img2.ScaledHeight));

            while (i <= n)
            {
                over = stamp.GetOverContent(i);
                over.AddImage(img2);

                i++;

            }

        }

        catch (DocumentException ex)
        {
            Console.Error.WriteLine(ex.StackTrace);
            Console.Error.WriteLine(ex.Message);
        }

        // Close document
        stamp.Close();
        //document.Close();

        // Write pdf bytes to outputstream.

        Response.OutputStream.Write(m.GetBuffer(), 0, m.GetBuffer().Length);
        Response.OutputStream.Flush();
        Response.OutputStream.Close();
        m.Close();


    }


}

}

11
задан kuujinbo 6 February 2018 в 14:37
поделиться