簡體   English   中英

使用itextsharp(asp.net,C#)在pdf中的圖像上方和下方添加文本

[英]Add text above and below an image in a pdf using itextsharp(asp.net,C#)

我已經使用memorystream將圖像轉換為byte[] ,然后使用itextsharp將byte[]添加到了pdf中。 現在,我的要求是在圖像上方添加某些文本,以提供有關該圖像的一些信息。

這是我的代碼

private void generatepdf(byte[] byteImage)
    {
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(byteImage);
    image.ScalePercent(0.3f * 100);
    using (System.IO.MemoryStream memoryStream = new System.IO.MemoryStream())
    {
        Document document = new Document(PageSize.A4, 188f, 88f, 10f, 10f);
        PdfWriter writer = PdfWriter.GetInstance(document, memoryStream);
        document.Open();
        document.Add(image);
        document.Close();
        byte[] bytes = memoryStream.ToArray();
        memoryStream.Close();

        Response.Clear();
        Response.ContentType = "application/pdf";
        Response.AddHeader("Content-Disposition", "attachment; filename=test.pdf");
        Response.ContentType = "application/pdf";
        Response.Buffer = true;
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.BinaryWrite(bytes);
        Response.End();
    } 

如何添加一些文本並轉換為字節,然后將其發送到pdf對象。 還是有更好的方法來指導我正確的方向。

你可以這樣嘗試

        private void generatepdf(byte[] byteImage)
        {
            iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(byteImage);
            image.ScalePercent(0.3f * 100);
            using (MemoryStream memoryStream = new System.IO.MemoryStream())
            {
                Document document = new Document(PageSize.A4, 188f, 88f, 10f, 10f);
                PdfWriter writer = PdfWriter.GetInstance(document, memoryStream);

                string text1 = "before image";
                Paragraph text1Title = new Paragraph(text1);

                string text2 = "after image";
                Paragraph text2Title = new Paragraph(text2);

                document.Open();
                document.Add(text1Title);
                document.Add(image);
                document.Add(text2Title);
                document.Close();
                byte[] bytes = memoryStream.ToArray();
                memoryStream.Close();

                Response.Clear();
                Response.ContentType = "application/pdf";
                Response.AddHeader("Content-Disposition", "attachment; filename=test.pdf");
                Response.ContentType = "application/pdf";
                Response.Buffer = true;
                Response.Cache.SetCacheability(HttpCacheability.NoCache);
                Response.BinaryWrite(bytes);
                Response.End();
            }
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM