當前位置:首頁 » 編程語言 » java列印預覽

java列印預覽

發布時間: 2022-02-15 23:23:37

『壹』 java swing jtable 列印+列印預覽(求代碼)

使用JTABLE做出和列印預覽一樣的分頁效果然後PAINT出來就可以了!

『貳』 如何用java中的JPanel或者Jframe中 顯示word文檔,word文檔的格式不變,就是用java做列印預覽,預覽word

如果是word文檔格式不變的話 你就得知道它的編碼方式 不像是純文本的東西可以直接取出來
這個好像只能用POI來操作word文件吧。

『叄』 java實現列印功能需要的jar包有哪些 實現預覽需要的功能有哪些

java實現列印功能不需要導包,javax.print.*; 這個包下都是實現列印和預覽的類.你打開API ,在搜索欄里輸入列印搜搜就可以看到一些列印的介面 .至於怎麼實現列印和預覽請對著API看好嗎?

『肆』 Java如何實現列印預覽

豬哥解答:
我這里有以前收藏的代碼,兩個類實現了簡易的文本列印機的功能,包括預覽。簡單跟你說一下。
1、PrinterDemo.java主體類,也是入口類,裡面有main方法可以直接在Eclipse中調試運行,他實現了從本地磁碟讀取文本類文件列印以及列印預覽的功能,其中File動作按鈕中的PrintPreviw就是列印預覽功能,你可以運行看看。
2、PrintPreview.java列印預覽類,這是專門為預覽列印設計的類,通過他的構造方法可以構造出一個預覽類,PrinterDemo中的預覽功能就是調用了這個類。

兩個類放在同一個包下。

提交不上去,我把源碼貼上來提交不了,字數也沒有超標。你留一個郵箱,或者等我的文庫上傳的源碼吧,我放到文庫里,還在審批。

問題補充:檔案已經上傳到文庫里了,地址是
DOC格式的:http://wenku..com/view/048ae0e8856a561252d36fab.html
PDF格式的:http://wenku..com/view/67c57a69011ca300a6c390fd.html
你下來看看吧。

『伍』 請問java swing程序怎麼實現JTable的列印預覽和列印注意 列印前需要類似於Excel的列印預覽

請問樓主 你解決了嗎 我也需要這個

『陸』 急求一個用Java實現的列印及列印預覽功能的Demo

package com.szallcom.tools;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Line2D;
import java.awt.geom.Rectangle2D;
import java.awt.print.PageFormat;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;

import wf.common.SystemProperties;

public class PrintPreviewDialog extends JDialog implements ActionListener{

private JButton nextButton = new JButton("Next");
private JButton previousButton = new JButton("Previous");
private JButton closeButton = new JButton("Close");
private JPanel buttonPanel = new JPanel();
private PreviewCanvas canvas;

public PrintPreviewDialog(Frame parent, String title, boolean modal,
PrintTest pt, String str) {
super(parent, title, modal);
canvas = new PreviewCanvas(pt, str);
setLayout();
}

private void setLayout() {
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(canvas, BorderLayout.CENTER);

nextButton.setMnemonic('N');
nextButton.addActionListener(this);
buttonPanel.add(nextButton);
previousButton.setMnemonic('N');
previousButton.addActionListener(this);
buttonPanel.add(previousButton);
closeButton.setMnemonic('N');
closeButton.addActionListener(this);
buttonPanel.add(closeButton);
this.getContentPane().add(buttonPanel, BorderLayout.SOUTH);
this.setBounds((int) ((SystemProperties.SCREEN_WIDTH - 400) / 2),
(int) ((SystemProperties.SCREEN_HEIGHT - 400) / 2), 400, 400);
}

public void actionPerformed(ActionEvent evt) {
Object src = evt.getSource();
if (src == nextButton)
nextAction();
else if (src == previousButton)
previousAction();
else if (src == closeButton)
closeAction();
}

private void closeAction() {
this.setVisible(false);
this.dispose();
}

private void nextAction() {
canvas.viewPage(1);
}

private void previousAction() {
canvas.viewPage(-1);
}

class PreviewCanvas extends JPanel {
private String printStr;
private int currentPage = 0;
private PrintTest preview;

public PreviewCanvas(PrintTest pt, String str) {
printStr = str;
preview = pt;
}

public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
PageFormat pf = PrinterJob.getPrinterJob().defaultPage();

double xoff;
double yoff;
double scale;
double px = pf.getWidth();
double py = pf.getHeight();
double sx = getWidth() - 1;
double sy = getHeight() - 1;
if (px / py < sx / sy) {
scale = sy / py;
xoff = 0.5 * (sx - scale * px);
yoff = 0;
} else {
scale = sx / px;
xoff = 0;
yoff = 0.5 * (sy - scale * py);
}
g2.translate((float) xoff, (float) yoff);
g2.scale((float) scale, (float) scale);

Rectangle2D page = new Rectangle2D.Double(0, 0, px, py);
g2.setPaint(Color.white);
g2.fill(page);
g2.setPaint(Color.black);
g2.draw(page);

try {
preview.print(g2, pf, currentPage);
} catch (PrinterException pe) {
g2.draw(new Line2D.Double(0, 0, px, py));
g2.draw(new Line2D.Double(0, px, 0, py));
}
}

public void viewPage(int pos) {
int newPage = currentPage + pos;
if (0 <= newPage && newPage < preview.getPagesCount(printStr)) {
currentPage = newPage;
repaint();
}
}
}
}

package wf.common;

import java.awt.Dimension;
import java.awt.Font;
import java.awt.GraphicsEnvironment;
import java.awt.Toolkit;

public final class SystemProperties {

public static final double SCREEN_WIDTH = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
public static final double SCREEN_HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
public static final String USER_DIR = System.getProperty("user.dir");
public static final String USER_HOME = System.getProperty("user.home");
public static final String USER_NAME = System.getProperty("user.name");
public static final String FILE_SEPARATOR = System.getProperty("file.separator");
public static final String LINE_SEPARATOR = System.getProperty("line.separator");
public static final String PATH_SEPARATOR = System.getProperty("path.separator");
public static final String JAVA_HOME = System.getProperty("java.home");
public static final String JAVA_VENDOR = System.getProperty("java.vendor");
public static final String JAVA_VENDOR_URL = System.getProperty("java.vendor.url");
public static final String JAVA_VERSION = System.getProperty("java.version");
public static final String JAVA_CLASS_PATH = System.getProperty("java.class.path");
public static final String JAVA_CLASS_VERSION = System.getProperty("java.class.version");
public static final String OS_NAME = System.getProperty("os.name");
public static final String OS_ARCH = System.getProperty("os.arch");
public static final String OS_VERSION = System.getProperty("os.version");
public static final String[] FONT_NAME_LIST = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
public static final Font[] FONT_LIST = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
}

『柒』 做一個軟體系統(java)時,如何在頁面加列印預覽按鈕,及列印功能。

Java 列印程序設計
http: // www.ibm.com / developerworks / cn /java/ l-javaprint/
自行去掉空格,網路抽風,直接發網址會被和諧掉 ~~o(>_<)o ~~

『捌』 JAVA實現JTable的列印和列印預覽功能

這個很簡單,你去看看jdk demo吧


『玖』 java 列印 我想寫個方法可以列印jTextArea中的內容,弄了半天沒出來,列印預覽什麼的可以沒有 請大家幫幫

搞個按鈕,事件內容為
JOptionPane.showMessageDialog(null, 文本域名.getText());
在文本域里寫幾個字,按一下按鈕,O了.

『拾』 求一個java列印預覽的源碼,是基於桌面的程序,不是web版的

兄弟,哥幫你弄,不收費,只要給採納就可以了!代碼如下:

packagetest;

importjava.awt.*;
importjava.awt.print.*;

{
intm_wPage;
intm_hPage;
intm_orientation;
Printablem_target;
intmaxNumPage=1;
Stringtitle="數據表格列印";
FonttitleFont=newFont("黑體",Font.BOLD,14);
booleanhasTail=true;
inttailAlign=0;
intheadAlign=0;
inttopSpace=0;
intleftSpace=0;

intyStart=0;
intyEnd=0;
intxStart=topSpace;
intxEnd=0;
intx=0,y=0;

StringstrTemp="列印內容";

publicvoiddoPrint(){
try{
m_orientation=PageFormat.PORTRAIT;
//設置列印對象,默認紙張
PrinterJobprnJob=PrinterJob.getPrinterJob();
PageFormatpageFormat=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(PrinterExceptionex){
ex.printStackTrace();
System.err.println("列印錯誤:"+ex.toString());
}
}

/**
*初始化列印參數
*/
publicvoidinitPrintParameter(){

}

/**
*構造列印內容,以送列印機列印
*/
publicintprint(Graphicspg,PageFormatpageFormat,intpageIndex)
throwsPrinterException{
//初始化列印參數
initPrintParameter();

//將畫布設置為頁面大小
pg.translate((int)pageFormat.getImageableX(),(int)pageFormat
.getImageableY());
intwPage=0;
inthPage=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;

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

x=leftSpace+2;

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

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

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

//計算行高,每頁行數,總行數和指定頁碼的起始行、結束行
introwH=Math.max(h,10);
inttailH=rowH+30;
introwPerPage=0;
intleftPix=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){
intpageNumber=pageIndex+1;
Strings="第"+pageNumber+"頁";
alignText(s,pg,yEnd+30,xStart,xEnd,tailAlign);
}
System.gc();
returnPAGE_EXISTS;
}

/**
*文字排列,坐標在y處,顯示範圍(start-end)0表示居中顯示,1表示左對齊,2表示右對齊
*/
privatevoidalignText(Strings,Graphicspg,inty,intstart,intend,
intmode){
Fontfn=pg.getFont();
FontMetricsfm=pg.getFontMetrics();
intwString=fm.stringWidth(s);
intx=start;
switch(mode){
case0:
if((end-start-wString)>0)
x=start+(end-start-wString)/2;
break;
case1:
break;
case2:
if((end-start-wString)>0)
x=start+(end-start-wString);
break;
}
pg.drawString(s,x,y);
}

publicstaticvoidmain(String[]args){
JavaPrintp=newJavaPrint();
p.doPrint();
}
}

我的名字雷鋒,請採納~~

熱點內容
java如何運行程序 發布:2025-01-10 07:25:53 瀏覽:562
冒險島電腦連接伺服器失敗 發布:2025-01-10 07:23:01 瀏覽:824
安卓開發要學什麼語言 發布:2025-01-10 07:21:30 瀏覽:21
紹興編程培訓 發布:2025-01-10 07:16:53 瀏覽:300
java介面和類 發布:2025-01-10 07:09:14 瀏覽:403
discuzforlinux安裝 發布:2025-01-10 07:09:10 瀏覽:229
招行支票密碼器口令是多少 發布:2025-01-10 06:55:27 瀏覽:353
好的解壓拓展實力怎麼樣 發布:2025-01-10 06:49:18 瀏覽:699
租伺服器會自帶公網ip么 發布:2025-01-10 06:49:17 瀏覽:348
mfc中ftp上傳與下載 發布:2025-01-10 06:47:06 瀏覽:350