1

我正在尝试使用 iText Stamper 更改 PDF 文件,以便它始终以全页显示打开。我试过,

PdfStamper stamper = new PdfStamper(new PdfReader(src), new FileOutputStream(dest));
PdfWriter writer = stamper.getWriter();
PdfAction action = PdfAction.gotoLocalPage(1, new PdfDestination(PdfDestination.FIT), writer);
writer.setAdditionalAction(PdfWriter.DOCUMENT_OPEN, action);

但 DOCUMENT_OPEN 未定义。我怎样才能做到这一点?我应该改用 stamper.addJavascript 吗?但是什么 JS 代码会设置初始视图?

我可以使用 setPageAction(PAGE_OPEN, action, 1) 并且有效,但我认为如果用户每次查看第 1 页时,视图都会发生变化,这可能会让用户感到厌烦。

顺便说一句,最初我尝试使用 PDF 打开参数,但它们非常不可靠。我使用

<embed src='myfile.pdf#view=Fit'>

Adobe Reader 经常无缘无故地忽略该视图。这就是为什么我试图在 PDF 本身中设置初始视图。

4

1 回答 1

1

试试这个:

writer.setOpenAction(action);

另请参阅setOpenAction 的文档

于 2013-10-03T16:38:58.170 回答