通过Safari打印/保存时,使用PDFBox生成的PDF会被放大

通过Safari打印/保存时,使用PDFBox生成的PDF会被放大,pdf,safari,pdfbox,Pdf,Safari,Pdfbox,我使用PDFBox生成了一个pdf,然后发送到前端。当我在Chrome/Firefox中打印/保存此pdf时,它看起来不错。然而,当我尝试使用Safari做同样的事情时,pdf被放大了 不确定这是否是浏览器问题,或者是否与Safari有关无法正确读取pdf。有什么想法吗 是从Chrome生成的pdf,是从Safari生成的(我已经编辑了一些细节) 这是我的代码: PDXObjectImage blankImg = (PDXObjectImage) object; if(blankImg.getH

我使用PDFBox生成了一个pdf,然后发送到前端。当我在Chrome/Firefox中打印/保存此pdf时,它看起来不错。然而,当我尝试使用Safari做同样的事情时,pdf被放大了

不确定这是否是浏览器问题,或者是否与Safari有关无法正确读取pdf。有什么想法吗

是从Chrome生成的pdf,是从Safari生成的(我已经编辑了一些细节)

这是我的代码:

PDXObjectImage blankImg = (PDXObjectImage) object;
if(blankImg.getHeight() > 460){         
BufferedImage img = ImageIO.read(new ByteArrayInputStream(shippingLabel));

BufferedImage resizedImage = Scalr.resize(img, Scalr.Method.BALANCED, Scalr.Mode.FIT_EXACT, img.getWidth(), img.getHeight());

// Convert images to jpg format
BufferedImage jpegImage = new BufferedImage(resizedImage.getWidth(),resizedImage.getHeight(), BufferedImage.TYPE_INT_RGB);
jpegImage.createGraphics().drawImage(resizedImage, 0, 0, Color.WHITE, null);
ByteArrayOutputStream baos = new ByteArrayOutputStream();                       
ImageIO.write(jpegImage, "jpg", baos);                      

// Replace empty image in template with the image generated from shipping label byte array
PDXObjectImage carrierLabel = new PDJpeg(doc, new ByteArrayInputStream(baos.toByteArray()));
blankImg.getCOSStream().replaceWithStream(carrierLabel.getCOSStream());
break;
}

PDStream updatedStream = new PDStream(doc);
OutputStream out = updatedStream.createOutputStream();
ContentStreamWriter tokenWriter = new ContentStreamWriter(out);
tokenWriter.writeTokens(tokens);
page.setContents(updatedStream);

// Convert PDDoc to byte[]
ByteArrayOutputStream outUpdated = new ByteArrayOutputStream();
doc.save(outUpdated);
return outUpdated.toByteArray();
这就是我正在做的。我有一个空白图片的pdf。我阅读了这个图像,并用另一个可用的字节数组图像替换它,最后从后端运行的Spring boot server返回更新后的pdf作为字节数组作为ResponseEntity


谢谢。

您应该共享PDF。。。。以及Pdfbox使用的中心代码片段。我已经添加了代码/pdf。有什么建议吗?这是从Safari生成的pdf,这是从Chrome生成的-文件dropper似乎不知道您的URL。@mkl抱歉,看起来链接已过期。我又上传了。