0

次のコードがあります

 org.pdfclown.objects.PdfDictionary dict = new org.pdfclown.objects.PdfDictionary();
 org.pdfclown.objects.PdfName name;
 name = dict[org.pdfclown.objects.PdfName.AcroForm];

私がやりたいのは、アプリケーションにロードされたファイルが AcroFrom フィールドを持っているかどうかを確認することです。

 dict[org.pdfclown.objects.PdfName.AcroForm];

何らかの形で今出てくるエラーは

Error   2   Cannot implicitly convert type  
'org.pdfclown.objects.PdfDirectObject' to 'org.pdfclown.objects.PdfName'. 
An explicit conversion exists (are you missing a cast?) 
C:\ImpressionContext (1)\ImpressionContext\ImpressionContext\ContextDialogue.cs 
184 20  ImpressionContext

元の要件は、フォームが AcroForm であるか、Xfa Form であるかを検出することです。

辞書内の PdfName.AcroForm に移動して、ここに格納されている値を取得できるようにする方法はありますか。

4

2 に答える 2

1

ここの辞書はPdfDirectObject、型付きの値を返します。あなたがする必要があるのは、戻り値をにキャストすることですPdfName

name = dict[org.pdfclown.objects.PdfName.AcroForm] 
             as org.pdfclown.objects.PdfName;
if(name != null) 
{
    //work with name
}
于 2012-12-21T09:15:50.087 に答える
0

はオブジェクトをPdfDictionary返しますが、org.pdfclown.objects.PdfDirectObjectオブジェクトが必要ですorg.pdfclown.objects.PdfName。だからあなたはそれをキャストする必要があります。

次を使用できます。

name = dict[org.pdfclown.objects.PdfName.AcroForm] 
          as org.pdfclown.objects.PdfName; // Cast it to PdfName
于 2012-12-21T09:17:32.823 に答える