2

我有一个使用 dymo javascript SDK 设置的地址标签,我能够成功打印所有内容,但我无法弄清楚如何将我的字符串值分解为标签上的三行文本

例如,我的字符串当前打印在一行上:PROJECT NAME ABC 1234 SOMETHING AVE (IN) CITY, ST 000000

需要在三个
12345 PROJECT NAME ABC
1234 SOMETHING AVE
(IN) CITY, ST 000000

如何使用 dymos javascript 库将字符串打印成三行?

这是我的标签 xml

var labelXml = '<?xml version="1.0" encoding="utf-8"?>\
   <DieCutLabel Version="8.0" Units="twips">\
    <PaperOrientation>Landscape</PaperOrientation>\
    <Id>Address</Id>\
    <PaperName>30252 Address</PaperName>\
    <DrawCommands>\
        <RoundRectangle X="0" Y="0" Width="1581" Height="5040" Rx="270" Ry="270" />\
    </DrawCommands>\
    <ObjectInfo>\
        <AddressObject>\
            <Name>Address</Name>\
            <ForeColor Alpha="255" Red="0" Green="0" Blue="0" />\
            <BackColor Alpha="0" Red="255" Green="255" Blue="255" />\
            <LinkedObjectName></LinkedObjectName>\
            <Rotation>Rotation0</Rotation>\
            <IsMirrored>False</IsMirrored>\
            <IsVariable>True</IsVariable>\
            <HorizontalAlignment>Left</HorizontalAlignment>\
            <VerticalAlignment>Middle</VerticalAlignment>\
            <TextFitMode>ShrinkToFit</TextFitMode>\
            <UseFullFontHeight>True</UseFullFontHeight>\
            <Verticalized>False</Verticalized>\
            <StyledText>\
                <Element>\
                    <String>\
                    </String>\
                    <Attributes>\
                        <Font Family="Arial" Size="10" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
                        <ForeColor Alpha="255" Red="0" Green="0" Blue="0" />\
                    </Attributes>\
                </Element>\
            </StyledText>\
            <ShowBarcodeFor9DigitZipOnly>False</ShowBarcodeFor9DigitZipOnly>\
            <BarcodePosition>Suppress</BarcodePosition>\
            <LineFonts>\
                <Font Family="Arial" Size="10" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
                <Font Family="Arial" Size="10" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
                <Font Family="Arial" Size="10" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
            </LineFonts>\
        </AddressObject>\
        <Bounds X="332" Y="150" Width="4455" Height="1260" />\
    </ObjectInfo>\
   </DieCutLabel>';

这是调用它的javascript

var label = dymo.label.framework.openLabelXml(labelXml);

var printIt = '142277 MARRIOT BURBANK AIRPORT HOTEL\
               2500 N. HOLLYWOOD WAY, 1ST FLOOR\
               (JH) BURBANK, CA 91505'

  var label = dymo.label.framework.openLabelXml(labelXml);
  label.setObjectText("Address", printIt);
  label.print("DYMO LabelWriter 450");
}
4

2 回答 2

3

您必须为每个换行符添加 '\n'。这对我的问题有用。

var printIt = '142277 MARRIOT BURBANK AIRPORT HOTEL\n2500 N. HOLLYWOOD WAY, ST FLOOR\n(JH) BURBANK, CA 91505';
于 2016-12-14T09:33:05.390 回答
0

您可以向 StyledText 添加各种元素,并在每一行添加“\n”。首先你必须用js分隔线。

    var lines = printIt.split('\');
    var lineOne = lines[0]; //for eg

然后您可以添加到您的 XML:

    <StyledText>\
     <Element>\
      <String>STYLE:' + lineOne + '\n' + ' </String>\
       <Attributes>\
        <Font Family="Arial" Size="10" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
        <ForeColor Alpha="255" Red="0" Green="0" Blue="0" />\
       </Attributes>\
     </Element>\
     <Element>\
      <String>STYLE:' + lineTwo + '\n' + ' </String>\
       <Attributes>\
        <Font Family="Arial" Size="10" Bold="False" Italic="False" Underline="False" Strikeout="False" />\
        <ForeColor Alpha="255" Red="0" Green="0" Blue="0" />\
       </Attributes>\
     </Element>\
    ...
    </StyledText>\
于 2018-09-07T15:56:25.103 回答