【发布时间】:2021-08-09 09:52:45
【问题描述】:
我在创建 pdf 的函数中遇到了一个小问题(也许不是那么难)。 这是我第一次使用打字稿,所以答案可能很简单,我只是看不到它:P(我是编程初学者(1年))
我需要确保,如果一家公司的名称很长(最多 180 个字母),则 pdf 看起来仍然不错,并且长名称将分成多行。
我有 180 个字母的 companyName。 "Firmenname der vollkommen fiktiv ist um eine PDF für den maximalst unwahrscheinlichsten Firmennamen anzupassen damit es noch gut oder zumindest passabel aussieht da es sich um ein。"
我设法将它分成 3 行,但第二行有问题,因为这一行不会停在 60 个字母处。 [在此处输入图片说明][1]
我的拆分代码如下。所以,基本上“company2”的结果就是问题所在。
else if (companyLength > 120 && companyLength <= 180) {
let words = companyName.split(' ');
let newLength = 0;
let company1 = '';
let company2 = '';
let company3 = '';
let i = 0;
let o = 0;
let j = 0;
let k = 0;
while (newLength + words[i].length <= 60) {
newLength += words[i].length + 1;
i++;
o++;
o++;
}
for (j = 0; j < i; j++) {
company1 += words[j] + ' ';
}
for (k = j; k < words.length; k++) {
company2 += words[k] + ' ';
}
for (let f = o; f < words.length; f++) {
company3 += words[f] + ' ';
}
doc.text(company1, 22, 46);
doc.text(company2, 22, 50);
doc.text(company3, 22, 54);
有没有人提示我如何实现预期的结果,所以第二行不会突破边界并正确中断?
提前感谢您的帮助。 [1]:https://i.stack.imgur.com/2akxs.png
【问题讨论】:
标签: arrays typescript