c# - 在 .网

标签 c# .net printing ms-office

(最后的简短版本)

我目前正在开发的软件需要跟踪任意数量的 MS Office 文件,现在需要提供将所有这些文件一起打印的功能,以及一些应用程序数据(可能会发送到打印机作为 .xps、.html 或 .txt 类型的文件)。一个一个地打印每个文件是相当简单的,但会导致每个文件都有单独的打印作业。这对于在办公室设置打印机以在每个打印作业开始时使用打印作业的用户名和时间打印一张纸的情况非常糟糕,并且它可能允许共享打印机的其他用户在作业之间打印。 此外,作业是否有可能未按正确顺序处理?1

有什么方法可以将任意一组 Office 文档合并为一个打印作业吗?

编辑: 一个可以接受的替代解决方案是将所有文档合并为一个 pdf/xps(或类似)文档的方法?这既可以实现主要目标,又可以更快地打印 future 的副本,因为我们可以打印一个大文档而不是每个单独的文档(当然,直到添加了新文档)。

1(在原帖后编辑)

精简版

给定:

  • 任意收集 MS Office 文件(.doc[x]、.xls[x]、.ppt[x])
  • 申请数据(生成字符串,可以打印成.txt、.html等)

实现:

  • 通过将所有文件合并为一个作业或在打印前合并为一个文件,将所有文件打印为一个打印作业。

问题:
可以吗?如果是,怎么办?

最佳答案

是的 - 如果您将所有内容转换为 PDF 并将这些 PDF 合并为一个......

有一些库可以实现这一点 - 但如果您想涵盖所有办公格式,您可能需要考虑 Aspose.Total .NET (没有附属关系,只是一个快乐的客户)...

编辑 - 根据评论:

另一种选择(特别是因为该软件本质上是一个“桌面应用程序”,http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2 不适用)是使用 Office Interop 创建 PDF 文件。文本可以相当容易地转换为 PDF(例如,通过使用 Office Interop/Word 并使用该文本创建一个中间 Word 文档)。

总而言之,这允许要求的大部分功能......以确保中间没有其他打印作业可以将 PDF 文件合并为一个 PDF 并打印......对于合并 PDF,有几个库(免费的,例如Ghostscript,像 Gnostice PDFOne 这样的商业广告)——有些甚至允许从文本/图像创建 PDF,避免使用上面提到的中间 Word 文档)。

关于c# - 在 .网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7758614/

相关文章:

c# - 如何在 SQLite.net 中查询 View ?

c# - 是否可以首先在 Entity Framework 代码中使用 PK 列作为鉴别器?

mysql - 如何在VB中打印Datagridview有表

c# - String.Contains 在 C# 中不需要参数?

c# - Linq to sql 将 IQueryable 转换为数据集

.net - 如何结合使用 wkhtmltopdf 和 A​​zure Functions 将 HTML 转换为 IMAGE?

c# - 将 DateTime 格式化为带有时区的本地字符串

html - 是否可以打印一个 html 页面,并在页面底部粘上一些东西?

windows - Windows 10 中缺少 IPP 驱动程序(需要连接到 CUPS)

c# - 检查每个页面的权限