Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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
C#-为PDF文件中的所有书签设置继承缩放操作_C#_Itextsharp_Itext - Fatal编程技术网

C#-为PDF文件中的所有书签设置继承缩放操作

C#-为PDF文件中的所有书签设置继承缩放操作,c#,itextsharp,itext,C#,Itextsharp,Itext,我有一个带有3种书签的PDF文件 第一个书本标记-100%缩放 第二个书本标记-200%缩放 第三个书本标记-300%缩放 我使用了以下代码,但在注释行中失败 PdfArray annots = page.getAsArray(PdfName.ANNOTS); // fails for (int i = 0; i < annots.size(); i++) { PdfDictionary annotation = annots.getAsDict(i); if (Pdf

我有一个带有3种书签的PDF文件

  • 第一个书本标记-100%缩放
  • 第二个书本标记-200%缩放
  • 第三个书本标记-300%缩放
我使用了以下代码,但在注释行中失败

PdfArray annots = page.getAsArray(PdfName.ANNOTS); // fails
for (int i = 0; i < annots.size(); i++)
{
    PdfDictionary annotation = annots.getAsDict(i);
    if (PdfName.LINK.equals(annotation.getAsName(PdfName.SUBTYPE)))
    {
        PdfArray d = annotation.getAsArray(PdfName.DEST);
        if (d != null && d.size() == 5 && PdfName.XYZ.equals(d.getAsName(1)))
        {
            d.set(4, new PdfNumber(0)); //error-does not contain set method in pdfarray
        }
    }
}
PdfArray annots=page.getAsArray(PdfName.annots);//失败
对于(int i=0;i

我需要为PDF文件中的所有书签设置继承缩放操作。如何使用
iTextSharp

设置PDF文件的继承缩放操作您正在使用iTextSharp中的iText代码

替换:

d.set(4, new PdfNumber(0));
与:


抱歉,这是我的问题。如果有任何错误,请忽略它。我在这一行中得到空句柄PdfArray annots=page.getAsArray(PdfName.annots);//失败。能否提供代码来设置pdf文件的继承缩放。谢谢。您混合了两个完全不同的概念:书签(如“大纲树”的元素)和链接批注(如页面上的可单击区域)。你需要下定决心:你是在谈论书签还是注释?您
page.getAsArray(PdfName.ANNOTS)是完全正常的返回
null
。然而,这与书签和缩放因子的问题完全无关。除非你问我们你真正想知道什么,否则你不会得到任何人的回答。我需要为pdf文件中的所有书签设置“继承缩放”操作。这是我的问题。谢谢。如果这就是你想要的,那你为什么要谈论注释呢。请更新您的问题。如果你从一开始就提出了正确的问题,那么你今天就会得到答案。现在我已经晚了一个小时,所以你必须等到明天……我已经更新了问题。现在正确吗?谢谢。可能是第二份
d[4] = new PdfNumber(0);