Java 如何使用iText5在PDF中跨多个页面显示大尺寸图像?

Java 如何使用iText5在PDF中跨多个页面显示大尺寸图像?,java,itext,pdf-generation,Java,Itext,Pdf Generation,我有一个大尺寸的图形图像,我需要在PDF文件中显示 我无法缩放以适应图像,因为这会使节点上的文本难以辨认 如何将图像分割为多个页面,同时保留其原始尺寸?请查看示例。它以原始大小拍摄图像,并将其平铺在4页上: 为了实现这一点,我首先询问了图像的大小: Image image = Image.getInstance(IMAGE); float width = image.getScaledWidth(); float height = image.getScaledHeight(); 为了确保每

我有一个大尺寸的图形图像,我需要在PDF文件中显示

我无法缩放以适应图像,因为这会使节点上的文本难以辨认

如何将图像分割为多个页面,同时保留其原始尺寸?

请查看示例。它以原始大小拍摄图像,并将其平铺在4页上:

为了实现这一点,我首先询问了图像的大小:

Image image = Image.getInstance(IMAGE);
float width = image.getScaledWidth();
float height = image.getScaledHeight();
为了确保每个页面都有页面的四分之一大,我定义了以下矩形:

Rectangle page = new Rectangle(width / 2, height / 2);
我在创建
文档
实例时使用此矩形,并使用不同的坐标添加相同的图像4次:

Document document = new Document(page);
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(dest));
document.open();
PdfContentByte canvas = writer.getDirectContentUnder();
canvas.addImage(image, width, 0, 0, height, 0, -height / 2);
document.newPage();
canvas.addImage(image, width, 0, 0, height, 0, 0);
document.newPage();
canvas.addImage(image, width, 0, 0, height, -width / 2, - height / 2);
document.newPage();
canvas.addImage(image, width, 0, 0, height, -width / 2, 0);
document.close();

现在,我已将图像分发到不同的页面,这正是您试图实现的;-)

您可能想看看这个示例,它显示了一个分为多个页面的大型模板。使用您的解决方案,图像将从右侧和侧面进行剪切,并出现在最后一页。你能告诉我动态页面的解决方案吗?