Brother bPAC SDK - Examples only print after Form is shown
Posted
by Scoregraphic
on Stack Overflow
See other posts from Stack Overflow
or by Scoregraphic
Published on 2010-03-26T07:29:48Z
Indexed on
2010/03/26
7:33 UTC
Read the original article
Hit count: 1619
Hi there
We have a small Brother Barcode printer which we like to control from a WCF Service. Brother has an API called bPAC SDK version 3 which allows to print those labels. But the problem arises, as soon as we want to print from code only without showing a windows with a button on it. As an addition, this happens only if you want to print a QR-code as barcode. Standard EAN-codes seems to work.
Below is a small piece of code which outputs the stuff to a bitmap instead of the printer (debugging reasons).
DocumentClass doc = new DocumentClass();
if (doc.Open(templatePath))
{
doc.GetObject("barcode1").Text = txtCompany.Text;
doc.GetObject("barcode2").Text = txtName.Text;
doc.Export(ExportType.bexBmp, testImagePath, 300);
doc.Close();
}
If this is called by a button click, it perfectly works. If this is called in Form.Show-event, it perfectly works. If this is called in Form.Load-event, it does NOT work. If this is called in a Form constructor, it does NOT work. If this is called somewhere else (without forms), it does NOT work.
DocumentClass
and related classes are COM-objects, so I guess the form setup/show process seems to do something which is not done without opening forms. I tried calling CoInitialize
with a p/invoke, but it hadn't changed anything.
Is there anyone out there willing and able to help me? Are there any alternatives which (also) MUST be able to print directly on our Brother printer?
Thanks lot.
© Stack Overflow or respective owner