-
-
Save endymuhardin/1252478 to your computer and use it in GitHub Desktop.
LAPORAN DAFTAR PELUNASAN KOLETKOR | |
AGEN PT. ARTIVISI INTERMEDIA | |
===================================================================================================================== | |
KODE KOLEKTOR : 0001 | |
NAMA KOLEKTOR : JOJO | |
+------+--------------+---------------------------+---------+-------------+-------------+-------------+-------------+ | |
| NO | IDPEL | NAMA PELANGGAN | BLN/TH | RP. BK | RP. ADM | RP.TAG | RP. TOTAL | | |
+------+--------------+---------------------------+---------+-------------+-------------+-------------+-------------+ | |
| 1|518011796990 | KH. IMAM QOARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 2|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 3|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 4|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 5|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 6|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 7|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 8|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 9|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 10|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 11|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 12|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 13|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 14|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 15|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 16|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 17|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 18|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 19|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
| 20|518011796990 | KH. IMAM QOMARUDDIN | 06/2011 | 3.000 | 1,600 | 98,000,000 | 98,004,600 | | |
+-----------------------------------------------------------+-------------+-------------+-------------+-------------+ | |
| $totalPel Pelanggan | $totalBk | $totalAdm | $totalTag | $totalTotal | | |
+-----------------------------------------------------------+-------------+-------------+-------------+-------------+ | |
TOTAL PELANGGAN : $totalPel Pelanggan | |
TOTAL RP. BK : Rp. $totalBk | |
TOTAL RP. ADM : Rp. $totalAdm | |
TOTAL RP. TAG : Rp. $totalTag | |
SUB TOTAL : Rp. $totalTotal |
import java.io.BufferedReader; | |
import java.io.FileNotFoundException; | |
import java.io.FileReader; | |
import java.io.FileWriter; | |
import java.io.IOException; | |
import java.io.Writer; | |
/** | |
* Demonstrasi cara mencetak struk dengan printer dot matrix. | |
* | |
* Pada contoh kode berikut, kita mencetak langsung ke device printer, | |
* tidak melalui print service Operating System (print dialog). | |
* | |
* Sebelum menjalankan contoh kode berikut, | |
* pastikan Anda bisa mencetak langsung melalui command prompt. | |
* | |
* Contoh : di linux menggunakan printer paralel | |
* <pre><code> | |
* echo "Hello World" > /dev/lp0 | |
* </code></pre> | |
* | |
* Bila Anda mendapatkan pesan error, biasanya karena hal berikut : | |
* <ul> | |
* <li>Salah menggunakan nama device. <br /> | |
* Pastikan device /dev/lp0 adalah nama device yang benar.<br /> | |
* Biasanya terjadi kesalahan di sini bila menggunakan printer USB. | |
* </li> | |
* <li>Permission user tidak memadai. <br /> | |
* Setelah memastikan Anda menggunakan device yang benar, | |
* periksa permissionnya. <br /> | |
* Di instalasi Ubuntu standar, /dev/lp0 memiliki permission 660 | |
* dengan owner root dan group lp. <br /> | |
* Pastikan user yang digunakan adalah root, | |
* atau user biasa yang tergabung ke dalam grup lp | |
* </li> | |
* </ul> | |
* | |
* @author endy at artivisi dot com | |
*/ | |
public class Main { | |
private static final char ESC = (char) 27; | |
// ganti kertas | |
private static final char[] FORM_FEED = {(char) 12}; | |
// reset setting | |
private static final char[] RESET = {ESC,'@'}; | |
// huruf tebal diaktifkan | |
private static final char[] BOLD_ON = {ESC,'E'}; | |
// huruf tebal dimatikan | |
private static final char[] BOLD_OFF = {ESC,'F'}; | |
// huruf miring diaktifkan | |
private static final char[] ITALIC_ON = {ESC,'4'}; | |
// huruf miring dimatikan | |
private static final char[] ITALIC_OFF = {ESC,'5'}; | |
// mode draft diaktifkan | |
private static final char[] MODE_DRAFT = {ESC,'x',0}; | |
private static final char[] MODE_NLQ = {ESC,'x',1}; | |
// font Roman (halaman 47) | |
private static final char[] FONT_ROMAN = {ESC,'k',0}; | |
// font Sans serif | |
private static final char[] FONT_SANS_SERIF = {ESC,'k',1}; | |
// font size (halaman 49) | |
private static final char[] SIZE_5_CPI = {ESC,'W','1',ESC,'P'}; | |
private static final char[] SIZE_6_CPI = {ESC,'W','1',ESC,'M'}; | |
private static final char[] SIZE_10_CPI = {ESC,'P'}; | |
private static final char[] SIZE_12_CPI = {ESC,'M'}; | |
//font height | |
private static final char[] HEIGHT_NORMAL = {ESC,'w', '0'}; | |
private static final char[] HEIGHT_DOUBLE = {ESC,'w', '1'}; | |
// double strike (satu dot dicetak 2 kali) | |
private static final char[] DOUBLE_STRIKE_ON = {ESC,'G'}; | |
private static final char[] DOUBLE_STRIKE_OFF = {ESC,'H'}; | |
// http://www.berklix.com/~jhs/standards/escapes.epson | |
// condensed (huruf kurus) | |
private static final char[] CONDENSED_ON = {(char) 15}; | |
private static final char[] CONDENSED_OFF = {(char) 18}; | |
// condensed (huruf gemuk) | |
private static final char[] ENLARGED_ON = {(char) 14}; | |
private static final char[] ENLARGED_OFF = {(char) 20}; | |
// line spacing | |
private static final char[] SPACING_9_72 = {ESC, '0'}; | |
private static final char[] SPACING_7_72 = {ESC, '1'}; | |
private static final char[] SPACING_12_72 = {ESC, '2'}; | |
// set unit for margin setting | |
private static final char[] UNIT_1_360 = {ESC, (char)40, 'U', '1', '0'}; | |
// move vertical print position | |
private static final char[] VERTICAL_PRINT_POSITION = {ESC, 'J', '1'}; | |
public static void main(String[] args) throws IOException { | |
//String printer = "/dev/lp0"; // Linux | |
String printer = "/dev/usb/lp0"; // Windows | |
String message = "Hello World"; | |
// buat writernya | |
FileWriter writer = new FileWriter(printer); | |
/* | |
// set unit 1/3600 | |
writer.write(ESC); | |
writer.write((char)40); | |
writer.write('U'); | |
writer.write(1); | |
writer.write(0); | |
writer.write(1); | |
// ESC ( c 4 0 Set page length | |
writer.write(ESC); | |
writer.write((char)40); | |
writer.write('c'); | |
writer.write(4); | |
writer.write(0); | |
writer.write(1); //TH | |
writer.write(100); //TL | |
writer.write(37); //BH | |
writer.write(425); //BL | |
*/ | |
// set page length 22 | |
writer.write(ESC); | |
writer.write('C'); | |
writer.write(23); | |
cetakStruk("Draft Sans Serif Condensed", writer, | |
MODE_DRAFT, | |
FONT_SANS_SERIF, | |
CONDENSED_ON, | |
SIZE_10_CPI, | |
SPACING_12_72); | |
sendCommand(RESET, writer); | |
writer.close(); | |
} | |
public static void sendCommand(char[] command, Writer writer) throws IOException { | |
writer.write(command); | |
} | |
private static void cetakStruk(String title, FileWriter writer, char[]... mode) throws IOException { | |
sendCommand(RESET, writer); | |
for (int i = 0; i < mode.length; i++) { | |
char[] cmd = mode[i]; | |
sendCommand(cmd, writer); | |
} | |
cetakStruk(title,writer); | |
sendCommand(VERTICAL_PRINT_POSITION, writer); | |
} | |
private static void cetakStruk(String title, FileWriter writer) throws FileNotFoundException, IOException { | |
String strukFile = "LaporanTagihan.txt"; | |
BufferedReader reader = new BufferedReader(new FileReader(strukFile)); | |
String content = ""; | |
while((content = reader.readLine()) != null) { | |
writer.write(content); | |
gantiBaris(writer); | |
} | |
reader.close(); | |
} | |
private static void gantiBaris(Writer writer) throws IOException { | |
writer.write("\n"); | |
} | |
} |
Mas endy , kalo ingin mendapatkan port printer yang terhubung dengan komputer kita bagaimana mas ya ?
Mas Endy, aku copy pas sintak itu og error ya /dev/usb/lp0 tidak ditemukan...
dan kalo printer itu saya isi dengan nama printnya String pronter="Epson LX-310"; g ada eror, tapi printnya g jalan sama sekali..??? tolong dijawab ya ...
/dev/usb/lp0 itu untuk Linux dan printer USB.
Kalau pakai sistem operasi lain dan jenis printer lain saya kurang tau juga.
Coba kasi tau OS dan koneksi printer yang digunakan, nanti saya bantu cari
om bisa share contoh lainnya buat cetak faktur ini mas ?
mksih,salam kenal
Contoh lain yang kayak gimana? Memang yang ini kurang jelas di mananya?
mas endy, sy mengset seperti ini,
String printer = "EPSON L220 Series"; // WindowsXP printerUSB
tidak muncul error tapi tidak ada aksi di printer...
Halo salam kenal.
Saya coba membantu bagi yang bingung untuk setting printer name di dotmatrix epson.
String printer = "/dev/usb/lp0";
ini bisa dibuat dinamis dengan cara
- Setting default printer mengarah ke printer dotmatrix nya (pastikan driver printer sudah terinstall). Jika di windows bisa memakai control panel. Di Linux melalui menu setting -> printer.
- Dapatkan nama default printer nya terlebih melalui class PrintServiceLookup. Nama ini bisa berupa path/uri ke printer tersebut jika memakai jaringan LAN atau nama saja jika printer langsung terkoneksi dengan komputer. (Note biasanya utk printer LAN di linux perlu komponen CUPS )
Contohnya :
Windows:
import javax.print.PrintServiceLookup;
......
private String getDefaultPrinter() {
String defaultPrinter = "default";
try {
defaultPrinter = PrintServiceLookup.lookupDefaultPrintService().getName();
if (defaultPrinter.indexOf("\\\\") == -1) {
String[] newPrinter = defaultPrinter.split("_");
defaultPrinter = newPrinter.length == 2 ? "\\\\" + newPrinter[0] + "\\" + newPrinter[1] : "\\\\" + this.getLocalIp() + "\\" + defaultPrinter;
}
}
catch (Exception e) {
defaultPrinter = "\\\\" + this.getLocalIp() + "\\" + defaultPrinter;
}
return defaultPrinter;
}
private String getLocalIp() {
String ip_str = "127.0.0.1";
try {
InetAddress ip = InetAddress.getLocalHost();
ip_str = ip.getHostAddress();
}
catch (UnknownHostException e) {
e.printStackTrace();
}
return ip_str;
}
Linux:
import javax.print.PrintServiceLookup;
..........
private String getDefaultPrinter() {
String defaultPrinter = PrintServiceLookup.lookupDefaultPrintService().getName();
return defaultPrinter;
}
mas endy klo lewat web apakah bisa diimplementasikan pake aplet ya..???