ASP.NET で構築した一連の Web レポートを起動するアプリケーションを作成しようとしています。そのため、ページが存在する Web アプリケーションがありますが、実際には Web サイトを使用してページを表示したくありません。クライアントに配信できる PDF を作成したいと考えています。
私が作成しようとしているアプリケーションは、c# の Visual Studio 2010 で作成され、iTextSharp v5.5.2 および .NET 4.5 を使用するコンソール アプリです。「PDF を起動する」部分にまだ到達していないため、現在は単なるフレームワークです。Web からページにアクセスして PDF として保存しようとしていますが、コンパイル エラーに関する情報が見つかりません。アプリケーションには次の Using ディレクティブがあります。
using iTextSharp;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html;
using iTextSharp.text.xml;
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
using iTextSharp.text.io;
using iTextSharp.text.xml.simpleparser;
using iTextSharp.text.html.simpleparser;
namespace ConsoleApplication1
{
public partial class BuildReports : System.Web.UI.Page
{
static void Main(string[] args)
{
WebRequest wReq = WebRequest.Create("http://www.somesite.com/");
WebResponse wRsp = null;
try
{
wRsp = wReq.GetResponse();
}
catch (Exception e)
{
Console.WriteLine("{0} exception caught.", e);
}
Console.WriteLine(((HttpWebResponse)wRsp).StatusDescription);
Stream sRsp = wRsp.GetResponseStream();
StreamReader sRdr = new StreamReader(sRsp);
string sHtml = string.Empty;
sHtml = sRdr.ReadToEnd();
Console.WriteLine(sHtml);
StringReader sr = new StringReader(sHtml);
Document doc = new Document();
// 次の行は、XmlWorkerHelper および XmlWorker 宣言に // Using ディレクティブまたは参照が必要であることを示しています。どのような参照が必要ですか??
XmlWorkerHelper.GetInstance(doc, new FileStream("test.pdf", FileMode.Create));
XmlWorker obj = new XmlWorker(doc);
//------------------------------------------------ ------------------------------------------------------
doc.Open();
obj..Parse(sr);
doc.Close();
sRdr.Close();
sRsp.Close();
}
}
public class CustomHTTPModule : IHttpModule
{
public CustomHTTPModule()
{
// Class constructor.
}
// Classes that inherit IHttpModule
// must implement the Init and Dispose methods.
public void Init(HttpApplication app)
{
app.AcquireRequestState += new EventHandler(app_AcquireRequestState);
app.PostAcquireRequestState += new EventHandler(app_PostAcquireRequestState);
}
public void Dispose()
{
// Add code to clean up the
// instance variables of a module.
}
// Define a custom AcquireRequestState event handler.
public void app_AcquireRequestState(object o, EventArgs ea)
{
HttpApplication httpApp = (HttpApplication)o;
HttpContext ctx = HttpContext.Current;
ctx.Response.Write(" Executing AcquireRequestState ");
}
// Define a custom PostAcquireRequestState event handler.
public void app_PostAcquireRequestState(object o, EventArgs ea)
{
HttpApplication httpApp = (HttpApplication)o;
HttpContext ctx = HttpContext.Current;
ctx.Response.Write(" Executing PostAcquireRequestState ");
}
}
}
私の質問:
1. XmlWorkerHelper および XmlWorker 宣言のコンパイル エラーを解決するには、どの参照または Using ディレクティブが必要ですか?
2. コンパイル エラーの原因となっている、他に何か不足しているものはありますか?
3. レポートは主にグラフィック要素で構成されています。iTextSharp は多くの操作なしで PDF を作成できますか?
ありがとう...