java套打ems快遞單的簡單介紹

本文目錄一覽:

批量列印ems快遞步驟

快遞單上要列印什麼內容?如果是發貨人、收貨人信息還有條碼之類的,可以用領跑條碼列印軟體。這個是專門用來批量列印條碼或者是標籤的軟體,可以先設計好一個ems模板,主要是固定好將發貨人, 收件人,條碼列印到什麼位置上。然後將整理好的發貨收件人信息,編導excel表裡面或者是您有其他的現成的資料庫。導入到領跑條碼軟體中,對具體的快遞單內容進行數據調用後,就可以批量列印了。

2013新版EMS快遞面單Excel套打格式 EMS改了新版面單,使得原本的excel套打失效。誰有新版的?

用「列印內容」可以拖動的EXCEL表格,這樣就不怕面單變化了。現在也可以選擇了,因為有20個模板供選擇。任意的快遞單都可以列印

用java怎樣實現批量列印

下面是實現Java批量列印功能的具體工具類,其中的Info類和UserClass為具體的快遞面單中要列印的信息,以參數的方式傳遞過來,循環調用Java PrinterJob服務進行列印;這裡的快遞尺寸已經調整好,可以使用,如需添加只要根據實際的面單進行調整,也可以專門寫一個介面類的形式來創建快遞面單的尺寸,本人沒有嘗試;如遇問題歡迎留言,共同探討!

import java.awt.BasicStroke;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.print.Book;

import java.awt.print.PageFormat;

import java.awt.print.Paper;

import java.awt.print.Printable;

import java.awt.print.PrinterException;

import java.awt.print.PrinterJob;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import javax.swing.JOptionPane;

import com.myprint.model.Info;

import com.myprint.model.UserClass;

public class PrintUtil implements Printable{

/**

* 紙張尺寸

*/

private double width;

private double height;

/**

* 列印起始坐標

*/

private double startX;

private double startY;

//列印頁數

private int pages;

//列印數據坐標

private MapString, Float pcoord;

//發件方信息

private SenderInfo info;

//列印數據源

private ListUserClass sourcelist;

//private int PAGES = 0;

//private PrintPaper printpaper;

private UserObject obj;

public PrintUtil(){}

public PrintUtil(int expkind, UserObject obj, ListObject sourcelist)

{

this.pcoord = this.pcoord == null ? new HashMapString, Float() : this.pcoord;

this.pcoord.clear();

this.info = info;

this.sourcelist = sourcelist;

switch(expkind)

{

case 0: //EMS

this.width = 652;

this.height = 360;

this.startX = 30;

this.startY = 80;

this.pages = this.sourcelist == null ? 0 : this.sourcelist.size();

pcoord.put(“nameX”, 30F);

pcoord.put(“nameY”, 80F + 30F);

pcoord.put(“numX”, 30F + 90F);

pcoord.put(“numY”, 80F + 30F);

pcoord.put(“cmpX”, 30F);

pcoord.put(“cmpY”, 80F + 60F);

pcoord.put(“addrX”, 30F);

pcoord.put(“addrY”, 80F + 90F);

pcoord.put(“RnameX”, 30F + 290F);

pcoord.put(“RnameY”, 80F + 30F);

pcoord.put(“RnumX”, 30F + 390);

pcoord.put(“RnumY”, 80F + 30);

pcoord.put(“RcmpyX”, 30F + 280);

pcoord.put(“RcmpyY”, 80F + 55);

pcoord.put(“RaddrX”, 30F + 280);

pcoord.put(“RaddrY”, 80F + 90);

break;

case 1://順風快遞

this.width = 632;

this.height = 412;

this.startX = 40;

this.startY = 30;

this.pages = this.sourcelist == null ? 0 : this.sourcelist.size();

pcoord.put(“nameX”, 285F);

pcoord.put(“nameY”, 126F);

pcoord.put(“numX”, 200F);

pcoord.put(“numY”, 185F);

pcoord.put(“cmpX”, 120F);

pcoord.put(“cmpY”, 126F);

pcoord.put(“addrX”, 120F);

pcoord.put(“addrY”, 145F);

pcoord.put(“RnameX”, 275F);

pcoord.put(“RnameY”, 240F);

pcoord.put(“RnumX”, 200F);

pcoord.put(“RnumY”, 300F);

pcoord.put(“RcmpyX”, 130F);

pcoord.put(“RcmpyY”, 240F);

pcoord.put(“RaddrX”, 130F);

pcoord.put(“RaddrY”, 270F);

break;

case 2://申通快遞

this.width = 652;

this.height = 360;

this.startX = 30;

this.startY = 80;

this.pages = this.sourcelist == null ? 0 : this.sourcelist.size();

pcoord.put(“nameX”, 42F);

pcoord.put(“nameY”, 100F);

pcoord.put(“numX”, 62F);

pcoord.put(“numY”, 200F);

pcoord.put(“cmpX”, 42F);

pcoord.put(“cmpY”, 126F);

pcoord.put(“addrX”, 42F);

pcoord.put(“addrY”, 155F);

pcoord.put(“RnameX”, 320F);

pcoord.put(“RnameY”, 100F);

pcoord.put(“RnumX”, 330F);

pcoord.put(“RnumY”, 200F);

pcoord.put(“RcmpyX”, 310F);

pcoord.put(“RcmpyY”, 126F);

pcoord.put(“RaddrX”, 310F);

pcoord.put(“RaddrY”, 155F);

break;

default:

break;

}

}

/**

* @param Graphic指明列印的圖形環境

* @param PageFormat指明列印頁格式(頁面大小以點為計量單位,1點為1英才的1/72,1英寸為25.4毫米。A4紙大致為595×842點)

* @param pageIndex指明頁號

**/

public int print(Graphics gra, PageFormat pf, int pageIndex) throws PrinterException {

//轉換成Graphics2D

Graphics2D g2 = (Graphics2D) gra;

//設置列印顏色為黑色

g2.setColor(Color.black);

switch(pageIndex){

case 0:

Font font = new Font(“新宋體”, Font.PLAIN, 13);

g2.setFont(font);//設置字體

//BasicStroke bs_3=new BasicStroke(0.5f);

float[] dash1 = {2.0f};

g2.setStroke(new BasicStroke(0.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 2.0f, dash1, 0.0f));

g2.drawString(info.getSname() == null ? “” : info.getSname(), pcoord.get(“nameX”), pcoord.get(“SnameY”));

g2.drawString(info.getSnum() == null ? “” : info.getSnum(), pcoord.get(“numX”), pcoord.get(“numY”));

g2.drawString(info.getScmp() == null ? “” : info.getScmp(), pcoord.get(“cmpX”), pcoord.get(“cmpY”));

g2.drawString(info.getSaddr() == null ? “” : info.getSaddr(), pcoord.get(“addrX”), pcoord.get(“addrY”));

g2.drawString(obj.getRname() == null ? “” : obj.getRname(), pcoord.get(“rnameX”), pcoord.get(“rnameY”));

g2.drawString(obj.getRnum() == null ? “” : obj.getRnum(), pcoord.get(“rnumX”), pcoord.get(“rnumY”));

g2.drawString(obj.getRcmpy() == null ? “” : obj.getRcmpy(), pcoord.get(“rcmpyX”), pcoord.get(“rcmpyY”));

g2.drawString(obj.getRaddr() == null ? “” : obj.getRaddr(), pcoord.get(“raddrX”), pcoord.get(“raddrY”));

return PAGE_EXISTS;

default:

return NO_SUCH_PAGE;

}

}

// 列印內容到指定位置

public void printContent()

{

if (sourcelist != null sourcelist.size() 0) // 當列印內容不為空時

{

//PAGES = printpaper.getSourcelist().size(); // 獲取列印總頁數

// 書、文檔

Book book = new Book();

// 設置成豎打

PageFormat pf = new PageFormat();

pf.setOrientation(PageFormat.PORTRAIT);

// 通過Paper設置頁面的空白邊距和可列印區域。

Paper p = new Paper();

p.setSize(this.width,this.height);//紙張大小

p.setImageableArea(this.startX,this.startY, this.width,this.height);//設置列印區域

pf.setPaper(p);

// 把 PageFormat 和 Printable 添加到書中,組成一個頁面

book.append(this, pf);

//獲取列印服務對象

PrinterJob job = PrinterJob.getPrinterJob();

// 設置列印類

job.setPageable(book);

try {

//直接列印

for(UserObject obj: sourcelist)

{

this.obj= obj;

job.print();

}

//}

} catch (PrinterException e) {

e.printStackTrace();

}

}

else

{

// 如果列印內容為空時,提示用戶列印將取消

JOptionPane.showConfirmDialog(null,

“對不起, 列印內容為空, 列印取消!”,

“提示”, JOptionPane.DEFAULT_OPTION,

JOptionPane.WARNING_MESSAGE);

}

}

}

怎麼通過java獲得EMS追蹤查詢運單號信息,並且將信息抓取到

Scanner input = new Scanner(System.in)

首先.你的.java文件中必須包含

import java.util.Scanner , 或 import java.util.*,

才能使用這句.因為要用到Scanner

Scanner對象是可以 讀取控制台的輸入

Scanner input = new Scanner(),

這是一般的對象創建方法.你應該懂吧.

加了一個對象System.in參數.表示傳遞的是鍵盤的輸入.懂了吧? (不懂就去把對象和參數傳遞看懂來.)

就是說Scanner類的這個input對象可以調用鍵盤上輸入的東西.

比如 String name=input.nextLine(),

表示你在命令行輸入的下一行字元串 它被存放在name變數里。

又比如 int i = input.nextint(),

表示你在命令行輸入的下一個完整的輸入 被存放在int(整數)變數里。

悲情蝻子,你要學著看api文檔:

不懂的問題最好能先百度再谷歌,然後再問,不過無所謂啦,能得到答案就是好方法。

如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!

vaela

原創文章,作者:SROZN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/330834.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
SROZN的頭像SROZN
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29

發表回復

登錄後才能評論