Frage

Alle Informationen da draußen, wie die generierten Karten in etwa PDF-Format drucken? Sie sehen super auf dem Bildschirm, aber die Endbenutzer wollen, dass sie und Datei drucken, wie gebraucht.

War es hilfreich?

Lösung

laden Sie die Übersicht der Kontrollproben von MSDN. gibt es mehrere Beispiele, wie zu drucken. Um PDF, benötigen Sie einen PDF-Druckertreiber.

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

Blick in \ WinSamples \ ChartFeatures \ Printing \

Der einfache Weg ist:

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);

...

Andere Tipps

Ich suchte nach einer Möglichkeit suchen winforms diese und fanden diese Antwort zu tun

Dies ist die Art und Weise, dass ich die asp bekam: Diagramm drucken

Fügen Sie Javascript auf der Webseite:

<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();

}

An einen Eingabeknopf verbunden ist

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

Der nächste Schritt war hinzufügen Elemente der web.config

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

Unter dem system.web Tag

    <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>

Unter dem 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>

Also habe ich das gleiche Problem hatte, wenn die Funktion Printpage mit Hilfe von JavaScript (); Es würde die Web-Seite drucken, aber nicht asp.net Chart Kontrollen umfassen. Sie könnten den Rand des Diagramms sehen, aber nicht die Daten. Also, was ich tat, um dieses Problem zu beheben, war die Schaltfläche bewegen, die verwendet wurde, um meine print () Funktion außerhalb des Updatepanel und es funktionierte zu nennen.

Hoffe, das hilft jemand.

<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);
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top