如何制作PdfAction
以在缩放级别Fit Page
的特定页面上打开另一个PDF? PdfAction
的构造函数之一采用PDF路径和目标页码,但默认缩放为Fit Width
。我没有看到任何包含'desired zoom'参数的方法/构造函数。我没有看到它,或者在PdfAction
完成后是否有办法更改缩放级别?
这是我到目前为止的代码:
var pdfAnnotation = PdfAnnotation.CreateLink(
pdfStamper.Writer,
linkOutline,
PdfAnnotation.HIGHLIGHT_NONE,
new PdfAction(pdfPath, targetPageNumber));
pdfAnnotation.BorderStyle = new PdfBorderDictionary(0.0F, 0);
pdfStamper.AddAnnotation(pdfAnnotation, sourcePageNumber);
答案 0 :(得分:1)
我不确定这是否是我问题的惯用解决方案,但我可以在创建PdfAction
后通过替换其中一个哈希表值来更新缩放级别:
var action = new PdfAction(pdfPath, targetPageNumber);
action.Remove(PdfName.D);
action.Put(PdfName.D, new PdfLiteral($@"[{targetPageNumber - 1} /Fit]"));
var pdfAnnotation = PdfAnnotation.CreateLink(
pdfStamper.Writer,
linkOutline,
PdfAnnotation.HIGHLIGHT_NONE,
action);
pdfAnnotation.BorderStyle = new PdfBorderDictionary(0.0F, 0);
pdfStamper.AddAnnotation(pdfAnnotation, sourcePageNumber);