public boolean convertHtmlToPdf(String inputFile, String outputFile)
throws Exception {
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
String url = new File(inputFile).toURI().toURL().toString();
renderer.setDocument(url);
// 解决中文支持问题
ITextFontResolver fontResolver = renderer.getFontResolver();
fontResolver.addFont("C:/Windows/Fonts/SIMSUN.TTC", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
//解决图片的相对路径问题
renderer.getSharedContext().setBaseURL("file:/D:/");
renderer.layout();
renderer.createPDF(os);
os.flush();
os.close();
return true;
}
上面这段代码是这样的,输入一个HTML地址URL = inputFile,输入一个要输出的地址,就可以在输出的PDF地址中生成这个PDF。
‘贰’ java pdf转图片问题
搜索添加spire.pdf.jar文件为依赖,pdf转图片代码如下:
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import com.spire.pdf.PdfDocument;
import javax.imageio.ImageIO;
public class toImage {
public static void main(String[] args) throws IOException {
//加载PDF文件
PdfDocument doc = new PdfDocument();
doc.loadFromFile("Sample.pdf");
//保存PDF的每一页到图片
BufferedImage image;
for (int i = 0; i < doc.getPages().getCount(); i++) {
image = doc.saveAsImage(i);
File file = new File( String.format("ToImage-img-%d.png", i));
ImageIO.write(image, "PNG", file);
}
doc.close();
}
}
‘叁’ 求个将图片转成pdf文档的java程序,最好有注解,我用pdfbox实现这一要求时,图片不知道为什么没了
给你一个用IText写的吧
// 写PDF文件.
BufferedImage img = ImageIO.read(new File(imgPath));
FileOutputStream fos = new FileOutputStream(pdfFile);
// 创建PDF文档
Document doc = new Document(null, 0, 0, 0, 0);
// 设置尺寸为图片尺寸
doc.setPageSize(new Rectangle(img.getWidth(), img.getHeight()));
Image image = Image.getInstance(imgPath);
PdfWriter.getInstance(doc, fos);
doc.open();
doc.add(image);
doc.close();
‘肆’ java 数据库中2进制流image转成PDF
FileUtils.writeByteArrayToFile(new File("xx.pdf"),p.getBytes());
一般存到数据库的二进制流都是经过加密的,常用的是base64
byte[]bytes = new BASE64Decoder().decodeBuffer(p);
FileUtils.writeByteArrayToFile(new File("xx.pdf"),bytes);
‘伍’ Java怎么把PDF转化成图片
用Spire.Pdf for Java api可以把PDF转成图片,也可以把图片转成PDF,或者是PDF转到其他格式。下面是转图片的一个例子:
importjava.awt.image.BufferedImage;
importjava.io.File;
importjava.io.IOException;
importjavax.imageio.ImageIO;
importcom.spire.pdf.PdfDocument;
publicclassPDFToImage{
publicstaticvoidmain(String[]args)throwsIOException{
//加载PDF文件
PdfDocumentdoc=newPdfDocument();
doc.loadFromFile("ToImage.pdf");
//保存PDF的每一页到图片
BufferedImageimage;
for(inti=0;i<doc.getPages().getCount();i++){
image=doc.saveAsImage(i);
Filefile=newFile(String.format("ToImage-img-%d.png",i));
ImageIO.write(image,"PNG",file);
}
doc.close();
}
}
‘陆’ 使用java怎样把ppt转化成PDF
使用free spire.presentation for java
import com.spire.presentation.FileFormat;
import com.spire.presentation.Presentation;
public class PPTToPDF {
public static void main(String[] args) throws Exception {
Presentation ppt = new Presentation();
ppt.loadFromFile("xx.ppt");
ppt.saveToFile("xx.pdf", FileFormat.PDF);
}
}
‘柒’ java EMF转为PNG或者PDF
用虚拟打印机,软件有: 1.PDFFactory Pro虚拟打印机,安装后,在任何文档中,选择打印时,选择打印机为pdfFactoryPro,就能生成PDF文件,并可以进行安全设置。 2.SmartPrinter(Doc Pdf xls to pdf/tiff/bmp/jpg/png)一款大家非常熟悉的经典产品,专为转换文件而研发的高品质打印驱动,以运行稳定、转换速度快和图像质量高而着称,通过虚拟打印技术可以完美的将任意可打印文档转换成 PDF、TIFF、JPEG,BMP、PNG、EMF、GIF、TXT格式。 3.雪莹DocConvert虚拟打印转换。雪莹DocConvert是一款文档转化工具,它通过虚拟打印的技术将任何文档转化为PDF,JPG,BMP,TIFF,PCX,PNG等等文档格式。