導航:首頁 > 編程語言 > java客戶端列印

java客戶端列印

發布時間:2022-08-28 10:26:53

『壹』 java列印功能問題:在伺服器上運行的代碼,怎麼樣能夠在客戶端頁面顯示列印對話框

是一個Web應用?要在客戶端顯示列印對話框,Java是幹不了這事的,除非用Applet技術。

你可以用Javascript來實現。具體可以在網路搜索javascript列印

『貳』 java如何獲取客戶端列印機 求教

Server端後台代碼實現的列印,當然只能查找server所在的網路列印機咯。Server端最多知道client端IP相關的信息,要操作client端的事情,只能以此為延伸想辦法吧。

『叄』 java如何實現列印功能

Print.java--列印內容定義

[code]
import java.awt.*;
import java.awt.event.*;
import java.awt.print.*;
import java.awt.image.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.event.*;
import java.util.*;
import java.io.*;

public class Print implements Printable{
int m_wPage;
int m_hPage;
int m_orientation;
Printable m_target;
int maxNumPage=1;
String title="數據表格列印";
Font titleFont=new Font("黑體",Font.BOLD,14);
boolean hasTail=true;
int tailAlign=0;
int headAlign=0;
int topSpace=0;
int leftSpace=0;

int yStart=0;
int yEnd=0;
int xStart=topSpace;
int xEnd=0;
int x=0,y=0;

String strTemp="列印內容";

public void doPrint(){
try{
m_orientation=PageFormat.PORTRAIT;
//設置列印對象,默認紙張
PrinterJob prnJob=PrinterJob.getPrinterJob();
PageFormat pageFormat=prnJob.defaultPage();
pageFormat.setOrientation(m_orientation);
m_wPage=(int)(pageFormat.getWidth());
m_hPage=(int)(pageFormat.getHeight());

//將待列印的窗體根據默認紙張設置傳入列印對象
prnJob.setPrintable(this,pageFormat);
if(!prnJob.printDialog()) return;
prnJob.print();
}catch(PrinterException ex){
ex.printStackTrace();
System.err.println("列印錯誤:"+ex.toString());
}
}
/**
* 初始化列印參數
*/
public void initPrintParameter()
{

}

/**
*構造列印內容,以送列印機列印
*/
public int print(Graphics pg,PageFormat pageFormat,
int pageIndex) throws PrinterException{
//初始化列印參數
initPrintParameter();

//將畫布設置為頁面大小
pg.translate((int)pageFormat.getImageableX(),
(int)pageFormat.getImageableY());
int wPage=0;
int hPage=0;

//根據列印機頁面設置調整畫布大小
if(pageFormat.getOrientation()==pageFormat.PORTRAIT){
wPage=(int)pageFormat.getImageableWidth();
hPage=(int)pageFormat.getImageableHeight();
}
else{
wPage=(int)pageFormat.getImageableWidth();
wPage+=wPage/2;
hPage=(int)pageFormat.getImageableHeight();
pg.setClip(0,0,wPage,hPage);
}
wPage=wPage-2*leftSpace;
hPage=hPage-2*topSpace;
xStart=leftSpace;
xEnd=wPage-2;

//為畫布設置顏色和字體
int y=topSpace;
pg.setFont(titleFont);
pg.setColor(Color.black);
//畫標題,並使其居中
Font fn=pg.getFont();
FontMetrics fm=pg.getFontMetrics();
y+=fm.getAscent();
alignText(title,pg,y,xStart,xEnd,headAlign);
y+=30;

x=leftSpace+2;

Font headerFont=new Font("宋體",Font.BOLD,14);
pg.setFont(headerFont);
fm=pg.getFontMetrics();

int h=fm.getAscent();
yStart=y-1;
y+=h;

pg.setFont(headerFont);
fm=pg.getFontMetrics();
int header=y;
h=fm.getHeight();

//計算行高,每頁行數,總行數和指定頁碼的起始行、結束行
int rowH=Math.max(h,10);
int tailH=rowH+30;
int rowPerPage=0;
int leftPix=0;
if(hasTail){
rowPerPage=(hPage-header-tailH)/rowH;
leftPix=(hPage-header-tailH)%rowH;
yEnd=hPage-leftPix-tailH+2;
}
else{
rowPerPage=(hPage-header)/rowH;
leftPix=(hPage-header)%rowH;
yEnd=hPage-leftPix+2;
}

pg.drawString(strTemp,x,y);

//畫表格邊框
pg.drawLine(xStart,yStart,xStart,yEnd);
pg.drawLine(xStart,yStart,xEnd,yStart);
pg.drawLine(xEnd,yStart,xEnd,yEnd);
pg.drawLine(xStart,yEnd,xEnd,yEnd);

//列印頁碼
if(hasTail){
int pageNumber=pageIndex+1;
String s="第"+pageNumber+"頁";
alignText(s,pg,yEnd+30,xStart,xEnd,tailAlign);
}
System.gc();
return PAGE_EXISTS;
}

/**
* 文字排列,坐標在y處,顯示範圍(start-end)
* 0表示居中顯示,1表示左對齊,2表示右對齊
*/
private void alignText(String s,Graphics pg,int y,int start,
int end,int mode){
Font fn=pg.getFont();
FontMetrics fm=pg.getFontMetrics();
int wString=fm.stringWidth(s);
int x=start;
switch(mode)
{
case 0:
if((end-start-wString)>0) x=start+(end-start-wString)/2;
break;
case 1:
break;
case 2:
if((end-start-wString)>0) x=start+(end-start-wString);
break;
}
pg.drawString(s,x,y);
}
public static void main(String[] args){
Print p=new Print();
p.doPrint();
}
}
[code]

運行方法:
>javac -d . Print.java
>java Print

自己運行一下

『肆』 如何在java web項目中實現列印功能,比如一

你可以了解下jatoolsprint 目前所遇到的列印問題都可以解決。
不過要裝一個控制項。大小60K.
這是他們網上的介紹。你可以了解下。

jatoolsPrinter (傑表.列印控制項)是一款實現網頁套打的專用工具。作為web應用開發者,我們經常會遇到在瀏覽器中列印報表、票據的需求,這些需求瀏覽器本身的列印功能一般不能滿足, 如精確分頁,套打等。這就需要有一種能解決常見的瀏覽器端列印問題的軟體工具,這也是 jatoolsPrinter 的研發背景。

jatoolsPrinter 的特點是可以直接對web頁面進行精確的分頁列印。jatoolsPrinter 通過在網頁中嵌入控制項,解決了web客戶端精確列印,批量列印,列印配置自動保留等問題。 具體功能有:

支持設置列印參數,指定輸出列印機、紙張類型,列印方向(橫、豎)等 。
支持html格式的頁腳、頁眉設置,也就是說,頁腳頁眉可設置圖片等,如公司logo。
支持程序分頁與自動分頁。
支持列印參數自動保留,待下一次列印同一票據時,自動設置,這使客戶端也可以控制列印參數。
支持列印預覽,支持預覽時指定頁、指定份數列印。
支持直接列印指定票據的URL。
支持票據及其附件的批量列印。
支持取得本機中的可用列印機,可用紙張類型列表,幫您設計出更友好的參數設置界面。
支持回調,可以幫助您在列印後自動處理有關事務,比如列印後自動關閉窗口、自動遞交表單數據等。
支持票據套打時,底圖僅在列印預覽時顯示,不輸出到列印機。
小巧,整個控制項只有60K。不需要額外的軟體包支持。
與您項目採用的技術標准無關,J2EE、.NET 項目均可。
IE 5.5+ 中適用。

『伍』 如何通過java設置客戶端列印格式

System.getProperty("file.encoding");//獲取java環境默認編碼
System.setProperty("file.encoding", "utf-8");//設置java環境默認編碼
request.getCharacterEncoding();//JSP獲取客戶端請求的編碼
request.setCharacterEncoding("utf-8");//JSP設置客戶端請求的編碼
response.getCharacterEncoding();//JSP設置伺服器端應答的編碼
response.setCharacterEncoding("UTF-8");//JSP設置伺服器端應答的編碼
估計是用這些方法的 我也是Google來的 希望對你有幫助

『陸』 java(web)列印 通常是怎麼實現的

Web系統中,列印功能一直是個老大難問題,因此產生了很多第三方的控制項,多數要收費,而且跟自己的系統結合有一定的麻煩。系統採用J2EE技術,jsp列印問題同樣存在於OA中。
列印方式有三種:一是不經過任何修改,直接調用javascript中的window.print()列印。二根據客戶要求的報表格式,編寫相應格式的html,裝載數據列印,同樣調用window.print()列印,只是對html的格式要求比較高。三是通過客戶提供的word格式,通過xml配置文件與資料庫的數據進行關聯,自動裝載數據到word中列印,這里是利用客戶端的word進行列印。
第一種幾乎不用編寫程序,最簡單快捷,這里會遇到幾個問題,只能列印表單內容,按鈕不希望列印出來;頁眉頁腳不想列印出來;IE的titile不想列印出來。

『柒』 使用java如何將伺服器端的word文檔在客戶端列印出來,不允許下載。最好也不要頁面展示,有辦法實現么

你說阻止下載、保存提示,但是又要打開伺服器端站點的資源。
可是你要弄明白一點,就算是頁面上的一張圖片,都是從伺服器下載過來的資源,只是瀏覽器默認載入而已。如何不在頁面顯示word文檔內容,也不通過下載,那客戶端如何能看到伺服器端的資源文檔?

閱讀全文

與java客戶端列印相關的資料

熱點內容
願望清單app哪個好 瀏覽:457
安卓外放聲音怎麼解決 瀏覽:194
脈脈app干什麼用的 瀏覽:357
拽姐是哪個app 瀏覽:858
雲伺服器刪除了還有嗎 瀏覽:232
macbook可以用單片機嘛 瀏覽:307
南陽php招聘 瀏覽:814
去哪裡找按摩師很漂亮的app 瀏覽:818
86x99用簡便演算法計算 瀏覽:830
php截圖flash 瀏覽:274
卸載聯想app哪個好 瀏覽:721
php文字轉圖片 瀏覽:332
豆客後台怎麼加密碼 瀏覽:575
jpg轉換pdf破解版 瀏覽:979
php基礎書籍推薦 瀏覽:779
伺服器與外網不通如何驗證 瀏覽:353
電子版是不是就是文件夾 瀏覽:52
游戲屬性文件加密 瀏覽:464
如何讓安卓手機桌面圖標下移 瀏覽:530
ubuntuphp5環境搭建 瀏覽:101