如何将 MemoryStream 中的 PDF 发送到 .Net 中的打印机?

2024-03-09

我使用 iTextSharp 在内存中创建了一个 PDF,并将其包含在 MemoryStream 中。我现在需要将 MemoryStream PDF 转换为打印机可以理解的内容。

我过去曾使用报表服务器将页面呈现为打印机格式,但我无法将其用于此项目。

有没有一种原生的 .Net 方法可以做到这一点?例如,如果 GhostScript 是一个 .Net 程序集,那就没问题,但我不想将任何非 .Net 内容与我的安装程序捆绑在一起。

.Net 中的 PrintDocument 类非常适合将内容发送到打印机,但我仍然需要在页面级别将其从 PDF 流转换为 GDI。

有什么好的提示吗?

提前致谢

Ryan


另一种更简单的方法是将 pdf 保存到临时文件中,并在 Process.Start 中给出以下命令,该命令将直接打印 pdf,如本 [Adobe Reader Print Through Command Line][1] 中所述

Process.Start("AcroRd32.exe /t \"C:\test.pdf\"");

我想说这是最好的方法,因为 Adob​​e 肯定会以正确的方式打印它,而不是依赖任何其他工具,它们很好,但不是 100% 正确。 [1]:http://support.adobe.com/devsup/devsup.nsf/docs/52080.htm http://support.adobe.com/devsup/devsup.nsf/docs/52080.htm

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 MemoryStream 中的 PDF 发送到 .Net 中的打印机? 的相关文章

  • 服务具有零个应用程序(非基础设施)端点

    我最近创建了一个WCF服务 dll 和一个服务主机 exe 我知道我的 WCF 服务工作正常 因为我能够成功地将服务添加到 WcfTestClient 但是 当我从服务主机 exe 使用 WCF 时 我似乎遇到了问题 我可以将对 WCF d
  • 在 .NET 中使用 Settings.settings 文件时,配置实际存储在哪里?

    在 NET 中使用 Settings settings 文件时 配置实际存储在哪里 我想删除保存的设置以返回到默认状态 但找不到它的存储位置 有什么想法吗 这取决于您选择的设置是在 用户 范围还是 应用程序 范围 用户范围 用户范围设置存储
  • 使用 ITextsharp 将 Html 导出为 PDF

    我已经尝试了下面的代码 我也遇到了错误 我正在使用最新的 DLL String strSelectUserListBuilder h1 My First Heading h1 p My first paragraph p String ht
  • 使用 F5 时,finally 似乎没有在 C# 控制台应用程序中执行

    int i 0 try int j 10 i catch IOException e finally Console WriteLine In finally Console ReadLine 在VS2008中按F5时 finally块似乎
  • 去除字符串的最佳方法是什么?

    我需要具有最佳性能的想法来删除 过滤字符串 I have string Input view 512 3 159 删除 view 和 的最佳性能方法是什么 和引号 我可以做这个 Input Input Replace view Replac
  • System.Drawing.Image.Save 抛出ExternalException:GDI 中发生一般错误

    我有一个函数 它需要一个位图 复制它的一部分并将其保存为 8bpp tiff 结果图像的文件名是唯一的并且文件不存在 程序有权写入目标文件夹 void CropImage Bitmap map Bitmap croped new Bitma
  • IL 的仿制药?

    是否可以在 IL 生成器中使用泛型 DynamicMethod method new DynamicMethod GetStuff typeof int new Type typeof object ILGenerator il metho
  • 在 DataGridView 中隐藏行非常慢

    我在 Winforms 应用程序中有一个 DataGridView 大约有 1000 行 未绑定 和 50 列 隐藏一列需要整整 2 秒 当我想隐藏大约一半的行时 这就成为一个问题 private void ShowRows string
  • 如何在 C# 中以编程方式创建柔和的颜色?

    根据所需的颜色数量均匀分布地生成它们 如果指定的计数为 8 则看起来像这样 List
  • 托管 .NET 代码中的“访问冲突写入位置...”

    我收到以下异常 MqSearch exe 中 0x000007FE21AFE593 mscorlib ni dll 处出现未处理的异常 0xC0000005 写入位置 0x00000006609476FD 时出现访问冲突 代码是完全托管的
  • 如何让 LinqToSql 将“索引提示”传递给 sql server?

    由于我们不能相信我们的客户会更新 sql server 中的索引统计信息等 因此我们过去不得不使用索引提示 http www sql server performance com tips hints general p1 aspx 由于我
  • Sitecore - 隐藏功能区中的按钮

    我为特定内容项创建了上下文功能区 我有两个按钮 可以将项目 升级 或 降级 到某一类别 该部分只能有一个 是否可以根据某种隐藏代码中的内容状态隐藏其中一个按钮 我了解如何链接到 Click 事件 但我想知道是否有某种加载事件可供自定义功能区
  • 有谁知道一种更快的方法来执行 String.Split() 吗?

    我正在读取 CSV 文件的每一行 并且需要获取每一列中的各个值 所以现在我只是使用 values line Split delimiter where line是保存由分隔符分隔的值的字符串 衡量我的表现ReadNextRow我注意到它花费
  • 找不到 Microsoft.Office.Interop Visual Studio

    我正在开发一个使用 C 发送电子邮件的应用程序 该应用程序将能够使用邮件模板等 问题是我无法找到任何 Office Interop 引用 这意味着我无法使用 Outlook 我的计算机上安装了 Office 但我也尝试从此链接安装 PIAh
  • 在 .Net 托管的 IronPython 脚本中设置和获取变量

    我正在尝试使用 Net 控制台应用程序中托管的 IronPython 来构建验证规则引擎的原型 我已经将脚本精简到我认为的基础内容 var engine Python CreateEngine engine Execute from Sys
  • 设置 Form.KeyPreview = true 的缺点?

    我想知道 Form KeyPreview 属性实际上有什么用处 它为什么存在以及将其设置为 true 会带来什么 风险 我想它一定有some负面影响 否则它根本不应该存在 或者至少默认情况下是正确的 EDIT 我很清楚what确实如此 我问
  • C# - 方法必须有返回类型

    我在调用 C 中的方法时遇到问题 不断收到消息 方法 计算 必须有返回类型 using System Diagnostics namespace WindowsFormsApplication1 public partial class F
  • java中如何连接字符串

    这是我的字符串连接代码 StringSecret java public class StringSecret public static void main String args String s new String abc s co
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况

随机推荐

  • 如何在 C 或 C++ 中获取/链接外部函数?

    EDIT 我想我应该澄清一下 以防万一 我使用的是 AIX Unix 机器 所以我使用 VAC 编译器 没有 gnu 编译器 End edit 我对 C C 很生疏 所以如果这是一个简单的问题 请原谅我 我想从我的一些 C 程序中取出常用函
  • helgrind (valgrind) 可以与 c++11 futures 一起使用吗

    当我将 helgrind 与 C 11 futures 和打包任务一起使用时 我得到了我认为是误报的信息 以下是在 CentOS6 系统上使用 gcc 6 3 0 和 valgrind 3 12 的情况 我尝试按照文档中的建议来提供注释 我
  • css盒子阴影+透明背景图片=直观分解

    我有一个按钮图像用作某些链接的背景图像 背景图像有圆角 我想使用 css 投影而不是将投影放在图像中 问题是 阴影似乎是绘制的around元素 虽然我有点希望通过背景图像的透明部分看到投影颜色 但我看到的是背景颜色 看到这个jsfiddle
  • 如何更改 BigQuery 重复记录的 col 类型

    我正在尝试更改重复记录的 col 类型STRING to TIMESTAMP BQ 文档提供了一些建议 手动更改模式 https cloud google com bigquery docs manually changing schema
  • UIPageViewController:子控制器在滚动期间忽略状态栏高度

    我遇到了一些麻烦UIPageViewController 如果我滚动到新页面 新的视图控制器是behind状态栏while我正在滚动 滚动后 视图控制器自行定位below状态栏 我正在使用故事板 通用 UIPageViewControlle
  • 有没有一种有效的方法来引用常量,而不是只读?

    我们来看下面的 C 代码 include
  • 与网络服务器同步核心数据

    我正在创建一个关于鸟类的应用程序 这个应用程序也应该在离线模式下工作 所以我决定使用核心数据 我计划有 1 个表 其中包含大约 700 条记录 所有鸟类都将显示在表格视图中 工作流程应该是这样的 用户启动应用程序 请求在后台发送到服务器 响
  • 如何使用批量更改壁纸

    我需要制作一个批处理文件 将壁纸更改为与bat文件位于同一位置的图片 我当前有以下代码 reg add HKCU Control Panel Desktop v Wallpaper f t REG SZ d c images wallpap
  • 哪一个更快? List.contains() 或 Map.containsKey()

    我正在编写一个算法 在其中寻找成对的值 这些值加在一起时会产生我正在寻找的另一个值 我发现使用Map将使我的算法速度从 O n 开始 后来我意识到我并没有真正使用我的Map so a List就足够了 我在谷歌上进行了强力搜索 但在我的问题
  • 如何在Sqlite3中将数组存储在一列中?

    有没有办法将整数数组存储在表的一列中 我想要这样的o p ident value count 563 0 10 0 0 1 100 2 200 3 300 4 400 5 500 6 我已经通过 postgres 实现了这
  • 为什么 SSL 握手会出现“无法生成 DH 密钥对”异常?

    当我与某些 IRC 服务器 但不是其他服务器 可能是由于服务器的首选加密方法 建立 SSL 连接时 出现以下异常 Caused by java lang RuntimeException Could not generate DH keyp
  • 使用 CSS 为黑色图标赋予另一种颜色

    我看到一些应用程序尽管包含黑色图标 但有些应用程序如何使用 CSS 将图标转换为不同的颜色 我似乎无法重复这个过程 这是我的 back css 文件 dashboard buttons a width 80px height 80px bo
  • Solr 搜索查询返回全头异常

    我正在 C 应用程序中调用托管在其他计算机上的远程 solr 搜索 现在 由于我的查询长度变得太大 因此搜索引擎返回全头错误 我无法减少查询长度 所以我只是想知道我可以提出同样的邮寄请求吗 我该怎么做这个 请建议我 谢谢 看起来您遇到了 j
  • 在回调中使用yield?

    我有一个函数y 这应该会产生一些记录 然而 该函数在回调中获取记录 并将其传递给另一个函数d 访问数据 d 不返回或产生任何东西 如果其他功能 这种模式是否可能d 接受回调被认为是黑匣子 替代设计是什么 function y d funct
  • 单元测试、NUnit 还是 Visual Studio? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在使用 Visual studio 有时是 resharper 来运行我的单元测试 我听说过 NUnit 但我对它了解不多 我应该关心它吗
  • 在 kubernetes pod 中获取日志的选项

    kubernetes pod 中的开发人员日志很少 获取日志供开发人员查看的最佳方法是什么 我们可以使用什么特定的工具 我可以选择graylog 但不确定是否可以对其进行定制以使开发人员登录到其中 最基本的方法是简单地使用kubectl l
  • Python:连接(或克隆)一个 numpy 数组 N 次

    我想通过克隆 Mx1 ndarray N 次来创建 MxN numpy 数组 有没有一种有效的 pythonic 方法来代替循环 顺便说一句 以下方法对我不起作用 X 是我的 Mx1 数组 numpy concatenate X numpy
  • 文件读取:feof() 用于二进制文件

    我正在读取一个二进制文件 当它到达终点时 看来它是由 feof 函数终止的 是因为二进制文件没有EOF字符吗 如果是这样我该如何解决它 目前我的代码正在使用 while 循环 while feof f 当它到达文件末尾位置 5526900
  • 为什么 lambda 的大小为 1 个字节?

    我正在使用 C 中的一些 lambda 表达式的内存 但我对它们的大小有点困惑 这是我的测试代码 include
  • 如何将 MemoryStream 中的 PDF 发送到 .Net 中的打印机?

    我使用 iTextSharp 在内存中创建了一个 PDF 并将其包含在 MemoryStream 中 我现在需要将 MemoryStream PDF 转换为打印机可以理解的内容 我过去曾使用报表服务器将页面呈现为打印机格式 但我无法将其用于