Android: Bluetooth printing (2)
I need to develop an Android tablet app that requires printing files to a bluetooth printer. Bluetooth printing. one of the most important features of my application. Unfortunately, there is not much information on this topic, so I would like to ask for advice.
As far as I know, it is not possible to print over Bluetooth on Android (using native calls), since Android’s BT Stack does not implement BPP (Basic Printing Profile). After doing a little research, I found the following alternatives:
- Sybase-iAnywhere-Blue-SDK-for-Android: A commercial SDK that supports many BT profiles. Developed by a large company (good support, I think). I haven’t found much information on this. Is there any documentation, API or examples on how to use this SDK? Does anyone know how to download a demo? (link seems to be broken the last time I tried)
- iPrint SDK: Commercial SDK. Some examples on their website, but nothing else.
- Zebralink: Zebra printers only (naturally). Other manufacturers probably have APIs for their printers.
- PrinterShare: commercial (premium key)
- Bluetooth Smart Printing: free and lightweight. Printing Claims for Bluetooth Printers.
Ideally, I would not want to get attached to a particular brand or printer model. Now the questions:
- What do you think is the best choice?
- Do you know another alternative that I missed?
- Can I easily print files from my application using an external application?
- What format should I use for my Bluetooth print files? (PDF, images, etc.).
- Any advice on making and printer model?
- Have you had any real experience with Bluetooth printing on Android?
- Are there any plans in the near future to bring Bluetooth printing to Android?
Star Micronics has an SDK for Android printing via Bluetooth (as well as Ethernet and USB). You can download it here: http://www.starmicronics.com/support/SDKDocumentation.aspx.
As you mentioned, you cannot print initially at this point in time, so the alternative solutions you found are your options today.
In my experience, it is better to use an API rather than an external application. The biggest reason is that you have complete control over the behavior of the printer. It’s easy if the API is built intelligently. The use of an external application is limited because you cannot customize your printouts the way you want.
The Star SDK I linked you with has a really nice sample app that lets you test and tweak a lot of printer features to see them in action. Each feature is documented in the source code. Commands and their parameters are also available in the application itself as a quick link to the screen, which is convenient. On top of that, it is well documented.
Star. great company to work with because you can get a free demo printer of your choice to be used for your development.
If you choose this method, you can send plain text to the printer along with commands. API handles converting data into something the printer can understand.
The ability to print to a BlueTooth printer is highly dependent on the printer model you are trying to use.
For example, I am using a CITIZEN CMP-10BT printer that can be controlled by sending specific sequences of bytes, which can be done easily using the Android API. I even built a structure on top of this.
The only problem is that you can’t tell exactly which printer models will be used by end users, so some kind of final SDK will definitely be sorely needed.
Direct printing from phone to printer
If your printer supports a Wi-Fi network and is configured to work on a home network, then you can be congratulated. you have excellent chances to print directly from your Android phone (provided that you are at home near such a printer, of course). But everything depends on the availability of the appropriate software for the specific model of the printer used.
The Brother Print Service Plugin I’m using doesn’t really have any user interface. Once you install it, the settings page will open which will allow you to select your printer model. After that, you can make changes in the settings of your mobile device, in the “Settings” or “Settings” section. All applications that support this plugin (there are not so many of them, but, thank God, this list includes Chrome, Gmail and Photos), will add the “Print” option to their main menu.
Another Brother application, iPrintScan, is complete and works as a standalone phone-to-printer printing system. To print from this application, you will need to use its own graphical interface. Using the menu in it you can find and print any selected file.
Android printing to network printer
Is it possible to print a document directly from the editor?
If you have a connection to a computer, then you can try to print the document directly from a word processor. Many programs have a similar function:
It is also possible to set up printing to a printer via Android directly from browsers. In this case, documents are transferred to a physical printer via the “cloud” or Wi. Fi. direct connection does not work on most applications. We will tell you about the use of cloud storage for printing documents below.
Of all the applications, the most interesting products are from Microsoft. Before printing, they submit documents to a web service, which is required to prepare them. The developer claims this step is necessary to ensure accurate and high quality printing.
Dropbox cloud storage
An alternative to standard cloud storage is Dropbox. works with many Android apps. The ability to print is built into it by default. In this case, you do not need to open files on a PC. You just need to select the necessary files and click on the “Print” button. In more detail, the instruction looks like this:
- Install the Dropbox app on your PC and your smartphone.
- Transfer documents to storage from your smartphone or PC.
- You can access them from any PC connected to the printer. To do this, just log in with your username and password.
- Select the documents you want to print.
- Click on the “Print” button.
- Now you just have to make sure that there is enough paper in the printer, as well as wait for the printing process.
This option is no more difficult than the others. You only need to have the Dropbox application on your PC and smartphone. The disadvantage of this option is that not every PC can find the utility needed to access the storage. But your files will be reliably protected, you will not be able to access them via the link.
An alternative way of transferring documents to a PC for printing is to send them by e-mail. Now all popular services have convenient mobile applications with which you can transfer the files you need.
Now you know how to set up printing from Android to a printer. Share this information with your friends, ask questions in the comments. Discussion is welcome, perhaps you know other programs that can print from a smartphone.
Google Cloud Print
Much more popular is the use of Google Cloud Print. In this case, you do not need a physical printing device to be on the same network with a smartphone, a working computer, a standard “Virtual Printer” application for Android on a smartphone and access to the Internet via a PC is enough.
This cloud service is now used by default on all modern smartphones. Its advantage is that you do not need to download printer drivers to your device. Before you start, set up your smartphone to sign in to your Google account. and also install the Google Chrome browser on your PC. In it, you will also need to log in under the same account as on your Android smartphone.
- Open a browser on your PC and go to the menu. it can be found next to the address bar. Click on the icon of three dots lined up vertically.
- From the context menu select “Settings”.
- Scroll down the opened page to the line “Show advanced settings”.
- Find the “Google Cloud Print” section and click the “Configure” button.
- Click any of the available Add Printer buttons. If your device is independently connected to the network, then the top button will be available. A physical printer connected by a cable is added by a button from the bottom subsection.
- Next, you will be taken to the printer settings page. You will need to place a marker next to the name of your device, you can also put an additional check mark next to the item “Automatically register connected printers”. This completes the registration of the printer.
- Pick up your smartphone and launch the Cloud Print app. In most assemblies it is on by default, but if you do not have this utility on your smartphone, you need to download it from the Play Market.
- Open any file and use the “Share” button to send it to print. Thus, you can print a photo from the “Gallery”, an office document or a browser page.
- After you select “Print”, you will see its settings window. Select the required number of copies, size, orientation, number of pages. Start6 printing with a button similar to an airplane or the printer itself.
Many smartphone manufacturers install similar virtual services on their devices. For example, Samsung has an app similar to a virtual printer. The principle of its configuration is similar to the standard one, but in this version the manufacturer added an additional opportunity. to save documents in the cloud storage. The advantage is that the printer does not need to install such an Android program. You don’t need drivers.
To avoid setting up a virtual printer, you can use another Google feature. the Drive app. It is essentially a cloud storage that can be accessed from the Chrome browser. Add files there, then open them with your PC and print. The advantage is that you can give access to the disk to another user and thereby transfer the document anywhere in the world without giving your account details. You can connect other users to the Photo service, for example, relatives. They will also be able to print images for their own use.
It is preferable to use the option of direct printing from a smartphone to a local printer, this does not require a local computer, printing is faster, and documents are not transferred to the “big brother” cloud.
If your printer is not supported, you can try connecting through Google Cloud Print, but this requires a local computer as a print server, prints with a slight delay, and all documents are uploaded to Google.
How to connect a printer via an Android phone using Wi-Fi
It is also possible to print from Android to Wi. Fi printer. To do this, you need to have a device at hand that can become a full member of the Wi. Fi network and receive print jobs directly from your smartphone. In this case, you must first configure your router so that both devices are on the same network:
- Enable WPS mode on your router. Check if your device supports this technology.
- Then go through your PC to the browser and enter the combination “192.168.1.1” in the address bar. By default, the login and password are the word admin.
- Open the “Security” tab in the router settings. Find the WPS Setup section and set the Enable value next to it.
- Disable MAC address filtering.
- In the network section, set the marker on the position Wi-Fi Protection Setup.
Now you just have to connect both devices to the network with an interval of no more than 2 minutes. Connecting a smartphone and a printer is possible only with the help of special programs that we mentioned above. Works best with Wi-Fi printing PrinterShare.
Some routers automatically configure WPS mode using a dedicated button located on the device.
Opening access to the printer for the local network
Before describing the settings, I consider it important to report a few points:
- you must have a PC, printer, and laptops (and other devices) turned on. which will be customized;
- on a PC to which the printer is directly connected (to a USB port, for example). drivers must be installed (i.e. printing should work normally on the PC itself). Finding and installing a printer driver. here’s an article on the topic;
- The local network must be configured: computers have the same workgroups (you can see this if you go to the properties of my computer). and different computer names (in general, if your local network works, then it is.).
Note: all settings below are given and are relevant for Windows 7, 8, 10.
The first thing to do is to set up the computer to which the printer is directly connected (ie “share” the printer: we give access and permission to use another PC on the local network).
1) First, go to the Windows Control Panel at the following address:
Control Panel / Network & Internet / Network & Sharing Center
Next, click on the link on the left. “Change advanced sharing options”.
2) Next, we will have three tabs: private. guest or public. and all networks. Now you need to open them one by one and put a checkmark in the right places. About this below.
Note: in some cases there will be not 3 tabs, but 2. Then open those tabs that are and do according to the screenshots below.
3) Expand the “Private” tab. and set the sliders to the following positions (according to the screenshot below):
- enable network discovery (enable automatic configuration on network devices);
- enable file and printer sharing;
- let Windows manage homegroup connections.
4) Then open the next tab. “Guest or Public”. and we expose:
- enable network discovery;
- enable file and printer sharing.
5) The last tab is “All networks”. here we expose:
- disable sharing;
- use 128-bit encryption to protect shared connections;
- disable password protected sharing.
Be sure to click save all changes!
A similar setting in these three tabs (private, guest, all networks). must be done on all computers in the local network (and not only on the one to which the printer is connected)! Otherwise, later you will not be able to connect to the local printer.
Control panel / hardware and sound / devices and printers.
If you have installed drivers and everything is OK with the printer. here you should see it in the “Printers” tab.
Right click on the printer (the one you want to make network / public). and go to its properties. Open the “Access” tab in the properties and put a couple of checkboxes:
- Sharing this printer;
- rendering of print jobs on client computers.
To check if your printer has become local, open a regular explorer (you can open any folder). On the left in the menu, you should see the name of your computer.
In my case, the computer name is “Desktop-UGHM5R”. we click on it and see that our “shared” printer is present in the window that opens.
Now you can start configuring other computers to enable them to print to the printer.
Note: please note that next to the name of your PC, the names of computers that are in the same local network with you will be displayed.
How to make a printer network. How to connect a network printer, Windows setup
Don’t tell me with one problem. I have 3 computers at home: one PC, and 2 laptops. They are all connected to a Wi-Fi router. A printer is connected to the PC.
How can I set up PCs, laptops and the network so that from laptops I can send documents to be printed to the printer? I tried to tweak it. nothing at all. Now I write files to a USB flash drive, and then print them from a PC, it’s inconvenient.
In fact, both at home and in small offices, usually one printer is enough for the eyes (of course, if you can print to it from any of the computers on the local network).
In general, setting up Windows itself to make a printer publicly available for a local network is not particularly difficult and any “average” user can handle it. In this article I will show with an example how this is done.
How to connect a network printer and start printing
Important! Before you start connecting the printer, you must configure three network tabs: private, guest, all networks (I wrote about this just above). If you do not give permission to use shared folders, printers, etc., you will not see the printer and will not connect!
1) We turn on the computer from which we want to print (note: the PC is connected to a local network in which there is a computer, with a connected printer).
Open Explorer (WinE) and click on the “Network” tab (on the left in the menu). Next, you should see a list of computers that are on the same local network with you: open the one that has a publicly accessible printer (which we made networked in the previous step).
2) Next, the icon and the name of the printer should appear. right-click on it and select “Connect”.
3) 1-2 minutes (usually) will be required to install and configure the driver. At this time, it is better not to touch the PC or close this window (example in the screenshot below).
4) Further, if everything went well, the printer appears in the “Printers” tab and you can use it.
Try to open some Word document, press the CtrlP key combination and send the document to print (do not forget to select a printer, by default, usually the printer is not the one you added).
Actually, that’s the whole Windows setup for creating a public local printer. As you can see, in this regard, in Windows (7, 8, 10), everything is quite simply organized. you can figure it out on your own.
An even more convenient and versatile option would be to connect the printer directly to a Wi-Fi router. Thus, there will be no need to keep the PC connected to the printer on.
In principle, there is also nothing complicated there. usually, a special goes to the router. Software that performs a similar setting in auto-mode.