1

在我的 MVC2 应用程序中,我使用 CKEditor 允许用户创建 PDF 文档。首先,CKEditor 内容将被转换为 HTML 文件,然后是 PDF 文档。我提供了一个名为“箭头”的按钮,点击它应该插入一个箭头的图像。在编辑器中,图像成功显示,但在 HTML 和 PDF 文件中,图像没有显示,而是显示 alt 内容。

箭头按钮的代码:

<input type="button" class="green_button" id="arrow" name="Arrow" value="Arrow" style="width: 110px; height: 30px; background-color: #FFFFFF;" onclick="return arrow_onclick()" />

function arrow_onclick() {
    var editor = CKEDITOR.instances.message;
    editor.insertHtml(' <input type="image" alt="arrow" src="../../PDFimages/arrow-left-up.jpg" style="height:100px; width:100px" />');
}

控制器代码:

public ActionResult CreateFile(FormCollection data)
    {
        var filename = data["filename"];
        var htmlContent = data["content"];
        string sFilePath = Server.MapPath(_createdPDF + filename + ".html");
        htmlContent = htmlContent.Trim();
        if (!System.IO.File.Exists(sFilePath))
        {
            using (FileStream fs = new FileStream(sFilePath, FileMode.Create))
            {
                using (StreamWriter w = new StreamWriter(fs, Encoding.UTF8))
                {
                    w.Write(htmlContent);
                }
            }
            string filename1 = Path.GetFileNameWithoutExtension(sFilePath);
            string name = Server.MapPath(_createdPDF + filename1 + ".pdf");
            HTML2PDF.SetModulePath(@"C:\Documents and Settings\shubham\My Documents\visdatemplatemanger\visdatemplatemanger\bin");
            using (PDFDoc doc = new PDFDoc())
            {
                if (HTML2PDF.Convert(doc, sFilePath))

                    doc.Save(name, pdftron.SDF.SDFDoc.SaveOptions.e_linearized);
            }
            System.IO.File.Delete(sFilePath);
            UploadURL(name);
        }
        return View();
    }
4

1 回答 1

0

在提交表单之前,您应该从 CkEditor 设置 textarea 值,并使您接受帖子的操作应用此注释[HttpPost, ValidateInput(false)]

$("#content").val(CKEDITOR.instances.message.getData());

并检查您的 src 值。也许应该使用:

src="@(Url.Content( "~/PDFimages/arrow-left-up.jpg" ))" 

如果PDFimages文件夹包含在Project/Content

于 2013-05-31T07:46:25.667 回答