печать по Wi-Fi в Android

#android #android-emulator #android-wifi

#Android #android-эмулятор #android-wifi

Вопрос:

Я хочу распечатать файл, используя печать по Wi-Fi в моем приложении для Android.Я отсканировал принтер WiFi, и у меня есть IP-адрес принтера WiFi. Теперь, как я могу перенести файл с телефона Android на принтер, чтобы распечатать его? Я использую следующий код для передачи файла на принтер `public void uploadFile (имя файла){

      FTPClient client = new FTPClient();
    try {
        client.connect(FTP_HOST,21);
        client.login(FTP_USER, FTP_PASS);
        client.setType(FTPClient.TYPE_BINARY);
        client.changeDirectory("/");
        client.upload(fileName, new MyTransferListener());
    } catch (Exception e) {
        e.printStackTrace();
        try {
            client.disconnect(true);    
        } catch (Exception e2) {
            e2.printStackTrace();
        }
    }

}`
  

Кто-нибудь может мне помочь? Заранее спасибо.

Ответ №1:

Используя сокет, вы можете печатать с Android, используя сетевой принтер при подключении по Wi-Fi

 Socket objSocket = new Socket();
String sIP = "192.168.1.10"
String sPort = "9100"
InetSocketAddress objEndPoint = new InetSocketAddress(sIP, Integer.parseInt(sPort));

DataOutputStream objOutputStream;

objSocket.connect(objEndPoint, 3000);

objOutputStream = new DataOutputStream(objSocket.getOutputStream());
objOutputStream.write(("Test Print").getBytes());

objOutputStream.close();
objSocket.close();
  

Комментарии:

1. можете ли вы сказать мне, как форматировать содержимое, если я хочу напечатать ни одной строки, подобной таблице из 3 столбцов, и ни одной строки, подобной квитанции, я пытаюсь сделать это с помощью n t, но если в каком-либо из моих элементов было больше слов or, все остальные элементы были неуместны

2. я просто хочу обернуть содержимое, как я могу

3. Привет, Ленда, просто форматируй строковую переменную построчно (строки зависят от ширины вашей страницы) и добавляй строку к общей переменной StringBuffer. наконец, отправьте значение строкового буфера на печать (если вам нужно добавить командную строку принтера, также добавьте в класс string buffer) Пример: String sStr = «Это образец файла»; StringBuffer sbFinalString = new StringBuffer(); sbFinalString.append(sStr); sbFinalString.append(» nn»); sStr = «написано venkat»; sbFinalString.append(sStr); Печать (sbFinalString.append(sStr); Печать (sbFinalString. toString()); Надеюсь, это поможет….

4. но для того, чтобы обернуть i в одну колонку, у меня гораздо больше контента

Ответ №2:

Я думаю, вы можете сделать это, не отправляя весь файл целиком, просто выберите строки из файла и установите соединение с устройством WiFi, отправьте текст на устройство, оно его распечатает. Я сделал то же самое с принтером Bluetooth.

Комментарии:

1. : Да, мы можем отправить строку из файла, тогда какой протокол нам нужно использовать? Есть идеи?

2. вы можете использовать http-соединение и отправлять строку с помощью DataOutputSteam.

3. У меня возникли проблемы с сопряжением устройств с использованием Bluetooth. Можете ли вы мне помочь? Я внедрил код с сайта разработчика Android.