1

私のアプリケーションでは、ユーザーが PDF ファイルを作成できるようにしています。また、ユーザーは形状 (四角形、線など)、フォーム フィールド (テキストエリア、チェックボックスなど) を PDF ファイルに追加できます。ユーザーが保存ボタンをクリックすると、PDF は正常に作成されますが、ユーザーがドキュメントに含めた形状とフォーム フィールドは表示されません。

function create_PDF(box) {
        var filename = $("#filename").val();
        if (filename == "") {
            alert("Enter filename");
            return false;
        }
        var content = CKEDITOR.instances["message"].getData();
        if (content == "") {
            alert("Enter Content in The Editor");
            return false;
        }
        content = content.trim();
        dhtmlx.modalbox.hide(box);
        dhtmlx.message("Saving file...");
        $.post("/FileUpload/CreateNewPDFile",
    {
        filename: '' + filename + '', content: '' + content + ''
    }, function (data) {

        alert("PDF File created succesfully");
        CKEDITOR.instances["message"].setData("");
        CKEDITOR.instances["editor1"].setData("");
    });
    }

        [AcceptVerbs(HttpVerbs.Post)]
    [ValidateInput(false)]
    public ActionResult CreateNewPDFile(FormCollection data)
    {
        var filename = data["filename"];
        var htmlContent = data["content"];
        string sFilePath = Server.MapPath(_createdPDF + filename + ".pdf");
        htmlContent = htmlContent.Trim();
        htmlContent = htmlContent.Replace("<p>", "\n").Replace("</p>", "\n");
        Regex reg = new Regex("<[^>]+>", RegexOptions.IgnoreCase);
        if (!System.IO.File.Exists(sFilePath))
        {
            Document doc = new Document(PageSize.A4, 10, 10, 10, 10);
            doc.SetMargins(50, 50, 50, 50);
            doc.SetPageSize(new iTextSharp.text.Rectangle(iTextSharp.text.PageSize.LETTER.Width, iTextSharp.text.PageSize.LETTER.Height));
            PdfWriter.GetInstance(doc, new System.IO.FileStream(sFilePath, System.IO.FileMode.Create));
            iTextSharp.text.Font fnt = FontFactory.GetFont("Times New Roman", 14);
            doc.Open();
            PdfPTable pdfTab = new PdfPTable(1);
            PdfPCell pdfCell = null;
            pdfCell = new PdfPCell(new Phrase(new Chunk(htmlContent)));
            pdfTab.AddCell(pdfCell);
            doc.Add(pdfTab);
            doc.Close();
            Response.ContentType = "application/pdf";

            System.Web.HttpContext.Current.Response.Write(doc);
            Response.Flush();
            Response.End();
        }

        return View();
    }

新しく作成された PDF に textarea 、rectangle、checkmark の代わりに textarea 、rectangle、checkmark が含まれている場合、次のように表示されます。このコードを回避し、ドキュメントのそれぞれの画像に表示する方法

4

0 に答える 0