❶ java导出的pdf文件是空白是因为什么
以LabelPainter导出的PDF文件空白为例子,首先要看下制作出来的文件预览是否是显示空白的,预览显示是有问题的话,那就需要检查一下在制作的时候那一步出错了。
首先考虑制作的标签内容中是否含有空内容,或者是空符号等等,是的话检查一下数据源中的数据信息,给修改为正确的信息就可以正常显示了。还有就是如果是使用数据库导入的方式进行操作的话,你的数据源是否修改移动在电脑中的路径了,是的话,给恢复到原来的位置即可,或者重新在数据库设置修改一下,之后在数据库导入一下。
![](//www.craffts.com/images/loading.jpg)
❷ 如何用java实现导出PDF格式的文档
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import com.itextpdf.text.*; import com.itextpdf.text.pdf.PdfWriter; public class PdfTest { public static void main(String[] args) throws Exception { Document pdfDoc = new Document(); // 将要生成的 pdf 文件的路径输出流 FileOutputStream pdfFile = new FileOutputStream(new File("F:/study/test/firstPdf.pdf")); // pdf 文件中的一个文字段落 Paragraph paragraph = new Paragraph("My first PDF file with an image ..."); Image image = Image.getInstance("F:/study/test/洛克 李.jpg"); // 用 Document 对象、File 对象获得 PdfWriter 输出流对象 PdfWriter.getInstance(pdfDoc, pdfFile); pdfDoc.open(); // 打开 Document 文档 // 添加一个文字段落、一张图片 pdfDoc.add(paragraph); pdfDoc.add(image); pdfDoc.close(); } }
❸ Java导出PDF的功能怎么实现
转pdf时,有2种解决方法
1 itext ,这个我就不说了 ,代码很多,我想你也实践过。
2 通过openoffice转换为pdf 。这个比较繁琐,要安装一系列的组件,网络上也有类似的文章,前段时间我开发仿网络文库的功能,就是将普通的办公文档在网页显示,办公文档-openoffice(pdf)-swftools(swf)-flexpaper,就是这样的流程,如果需要,我将所用到的组件发你,代码就不能给你了(嘿嘿)。操作excel 或word 还是比较容易的,将生成好的excel或word转换为pdf非常容易,基本上是原样输出
![](//www.craffts.com/images/loading.jpg)
❹ 有关Java导出pdf的功能
转pdf时,有2种解决方法
1 itext ,这个我就不说了 ,代码很多,我想你也实践过。
2 通过openoffice转换为pdf 。这个比较繁琐,要安装一系列的组件,网络上也有类似的文章,前段时间我开发仿网络文库的功能,就是将普通的办公文档在网页显示,办公文档-openoffice(pdf)-swftools(swf)-flexpaper,就是这样的流程,如果需要,我将所用到的组件发你,代码就不能给你了(嘿嘿)。操作excel 或word 还是比较容易的,将生成好的excel或word转换为pdf非常容易,基本上是原样输出
![](//www.craffts.com/images/loading.jpg)
❺ java导出PDF文档
java导出pdf需要用到iText库,iText是着名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf
的文档,而且可以将XML、Html文件转化为PDF文件。
iText的安装非常方便,下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,在程序中就可以使用
iText类库了。
代码如下:
public class createPdf {
//自己做的一个简单例子,中间有图片之类的
//先建立Document对象:相对应的 这个版本的jar引入的是com.lowagie.text.Document
Document document = new Document(PageSize.A4, 36.0F, 36.0F, 36.0F, 36.0F);
public void getPDFdemo() throws DocumentException, IOException{
//这个导出用的是 iTextAsian.jar 和iText-2.1.3.jar 属于比较老的方法。 具体下在地址见:
//首先
//字体的定义:这里用的是自带的jar里面的字体
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);
// 当然你也可以用你电脑里面带的字体库
//BaseFont bfChinese = BaseFont.createFont("C:/WINDOWS/Fonts/SIMSUN.TTC,1",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
//定义字体 注意在最新的包里面 颜色是封装的
Font fontChinese8 = new Font(bfChinese, 10.0F, 0, new Color(59, 54, 54));
//生成pdf的第一个步骤:
//保存本地指定路径
saveLocal();
document.open();
ByteArrayOutputStream ba = new ByteArrayOutputStream();
// PdfWriter writer = PdfWriter.getInstance(document, ba);
document.open();
//获取此编译的文件路径
String path = this.getClass().getClassLoader().getResource("").getPath();
//获取根路径
String filePath = path.substring(1, path.length()-15);
//获取图片路径 找到你需要往pdf上生成的图片
//这里根据自己的获取的路径写 只要找到图片位置就可以
String picPath = filePath +"\\WebContent" +"\\images\\";
//往PDF中添加段落
Paragraph pHeader = new Paragraph();
pHeader.add(new Paragraph(" 你要生成文字写这里", new Font(bfChinese, 8.0F, 1)));
//pHeader.add(new Paragraph("文字", 字体 可以自己写 也可以用fontChinese8 之前定义好的 );
document.add(pHeader);//在文档中加入你写的内容
//获取图片
Image img2 = Image.getInstance(picPath +"ccf-stamp-new.png");
//定义图片在文档中显示的绝对位置
img2.scaleAbsolute(137.0F, 140.0F);
img2.setAbsolutePosition(330.0F, 37.0F);
//将图片添加到文档中
document.add(img2);
//关闭文档
document.close();
/*//设置文档保存的文件名
response.setHeader("Content-
disposition", "attachment;filename=\""+ new String(("CCF会员资格确认
函.pdf").getBytes("GBK"),"ISO-8859-1") + "\"");
//设置类型
response.setContentType("application/pdf");
response.setContentLength(ba.size());
ServletOutputStream out = response.getOutputStream();
ba.writeTo(out);
out.flush();*/
}
public static void main(String[]args) throws DocumentException, IOException{
createPdf pdf= new createPdf();
pdf.getPDFdemo();
}
//指定一个文件进行保存 这里吧文件保存到D盘的text.pdf
public void saveLocal() throws IOException, DocumentException{
//直接生成PDF 制定生成到D盘test.pdf
File file = new File("D:\\text2.pdf");
file.createNewFile();
PdfWriter.getInstance(document, new FileOutputStream(file));
}
}
❻ java导出的pdf文件是空白是因为什么
导出的PDF大小是否是0kb?如果是0,那就是没有把内容写入到pdf,看下如下导出方法:
importjava.awt.*;
importjava.awt.geom.Point2D;
importjava.awt.geom.Rectangle2D;
importjava.io.*;
importcom.spire.pdf.PdfPageBase;
importcom.spire.pdf.graphics.*;
{
publicstaticvoidmain(String[]args)throwsFileNotFoundException,IOException{
//创建PdfDocument对象
PdfDocumentdoc=newPdfDocument();
//添加一页
PdfPageBasepage=doc.getPages().add();
//标题文字
Stringtitle="Java基础语法";
//创建单色画刷对象
PdfSolidBrushbrush1=newPdfSolidBrush(newPdfRGBColor(Color.BLUE));
PdfSolidBrushbrush2=newPdfSolidBrush(newPdfRGBColor(Color.BLACK));
//创建TrueType字体对象
PdfTrueTypeFontfont1=newPdfTrueTypeFont(newFont("ArialUnicodeMS",Font.PLAIN,14),true);
PdfTrueTypeFontfont2=newPdfTrueTypeFont(newFont("ArialUnicodeMS",Font.PLAIN,10),true);
//创建PdfStringFormat对象
PdfStringFormatformat1=newPdfStringFormat();
format1.setAlignment(PdfTextAlignment.Center);//设置文字居中
//使用drawString方法绘制标题文字
page.getCanvas().drawString(title,font1,brush1,newPoint2D.Float(page.getActualBounds(true).width/2,0),format1);
//从txt文件读取内容到字符串
Stringbody=readFileToString("C:\Users\Administrator\Desktop\bodyText.txt");
//创建PdfStringFormat对象
PdfStringFormatformat2=newPdfStringFormat();
format2.setParagraphIndent(20);//设置段首缩进
//创建Rectangle2D对象
Rectangle2D.Floatrect=newRectangle2D.Float(0,30,page.getActualBounds(true).width,page.getActualBounds(true).height);
//使用drawString方法在矩形区域绘制主体文字
page.getCanvas().drawString(body,font2,brush2,rect,format2);
//保存到PDF文档
doc.saveToFile("ouput.pdf");
}
//自定义方法读取txt文件内容到字符串
(Stringfilepath)throwsFileNotFoundException,IOException{
StringBuildersb=newStringBuilder();
Strings="";
BufferedReaderbr=newBufferedReader(newFileReader(filepath));
while((s=br.readLine())!=null){
sb.append(s+"
");
}
br.close();
Stringstr=sb.toString();
returnstr;
}
}
PDF到处效果如下图:
![](//www.craffts.com/images/loading.jpg)