asp.net如何直接打印PDF文件

wolililaile 2011-08-18 06:39:19
如题:
asp.net如何直接打印PDF文件,现在boss有个需求,就是说水晶报表在客户端打印,但是弹出个组件选纸张什么的,很麻烦
想了很多办法都不能阻止那个框弹出来直接客户端去打印水晶报表,所以我把水晶报表转成PDF,在呈现到客户端,可是这样我还是需要点PDF的打印来打印,还是会弹出那个选择框!,这样也是多此一举。

有没有方法直接打印水晶报表或者直接打印PDF的,客户端的。。。。。
...全文
659 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wolililaile 2011-08-22
  • 打赏
  • 举报
回复
说JS客户端打印能否与水晶报表结合起来,我想了几天了。。没思路......特别是水晶报表有分页时。。。。
wolililaile 2011-08-21
  • 打赏
  • 举报
回复
说JS客户端打印能否与水晶报表结合起来,我想了几天了。。没思路
leiting321 2011-08-21
  • 打赏
  • 举报
回复
学习路过
wolililaile 2011-08-21
  • 打赏
  • 举报
回复
说JS客户端打印能否与水晶报表结合起来,我想了几天了。。没思路......特别是水晶报表有分页时。。。。
wolililaile 2011-08-19
  • 打赏
  • 举报
回复
子夜 [兔子党总监] 刚刚说JS打印是什么意思?????? 你那个代码不能客户端打印的啊。。。
而且我问题是说客户在客户端访问我的网页我已经帮他呈现为PDF,但是有没有办法说呈现顺便自动打印,帮客户打印,而且是从他打印机打出来
子夜__ 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wolililaile 的回复:]

敢问 ( 子夜 [兔子党总监]) 那个能直接在客户端打印~~~~~~~~~~~~~~?
[/Quote]
你就JS打印吧 去搜。JS打印
wolililaile 2011-08-19
  • 打赏
  • 举报
回复
敢问 ( 子夜 [兔子党总监]) 那个能直接在客户端打印~~~~~~~~~~~~~~?
ajaxtop 2011-08-18
  • 打赏
  • 举报
回复
方法一
方法二
方法三用第三方控制,如Devexpress等中的导出控件
子夜__ 2011-08-18
  • 打赏
  • 举报
回复
iTextSharp
private Document document;
private IEnumerator DocPages;
private ArrayList DocPagesList;

private const string PrinterName = @"//sutlej/SamsungM";
private const string DocLocation = @"D:/PB-OMSWeb/POC/FileStore/pcu.pdf";

private void cmdPrint_Click(object sender, System.EventArgs e)
{
FileStream file = null;
DocPagesList = new ArrayList();
try
{
file = new FileStream( DocLocation, FileMode.Open, FileAccess.Read );
byte[] buffer = new byte[ file.Length ];
file.Read( buffer, 0, buffer.Length );
document = new Document( new BinaryReader( new MemoryStream(
buffer ) ) );

for( int i = 0; i < document.Pages.Count; i++ )
{
DocPagesList.Add( i.ToString() );
}

DocPages = DocPagesList.GetEnumerator();
DocPages.Reset();

if( DocPages.MoveNext() )
{
PrintDocument oPrintDocument = new PrintDocument();
PrinterSettings oPrinterSettings = new PrinterSettings();
PageSettings oPageSettings = new PageSettings();

oPrinterSettings.PrinterName = PrinterName;
oPageSettings.Landscape = true;

oPrintDocument.DocumentName = document.Title;
oPrintDocument.PrinterSettings = oPrinterSettings;
oPrintDocument.DefaultPageSettings = oPageSettings;

oPrintDocument.PrintPage += new
PrintPageEventHandler(oPrintDocument_PrintPage);
oPrintDocument.Print();
}
}
catch( Exception exc )
{
lblResult.Text = exc.Message;
}
finally
{
file.Close();
}
}

private void oPrintDocument_PrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.PageUnit = GraphicsUnit.Point;

if ( null != DocPages.Current )
{
int pageIndex = Convert.ToInt32( DocPages.Current );
Page page = document.Pages[ pageIndex++ ];

page.Draw( e.Graphics );
}

e.HasMorePages = DocPages.MoveNext();
}
crackdung 2011-08-18
  • 打赏
  • 举报
回复
希望你使用pdf控件

http://www.tallcomponents.com/


企業級
http://www.radpdf.com/install/release-notes/

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧