当我试图将页面大小调整为7.31 x 11时,该页面中的一些内容会从窗口中被裁剪掉。下面是我的输出文档的链接。
http://www.filedropper.com/mynewdocument
下面是我的源代码
import java.awt.print.PrinterException;
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.encryption.InvalidPasswordException;
import org.apache.pdfbox.pdmodel.interactive.action.PDActionGoTo;
import org.apache.pdfbox.pdmodel.interactive.documentnavigation.destination.PDPageDestination;
import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDDocumentOutline;
import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineItem;
import org.apache.pdfbox.pdmodel.interactive.documentnavigation.outline.PDOutlineNode;
public class PDFConvert {
public static void main(String[] args) throws InvalidPasswordException, IOException, PrinterException {
File file = new File("d:\\pdf\\000009.pdf");
PDDocument document = PDDocument.load(file);
PDPage page1 = document.getDocumentCatalog().getPages().get(0);
PDDocumentOutline outline = document.getDocumentCatalog().getDocumentOutline();
PDRectangle mediaBox = new PDRectangle(7.31f * 72, 11.0f * 72);
PDPage reSizepage = printBookmark(document, outline, "");
if (reSizepage != null) {
reSizepage.setMediaBox(mediaBox);
}
PDDocument doc = new PDDocument();
doc.addPage(page1);
doc.addPage(reSizepage);
doc.save("d:\\pdf\\mynewDocument.pdf");
doc.close();
}
public static PDPage printBookmark(PDDocument document, PDOutlineNode bookmark, String indentation)
throws IOException {
PDOutlineItem current = bookmark.getFirstChild();
while (current != null) {
System.out.println(current.getTitle());
if (current.getDestination() instanceof PDPageDestination) {
if (current.getTitle().equals("Table DP-2. Profile of Selected Social Characteristics: 2000")) {
PDPageDestination pd = (PDPageDestination) current.getDestination();
System.out.println("Destination page: " + (pd.retrievePageNumber()));
return pd.getPage();
}
}
printBookmark(document, current, indentation + " ");
current = current.getNextSibling();
}
return null;
}
}
当然,你的内容被删掉了,这就是你告诉它要做的。您还需要收缩内容,为页面内容流预先设置缩放矩阵:
if (reSizepage != null)
{
reSizepage.setMediaBox(mediaBox);
PDPageContentStream contentStream = new PDPageContentStream(document, reSizepage, PDPageContentStream.AppendMode.PREPEND, false);
contentStream.transform(Matrix.getScaleInstance(0.9f, 0.9f));
contentStream.close();
}
类似,但更好的答案(最后全部重置)
问题内容: 我需要将图片调整为固定大小。但它必须将宽度和高度之间的因素。 说我要调整从图片到 我现在要做的是: 现在我考虑最小的因素。 从那以后我一直都有正确的宽度。但是身高还是。 如何在不破坏图片的情况下降低高度? 我需要修剪吗?如果可以,怎么办? 问题答案: 这个解决方案与Can BerkGüder的解决方案基本相同,但是花了一些时间写和发表评论后,我才觉得喜欢发布。 此功能创建的缩略图与您提
问题内容: 我正在从磁盘读取图像,并将其显示在一行中。图像文件大于行中需要显示的图像文件。由于我需要将RAM 缓存在内存中以加快访问速度,因此我希望它们的大小只能与s 一样大(85x85 dip) 现在我正在读文件 位图= BitmapFactory.decodeFile(file); 而ImageView负责缩放和裁剪它 android:scaleType =“ centerCrop” AFAI
当我用CSS设置背景图像时,我的布局有问题。我已经在谷歌上查过了,但是找不到有完全相同问题的人,而且没有一个解决方案适用。 我正在尝试做的是创建一个页面,其背景图像填充整个屏幕的高度。考虑这个简单的html页面: 在CSS中,我有两个选择器: 它工作得很好,除了我调整窗口大小的时候。如果将浏览器的大小调整为小于div的宽度和高度的值,则会出现滚动条并剪切内容。下面是一个300KB的gif来说明这个
我正在使用适用于Android的jitsi meet sdk开发一个应用程序,当我加入一个房间时,我会收到一个“将您连接到您的服务器…”信息,但被删掉了。 你知道如何定制文本裁剪或更改/删除消息吗?因为它有点难看。 请注意,25天前我已经在他们的GitHub上打开了一个问题,但仍然没有收到任何答案。 问题存在于2.11和3.3.0中 这是一个10.1屏幕,屏幕分辨率为1920x1200 我可以用屏
问题内容: 我想显示具有特定宽度和高度的URL的图像,即使它 具有不同的尺寸比例。所以我想调整大小(保持比例), 然后将图像切成我想要的大小。 我可以使用html img属性调整大小,也可以使用剪切background-image。 我该怎么办? 例: 这个图片: 具有800x600像素大小,我想显示为200x100 像素图像 通过img我可以调整图像大小200x150px: 这给了我这个: 而且
已经建立了一个小的测试SWING应用程序,有三个面板。一个主JPanel,包含两个较小的JPanel。一个在左边(板面板),另一个在右边(侧板)。通过调用min、preferred和max size方法,两个内部面板都被设置为请求的特定大小。右面板中的一个按钮将父JFrame设置为not re-sizable。在父帧设置为不可调整大小之前,一切看起来都很好,这会导致(?!)调整框架和主面板的大小,