Member 4773987 Ответов: 1

Распечатать PDF с Android прямые для Epson


I have install Epson SDK to android, and added the below code"

   
how to print direct to Epson PDF


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

Printer printer = null;
    try {
        printer = new Printer(Printer.TM_M30, Printer.MODEL_ANK, this);
    }
    catch (Epos2Exception e) {
        //Displays error messages
    }

 //new
    final Context mContext = this;
    printer.setReceiveEventListener(new ReceiveListener() {
        @Override
        public void onPtrReceive(Printer printer, int code, PrinterStatusInfo printerStatusInfo, 
String s) {
            if (code == com.epson.epos2.Epos2CallbackCode.CODE_SUCCESS){

            }else{
                Toast.makeText(mContext, "Printer can't be connected. Please try again", 
Toast.LENGTH_SHORT).show();
            }
        }
    });

Richard MacCutchan

У вас есть вопрос?

Member 4773987

Мне нужно распечатать pdf - файл прямо на принтере, я не знаю, как это сделать?

1 Ответов

Рейтинг:
1

Member 4773987

Приведенный ниже код строится без каких-либо ошибок, также я сделал все настройки успешными,

Пока запущенное приложение в мобильном телефоне не подключается к принтеру, оно возвращает erros, отлично.

Но когда я запускаю его в подключенном планшете с той же сетью с принтером Epson Tm-M30, он не печатается и никаких ошибок не появляется. Пожалуйста, мне нужна помощь, почему это не печатается?

введите код здесь

окончательный контекст sContext = this;
Принтер printer = null;
пробовать {
принтер = новый принтер(Printer.TM_M30, принтер.MODEL_ANK, это);
}
поймать (Epos2Exception е) {
//Отображает сообщения об ошибках
Toast.makeText(sContext, "Error1", Toast.LENGTH_SHORT).показать();
}

//новый
окончательный контекст mContext = this;
printer.setReceiveEventListener(новый ReceiveListener() {
@Ручная коррекция
public void onPtrReceive(Printer printer, int code, PrinterStatusInfo printerStatusInfo,
Строка s) {
if (code == com.epson.epos2.Epos2CallbackCode.CODE_SUCCESS){

}еще{
Toast.makeText(mContext, "принтер не может быть подключен. Пожалуйста, попробуйте еще раз",
Тост.LENGTH_SHORT).показать();
}
}
});

пробовать {
printer.addTextAlign(принтер.ALIGN_CENTER);
printer.addText("Привет, Мир");
}
поймать (Epos2Exception е) {
Toast.makeText(mContext, "не удается напечатать Hello World. Пожалуйста, попробуйте еще раз",
Тост.LENGTH_SHORT).показать();
}

пробовать {
printer.connect ("TCP:192.168.100.21", принтер.PARAM_DEFAULT);
}
поймать (Epos2Exception е) {
Toast.makeText(mContext, "Error1", Toast.LENGTH_SHORT).показать();
}

пробовать {
printer.sendData(принтер.PARAM_DEFAULT);
}
поймать (Epos2Exception е) {
Toast.makeText(mContext, "Error2", Toast.LENGTH_SHORT).показать();
// Прервать процесс
}
//общественного недействительными onPtrReceive(итоговой printerObj принтера, окончательный код инт окончательной PrinterStatusInfo
статус,
//final String printJobId) {
ReceiveListener printrecieve_listener = новый ReceiveListener() {
@Ручная коррекция
общественного недействительными onPtrReceive(итоговой printerObj принтера, окончательный код int, PrinterStatusInfo
printerStatusInfo, строка printJobId) {
runOnUiThread(новый Runnable() {
@Ручная коррекция
общественного синхронизированы недействительными Run() {
if (code == com.epson.epos2.Epos2CallbackCode.CODE_SUCCESS) {

} еще {
Toast.makeText(mContext, "Error3", Toast.LENGTH_SHORT).показать();

}
}
});
новая нить(new Runnable() {
@Ручная коррекция
общественного синхронизированы недействительными Run() {

}
}).начало();

Richard MacCutchan

Если код терпит неудачу в одной системе, но не в другой, то вам нужно использовать инструменты отладки, чтобы выяснить, почему. Это для тех, кто здесь, чтобы сделать это для вас невозможно. Вы уверены, что не пропустили тост-сообщение? Кроме того, я замечаю, что вы не проверяете детали исключения ни в одном из ваших операторов catch, поэтому вы можете упустить какую-то другую информацию. Вы уверены, что нет других проверок, которые вам нужно сделать при вызове различных методов принтера?

Member 4773987

Я проверил все детали, все в порядке, планшет, который подключается к принтеру, не возвращает никакой ошибки и не печатает

Richard MacCutchan

Извините, но здесь никто ничего не может сделать. Вам нужно проконсультироваться с людьми, которые написали Epson SDK.