Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Itext PDF在PDF旋转后保留修剪框_Itext - Fatal编程技术网

Itext PDF在PDF旋转后保留修剪框

Itext PDF在PDF旋转后保留修剪框,itext,Itext,我遇到了一个挑战,在PDF中创建一个纵向的装饰框,然后将其旋转到横向,我做到了 pageDict.put(PdfName.ROTATE, new PdfNumber(rot + 270)); 但是我的装饰盒变成香蕉了。当我用我定义的相同坐标和旋转再次定义它时,修剪框具有相同的外观(周长),但不在相同的位置。 我试图定义trimbox来计算新的坐标,但计算没有多大意义,因为计算(假设)正常,但trimbox不会出现在纵向中定义的位置。 假设我想在纵向中定义一个trimbox,假设里面是一张图片

我遇到了一个挑战,在PDF中创建一个纵向的装饰框,然后将其旋转到横向,我做到了

 pageDict.put(PdfName.ROTATE, new PdfNumber(rot + 270));
但是我的装饰盒变成香蕉了。当我用我定义的相同坐标和旋转再次定义它时,修剪框具有相同的外观(周长),但不在相同的位置。 我试图定义trimbox来计算新的坐标,但计算没有多大意义,因为计算(假设)正常,但trimbox不会出现在纵向中定义的位置。 假设我想在纵向中定义一个trimbox,假设里面是一张图片,当我旋转页面时,trimbox继续涉及同一张图片,这是如何做到的

有人知道吗

干杯

更新:

这是原始的装饰框设置:

这是旋转PDF页面后的修剪框:

我想要的是,如果页面是否旋转,则设置保持相同的TrimBox和相同的位置独立

干杯

更新:

PDF的轮换是在原来的文章。 TrimBox的定义由BIRT使用我们修改的API定义,其中一个是TrimBox,如下所示:

PdfArray array = (PdfArray) pageDict.get(PdfName.TRIMBOX);
PdfRectangle trimBox = new PdfRectangle(Float.parseFloat(array.getArrayList().get(0).toString()),Float.parseFloat(array.getArrayList().get(1).toString()),Float.parseFloat(array.getArrayList().get(2).toString()), Float.parseFloat(array.getArrayList().get(3).toString()));
pageDict.put(PdfName.TRIMBOX, trimBox);
关于提供文件,我不能,因为Stack不允许我(至少需要10个声誉)

干杯

更新:


由于声誉(只有2个链接),我删除了图像链接。

我刚刚比较了您在Adobe Acrobat中提供的两个文件。而且,PDF文件似乎与它们应该的一样

:

页面字典中的条目:

/MediaBox [0, 0, 666.29, 912.89]
/TrimBox  [22, 22, 600, 400]
/BleedBox [22, 22, 600, 400]
/ArtBox   [22, 22, 600, 400]
/TrimBox  [22, 22, 600, 400]
/MediaBox [0, 0, 666.29, 912.89]
/BleedBox [22, 22, 600, 400]
/ArtBox   [22, 22, 600, 400]
/Rotate   270
在Adobe Acrobat中:

:

页面字典中的条目:

/MediaBox [0, 0, 666.29, 912.89]
/TrimBox  [22, 22, 600, 400]
/BleedBox [22, 22, 600, 400]
/ArtBox   [22, 22, 600, 400]
/TrimBox  [22, 22, 600, 400]
/MediaBox [0, 0, 666.29, 912.89]
/BleedBox [22, 22, 600, 400]
/ArtBox   [22, 22, 600, 400]
/Rotate   270
在Adobe Acrobat中:

因此,一切都很好,只在页面字典中添加了旋转,因此,所有内容(包括修剪框)都是旋转的

因此,当旋转是游戏的一部分时,我假设用于显示修剪框的程序受到一定限制

你提到伯特。也许BIRT有它自己的一套关于修剪框的信息存储在其他地方(根据您在问题中使用的屏幕截图,显示从顶部、左侧、右侧和底部的距离)。在这种情况下,在旋转PDF时可能还必须更新这些信息


或者,当您使用由您制作的定义框的更改API时,可能必须告诉该API有关旋转效果?

事实上,我不太理解您的问题。在所有的修剪框都被定义为介质盒的一部分后,没有旋转阻碍。也许你能说明哪里出了问题?也许有一些样本文件?嗨,我明白了。如果是我,我正在努力理解我在说什么。我要用同样的打印屏幕,也许会有帮助。干杯。你如何使用装饰框?你能提供PDFfor检查吗?嗨,用更多信息更新原始帖子。关于提供文件,我不能,因为Stack不允许我(至少需要10个声誉)。——Stackoverflow不提供通用的文件附件支持,仅从某些re开始支持图像。因此,PDF必须通过第三方文件宿主(Dropbox、Google Drive等)提供。您好,谢谢您的帮助。我使用Acrobat 7 professional,我发布的图片是该软件中trimbox的布局。您是否有其他软件可以保证您发布的可视化效果?除了不同的方向,盒子在同一个地方吗?这可能是Acrobat 7 professional中的一个bug!!我用的是acrobat 9.x版。明天在办公室,我可以尝试再次检查,但页面字典条目也显示了修剪框的位置。昨天,我使用AdobeAcrobat9Pro版本9.5.5测试了修剪框。我刚刚用Adobe Reader席版本110.3验证了结果。因此,您要么选择了与您提供的PDF不同的PDF,要么Acrobat7中的装饰框显示有问题。您好,谢谢您的帮助。我得到了Adobe9.x,是的,盒子在那里,在同一个地方,就像你说的。