mvcでitextsharpを使用してhtmlファイルをpdfに変換しています。私はこのリンクを参照しました。 http://www.rswebsols.com/tutorials/programming/asp-net-generate-pdf-html-itextsharp このメソッドでは、文字列pHTMLをパラメータとして渡しています。私はこれを取得していない? htmlを文字列形式に変換する必要がありますか?その文字列をgetpdfメソッドに渡す必要がありますか?どのようにhtmlを文字列に変換できますか?私はhtmlドキュメントのパスを持っています。mvc4でitextsharpを使用してhtmlファイルをpdfに変換する方法
0
A
答えて
0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Data;
using iTextSharp.text;
using iTextSharp.text.html.simpleparser;
using iTextSharp.text.pdf;
namespace HTMLtoPDF
{
public partial class ConvertHTMLtoPDF : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnClick_Click(object sender, EventArgs e)
{
DownloadAsPDF();
}
public void DownloadAsPDF()
{
try
{
string strHtml = string.Empty;
string pdfFileName = Request.PhysicalApplicationPath + "\\files\\" + "GenerateHTMLTOPDF.pdf";
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
dvHtml.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
strHtml = sr.ReadToEnd();
sr.Close();
CreatePDFFromHTMLFile(strHtml, pdfFileName);
Response.ContentType = "application/x-download";
Response.AddHeader("Content-Disposition", string.Format("attachment; filename=\"{0}\"", "GenerateHTMLTOPDF.pdf"));
Response.WriteFile(pdfFileName);
Response.Flush();
Response.End();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
public void CreatePDFFromHTMLFile(string HtmlStream, string FileName)
{
try
{
object TargetFile = FileName;
string ModifiedFileName = string.Empty;
string FinalFileName = string.Empty;
GeneratePDF.HtmlToPdfBuilder builder = new GeneratePDF.HtmlToPdfBuilder(iTextSharp.text.PageSize.A4);
GeneratePDF.HtmlPdfPage first = builder.AddPage();
first.AppendHtml(HtmlStream);
byte[] file = builder.RenderPdf();
File.WriteAllBytes(TargetFile.ToString(), file);
iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(TargetFile.ToString());
ModifiedFileName = TargetFile.ToString();
ModifiedFileName = ModifiedFileName.Insert(ModifiedFileName.Length - 4, "1");
iTextSharp.text.pdf.PdfEncryptor.Encrypt(reader, new FileStream(ModifiedFileName, FileMode.Append), iTextSharp.text.pdf.PdfWriter.STRENGTH128BITS, "", "", iTextSharp.text.pdf.PdfWriter.AllowPrinting);
reader.Close();
if (File.Exists(TargetFile.ToString()))
File.Delete(TargetFile.ToString());
FinalFileName = ModifiedFileName.Remove(ModifiedFileName.Length - 5, 1);
File.Copy(ModifiedFileName, FinalFileName);
if (File.Exists(ModifiedFileName))
File.Delete(ModifiedFileName);
}
catch (Exception ex)
{
throw ex;
}
}
}
}
+0
これをmvc4で使用できますか?私はmvcで同じコードを書くとき、HtmlTextWriter、Response、GeneratePDFでエラーが発生していますか? – Niranjan
関連する問題
- 1. itextsharpを使用してHTMLをPDFに変換
- 2. iTextSharpはiTextSharpを使用してPDFファイル
- 3. itextsharpを使用して画像をPDFに変換する
- 4. iTextSharpを使用してPDF文書をTIFFに変換する
- 5. phpを使用してhtmlファイルにpdfファイルを変換する
- 6. npmを使用してHTMLをPDFに変換するhtml-pdf
- 7. itextsharpを使用して他のpdfファイルにpdfを追加する方法
- 8. ヘッダーイメージをitextsharpに適用する方法htmlからpdfへの変換ツール
- 9. Javaを使用してHTMLファイルをPDFに変換する
- 10. jspdfライブラリを使用してhtmlファイルをpdfに変換する
- 11. iTextSharpでHTMLをPDFに変換する際の絶対位置
- 12. pythonでレポートラボを使用してhtml文書をpdfに変換する方法
- 13. iTextSharpの代わりにHTMLをPDFに変換する
- 14. 変換後のプレビュー方法html to pdf wkhtmltopdfを使用して
- 15. itextsharp xmlworkerを使用してhtmlからpdfに変換し、テキストを垂直方向に書き込む
- 16. C#でironPdfを使用して、SVG(スケーラブルベクターグラフィックス)イメージを含むhtmlファイルをPDFファイルに変換する方法は?
- 17. Railsを使用してhtmlファイル(htmlレイアウトではない)をpdfに変換
- 18. itextsharpライブラリを使用してpdfをローテーションする方法
- 19. ImageMagickを使用してPDFファイルを画像ファイルに変換する方法
- 20. iTextSharpを実装してHTMLをPDFに変換する際の問題
- 21. iTextSharpを使用してPDFファイルにボタンを追加する
- 22. iTextSharpを使用してPDFファイルを出力ストリームにマージする
- 23. iTextSharpを使用して画像のみをPDFに変換する
- 24. iTextSharpを使用して複数のgridviewsを単一のpdfに変換する
- 25. iTextSharpを使用して剣道図をPDFに変換します
- 26. C#で画像を含むWkHTMLToSharp/wkhtmltopdfを使用してHTMLファイルをPDFに変換する方法
- 27. javaを使用して.mhtファイルをpdfファイルに変換する
- 28. Javascriptを使用してhtml(css)テーブルをPDFに変換する
- 29. reportlab djangoを使用してmathjaxを含むhtmlファイルをpdfに変換する
- 30. htmlファイルをpdfに変換する
この例では、廃止予定の 'HTMLWorker'を使用しています。公式のドキュメントを参照し、 'XMLWorker'を使用してください。 –