は現在、私はpdf.Theページ内の1つの.aspxページがimages.I'veは、次のコードを使用含まれている変換する必要があるが、... error.I'veは私のプロジェクトでiTextsharp.dllを追加与えているC#を使用して.aspxをpdfに変換するには?
protected void btnConvertToPDF_Click(object sender, EventArgs e)
{
Uri strurl = Request.Url;
string url = strurl.ToString();
string text = GetPageText(url);
string filepath = Server.MapPath("test.htm");
StreamWriter writer = new StreamWriter(filepath);
writer.Write(text);
writer.Close();
htmltopdf(text);
}
public string GetPageText(string url)
{
string htmlText = string.Empty;
string FILE_NAME = Server.MapPath("test.xml"); //"c:\\test.xml";
try
{
HttpWebRequest requestIP = (HttpWebRequest)WebRequest.Create(url);
requestIP.Timeout = 10000;
using (HttpWebResponse responseIP = (HttpWebResponse)requestIP.GetResponse())
{
using (Stream streamIP = responseIP.GetResponseStream())
{
using (StreamReader readerText = new StreamReader(streamIP))
{
htmlText = readerText.ReadToEnd();
string text = htmlText;
StreamWriter writer = new StreamWriter(FILE_NAME);
writer.Write(text);
writer.Close();
}
}
}
}
finally
{
}
return htmlText;
}
public void htmltopdf(string strHtml)
{
Document doc = new Document();
PdfWriter.GetInstance(doc, new FileStream(Server.MapPath("test.pdf"), System.IO.FileMode.Create));
HTMLParser.Parse(doc, Server.MapPath("test.htm"));
if (File.Exists(Server.MapPath("test.htm")))
File.Delete(Server.MapPath("test.htm"));
if (File.Exists(Server.MapPath("test.xml")))
File.Delete(Server.MapPath("test.xml"));
}
HTMLparser.Parse行に、「HTMLPARSERは現在のコンテキストに存在しません」というエラーがコードを実行する前でも表示されます。その行にコメントしてコードを実行すると、エラーのある1つのpdfファイルが作成されます。オープンされています。破損しています。バージョンなどが正しくありません。 "誰かが何が間違っているか教えてください。タスクを実行するためのオープンソースはありますか? ..
は、私はあなただけのサーバー上のサービスを作成し、それがmethodes – Devjosh
@Sukanyaだ呼び出すことができます@prasanthsソリューションをお勧めしますスカニア@ uが私が持っているリンク内のコードを試してみました与えられた?これを参照してくださいhttp://stackoverflow.com/a/2834549/915125 – Prasanth
dllファイルを使用するか、Windows用に使用できるwkhtmltopdf.exeを使用できます。 exeファイルは使いやすいです。あなたはプロジェクトのフォルダにexeファイルをplacし、指定された投稿にコードを使用することができます。 – Prasanth