2012-05-08 13 views
1

엡손 TM-T88V를 직접 연결 한 우분투 서버 12.04를 실행하는 시스템을 설치했습니다. 처음에는 잘 인쇄 할 수 있었지만 (자동 줄 바꿈 사용) 자동 절단기가 작동하지 않았습니다. 필자는 드라이버에 포함 된 올바른 PPD 파일을 사용하지 않고 있다는 것을 깨달았습니다. 그래서 프린터가 잘 작동하기 시작했는지 확인해야합니다.Epson TM-T88V 포맷

그러나 일단 올바른 PPD 파일을 사용하면 텍스트가 너무 밝아서 읽을 수 없습니다. ESC/POS 명령을 직접 전달하려고 시도했을 때 본질적으로 원래 상황 (어두운 텍스트, 컷이 없음)으로 되돌아 간 것처럼 보였습니다.

이것은 열전 사 프린터에 대한 첫 발을 내딛었 기 때문에 간단한 내용이 누락되면 사과드립니다. 나는 이것에 대해 완전히 잘못된 방향으로 가고 있는가? 모든 조언을 크게 주시면 감사하겠습니다.

원래이 질문은 SuperUser에 게시되었지만 프린터가 실제로 올바르게 작동하고 있기 때문에 프로그래밍 측면에서 실수를 저지르고있는 것은 분명합니다.

인쇄 할 때 사용하는 명령입니다 (Node.js 임). 나는이 응용 프로그램을 썼을 때 내 MBP에서 lpr이 아니고 lp이 아닌 것을 사용했을 때 주목할만한 가치가 있는지 알 수 없습니다. 어떤 이유로 든 lpr은 서버에을 입력하면 이 표시되지 않습니다.

var toPrint = "echo '" + 
      "Order for: " + req.body.name + "\n" + 
      "Email: " + req.body.email + "\n\n" + 
      "Food Items Ordered: \n" + foodItems + 
      "\n\nThank you for using WhyWait!' | lp"; 
// Print the order! 
var printCmd = exec(toPrint, function (error, stdout, stderr) { 
    if (error !== null) { 
    console.log('exec error: ' + error); 
    } 
    console.log('Order printed!\n'); 
}); 

이것은 PPD 파일입니다.

*PPD-Adobe: "4.3" 
*% Copyright (C) Seiko Epson Corporation 2010. All rights reserved. 
*% 
*% Driver for Epson Thermal Printers Series. 

*FormatVersion: "4.3" 
*FileVersion: "1.0" 
*LanguageVersion: English 
*LanguageEncoding: ISOLatin1 
*PCFileName: "TM-T88V.PPD" 
*Manufacturer: "EPSON" 
*Product: "(ThermalPrinter)" 
*ModelName:"EPSON TM-T88V" 
*ShortNickName:"TM-T88V" 
*NickName: "EPSON TM-T88V (rastertotmt)" 
*PSVersion: "(3010.000) 0" 
*LanguageLevel: "3" 
*ColorDevice: False 
*DefaultColorSpace: Gray 
*FileSystem: False 
*Throughput: "1" 
*LandscapeOrientation: Plus90 
*VariablePaperSize: True 
*TTRasterizer: Type42 
*cupsVersion: 1.2 
*cupsManualCopies: True 
*cupsModelNumber: 1 
*cupsFilter: "application/vnd.cups-raster 0 rastertotmt" 

*OpenGroup: General/General 

*%Page size settings. 
*OpenUI *PageSize/Media Size: PickOne 
*OrderDependency: 11 AnySetup *PageSize 
*DefaultPageSize:RP80x297 
*PageSize RP80x297/Roll Paper 80 x 297 mm: "<</PageSize[204 841.8]/ImagingBBox null>>setpagedevice" 
*PageSize RP58x297/Roll Paper 58 x 297 mm: "<</PageSize[141.7 841.8]/ImagingBBox null>>setpagedevice" 
*CloseUI: *PageSize 

*OpenUI *PageRegion: PickOne 
*OrderDependency: 11 AnySetup *PageRegion 
*DefaultPageRegion:RP80x297 
*PageRegion RP80x297/Roll Paper 80 x 297 mm: "<</PageSize[204 841.8]/ImagingBBox null>>setpagedevice" 
*PageRegion RP58x297/Roll Paper 58 x 297 mm: "<</PageSize[141.7 841.8]/ImagingBBox null>>setpagedevice" 
*CloseUI: *PageRegion 

*DefaultImageableArea: RP80x297 
*ImageableArea RP80x297/Roll Paper 80 x 297 mm: "0 0 204 841.8" 
*ImageableArea RP58x297/Roll Paper 58 x 297 mm: "0 0 141.7 841.8" 

*DefaultPaperDimension: RP80x297 
*PaperDimension RP80x297/Roll Paper 80 x 297 mm: "204 841.8" 
*PaperDimension RP58x297/Roll Paper 58 x 297 mm: "141.7 841.8" 

*%Custom page size settings. 
*MaxMediaWidth: "204" 
*MaxMediaHeight: "5669.2" 
*NonUIOrderDependency: 100 AnySetup *CustomPageSize 
*CustomPageSize True: "pop pop pop <</PageSize [ 5 -2 roll ]/ImagingBBox null>>setpagedevice" 
*ParamCustomPageSize Width: 1 points 72 204 
*ParamCustomPageSize Height: 2 points 72 5669.2 
*ParamCustomPageSize WidthOffset: 3 points 0 0 
*ParamCustomPageSize HeightOffset: 4 points 0 0 
*ParamCustomPageSize Orientation: 5 int 0 0 

*%Resolution settings. 
*OpenUI *Resolution/Resolution: PickOne 
*OrderDependency: 10 AnySetup *Resolution 
*DefaultResolution: 180x180dpi 
*Resolution 180x180dpi/180 x 180 dpi: "<</HWResolution[180 180]/cupsRowCount 24>>setpagedevice" 
*CloseUI: *Resolution 

*%Head speed settings. 
*TmtSpeedValue 1: "13" 
*TmtSpeedValue 2: "9" 
*TmtSpeedValue 3: "5" 
*TmtSpeedValue 4: "1" 

*OpenUI *TmtSpeed/Printing Speed: PickOne 
*OrderDependency: 10 AnySetup *TmtSpeed 
*DefaultTmtSpeed: Auto 
*TmtSpeed Auto/Use the printer settings : "" 
*TmtSpeed 1/1st (Fast): "" 
*TmtSpeed 2/2nd: "" 
*TmtSpeed 3/3rd: "" 
*TmtSpeed 4/4th (Slow): "" 
*CloseUI: *TmtSpeed 

*%Exit feed direction settings. 
*TmtReverseFeedDirection: False 

*%Paper reduction settings. 
*OpenUI *TmtPaperReduction/Paper Reduction: PickOne 
*OrderDependency: 11 AnySetup *TmtPaperReduction 
*DefaultTmtPaperReduction: Bottom 
*TmtPaperReduction Off/None: "" 
*TmtPaperReduction Top/Top margin: "" 
*TmtPaperReduction Bottom/Bottom margin: "" 
*TmtPaperReduction Both/Top & Bottom margins: "" 
*CloseUI: *TmtPaperReduction 

*%Paper source settings. 
*OpenUI *TmtPaperSource/Paper Source: PickOne 
*OrderDependency: 11 AnySetup *TmtPaperSource 
*DefaultTmtPaperSource: DocFeedCut 
*TmtPaperSource DocFeedCut/Document [Feed, Cut]: "" 
*TmtPaperSource DocFeedNoCut/Document [Feed, NoCut]: "" 
*TmtPaperSource DocNoFeedCut/Document [NoFeed, Cut]: "" 
*TmtPaperSource DocNoFeedNoCut/Document [NoFeed, NoCut]: "" 
*TmtPaperSource PageFeedCut/Page [Feed, Cut]: "" 
*TmtPaperSource PageFeedNoCut/Page [Feed, NoCut]: "" 
*TmtPaperSource PageNoFeedCut/Page [NoFeed, Cut]: "" 
*CloseUI: *TmtPaperSource 

*CloseGroup: General 

*OpenGroup: Buzzer Control/Buzzer Control 

*%Buzzer settings. 
*OpenUI *TmtBuzzerControl/Buzzer: PickOne 
*OrderDependency: 11 AnySetup *TmtBuzzerControl 
*DefaultTmtBuzzerControl: Off 
*TmtBuzzerControl Off/Not used: "" 
*TmtBuzzerControl Before/Sounds before printing: "" 
*TmtBuzzerControl After/Sounds after printing: "" 
*CloseUI: *TmtBuzzerControl 

*%Sound pattern settings. 
*OpenUI *TmtSoundPattern/Sound Pattern: PickOne 
*OrderDependency: 11 AnySetup *TmtSoundPattern 
*DefaultTmtSoundPattern: Internal 
*TmtSoundPattern Internal/Internal buzzer: "" 
*TmtSoundPattern A/Option buzzer (Pattern A): "" 
*TmtSoundPattern B/Option buzzer (Pattern B): "" 
*TmtSoundPattern C/Option buzzer (Pattern C): "" 
*TmtSoundPattern D/Option buzzer (Pattern D): "" 
*TmtSoundPattern E/Option buzzer (Pattern E): "" 
*CloseUI: *TmtSoundPattern 

*%Buzzer repeat settings. 
*OpenUI *TmtBuzzerRepeat/Buzzer Repeat: PickOne 
*OrderDependency: 11 AnySetup *TmtBuzzerRepeat 
*DefaultTmtBuzzerRepeat: 1 
*TmtBuzzerRepeat 1/1: "" 
*TmtBuzzerRepeat 2/2: "" 
*TmtBuzzerRepeat 3/3: "" 
*TmtBuzzerRepeat 5/5: "" 
*CloseUI: *TmtBuzzerRepeat 

*CloseGroup: Buzzer Control 

*OpenGroup: Cash Drawer Control/Cash Drawer Control 

*%Drawer settings. 
*OpenUI *TmtDrawer1/Cash Drawer #1: PickOne 
*OrderDependency: 11 AnySetup *TmtDrawer1 
*DefaultTmtDrawer1: Off 
*TmtDrawer1 Off/Does not open: "" 
*TmtDrawer1 Before/Open before printing: "" 
*TmtDrawer1 After/Open after printing: "" 
*CloseUI: *TmtDrawer1 

*OpenUI *TmtDrawer2/Cash Drawer #2: PickOne 
*OrderDependency: 11 AnySetup *TmtDrawer2 
*DefaultTmtDrawer2: Off 
*TmtDrawer2 Off/Does not open: "" 
*TmtDrawer2 Before/Open before printing: "" 
*TmtDrawer2 After/Open after printing: "" 
*CloseUI: *TmtDrawer2 

*CloseGroup: Cash Drawer Control 

*%Drawer pulse settings. 
*TmtDrawer1Pulse On: 10 
*TmtDrawer1Pulse Off: 100 
*TmtDrawer2Pulse On: 10 
*TmtDrawer2Pulse Off: 100 

*%Pitch of feed settings. 
*TmtFeedPitch: 360 

*%Used command set version. 
*TmtCommandSetVersion OutputRaster: 2 

*%Line number of band. 
*TmtBandLines: 256 

*%Message defines. 
*TmtMessage ParameterError: "Invalid parameter." 

*% End 
+0

0 코드를 게시 할 때 프로그래밍 측면에서 잘못하고있는 것을 말하기 란 절대 불가능합니다. 아무도 없다면 질문은 여전히 ​​수퍼 유저에게 속합니다. –

+0

아주 좋은 지적. 나는 집에 도착했을 때 실제 인쇄 명령과 함께 PPD 파일을 게시 할 것입니다. –

답변

2

는 대부분 열전 사 프린터로 인쇄하는 두 가지 방법이 있습니다

  1. 정상 (2D) - 이러한 리브레 오피스
  2. 원시 (일반 텍스트/원료 PCL 명령에서 인쇄 등) - 콘솔에서 원시 파일을 직접 인쇄하는 것과 같습니다.

언급 한 프린터 TM88은 영수증 인쇄에 사용되는 일반적인 열전 사 프린터입니다. 둘 다 할 수 있습니다. 그것은 원시 능력이 있지만 적절한 소프트웨어를 사용하면 다른 응용 프로그램에서 인쇄 할 수 있습니다. TM88이 사용하는 원시 언어는 ESCP2 또는 더 일반적으로 ESC/POS입니다. Epson의 모든 TM- 시리즈 프린터는 ESC/POS입니다.

실행중인 문제는 일부 2D 콘텐츠가 필요한 드라이버에 원시 명령을 보내려하는 것입니다. 이것을 달성하는 데는 몇 가지 방법이 있습니다.

  1. 지도 두 개의 프린터 (2 차원 드라이버 하나하는 일반/텍스트 드라이버 한 - 이것은 CUPS에서 "원시, 일반"이라고합니다)은 다음 중 하나에 다른 인쇄 할 수 있습니다.
  2. 수행중인 작업에 대한 원시 명령을 익히십시오. 이 경우 일반적으로 다음과 같습니다 : Hex : 0x1B 0x69 (cut paper)
  3. 드라이버를 설치 한 상태로 유지합니다. 그러나 파일 시스템의 플랫 파일과 함께 lpr -o raw을 사용하여 원시 모드에서 직접 컵에 명령을 보내서 강제로 원시를 강제 실행하십시오.

보너스 : 금전 출납원을 걷어차 야합니까? 0x10 0x14 0x01 0x00 0x05 (맥박/금전 함).경고, 귀하의 ESCP 프로그래밍 가이드에 대한 모든 원시 명령을 참조하십시오.