Troubleshooting Guide: The Printing Process
Overview
The printing process is at the heart of BarTender and its many components. When a print job fails, inspecting this process may help pinpoint where the issue occurred and how to fix it.
Here is a flowchart of the normal printing process with BarTender.
When something goes wrong, it's either a break in one of those chains or a problem in one of the steps. You can make your troubleshooting process more efficient by starting with the green process and moving through to the orange process. By troubleshooting each step in order, you ensure that you're not troubleshooting an issue that was broken in the previous step.
Below, each process is broken down, along with where to look for potential issues. This is not a definitive guide for troubleshooting the printing process, but it is enough to get you started.
Requesting Print Jobs
When starting the troubleshooting process, it is important to understand what initiated the print job. For applications like Designer or Print Station, the print job begins when the user clicks the print button. Automations such as Integrations or the SDK simulate this action, initiating the print without any direct user interactions.
While clicking the print button doesn't require troubleshooting, automations have several components that should be analyzed for issues. Examine the trigger files, the configuration Integration Builder, or your code that calls the print commands in the SDK or any ActiveX automations.
- Is the printer listed correctly?
- Is the number of copies valid?
- If you use commands such as Print Command Scripts or BTXML, are you missing any special characters or commands?
If the commands or calls are wrong, correcting them may fix the issue, and you may not need to continue the troubleshooting process.
Key Takeaways
- Understand how print jobs are being initiated.
- Check all settings/commands for the print job.
Getting Data to Print
This is an important step in the printing process and is often prone to breaking. BarTender can retrieve data for printing through various means, including Data Entry Forms, database connections, and data contained within a trigger file. When something goes wrong at this step, you want to ensure that BarTender can connect to the data source and contains the correct information.
While Data Entry Forms are a bit harder to troubleshoot, it could easily boil down to user input error. Database connections are easier to control. You primarily see these when printing from Designer, Print Station, and Print Portal, though they may also appear in integrations (and other automations). You want to ensure that BarTender can connect to whatever database is in use and that the database contains the correct information. This can usually, but not always, be done by simply opening BarTender's Database Connection Setup dialog.
When an automation such as an integration come into play, the data likely originates outside the label. This makes troubleshooting this step more difficult as the data could come from many sources. Not an exhaustive list, but here are some suggestions when working with automations to get you started:
- Check the integration logs in the Administration Console or in Integration Builder for errors.
- Check the trigger file (for most integrations) to ensure it has data and the correct data.
- Check the database connection (for database integrations) to ensure there are no connection errors.
- Ensure the trigger file database type matches the label's database. For example, if a label is connected to a CSV file, you cannot give it an XML database in an integration. The database types do not match.
- If you are using Named Data Sources, ensure that all are listed. Empty or unlisted named data sources may use sample data during print time.
ActiveX and .NET applications have more potential data sources, increasing their complexity. However, some of the same basic troubleshooting principles listed above may apply and help locate any data issues.
Key Takeaways
- Make sure BarTender can connect to the database.
- Make sure the database has the right information.
Turning Data in a Print Request
This step is highly dependent upon the individual template printed. It involves processing any transforms and performance optimizations before the job is turned into usable printer code. This step is very situational and may take more investigation depending on the complexity of the label and the printer used.
Transforms are the larger of the two types of data processing. They can appear in several places, but with some careful investigation, you can work through each one depending on what your label or automation uses.
- Data source transforms are transforms applied to any object on your label. A text object, a barcode, or a database field can all have transforms of some kind. Opening the transform dialogs for each object that has one can help locate a potential problem within them.
- Document actions allow certain transforms to happen at the start or during print time. Looking for any document actions that are not labeled as taking place after a print job may help locate any troublesome transforms
- Document-level scripts may be a bit more difficult to troubleshoot. Review any scripted events and look for any scripted errors to troubleshoot this potential transform.
- Integration transforms are performed at the integration level and are found in the integration file rather than the label file. Unlike label transforms, integration transforms may potentially affect any document used with this integration. Check for any of the transform actions listed in the linked help file and ensure that all the transforms are working correctly.
Performance optimizations are found on the print dialog in BarTender Designer and are only available if you're using a Seagull printer driver. If you have this tab available, turn off all printer optimizations. If that fixes the issue, turn them on one by one until the offending optimization is located. If this does not fix the issue, move on to the next section.
If you are not using a Seagull driver, please refer to your printer manufacturer's website or support for assistance with optimizations.
Key Takeaways
- Check all Transforms and data sources in BarTender.
- Check the Performance tab in BarTender.
Converting Print Requests Into Print Code
This step involves several different technologies to get a print job from BarTender to your printer. The conversion into printer code involves a conversation between BarTender and the printer driver and is best done when using Seagull drivers. Take a look at the Drivers by Seagull technical document.
After the conversion is complete, the job must be queued and sent to the printer itself.
While much of this process is complicated and allows for very little control, there are some ways to ensure this step is working properly.
First, you can simply print to file which will generate a file on your PC that contains the print code that would normally be sent to the printer. This file contains all the instructions for your print job in your printer's language. While you may not be able to read this file easily, you should see data within this file.
If you are experiencing intermittent issues with print jobs, Seagull drivers can record the printer code that it generates. By doing so, you can compare a bad print job to a good one and look up the offending instructions in the printer manuals. To turn on print code recording, refer to the help file in the printer's Printer Properties.
The final part of this process is handing the printer code off to the printer queue. Small jobs will tend to enter and leave the queue before you can spot them. Pause your printer and send a job from BarTender, ensuring you see the job appear on the list. Unpause the printer and ensure it leaves the queue without errors.
Key Takeaways
- It's complicated.
- Always use Drivers by Seagull (when available).
Sending Data to the Printer
This final step involves BarTender's connection to the printer and the physical printer itself. If all the previous steps have passed all the tests, the issue likely lies here.
The first part of this process is sending the job. This could be sending it over a cable to a USB printer or across the network. Checking the connectors is important to ensure the printer code can reach the printer itself.
- If it is a USB printer, ensure the USB is properly connected to both the printer and the computer.
- If it is a networked printer, check for any networking slowdowns or traffic issues. You may need to consult your IT or use a third-party tool such as WireShark to help you troubleshoot this step of the process.
After ensuring the connections are working properly, it's time to look at the physical printer.
- Does the printer error out whenever you send a print?
- Is it printing garbage data?
- Is something physically wrong with the media, the ink, or the ribbon?
While the first is best handled by the printer manufacturer, the second may be solved by flushing the printer's cache. Check your printer's user manual for steps on how to do this. Your printer manual may also have steps to help troubleshoot physical issues.
Key Takeaways
- Make sure the PC can connect to the printer.
- 3rd-party tools can help diagnose issues.
Additional Resources
As this guide is more of an overview troubleshooting guide, it doesn't contain an exhaustive list of every printing situation you may encounter. If these suggestions don't help, please contact support, and we'll see how we can help.