Как оформить текст на иврите, который растягивается на нескольких страницах в PDF - PullRequest
0 голосов
/ 25 октября 2019

Я использую node-html-pdf для преобразования HTML в PDF, и он отлично работает для сценариев LTR, таких как китайский или английский, но, похоже, он не совсем подходит для RTL иврита. Я получаю это:

enter image description here

Обратите внимание, что текстовое поле справа очень велико, когда оно определено как 0,7 или около того дюймов. А также нет заполнения между страницами, когда есть такой блок текста, как этот. Как мне сделать так, чтобы вокруг каждой «страницы» были правильные отступы / пробелы, независимо от того, формирует ли сам блок текста целую страницу? И как мне исправить очень большое пространство справа?

var fs = require('fs');
var pdf = require('html-pdf');
var type = process.argv[2] || 'book'
var html = fs.readFileSync('./' + type + '.html', 'utf8');

var options = {
  height: '10in',
  width: '8in',
  type: 'pdf',
}

pdf.create(html, options).toFile('./' + type + '.pdf', function(err, res) {
  if (err) return console.log(err)
});
<html>
  <head>
    <meta charset="utf-8">
    <style>
      @font-face {
        font-family: Noto;
        src: url(./font.otf);
      }
      body {
        font-family: "Noto";
        font-size: 12px;
        line-height: 1.2;
      }
      .title {
        display: block;
        position: absolute;
        color: #aaa;
        margin-bottom: 20px;
        right: 0.7in;
        bottom: 0.7in;
      }

      .title, body > ol > li {
        page-break-after: always;
      }

      li li {
        page-break-after: auto;
      }

      body > ol > li:nth-child(2n + 1) {
        padding: 0.7in 0.5in 0.7in 0.7in;
      }

      body > ol > li:nth-child(2n) {
        padding: 0.7in 0.7in 0.7in 0.5in;
      }

      ol {
        list-style-type: none;
      }
    </style>
  </head>
  <body>
    <div dir='rtl' class='title'>בראשית</div>
    <ol dir='rtl'>
      <li>
        <ol>
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          
          <li>בראשית ברא אלהים את השמים ואת הארץ׃</li>
          <li>והארץ היתה תהו ובהו וחשך על פני תהום ורוח אלהים מרחפת על פני המים׃</li>
          ...
        </ol>
      </li>
    </ol>
  </body>
</html>
...