質問

生成されたチャートをPDF形式で印刷する方法についての情報はありますか?画面上では見栄えがよくなりますが、エンドユーザーは必要に応じてそれらを印刷してファイルに保存したいと考えています。

役に立ちましたか?

解決

MSDNからChart Controlサンプルをダウンロードします。印刷方法のサンプルがいくつかあります。 PDFを入手するには、PDFプリントドライバーが必要です。

http://code.msdn.microsoft.com /mschart/Release/ProjectReleases.aspx?ReleaseId=1591

\ WinSamples \ ChartFeatures \ Printing \を見る

簡単な方法は次のとおりです。

using System.Windows.Forms.DataVisualization.Charting;
...

// Show Page Setup dialog
chart1.Printing.PageSetup();

// Print preview chart
chart1.Printing.PrintPreview();

// Print chart (without Printer dialog)
chart1.Printing.Print(false);

...

他のヒント

私はこれを行う方法を探していましたが、winformsでこの答えを見つけました

これは、asp:chartを印刷する方法です

WebページにJavaScriptを追加します:

<script type="text/javascript" language="javascript">
    function printChart() {

    var html = '<HTML>\n<HEAD>\n';
    html += '<link rel="stylesheet" type="text/css" href="../../../Styles/print.css" media="print"> \n';

    html += '\n</HEAD>\n<BODY>\n';
    html += '\n<div>';

    var printReadyElement = document.getElementById("printChart");

    if (printReadyElement != null) {
        html += printReadyElement.innerHTML;
    }
    else {
        alert("Trouble printing Chart");
        return;
    }

    html += '\n</div>';

    html += '\n</BODY>\n</HTML>';

    var printWin = window.open("", "printSpecial");
    printWin.document.open();
    printWin.document.write(html);
    printWin.document.close();

    printWin.print();

}

これは入力ボタンにリンクされています

<input type="button" value="Print" onclick="printChart()" style="width:99px; height:26px;" />

次のステップは、web.configに要素を追加することでした

<appSettings> 
   <add key="ChartImageHandler" value="storage=memory;timeout=20;deleteAfterServicing=false;" />
</appSettings>

system.web タグの下

    <httpHandlers>      
        <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />
    </httpHandlers>

system.webServer

の下
<handlers>
  <remove name="ChartImageHandler">
  <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST" path="ChartImg.axd" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</handlers>

したがって、JavaScript関数PrintPage()を使用するときに同じ問題が発生していました。 Webページは印刷されますが、asp.netチャートコントロールは含まれません。グラフの境界線は表示できますが、データは表示できません。この問題を修正するために行ったのは、printPage()関数をupdatePanelの外で呼び出すために使用されていたボタンを移動することでした。

これが誰かの助けになることを願っています。

<asp:Button runat="server" ID="btnPrint" OnClick="btnPrint_Click" CssClass="Floater" Text="Print Customer Report" Visible="True" />

<script>
    function PrintPage() {

        window.print();
    }
</script>

protected void btnPrint_Click(object sender, EventArgs e)
    { 
        ScriptManager.RegisterStartupScript(Page, GetType(), "JsStatus", "PrintPage();", true);
    }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top