iText7生成PDF中图片打印分辨率过低问题求助
iText7生成PDF中图片打印分辨率过低问题求助
大家好,我最近在用iText7生成PDF文件并往里面加图片,大部分场景下都挺正常的,但碰到个特别头疼的问题:从生成的PDF里打印图片时,分辨率低得离谱,可是直接在Windows里打印这张原图的话,清晰度就特别好,完全没问题。
我实在摸不着头脑,不知道自己哪里写错了。为了方便复现问题,我特意做了个精简的示例项目,核心代码如下:
private static async Task Main(string[] args) { using MemoryStream memoryStream = new MemoryStream(); PdfWriter writer = new PdfWriter(memoryStream, new WriterProperties().SetCompressionLevel(0)); PdfDocument pdfDoc = new PdfDocument(writer); Document document = new Document(pdfDoc); float pageMargin = CalcCentimeterToPoints(PAGE_MARGIN_CM); document.SetMargins(pageMargin, pageMargin, pageMargin, pageMargin); PageSize pageSize = PageSize.A4; pdfDoc.SetDefaultPageSize(pageSize); // 加载并添加图片 ImageData imageData = ImageDataFactory.Create("test-image.png"); Image pdfImage = new Image(imageData); // 调整图片宽度适配页面 pdfImage.SetWidth(pageSize.GetWidth() - 2 * pageMargin); document.Add(pdfImage); document.Close(); // 后续将内存流中的PDF保存到文件的逻辑 } private static float CalcCentimeterToPoints(float cm) { return cm * 28.3465f; }
我已经试过把PDF的压缩级别设为0了,可打印出来的图片还是糊得不行。有没有朋友遇到过类似的情况?或者能帮我分析下可能的原因,给我点排查方向呀?
备注:内容来源于stack exchange,提问作者Marvin Klein
相关产品推荐
相关产品推荐

