0
如何在客戶端打印機上從CrystalReport(ASP.NET)打印報告。如何在客戶端打印機上從ASP.NET CrystalReport打印
如何在客戶端打印機上從CrystalReport(ASP.NET)打印報告。如何在客戶端打印機上從ASP.NET CrystalReport打印
你有兩個選擇:
爲了簡化用戶必須在每個客戶端上安裝的內容,我使用隱藏的pdf選項和單獨的按鈕打印到客戶端。
在aspx頁面上,我有一個asp文字,我使用1px x 1px的pdf嵌入對象進行填充,因此對用戶不可見。然後在pageload上調用printToPrinter方法。
// On server side
// Export to PDF
Guid imageGuid = Guid.NewGuid();
string _pdfName = String.Format(@"{0}{1}{2}.pdf", _pdfPath, _reportName, imageGuid);
// expport to unique filename
// ...
// Display the pdf object
_sb.AppendFormat("<object ID=\"pdfObject\" type=\"application/pdf\" data=\"{0}\" src=\"{0}\" style=\"width: {1}; height: {2}; ", _pdf2Name, _width, _height);
_sb.AppendLine("z-index:1; display: block; border: 1px solid #cccccc; top: 0; left: 0; position: absolute;-+ \">");
_sb.Append("</object>");
pdfLiteral.Text = _sb.ToString();
pdfLiteral.Visible = true;
// javascript
// on document load call the printWithDialog function
var code = function(){
try
{
var pdf = $get('pdfObject');
if (pdf == null)
return;
try {
pdf.printWithDialog();
}
catch (err) {
alert('Please Install Adobe Acrobat reader to use this feature');
}
}
catch(err)
{
}
};
window.setTimeout(code, 1000);
您永遠不能在客戶端打印機上打印。它不屬於你。 _user_可以在他自己的打印機上打印。 – 2014-09-23 11:30:16
不太好。使用PrintToPrinter或類似軟件打印到服務器很容易,但從您自己的代碼打印到客戶端並不那麼簡單。 – reckface 2014-09-23 13:04:45