2010-08-31 48 views
0

我正在嘗試將一些JavaScript應用於pdf以使其無聲打印。我發現了這塊代碼並粘貼它,但是得到下面的錯誤。將PDF放入PDF時出現語法錯誤

SyntaxError: missing ; before statement 1: at line 2

這突出了前兩行下面的代碼:

Document document = new Document(); 
FileOutputStream fos = new FileOutputStream("APP_PERSONAL.pdf"); 

下面是完整的代碼:

Document document = new Document(); 
FileOutputStream fos = new FileOutputStream("APP_PERSONAL.pdf"); 

try { 
    PdfWriter writer = PdfWriter.getInstance(document, fos); 
    document.open(); 
    write.addJavaScript("this.print({bUI: false, bSilent: true, bShrinkToFit: true});",false); 
    write.addJavaScript("this.closeDoc();");  
    document.add(new Chunk("Silent Auto Print")); 
    document.close(); 
} catch (DocumentException e) { 
    e.printStackTrace(); 
} 

我不知道,還不足以明白的地方半失蹤-colon是。這是否意味着它在該行開頭的第二行代碼中缺失?

回答

0

這是Java,而不是Javascript。

這段Java代碼將下面的Java腳本代碼添加到PDF文件:

this.print({bUI: false, bSilent: true, bShrinkToFit: true}); 
this.closeDoc(); 
+0

哦,我明白了,謝謝SLaks。我不確定兩者之間的差異。我必須做一些閱讀:) – drew 2010-08-31 16:40:43

+0

不客氣。 – SLaks 2010-08-31 16:44:27

0

有沒有真正缺少分號。只是JavaScript解釋器試圖將你的Java解釋爲Javascript,並且無法理解它。具體而言,它不能找出「文檔文檔」的有效語法樹,因此它似乎在決定「文檔」本身是一個完整的語句,並希望您用分號將它與以下語句分開。

正如SLaks所說,嘗試粘貼javascript(this.print()等等)的兩行代碼,並查看它是否有效。