Можно ли сохранить изображение в штрих-код pdf417?

Можно ли сохранить (кодировать) изображение / картинки в штрих-код pdf417? Если да, то есть ли учебник или пример кода?

Штрих-код не может просто содержать ссылку на изображение в базе данных. Клиент также ожидает, что сможет хранить любое изображение, которое он хочет.

Спасибо.

1 ответ

Решение

Как упомянул ssasa, вы можете хранить изображение как byte массив:

public static byte[] GetBytes(Image image)
{
    byte[] byteArray = new byte[0];
    using (MemoryStream stream = new MemoryStream())
    {
        // you may want to choose another image format than PNG
        image.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
        stream.Close();

        byteArray = stream.ToArray();
    }
    return byteArray;
}

... или, если это ДОЛЖНО быть string, вы можете base64 кодировать его:

public static string GetBase64(Image image)
{
    Image yourImage;

    // using the function from the first example
    var imageBytes = GetBytes(yourImage);   

    var encodedString = Convert.ToBase64String(imageBytes);

    return Encoding.UTF8.GetBytes(encodedString);
}

Помните, однако: штрих-код PDF417 позволяет хранить до 2710 символов. Хотя этого более чем достаточно для большинства структур, которые вы когда-либо захотите кодировать, это скорее ограничивает изображение. Этого может быть достаточно для небольших растровых изображений, монохромных изображений и / или сильно сжатых JPEG-файлов, но не ожидайте, что сможете сделать гораздо больше, особенно если вы хотите иметь возможность хранить другие данные вместе.

Если ваши клиенты ожидают, что смогут хранить, как вы говорите, любую картинку, которую они хотят, вам лучше как можно скорее снизить их ожидания, прежде чем писать какой-либо код.

Если это вариант, вы можете вместо этого рассмотреть возможность использования QR-кодов. Не то чтобы вы тоже творили чудеса с ними, но вам может понравиться дополнительная емкость.

Да, на картах общего доступа (CAC) Министерства обороны США хранится изображение держателя карты в формате JPEG:

Другие вопросы по тегам