热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从Windows服务打印报告-Printingareportfromawindowsservice

Weneedtoprintareportperiodicallyfromawindowsservice,weuse.NET2.0.Wehavemodulesthat

We need to print a report periodically from a windows service, we use .NET 2.0.
We have modules that produce this report as a PDF or as an HTML file, PDF would be better because we have better control over the look of the report.
We also have the username, password and the name of the printer selected for the task. I searched and researched several options on how to print PDF files from windows service, namely using Acrobat Reader from command line and couldn't make it work.
Acrobat Reader seems to be unreliable and difficult to use, also we would need to guarantee it is intalled on our clients machines.
Do you have a solution for this, which may be in a third party component?

Thanks

我们需要定期从Windows服务打印报告,我们使用.NET 2.0。我们有以PDF或HTML文件形式生成此报告的模块,PDF会更好,因为我们可以更好地控制报告的外观。我们还有用户名,密码和为该任务选择的打印机名称。我搜索并研究了如何从Windows服务打印PDF文件的几个选项,即从命令行使用Acrobat Reader,但无法使其工作。 Acrobat Reader似乎不可靠且难以使用,我们还需要保证它安装在我们的客户机器上。您是否有解决方案,可能是第三方组件?谢谢

5 个解决方案

#1


You may or may not have seen the question I asked about this here which may give you some hints if you are forced to use Acrobat after all.

您可能会或可能没有看到我在这里询问的问题,如果您被迫使用Acrobat,可能会给您一些提示。

Otherwise this commercial third party component will do what you want - abcpdf. It's thread-safe BTW.

否则,这个商业第三方组件将做你想要的 - abcpdf。这是线程安全的BTW。

P.S. You'll need the professional version because only the pro version supports rendering.

附:您需要专业版,因为只有专业版才支持渲染。

#2


We found this hidden pearl of open source library called pdfprint# that does exactly what we needed.
It seems it's based on XPDF which is an open source library in C++.
The author wrote in the forum that "The printer has to be post-script capable, the library sends raw postscript to the printer." and I wonder (and fear) how big of a problem this will be...
Thanks all for your help!

我们发现这个隐藏的开源库珍珠叫做pdfprint#,它正是我们所需要的。它似乎是基于XPDF,这是一个C ++的开源库。作者在论坛中写道:“打印机必须具有后脚本功能,库将原始后记发送到打印机。”我想知道(并担心)这会有多大的问题......谢谢大家的帮助!

#3


Are you able to execute the commandline tool? (e.q. are you using an Application NOT website (hta should also work))

你能执行命令行工具吗? (例如,您使用的是Application NOT网站(hta也应该工作))

If so, maybe using Crystal Reports (set export type to PDF) in conjunction with a free export tool (search for crexport on Google) is a good solution.

如果是这样,可能使用Crystal Reports(将导出类型设置为PDF)与免费导出工具(在Google上搜索crexport)一起使用是一个很好的解决方案。

Also there are a lot of PDF export components for .NET, maybe writing your own commandline application would suffice?

还有很多用于.NET的PDF导出组件,也许编写自己的命令行应用程序就足够了?

#4


This is a pretty common scenario I hear from our customers using ActiveReports to run the report and print it from the service. Another nice point about using ActiveReports, is that in addition to being able to print the report, you'll be able to save the same report as PDF, HTML, or Excel and not have to make any changes to the report.

这是我听到客户使用ActiveReports运行报告并从服务中打印报告时非常常见的情况。关于使用ActiveReports的另一个好处是,除了能够打印报告之外,您还可以将相同的报告保存为PDF,HTML或Excel,而不必对报告进行任何更改。

Scott Willeke
Data Dynamics / GrapeCity

#5


If you are using the Crystal Reports then you can use the Crystal Report's builtin option to print the report using the code like this.

如果您使用的是Crystal Reports,则可以使用Crystal Report的内置选项使用此类代码打印报表。

oReport.PrintOptions.PrinterName = "PrinterName";
oReport.PrintToPrinter(1, true, 0, 0);

Or you can have another option listed here How to send raw data to a printer

或者您可以在此处列出其他选项如何将原始数据发送到打印机


推荐阅读
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 本文深入探讨了如何利用Maven高效管理项目中的外部依赖库。通过介绍Maven的官方依赖搜索地址(),详细讲解了依赖库的添加、版本管理和冲突解决等关键操作。此外,还提供了实用的配置示例和最佳实践,帮助开发者优化项目构建流程,提高开发效率。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • PHP预处理常量详解:如何定义与使用常量 ... [详细]
  • 技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告
    技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告 ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
  • 本文探讨了利用Python实现高效语音识别技术的方法。通过使用先进的语音处理库和算法,本文详细介绍了如何构建一个准确且高效的语音识别系统。提供的代码示例和实验结果展示了该方法在实际应用中的优越性能。相关文件可从以下链接下载:链接:https://pan.baidu.com/s/1RWNVHuXMQleOrEi5vig_bQ,提取码:p57s。 ... [详细]
  • 本文详细介绍了在MySQL中如何高效利用EXPLAIN命令进行查询优化。通过实例解析和步骤说明,文章旨在帮助读者深入理解EXPLAIN命令的工作原理及其在性能调优中的应用,内容通俗易懂且结构清晰,适合各水平的数据库管理员和技术人员参考学习。 ... [详细]
  • MATLAB字典学习工具箱SPAMS:稀疏与字典学习的详细介绍、配置及应用实例
    SPAMS(Sparse Modeling Software)是一个强大的开源优化工具箱,专为解决多种稀疏估计问题而设计。该工具箱基于MATLAB,提供了丰富的算法和函数,适用于字典学习、信号处理和机器学习等领域。本文将详细介绍SPAMS的配置方法、核心功能及其在实际应用中的典型案例,帮助用户更好地理解和使用这一工具箱。 ... [详细]
  • 在使用 Qt 进行 YUV420 图像渲染时,由于 Qt 本身不支持直接绘制 YUV 数据,因此需要借助 QOpenGLWidget 和 OpenGL 技术来实现。通过继承 QOpenGLWidget 类并重写其绘图方法,可以利用 GPU 的高效渲染能力,实现高质量的 YUV420 图像显示。此外,这种方法还能显著提高图像处理的性能和流畅性。 ... [详细]
  • 在安装并配置了Elasticsearch后,我在尝试通过GET /_nodes请求获取节点信息时遇到了问题,收到了错误消息。为了确保请求的正确性和安全性,我需要进一步排查配置和网络设置,以确保Elasticsearch集群能够正常响应。此外,还需要检查安全设置,如防火墙规则和认证机制,以防止未经授权的访问。 ... [详细]
  • 解决针织难题:R语言编程技巧与常见错误分析 ... [详细]
  • NOIP2000的单词接龙问题与常见的成语接龙游戏有异曲同工之妙。题目要求在给定的一组单词中,从指定的起始字母开始,构建最长的“单词链”。每个单词在链中最多可出现两次。本文将详细解析该题目的解法,并分享学习过程中的心得体会。 ... [详细]
  • 如何在Eclipse中配置不同文件类型的默认打开方式
    在Eclipse中配置不同文件类型的默认打开方式是一项常见的需求。本文将指导您如何轻松地修改Eclipse中各种文件类型的默认打开方式。具体步骤如下:首先,启动Eclipse,然后依次点击【Window】--【Preferences】进入设置界面。接下来,您可以根据需要选择相应的文件类型,并指定其默认打开的编辑器或工具。通过这些设置,您可以显著提升开发效率和工作便捷性。 ... [详细]
  • 计算机视觉领域介绍 | 自然语言驱动的跨模态行人重识别前沿技术综述(上篇)
    本文介绍了计算机视觉领域的最新进展,特别是自然语言驱动的跨模态行人重识别技术。上篇内容详细探讨了该领域的基础理论、关键技术及当前的研究热点,为读者提供了全面的概述。 ... [详细]
author-avatar
军军CJJ_317
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有