Изображение, добавляемое в заголовок, не появляется

Я пытаюсь создать заголовок с изображением; заголовок добавляется, но изображение отсутствует в заголовке. Мое приложение развертывается на сервере Oracle Weblogic (с использованием Java EE и Hibernate).

Я пытаюсь создать такой образ. <Код> GetImage (seasonalFilter.getPictureFileId ()). GetAbsolutePath() . Путь изображения выглядит примерно так: /tmp/6461346546165461313_65464.jpg .

Обратите внимание, что я хочу добавить текст под изображение в заголовке (для каждой страницы).

public File convertHtmlToPdf(String JSONString, ExportQueryTypeDTO queryType, String htmlText, ExportTypeDTO type) throws VedStatException {
    try {
      File retFile = null;
      FilterDTO filter = null;
      HashMap properties = new HashMap(queryType.getHashMap());
      filter = JSONCoder.decodeSeasonalFilterDTO(JSONString);
      DateFormat formatter = new SimpleDateFormat("yyyy_MM_dd__HH_mm");
      //logger.debug("<<<<<<   HTML TEXT: " + htmlText + " >>>>>>>>>>>>>>>>");
      StringBuilder tmpFileName = new StringBuilder();
      tmpFileName.append(formatter.format(new Date()));
      retFile = File.createTempFile(tmpFileName.toString(), type.getSuffix());
      OutputStream out = new FileOutputStream(retFile);
      com.lowagie.text.Document document = new com.lowagie.text.Document(com.lowagie.text.PageSize.LETTER);
      com.lowagie.text.pdf.PdfWriter pdfWriter = com.lowagie.text.pdf.PdfWriter.getInstance(document, out);
      document.open();
      com.lowagie.text.html.simpleparser.HTMLWorker htmlWorker = new com.lowagie.text.html.simpleparser.HTMLWorker(document);
      String str = htmlText.replaceAll("ű", "û").replaceAll("ő", "õ").replaceAll("Ő", "Õ").replaceAll("Ű", "Û");
      htmlWorker.parse(new StringReader(str));
      if (filter instanceof SeasonalFilterDTO) {
        SeasonalFilterDTO seasonalFilter = (SeasonalFilterDTO) filter;
        if (seasonalFilter.getPictureFileId() != null) {
          logger.debug("Image absolutePath: " + getImage(seasonalFilter.getPictureFileId()).getAbsolutePath());
          Image logo = Image.getInstance(getImage(seasonalFilter.getPictureFileId()).getAbsolutePath());
          logo.setAlignment(Image.MIDDLE);
          logo.setAbsolutePosition(0, 0);
          logo.scalePercent(100);
          Chunk chunk = new Chunk(logo, 0, 0);
          HeaderFooter header = new HeaderFooter(new Phrase(chunk), true);
          header.setBorder(Rectangle.NO_BORDER);
          document.setHeader(header);
        }
      }
      document.close();

      return retFile;
    } catch (Exception e) {
      throw new VedStatException(e);
    }

  }
0
nl ja de
Пожалуйста, подумайте о том, чтобы добавить образец PDF без изображения. Поскольку вы используете старую версию iText (все еще в структуре пакета com.lowagie), код не может воспроизвести проблему при запуске в текущей среде iText. Если вы предоставили PDF-файл, мы могли бы проверить, находится ли оно в нем и просто невидимо, или нет ли изображения в конце концов.
добавлено автор mkl, источник

1 ответы

I really dislike your false allegation that "Every tutorial is based on C:\imagelocation\dsadsa.jpg"

Я автор двух книг и много учебников о iText, и я знаю, что то, что вы говорите, не имеет никакого смысла. Взгляните на мое имя: «Бруно Лоуджи». Вы используете my имя в своем коде, поэтому, пожалуйста, поверьте мне, когда я говорю, что вы делаете это совершенно неправильно.

Вместо HTMLWorker вы должны использовать xml Worker . HTMLWorker больше не поддерживается и, вероятно, будет удален из iText в ближайшем будущем.

I see that you're also using the HeaderFooter class. This class has been removed several years ago. Please take a look at the newer examples: http://www.itextpdf.com/themes/keyword.php?id=221

Эти примеры написаны на Java; если вам нужна версия C#, просмотрите соответствующий Примеры C# в репозитории SVN .

Что касается изображений, вы можете прочитать главу 10 моей книги .

Finally: please read http://lowagie.com/itext2

1
добавлено
Я не понимаю, как это будет актуально. Вы используете устаревшую версию iText. Либо вы обновляете и следуете документации, либо самостоятельно решаете свою проблему, используя версию unsupported . В последнем случае: пожалуйста, не обвиняйте документацию. Мой совет: хорошие кодеры пишут будущий код. Написание кода будущего доказательства исключает использование версии библиотеки, которая больше не поддерживается ее автором.
добавлено автор Bruno Lowagie, источник
Привет, Бруно, я не загружен, не импортировал ваши пакеты в наш проект, мы только продолжаем проект другой компании, которая закончилась этим. У нас есть проект 407 МБ (libs + code). В proj. Свойства iText входит в библиотеку JasperReports. И моя задача - добавить текст и изображение в заголовок каждой страницы с существующей библиотекой.
добавлено автор Erik Kubica, источник
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

Чат — Типичный Верстальщик
Чат — Типичный Верстальщик
1 080 участник(ов)

Основной канал: @tpverstak Обратная связь: @annblok Все ссылки на соц.сети проекта: http://taplink.cc/tpverstak ПРАВИЛА ЧАТА — https://teletype.in/@annblok/BygPgC3E7

Веб-Технологи: UI/UX, Вёрстка, Фронтенд
Веб-Технологи: UI/UX, Вёрстка, Фронтенд
167 участник(ов)

Всё про веб-дизайн и вёрстку. А также: HTML, CSS, флекс и бутстрапы, шаблонизаторы, препроцессоры, методологии, аглифаеры, улучшаторы и обфускаторы. Обсуждаем темы юзабилити, устраиваем А/В тесты лендингов, и проводим аудит.

DTP :: @DTPublish
DTP :: @DTPublish
147 участник(ов)

Обсуждаемые темы: полиграфия, препресс, верстка, дизайн, иллюстрации, скрипты, плагины. Канал - @DTPublishing