c# - iTextSharp - 打印时 PDF 分辨率变为奇怪的大小
问题描述
我们在系统中以非常简单的方式使用 iTextSharp。我们的 Web API 从我们的数据库中获取一系列图像,然后从这些图像中创建一个图形,然后将单个 png 创建的图像保存到一个 pdf 文件中以供打印。(它打印员工徽章)我将代码设置为 300 的 DPI。我们生成的图像,然后放在 pdf 上是 952x584 像素。这会产生 4 个完美的条形码。
无论我通过 iTextSharp 提供什么设置,生成的 pdf 在打印预览中都表示它的打印区域为 13.2" x 8.1"(英寸)。让它打印整个文档的唯一方法是“缩小到页面”,这会使条形码模糊。(我们基本上打印到 CR80 尺寸)
var doc =
new Document(
new Rectangle(0, 0, (float)bdgDesignDto.BdgLayoutFront.Width,
(float)bdgDesignDto.BdgLayoutFront.Height), 0, 0, 0, 0);
var front = iTextSharp.text.Image.GetInstance(bdgDesignDto.BdgFrontImage);
front.SetDpi(300,300);
front.ScaleToFitHeight = false;
front.ScaleToFitLineWhenOverflow = false;
front.CompressionLevel = PdfStream.NO_COMPRESSION;
front.ScaleAbsolute((float)bdgDesignDto.BdgLayoutFront.Width, (float)bdgDesignDto.BdgLayoutFront.Height);
doc.Add(front);
我已经更改/删除/添加了几个不同的属性到变量'front',但没有改变最终结果。(除了我们不想要的Scale,但确实改变了最终结果)
我确实将我们的代码更改为 iText7,但它比我们需要的复杂得多,而且它不起作用,所以我回到了 iTextSharp 代码和 sdk。
如果有人可以帮助我在不缩小页面的情况下打印整个页面,那就太好了。
解决方案
推荐阅读
- javascript - 未捕获的类型错误:无法读取 react-redux 中未定义的属性“道具”
- r - 从数据框或矩阵中随机采样连续行
- xml - Excel、XML 和 XSD
- java - 在Ubuntu中连接到服务器套接字时连接超时?
- sql - 只有字母和数字的字符串可以注入 SQL 语句
- typescript - “typeof Validators”类型上不存在属性“min”
- netlogo - 如何测试死亡率是否正确
- android - 如何将 iPhone 添加到 Android Studio?
- visual-studio - 为什么VS2017中我的C++-Project中的“添加引用”列表是空的?
- node-red - Node-Red UI 模板:如何“修复”变量的值?