在jsPDF中对齐(调整)阿拉伯文本

3

我在我的React应用程序中使用npm jspdf 2.3.1。

一切工作正常。我想将文本对齐,但起始点应该是“右侧”。

const [state, setState] = useState({
doc: new jsPDF(),
});

const myPdf = ( ) => {
state.doc.addFileToVFS("MyFont.ttf", myFont); // Arabic Font
state.doc.addFont("MyFont.ttf", "MyFont", "normal");

 state.doc.text(
  "لوريم إيبسوم هو ببساطة نص شكلي (بمعنى أن الغاية هي الشكل وليس",
  190,
  10,
  "right"
);

  state.doc.save();
}

我的尝试是这样的

state.doc.text(
    "لوريم إيبسوم هو ببساطة نص شكلي (بمعنى أن الغاية هي الشكل وليس",
    190, //it prints left to right
    10,
    { maxWidth: 250, align: "justify" } //it's not justifying the text
);

我是不是做错了,还是需要使用插件?如果可以,我该如何同时保留“对齐到右侧”和“两端对齐”?

1个回答

0

当使用“右”对齐时,文本将显示在 x 坐标的左侧。

因此,您需要相应地调整坐标。其中一种方式是获取页面的最大宽度,然后将其用作从右到左页面中所需的所有元素的基础。

let pageWidth = doc.internal.pageSize.width || doc.internal.pageSize.getWidth();
let distanceFromRight = 10

doc.text(
    "لوريم إيبسوم هو ببساطة نص شكلي (بمعنى أن الغاية هي الشكل وليس",
    pageWidth - distanceFromRight ,
    20,
    "right"
);

问题在于文本应该对齐。它已经右对齐了,同时也应该左对齐。text-align: justify; - Zahir Masoodi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接