在cordova-plugin-datecs-printer中自动换行

时间:2018-02-01 17:35:37

标签: printing cordova-plugins escpos

我正在使用离子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);

这就是结果::(

enter image description here

1 个答案:

答案 0 :(得分: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);