Member 11396175 Ответов: 1

C# термопринтер греческие шрифты


Привет
Пожалуйста, помогите мне, я программист-любитель.
Я сделал приложение, которое я могу просматривать txt-файлы с греческими символами внутри, и я могу отправить его на термопринтер непосредственно с ip.
Моя проблема заключается в том, что греческие символы печатают что-то вроде символов

Что я уже пробовал:

namespace SendFiles
{
    public partial class Form1 : Form
    {
        public string SendingFilePath = string.Empty;
        private const int BufferSize = 1024;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            progressBar1.Visible=true;
            progressBar1.Minimum=1;
            progressBar1.Value=1;
            progressBar1.Step=1;
            
        }

        private void btnBrowse_Click(object sender, EventArgs e)
        {
            OpenFileDialog Dlg = new OpenFileDialog();
            Dlg.Filter = "All Files (*.*)|*.*";
            Dlg.CheckFileExists = true;
            Dlg.Title = "Choose a File";
            Dlg.InitialDirectory = @"C:\";
            if (Dlg.ShowDialog() == DialogResult.OK)
            {
                SendingFilePath = Dlg.FileName;
                
            }
        }

        private void btnSend_Click(object sender, EventArgs e)
        {
            if (SendingFilePath != string.Empty)
            {   
                SendTCP(SendingFilePath, txtIP.Text, Int32.Parse(txtPort.Text));
            }
            else
                MessageBox.Show("Select a file","Warning");
        }
        public void SendTCP(string M, string IPA, Int32 PortN)
        {
            byte[] SendingBuffer = null;
            TcpClient client = null;
            lblStatus.Text = "";
            NetworkStream netstream = null;
            try
            {
                client = new TcpClient(IPA, PortN);
                lblStatus.Text = "Connected to the Server...\n";
                netstream = client.GetStream();
                FileStream Fs = new FileStream(M, FileMode.Open, FileAccess.Read);
                int NoOfPackets = Convert.ToInt32(Math.Ceiling(Convert.ToDouble(Fs.Length) / Convert.ToDouble(BufferSize)));
                progressBar1.Maximum = NoOfPackets;
                int TotalLength = (int)Fs.Length, CurrentPacketLength, counter = 0;
                for (int i = 0; i < NoOfPackets; i++)
                {
                    if (TotalLength > BufferSize)
                    {
                        CurrentPacketLength = BufferSize;
                        TotalLength = TotalLength - CurrentPacketLength;
                    }
                    else
                        CurrentPacketLength = TotalLength;
                    SendingBuffer = new byte[CurrentPacketLength];
                    Fs.Read(SendingBuffer, 0, CurrentPacketLength);
                    netstream.Write(SendingBuffer, 0, (int)SendingBuffer.Length);
                    if (progressBar1.Value >= progressBar1.Maximum)
                        progressBar1.Value = progressBar1.Minimum;
                    progressBar1.PerformStep();
                }
                
                lblStatus.Text=lblStatus.Text+"Sent "+Fs.Length.ToString()+" bytes to the server";
                Fs.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                netstream.Close();
                client.Close();

            }
        }
        
      
    }
}

1 Ответов

Рейтинг:
2

Patrice T

Цитата:
Моя проблема заключается в том, что греческие символы печатают что-то вроде символов

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


Member 11396175

У меня простой файл .txt с ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ/αβγδεζηθικλμνξοπρστυφχψω
мой термопринтер-LK-T20EB SEWOO

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

Gerry Schmitz

Документация для вашего продукта-отстой.

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

Вы можете распечатать "изображения" ... вот только об этом тоже ничего нет.

Вы должны были выбрать "лучший" (документированный) продукт; добавьте еще 6 месяцев к вашему проекту.

Patrice T

с кем ты разговариваешь ?

Gerry Schmitz

Запутанный (для меня) интерфейс ...