Я использую Dymo JS SDK из здесь для печати некоторых этикеток на принтер этикеток. У меня есть API, который возвращает массив строк, и каждая строка содержит XML-код для печати этикетки. На данный момент для печати этих этикеток у меня есть следующее:
$.get('print_shipping_labels.html', {shippingJobId: jobId}, function(data, status) {
var printers = dymo.label.framework.getPrinters();
if (printers.length === 0) {
// throw error
}
data.forEach(labelXml => {
var label = dymo.label.framework.openLabelXml(labelXml);
label.print(printers[0].name);
});
});
, который работает, однако, если API возвращает 12 этикеток, когда я иду на печать, он создает 12 отдельных заданий на печать, а не одно задание на печать с 12 «страницами». Я знаю, что это возможно, потому что я смог сделать это с помощью класса java.awt.print.Book, но это больше не жизнеспособный вариант.
Мне известно, что есть примеры печати нескольких этикеток с использованием класса LabelSetBuilder, но все примеры, которые я видел, предполагают, что вы используете шаблон XML для подстановки своих собственных значений. Я не хочу этого делать, я хочу напечатать свой XML как есть.