将 PrintDocument 对象保存/打印为 JPEG/BMP 或任何图像格式

问题描述 投票:0回答:0

我知道这个问题并不新鲜,但不幸的是我还没有得到正确的答案。因此再次尝试问这个问题。 我的场景 我正在使用我在整个购物车和计费过程中收集的数据构建付款收据。 所有这些步骤都已完成,我可以在运行时创建打印文档,并使用代码等将其保存为 PDF 格式。一切正常。

所需业务流程:

我想给最终用户两个选择。 a) 使用小型打印机打印账单,一般选择较小尺寸的纸卷进行热打印,类似于信用卡读卡器等。 b) 如果客户不想要账单的纸质副本,则将账单发送到客户的 whatsapp。

现在, 我已经完成了实现上述 a) 所需的事情,这绝对没有问题,但是当我尝试使用内部 PDF 打印机打印 PrintDocument 时,它总是以完整的 A4 纸张大小打印文档,而我专门定义了纸张尺寸只有 250 宽和 700 高。

现在问题来了,printdocument打印出来的PDF文档,右边和底部有很多空白

问题:

我的基本问题是摆脱这个空白。打印后如何去除多余的空白区域。

我的想法:

由于我无法控制内置 pdf 创建器的默认纸张大小,我想与其创建 pdf 文件,不如使用我在代码中创建的 printdocument 创建图像文件。 问题是我不知道怎么做。

如果你们中的任何人能帮助我弄清楚如何实现这一目标,我将非常感激。

这里不分享我的代码,因为我认为制作打印文档非常简单,因为我所做的只是在打印文档上放置一些 e.graphics.drawstring 线来放置一些标题和一些产品名称等。

如果需要我仍然可以分享,但我知道对于像你这样的专家来说这是非常标准的。

请帮助我

a) 直接在 pdf 文档中删除多余的空格,以便可以直接与客户共享

b) 将打印文档保存/打印为图像,使 JPG 文件仅包含正确的图像,右侧和底部没有多余的空白区域。

提前致谢。

我已经尝试过的

我尝试安装一些在线可用的打印机,它们可以以 jpg 格式打印,但它们不是免费的。他们要么留下水印,要么需要许可证。 此外,在代码中使用这些打印机会创建一个 .prn 文件,这是不好的,因为用户将不得不使用这些打印机再次手动打印它们以获取 JPG 文件。

我希望用户看不到所有这些收据生成活动。当用户点击保存账单时,系统应该能够创建打印文档,然后用户可以使用正确的打印机打印文档,或者关闭打印预览并使用 JPG 文件上传到客户的 whatsapp .

vb.net printing jpeg printdocument
© www.soinside.com 2019 - 2024. All rights reserved.