[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[orca-users:13815] 薬剤情報の印刷の不具合について
- To: ORCA全般の話題 <orca-users@xxxxxxxxxxxxxx>
- Subject: [orca-users:13815] 薬剤情報の印刷の不具合について
- From: Tsuyoshi Sakaguchi <dfbdo900@xxxxxxxxxxxxx>
- Date: Mon, 12 Oct 2015 10:10:59 +0900
- List-archive: </orca-users>
西宮の坂口です。 困っている方もおられるようなので参考になれば幸いです。
/var/spool/cups/ にある dxxxxx-001 ファイルは ghex で見れます。
new1.cプログラムです。 penguin はホームディレクトリです。 プログラムはすべて /home/penguin/neu/ に入れます。
//gcc new1.c -o new1 `pkg-config gtk+-3.0 --cflags --libs`
// #include <tcl8.6/tcl.h>
#include <gtk/gtk.h>
#include <stdio.h>
#include <stdlib.h>
gboolean timer_cb (gpointer data) {
system ("tclsh /home/penguin/neu/newA5.tcl");
g_print ("return ok\n");
return TRUE;
}
int
main (int argc, char **argv) {
gtk_init (&argc, &argv);
g_timeout_add(1100, (GSourceFunc)timer_cb, "OK");
gtk_main ();
return 0;
}
以下はnewA5.tcl プログラムです。
#!/usr/bin/tclsh
# A4-files -> lq1(A4) -> lp3(A4) -> lp4(A5) -> lq2(A5) -> print
lq1, lp3, lp2, lp3, lp4 は印刷無効に設定
# A5-files -> lp2 -> lp3 -^
cd "/var/spool/cups"
exec lpmove lp2 lp3
exec lpmove lq1 lp3
set a1 [exec lpq -P lp3]
set a2 [split $a1 "\n"]
set l [llength $a2]
if {$l > 2} {
puts $l
for {set k 2} {$k < $l} {incr k} {
set a3 [lindex $a2 $k]
set a4 [lindex $a3 2]
exec lprm -Plp3 $a4
set a5 ""
append a5 "0000" $a4
set n [string length $a5]
incr n -1
set m [expr $n - 4]
set a6 "d"
append a6 [string range $a5 $m $n] "-001"
puts $a6
set afd [open $a6 "rb"]
set a7 [read -nonewline $afd]
close $afd
regsub -all {/Height 113} $a7 {/Height 000} a8
set bfd [open {| lpr -o fit-to-page -o media=A5 -P lp4} wb]
puts $bfd $a8
close $bfd
puts $a4
}
exec lpmove lp4 lq2
}
exit
以下はprin.shプログラムです。
#!/bin/bash
sleep 6s
echo "パスワード" | sudo -S -p "" /home/penguin/neu/new1
print.shを自動起動プログラムに bash /home/penguin/neu/print.sh で登録する。
以上です。 ここ2か月LBP5400で使用して問題なしです。