使用mvc5将jpg / png / txt或任何文件格式转换为pdf

时间:2017-04-25 13:01:13

标签: c# asp.net asp.net-mvc class asp.net-mvc-5

如何使用mvc c#将jpg / png / txt或任何文件格式转换为pdf。 这是代码:

 public ActionResult SaveProfileDocument(string code)
        {
            bool isSavedSuccessfully = true;
            string fName = "";
            string _documentname = String.Empty;

            try
            {
                foreach (string fileName in Request.Files)
                {
                    HttpPostedFileBase file = Request.Files[fileName];
                    //Save file content goes here
                    fName = file.FileName;
                    if (file != null && file.ContentLength > 0)
                    {

                        var originalDirectory = new DirectoryInfo(string.Format("{0}Documents\\Profile\\" + code, Server.MapPath(@"\")));

                        string pathString = System.IO.Path.Combine(originalDirectory.ToString());

                        var fileName1 = Path.GetFileName(file.FileName);

                        bool isExists = System.IO.Directory.Exists(pathString);

                        if (!isExists)
                            System.IO.Directory.CreateDirectory(pathString);

                        _documentname=fName;

                        var path = string.Format("{0}\\{1}", pathString, file.FileName);
                        if (System.IO.File.Exists(path)) {
                            _documentname=Guid.NewGuid()+"_"+file.FileName;

                            var path2 = string.Format("{0}\\{1}", pathString,_documentname );
                            file.SaveAs(path2);
                        }
                        else {
                            file.SaveAs(path);
                        }

                    }

                }

            }
            catch (Exception ex)
            {
                isSavedSuccessfully = false;
            }


            if (isSavedSuccessfully)
            {
                return Json(new { Message = fName, documentname = _documentname });
            }
            else
            {
                return Json(new { Message = "Error in saving file", documentname=""});
            }
        }

在上面的代码中,我正在保存文件。但是 在这里我需要转换文件然后保存。

所以对于转换我需要一个单独的类或方法,这里只调用该方法。

事情是,在上传文件时,需要将pdf转换为任何文件以转换为pdf。并保存在文件夹或其他任何内容中。

1 个答案:

答案 0 :(得分:0)

无法将图片文件转换为PDF格式。您可以创建PDF文件并将图像文件添加到其中:

string pdfpath = Server.MapPath("PDFs");
string imagepath = Server.MapPath("Images");
Document doc = new Document();
try
{
  PdfWriter.GetInstance(doc, new FileStream(pdfpath + "/Images.pdf", FileMode.Create));
  doc.Open();

  doc.Add(new Paragraph("GIF"));
  Image gif = Image.GetInstance(imagepath + "/mikesdotnetting.gif");
  doc.Add(gif);
}
catch (Exception ex)
{
  //Log error;
}
finally
{
  doc.Close();
}

我在这里提到:

https://www.mikesdotnetting.com/article/87/itextsharp-working-with-images