Ошибка pdfbox для использования PDPageContentStream.drawLine - PullRequest
0 голосов
/ 21 декабря 2010

Я использую PDFBox для создания PDF из одной из моих пользовательских форм.Для рисования линии я использую PDPageContentStream.drawLine и для текста PDPageContentStream.drawString.Текст работает отлично, но при использовании drawLine, когда я пытаюсь распечатать PDF, я получаю ошибку, как показано на прикрепленном изображении.Мой код выглядит так

PDPage page = new PDPage();
release.addPage(page);
contentStream = new PDPageContentStream(release,page);
int margin = 40;
vertHeight -= thisFontHeight * fontSize * 1.05f + 5;

contentStream.drawLine(margin,vertHeight + margin - 5,                                     page.getMediaBox().getWidth() - margin, vertHeight + margin - 5)

Любая помощь приветствуется alt text

1 Ответ

2 голосов
/ 21 декабря 2010

Ваш пример кода не показывает его, но я подозреваю, что вы смешиваете строки и текст.Вы не должны рисовать линии между BT и ET.

  1. begin Text
  2. Нарисуйте некоторый текст
  3. end text
  4. Нарисуйте линию
  5. начальный текст
  6. нарисуйте некоторый текст
  7. конечный текст
  8. нарисуйте еще несколько линий
  9. и т. Д.

Если вынарисовав линию между 1 и 3, например, вы получите вышеуказанную ошибку (или аналогичную ей).

PS: если это не так, нам понадобится образец PDF для диагностики проблемы.

...