我正在使用iText來閱讀PDF文件。我有不同的fillColor屬性在我的pdf中有20個Acro文本字段。我試圖閱讀的屬性,但無法閱讀。有沒有什麼辦法可以讓我們在java中獲得具有特定顏色的字段作爲它們的fillcolor屬性?如何使用iText獲取AcroField屬性?
編輯: 我使用下面的Adobe的Javascript創建的PDF ACRO領域
var oFld = this.addField("nameOfField", "button", 0, fldRect);
if (oFld != null) {
oFld.buttonSetCaption("");
oFld.borderStyle = border.s;
oFld.fillColor = color.gray;
oFld.textColor = color.white;
oFld.lineWidth = 1;
}
UPDATE:
現在我能讀顏色屬性。
我不確定這是否是正確的做法?
if(dict.getAsDict(PdfName.MK).get(PdfName.BG) !=null){
if(dict.getAsDict(PdfName.MK).get(PdfName.BG).toString().trim().equals("
[0.0, 1.0, 0.0]")){
System.out.println(entry.getKey());
System.out.println("Green");
}
if(dict.getAsDict(PdfName.MK).get(PdfName.BG).toString().trim().equals("
[1.0, 0.0, 0.0]")){
System.out.println(entry.getKey());
System.out.println("Red");
}
}
請提供有問題的PDF。只是爲了確認,在iText掌握之前已經將Javascript應用於PDF *,並且您不希望iText執行Javascript,對嗎? – mkl
*正確的方法來做到這一點* - 以及與字符串比較檢查是**不是正確的方式。這些是數字,應該檢查爲數字。此外,如果(dict.getAsDict(PdfName.MK).get(PdfName.BG)!= null)'初始'if'子句'在沒有** MK **字典的情況下失敗。 – mkl
感謝您指出,如果(ict.getAsDict(PdfName.MK)!= null)應該避免空指針異常和比較,我應該遍歷[1.0,0.0,0.0]並比較每個數字,或者我怎麼能做數字比較? @mkl – MaheshVarma