Печать изображений PNG на сетевом принтере Zebra

Я пытаюсь найти способ печати изображений для зебры, и у меня много проблем.

Согласно документам:

Первое кодирование, известное как B64, кодирует данные с использованием схемы MIME Base64. Base64 используется для кодирования почтовых привязок ...
Base64 кодирует шесть битов в байт для расширения 33 процентов по сравнению с незакрытыми данными.
Второе кодирование, известное как Z64, сначала сжимает данные, используя алгоритм LZ77, чтобы уменьшить его размер. (Этот алгоритм используется PKZIP и является неотъемлемой частью графического формата PNG.)
Сжатые данные затем кодируются с использованием схемы MIME Base64, как описано выше.
CRC будет рассчитываться по данным в кодировке Base64.

Но там не так много информации.

В основном я пытался кодировать с

private byte[] GetItemFromPath(string filepath)
{   
    using (MemoryStream ms = new MemoryStream())
    {
        using (Image img = Image.FromFile(filepath))
        {
            img.Save(ms, ImageFormat.Png);
            return ms.ToArray();
        }
    }
}

Затем пытается напечатать что-то вроде:

var initialArray = GetItemFromPath("C:\\RED.png");
string converted = Convert.ToBase64String(b);

PrintThis(string.Format(@"~DYRED.PNG,P,P,{1},0,:B64:
{0}
^XA
^F0200,200^XGRED.PNG,1,1^FS
^XZ", converted .ToString(), initialArray.Length));

Судя по звукам, оба B64 или Z64 принимаются.

Я попробовал несколько вариантов и несколько методов для генерации CRC и вычисления «размера». Но ни одна из них не работает, и загрузка графики на принтер всегда прерывается.

Кому-нибудь удалось сделать что-то подобное? Или знает куда я иду не так?

Ответы на вопрос(5)

Ваш ответ на вопрос