Есть ли общий sdk, library и т. Д., Который может подключать телефон или вкладку к любому принтеру (любой компонент) через Wi-Fi и распечатать PDF? Я не хочу использовать приложение, например, epson iprint, потому что мне нужно его интегрировать, а облачная печать - это не вариант?Печать pdf в android
ответ
Я также искал решение для печати PDF из своего приложения на матричном принтере Epson. Вы можете попробовать этот код, этот код хорошо работает для сетевого лазерного принтера HP:
File pdfFile = new File (Environment.getExternalStorageDirectory() + "/testPdf.pdf");
Socket clientSocket = null;
FileInputStream fis;
BufferedInputStream bis = null;
try {
clientSocket = new Socket("192.168.101.45", 9100);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
byte [] mybytearray = new byte [(int) pdfFile.length()];
try {
fis = new FileInputStream(pdfFile);
bis = new BufferedInputStream(fis);
bis.read(mybytearray, 0, mybytearray.length);
OutputStream os = clientSocket.getOutputStream();
os.write(mybytearray, 0, mybytearray.length);
os.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
clientSocket.close();
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
У нас есть большая проблема с печатью PDF с Android. Android почти не имеет драйверов для принтеров.
Этот код открывает поток в определенном гнезде, где подключен принтер. У нас есть большой и хороший лазерный принтер HP, и этот PDF-файл этого кода хорошо печатается. Но наши пользователи не имеют таких хороших принтеров :)
Теперь мы используем PDF как предварительный просмотр печати, но для печати мы используем текст с последовательностью принтера. Такой подход для создания документа может быть очень сложным. Вы должны создать текстовый файл с последовательностью печати для принтера, то вы можете с этим установлено в принтер кода:
outToServer = new DataOutputStream(clientSocket.getOutputStream());
outToServer.writeUTF(stringForPrint);
outToServer.flush();
Вы можете добавить тег (например, HTML) в текстовом файле и до отправки текста на принтер, может заменить метки с последовательностью:
// bold on
text = text.replaceAll("<B>", Character.toString((char)27) + "E");
// bold off
text = text.replaceAll("</B>", Character.toString((char)27) + "F");
Я прочитал (не пробовал), что может быть, если вы PDF (изображение) можно преобразовать в PostScript и послал PostScript-файл на принтер, и если поддержка принтера PostScript может быть PDF напечатает хорошо. Также я считаю, что GhostScript может помочь преобразовать. Удачи :)
- 1. Печать PDF с Android
- 2. Android печать не PDF файлов
- 3. Печать существующего файла pdf в android
- 4. Печать Emoji на PDF в Android
- 5. Печать в формате PDF Документ PDF
- 6. Печать PDF в java
- 7. Печать в pdf
- 8. Печать QWebView в PDF
- 9. Печать файла Pdf на Android-кнопке Нажмите
- 10. Interop.Outlook Печать в файл (PDF)?
- 11. Ascii Печать файла в PDF
- 12. Печать pdf-файла в кордове
- 13. Печать данных в pdf-файл
- 14. Печать содержимого JScrollPane в pdf
- 15. Печать в PDF через AirPrint
- 16. Печать Highcharts в формате pdf
- 17. Печать php таблицы в pdf
- 18. Печать в Openlayers 3 (pdf)
- 19. Печать Pdf с CSS
- 20. Печать PDF с javascript
- 21. Автоматическая печать PDF
- 22. Javascript: Имитация PDF Печать
- 23. uiWebView печать a pdf
- 24. Печать PDF-файлов
- 25. Печать PDf issue
- 26. Печать PDF на сайте
- 27. JS Печать pdf-файла
- 28. Печать PDF с javascript
- 29. Печать pdf без открытия
- 30. Bootstrap 3 - Печать/PDF
У вас есть решение? – Ajit