Ошибка синтаксиса при размещении Javascript в PDF - PullRequest
0 голосов
/ 31 августа 2010

Я пытаюсь применить некоторый JavaScript к PDF, чтобы он печатался без вывода сообщений. Я нашел этот кусок кода и вставил его, но получаю ошибку ниже.

SyntaxError: отсутствует; до ведомость 1: в строке 2

Это выделяет первые 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();
}

Я пока не знаю достаточно, чтобы понять, где пропавшая точка с запятой. Означает ли это, что он отсутствует во второй строке кода в начале этой строки?

Ответы [ 2 ]

0 голосов
/ 31 августа 2010

На самом деле нет пропущенной точки с запятой.Просто интерпретатор javascript пытается интерпретировать вашу Java как Javascript и не имеет смысла из этого.В частности, он не может определить допустимое синтаксическое дерево для «документа документа», поэтому он, похоже, решает, что «документ» сам по себе является полным оператором, и хочет, чтобы вы отделили его от следующего оператора точкой с запятой.*

Как сказал SLaks, попробуйте вставить только две строки javascript (this.print () ... и т. Д.) И посмотрите, работает ли это.

0 голосов
/ 31 августа 2010

Это Java, а не Javascript.

Этот код Java добавит следующий код Java script в файл PDF:

this.print({bUI: false, bSilent: true, bShrinkToFit: true});
this.closeDoc();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...