• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 804
  • Last Modified:

Printing to Dymo Labelwriter 330 Turbo

Hi,

A customer wants to print addresses directly from within my Delphi-program to a Dymo Labelwriter 330 Turbo.
I don't have this printer myself, so it is hard to see what kind of functionality is required here.
I'm using an MS Access database, Delphi 7 pro.

Does anybody have experience with this? Any help is most welcome.

Regards,
Stef
0
Stef Merlijn
Asked:
Stef Merlijn
  • 3
3 Solutions
 
tomerleiCommented:
Hi Stef,
I dont know the specific dymo you have but i have a p-touch label printer and with the right driver installed it functions as a normal printer, have you tried to print using regular printing method? (even Richedit print method)
0
 
Scay7Commented:
Well if you need to print from a richtext and set its margins and amout of copies... try this function

function PrintRichText(RTLeftMargin, RTRightMargin, RTTopMargin, RTBottomMargin: single;
RichTextMeasurement: TRichTextMeasurements; Copies: Integer): Boolean;
var
  PixelsX, PixelsY, LeftSpace, TopSpace : Integer;
  LeftMargin, RightMargin, TopMargin, BottomMargin: single;
  R : trect;
begin
  Result := False; // default return value
  rtleftmargin := strtofloat(sleft);
  rttopmargin := strtofloat(stop);
  rtrightmargin := strtofloat(sleft);
  rtbottommargin := strtofloat(stop);
  if RichTextMeasurement <> rtmNone then
    begin
      // get pixels per inch
      PixelsX := GetDeviceCaps(Printer.Handle, LOGPIXELSX);
      PixelsY := GetDeviceCaps(Printer.Handle, LOGPIXELSY);

      // get non-printable margins
      LeftSpace := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX);
      TopSpace := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETY);

      LeftMargin := RTLeftMargin;
      RightMargin := RTRightMargin;
      TopMargin := RTTopMargin;
      BottomMargin := RTBottomMargin;

      // If the measurement is set in Centimetres, recalculate
      if RichTextMeasurement = rtmCentimetres then
        begin
          LeftMargin := LeftMargin / 2.54;
          RightMargin := RightMargin / 2.54;
          TopMargin := TopMargin / 2.54;
          BottomMargin := BottomMargin / 2.54;
        end;

        // Set the Margins
        R.Left := Round(PixelsX * LeftMargin) - LeftSpace;
        R.Right := Printer.PageWidth - Round(PixelsX * RightMargin) - LeftSpace;
        R.Top := Round(PixelsY * TopMargin) - TopSpace;
        R.Bottom := Printer.PageHeight - Round(PixelsY * BottomMargin) - TopSpace;
        form1.RichEdit4.PageRect:= R;
        Application.ProcessMessages;
    end;

  // Print the required number of copies
  while Copies > 0 do
    begin
      form1.RichEdit4.Print('MyApp: Copy '+IntToStr(Copies));
      Dec(Copies);
      Application.ProcessMessages;
    end;
  Result := True;
end;

With the code above and this information:
http://www.superwarehouse.com/Dymo_LabelWriter_330_Turbo/68010/ps/119282

Im sure you can make a mok up of the dimensions and give it a try to the customer. Put in a series of test that the customer can bring back to you so that you can fine tune the settings on your side :P

Peace Scay7
0
 
Scay7Commented:
I just saw from that site that it mentioned that they give examples for DELPHI:

"Provides OLE, DLL, and DDE interfaces to application developers. Supports popular development platforms such as Visual Basic, C/C++, Access, FoxPro, Power Builder and Delphi. Includes sample applications in C, Visual Basic, Access, Delphi, FoxPro, Power Builder and Delphi
Includes add-ins that enable one-click address labels direct from the main toolbars of Microsoft ® Word, Outlook, the Palm Desktop, GoldMine ® and ACT!™. Also directly supported by Corex ® CardScan ® and TeleMagic ®"

mabey ask for those examples... then you can make a proper app to go with this printer...

Peace Scay7
0
 
Scay7Commented:
K sorry about my posts... think i found the dev KIT that comes with that printer...

http://global.dymo.com/deAT/Software/LabelWriter_400_Turbo.html

Software TAB
click dev aid
click soft dev kit

scroll to the bottom should be an exe there for download...

hope that helps

Peace Scay7
0
 
Stef MerlijnDeveloperAuthor Commented:
I will download the SDK and software from the website and see where that brings me.
Thanks for now.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now