我想將我的Java程序生成的PDF保存到Mysql數據庫中,並試圖在Java程序中檢索/顯示相同內容。下面的代碼有什麼我迄今所做的,從MySql/Java檢索並顯示PDF文檔
public class Save_PDFimage extends javax.swing.JFrame {
private ImageIcon format = null;
Connection conn = null;
ResultSet rs=null;
PreparedStatement pst=null;
//String filename = "C:\\Users\\***\\Desktop\\n.png";
String filename = "C:\\Users\\***\\Desktop\\in.pdf";
int s = 0;
byte[] person_image = null;
private void Save_DBActionPerformed(java.awt.event.ActionEvent evt) {
try {
File image = new File(filename);
FileImageInputStream FIS = new FileImageInputStream(image);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
for(int readNum; (readNum=FIS.read(buf))!=-1;) {
bos.write(buf,0,readNum);
}
person_image = bos.toByteArray();
} catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
try {
String sql = "Insert into invoices (Pdfs, Invoice_no_R) values(?,?)";
String i= "1";
pst = conn.prepareStatement(sql);
pst.setBytes(1, person_image);
pst.setString(2, i);
pst.execute();
} catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
}
// Code for displaying the retrieved PDF in a jLabel
private void Show_imageActionPerformed(java.awt.event.ActionEvent evt) {
try {
String sql = "select Pdfs from invoices where Invoice_no_R = 1";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
if (rs.next())
{
byte[] Imagedata = rs.getBytes("Pdfs");
format = new ImageIcon(Imagedata);
jLabel1.setIcon(format);
}
} catch(Exception e) {
JOptionPane.showMessageDialog(null, e);
e.printStackTrace();
} }
我能夠保存PDF中,但程序取回後不顯示圖像,相同的邏輯工作正常的PNG/JPG文件。
請幫助...
拉梅什
你可以嘗試[pdfOne](http://code.google.com/p/pdfonejava/),它有一個jar下載轉換PDF格式爲JPEG,如果GPL許可證適合你。 – 2013-02-27 11:56:51
感謝您的建議,我正在嘗試着解決這個問題。將更新你,如果它符合我的目的。 – 2013-02-27 12:06:14