سؤال

وأي معلومات من هناك على كيفية طباعة الرسوم البيانية ولدت في شكل PDF مثلا؟ انها تبدو رائعة على الشاشة ولكن للمستخدمين النهائيين يريدون طباعتها وملف حسب الحاجة.

هل كانت مفيدة؟

المحلول

وتحميل عينات التحكم مخطط من MSDN. هناك عدة عينات من كيفية طباعة. للحصول على PDF، كنت في حاجة الى سائق PDF طباعة.

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

ونظرة في \ WinSamples \ ChartFeatures \ الطباعة \

وطريقة بسيطة هي:

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 عناصر

وهذه هي الطريقة التي حصلت على آسيا والمحيط الهادئ: الرسم البياني لطباعة

واضافة جافا سكريبت على صفحة الويب:

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

وهكذا كنت أعاني من نفس المشكلة عند استخدام وظيفة PrintPage جافا سكريبت ()؛ فإنه طباعة صفحة الويب، لكن لن تشمل الضوابط الرسم البياني 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