Не загружается .css Spring Boot + Flying Saucer

Почему не загружается css при запуске на localhost?

Код отлично работает и шрифт добавляется в другом приложении без spring boot.

Загружаю file.html файл, добавляю в него styles.css со шрифтом times.ttf, чтобы отображались русские символы и превращаю в file.pdf. Я не создаю file.html, поэтому добавляю шрифт через jsoup.

Все решения из подобных вопросов не помогают, добавлял styles.css в папку src/main/resources/static, /public и т.д., указывал всевозможные пути к css в html - я действительно попробовал все варианты. Также пытался загрузить шрифт из кода в flying saucer, этот способ не работает для меня -

renderer.getFontResolver().addFont("times.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

Код

public static void label() throws Exception {
    String baseUrl = FileSystems
        .getDefault()
        .getPath("src", "main", "resources")
        .toUri()
        .toURL()
        .toString();
    File inputHTML = new File("file.html");
    Document document = Jsoup.parse(inputHTML, "UTF-8");
    Element table = document.select("head").first();
    table.appendElement("link")
        .attr("href","styles.css")
        .attr("rel","stylesheet")
        .attr("type","text/css");
    document.outputSettings().syntax(Document.OutputSettings.Syntax.xml);
    try (OutputStream outputStream = new FileOutputStream("file.pdf")) {
        ITextRenderer renderer = new ITextRenderer();
        SharedContext sharedContext = renderer.getSharedContext();
        sharedContext.setPrint(true);
        sharedContext.setInteractive(false);
        renderer.setDocumentFromString(document.html(), baseUrl);
        renderer.layout();
        renderer.createPDF(outputStream);
    }

file.html:

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8" />
  <title>Маркировочный лист</title>
  <style type="text/css">
    main {
      display: block;
      width: 600px !important;
      margin: 5px auto 0;
      font-family: 'Times New Roman', 'Arial', sans-serif;
    }
    
    table {
      display: table;
      border-collapse: collapse;
      margin-bottom: 25px;
      page-break-inside: avoid;
      min-width: 600px;
    }
    
    td {
      padding: 10px;
      border: 1px solid black;
      text-align: center;
      font-size: 17px;
    }
    
    .first-cell {
      padding: 15px;
      max-width: 308px;
    }
    
    .data-value {
      display: block;
      width: 100%;
      margin-top: 2px;
      margin-bottom: 0;
      line-height: 1;
      font-size: 14px;
      font-weight: bold;
      text-align: center;
    }
    
    .trade-name {
      font-size: 17px;
    }
    
    .trade-value {
      font-size: 24px;
      font-weight: bold;
    }
    
    .brand-text {
      position: relative;
      display: inline-block;
      width: 100%;
      height: auto;
      font-size: 20px;
      line-height: 1;
    }
    
    .left-side {
      text-align: left;
    }
    
    .big-size {
      font-size: 40px;
      font-weight: bold;
    }
    
    .merchant-user {
      text-align: left;
    }
  </style>
</head>

<body>





  <script>
    window.onload = function() {
      window.print();
    }
  </script>

  <table>
    <tbody>
      <tr>
        <td class="first-cell">
          <img style="max-width: 100%" src="data:image/png;base64,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"
          />
        </td>
        <td>
          <span class="trade-name">Номер<br/>доставки:</span><br/><br/><span class="trade-value">834646226</span>
        </td>
        <td rowspan="5" style="padding: 0 5px">
          <div class="brand-text">
            <div><img style="max-width: 60px" src="data:image/gif;base64,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
    RK5CYII=" /> </div>
          </div>
        </td>
      </tr>
      <tr>
        <td class="left-side">Продавец: <span class="merchant-user">ООО "КОНТИ"</span></td>
        <td class="right-side" rowspan="2">
          <span class="trade-name">Номер<br/>отправления:</span><br/><br/><span style="font-size: 24px">868140708</span>
        </td>
      </tr>
      <tr>
        <td class="left-side">ID продавца: <span>241</span></td>
      </tr>

      <tr>
        <td class="left-side">Адрес: <span>г Москва, р-н Марфино, ул Академика Комарова, д 1, кв. 1</span></td>
        <td class="right-side" rowspan="2">
          <span class="trade-name">Дата<br/>отгрузки:</span><br/><br/><span style="font-size: 24px">06.09.2021</span>
        </td>
      </tr>
      <tr>
        <td class="left-side">ФИО: <span>Милешин Олег</span></td>
      </tr>
    </tbody>
  </table>
</body>

</html>

styles.css:

@font-face {
  src: local('Times New Roman'), url('times.ttf');
  -fs-pdf-font-embed: embed;
  -fs-pdf-font-encoding: Identity-H;
}

body {
  font-family: Times New Roman, Arial, verdana, arial, helvetica, sans-serif;
  font-size: 8.8pt;
}

основные зависимости gradle:

implementation "org.springframework.boot:spring-boot-starter-data-jpa:2.5.6"
implementation "org.springframework.boot:spring-boot-starter-jdbc:2.5.6"
implementation "org.springframework.boot:spring-boot-starter-data-rest:2.5.6"
implementation "org.springframework.boot:spring-boot-starter-web:2.5.6"
implementation "org.springframework.boot:spring-boot-starter-jetty:2.5.6"
implementation "org.springframework.boot:spring-boot-starter-security:2.5.6"
implementation 'org.xhtmlrenderer:flying-saucer-pdf:9.1.22'
implementation 'org.jsoup:jsoup:1.15.3'

Main.java:

@SpringBootApplication
@EnableScheduling
@EnableWebSecurity
public class Main {
  public void start(String[] args) {
    SpringApplication.run(Main.class, args);
  }

  public static void main(String[] args) {
    new Main().start(args);
  }
}

Ответы (0 шт):