2011-11-07 8 views
1

HTMLコントロールのコンテンツを(presuambly div)取り込んで、いくつかのさまざまな画像フォーマット(jpg、png、bmpで十分です)にエクスポートできるツールは、 ?私はレンダリングをサーバー側で行うことを好む(GDIは問題ありません)、できるだけ保存する必要がないように、HttpHandlerで返すことができるイメージを作成します。私はいくつかのレポートツール(SSRS、Telerik Reporting)がイメージオプションへのエクスポートを提供していることを知っていますが、どのようにこれを行うのかわかりません。画像にASP.NETコンテンツをエクスポートする

答えて

2

IEやその他のブラウザをサーバー側でスピンアップし、GDIを使用してそのウィンドウのスクリーンショットを撮ることができますが、特定のdivを特定することでさらに多くの作業が必要になります。

クライアントサイドのスクリーンショットが必要な場合は、Javaなどを使用する必要があります。

How to take screenshot of div from a webpage using C# and ASP.NET?

も役立つかもしれません。

+0

...助け行く最善の方法。私は代わりにGDIで画像を描くことに決めましたが、面倒ではありますが、私の全体的なシナリオには最高の柔軟性が与えられます。しかし、ヒントをありがとう! – RubyHaus

0

さて、あなたがウェブページのスクリーンショットを取ると、それを保存したい場合は、画像フォーマットである あなたはこのように行うことができます(あなたが欲しい、これまで何を)....

using System; 
using System.Collections; 
using System.Configuration; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Xml.Linq; 
using System.Collections.Generic; 
using System.Web.Services; 
using System.Text; 
using System.Windows.Forms;//must be included for capturing screenshot 

public partial class capture_webpage_screenshot : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
    protected void btnSave_Click(object sender, EventArgs e) 
    { 
     Bitmap bitmap = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); 
     Graphics graphics = Graphics.FromImage(bitmap as System.Drawing.Image); 
     graphics.CopyFromScreen(25, 25, 25, 25, bitmap.Size); 
     bitmap.Save(@"c:\screenshot\myscreenshot.bmp", ImageFormat.Bmp); 

    } 
} 

、あなたがする必要はあり次の手順を実行してください:

次の手順を実行するだけです。右プロジェクト名

  • を参照の追加]をクリックし

    • - > [.NET]タブをし、その後のSystem.Windows.Forms名前空間に を選択し、[OK]ボタンを押してください。
    • .aspxコードビハインドファイルでは、 System.Windows.Formsnamespaceをインポートする必要があります。

    CopyFromScreen()関数で使用されるパラメータをカスタマイズすることで、必要に応じて画面の小さな部分をキャプチャする方法を理解できます。

    上記のように、C#コードでフォルダを作成してフォルダパスを指定します。コードをカスタマイズして、生成されるたびにビットマップファイルの動的な名前を付けることもできます。私はそれを願っています

    は、私は、このオプションが最適に動作すると思いますが、このアプリでもう少しやって中に私はより多くのカスタマイズを必要と実現し、これがないように、真のスクリーンキャプチャを撮る

  • 関連する問題