0

我正在使用 ionic 1 做一个移动应用程序,并且为了在热敏打印机上打印,我使用的是 cordova-plugin-datecs-printer 插件。

一切正常,除了自动换行。打印机在行尾剪切了单词。有没有办法调整或启用自动换行以避免不完整的单词?

这是我的代码:

tale += '{center}{b}Le Petit Prince{/b}{br}{br}';
tale += '{left}Once when I was six years old I saw a magnificent picture in a book, called True Stories from Nature, about the primeval forest. It was a picture of a boa constrictor in the act of swallowing an animal. Here is a copy of the drawing.&n the book it said: "Boa constrictors swallow their prey whole, without chewing it. After that they are not able to move, and they sleep through the six months that they need for digestion.';


//Replace & with line breaks
var text1 = tale.replace(/&/g, '{br}{br}'); 
cordovaPrinter.printText(text1);

这就是结果::(

在此处输入图像描述

4

1 回答 1

2

看看这个片段,我认为它是不言自明的。

var yourString = "The quick brown fox jumps over the lazy dog"; //replace with your string.
var finalString = "";
var maxLength = 16 // maximum number of characters to extract
var count = 0;
var maxTries = ((yourString.length / maxLength) * 2);

while (yourString.length > maxLength) {
  count++;
  if (count > maxTries) {
    break;
  }
  //trim the string to the maximum length
  var trimmedString = yourString.substr(0, maxLength);

  //re-trim if we are in the middle of a word
  trimmedString = trimmedString.substr(0, Math.min(trimmedString.length, trimmedString.lastIndexOf(" ")));

  yourString = yourString.replace(trimmedString + " ", "");

  finalString += trimmedString + '<br>';
}

finalString += yourString;

console.log(yourString);
console.log(finalString);
于 2018-02-06T23:47:46.287 回答