问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

javaweb pdf流转jpg流怎么操作?

发布网友 发布时间:2022-05-01 03:41

我来回答

1个回答

热心网友 时间:2022-06-24 03:07

package pdf;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import javax.swing.SwingUtilities;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import com.sun.pdfview.PDFFile;
import com.sun.pdfview.PDFPage;
public class PdfToJpg {
public static void setup() throws IOException {
// 加载一个pdf从一个字节缓冲区
File file = new File("D:\\yangliu\\test.pdf");
RandomAccessFile raf = new RandomAccessFile(file, "r");
FileChannel channel = raf.getChannel();
ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 0,
channel.size());
PDFFile pdffile = new PDFFile(buf);
System.out.println("页数:" + pdffile.getNumPages());
String getPdfFilePath = System.getProperty("user.dir") + "\\pdfPicFile";
System.out.println("getPdfFilePath is :" + getPdfFilePath);

for (int i = 1; i < pdffile.getNumPages(); i++) {
// 画第一页到一个图像
PDFPage page = pdffile.getPage(i);
// 获得宽度和高度的文件在默认的变焦
Rectangle rect = new Rectangle(0, 0, (int) page.getBBox()
.getWidth(), (int) page.getBBox().getHeight());
// 生成图像
Image img = page.getImage(rect.width, rect.height, rect, null,
true, true);
BufferedImage tag = new BufferedImage(rect.width, rect.height,
BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(img, 0, 0, rect.width, rect.height,
null);
// 输出到文件流
FileOutputStream out = new FileOutputStream(getPdfFilePath + "\\"
+ i + ".jpg");
System.out.println("成功保存图片到:"+getPdfFilePath+"\\"+i+".jpg");

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(tag);
param.setQuality(1f, false); //1f是提高生成的图片质量
encoder.setJPEGEncodeParam(param);
encoder.encode(tag); // JPEG编码
out.close();
}
}

public static void main(final String[] args){
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
PdfToJpg.setup();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
}追问跟网上一个答案,如果可以我还来知道做什么

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机puik什么意思 广东江南理工高级技工学校地址在哪里 广州市技师学院具体地址 广州市高级技工学校江高校区有什么专业 广州市高级技工学校学校地址 话费支付是什么意思? 2019年华为保值机型排行:P40系列保值预计如何? 鸦片战争的二号元凶:威廉·嘉道理 局域网内访问共享要密码 Win10怎么设置局域网共享密码访问 老公姓刘,女儿叫梓盈,这胎男孩,取名叫刘梓…什么好?求解?谢谢… 4月8日出生的男孩,取个名字最好是刘梓什么 30岁男人和45岁女人精力上有区别吗,女人保养好有没有30岁的精神? 一个男人30岁和一个女人40岁在一起几年了现在女人不想和男人在一起是什么意思? 40岁的女人,会喜欢20、30岁的男人吗? 40岁已婚女人和30岁已婚男人相爱,想一起生活会成功吗? 42岁女人和30岁男人颜值方面有没有可比性? 四十岁的女人爱上三十岁的男人的故事不知自己是不是对他动了真情 二三十岁的男人更喜欢四十岁的女人是什么原因呢? 42岁女人和30岁男人体质有没有可比性? 三十岁的男人喜欢和四十岁的女人做爱吗 30岁男人和42岁的女人有什么区别? 32位旗舰版win7下FPS不高玩CF卡顿怎么改善 30岁男人和40岁女人属于同一个年龄段吗? win7 cf卡顿 fps低换什么原因 Win7系统玩CF穿越火线出现卡死无反应怎么办 装宽带流程都有什么? 月经快来的前5天性交会怀孕吗 快来月经的时候做爱没带安全套容易怀孕吗 来月经的前三天和后四天容易怀孕吗 男孩,2011年12月19日11点30分起名刘梓什么,差一个字,请大家帮忙 用java实现pdf转jpg图片的全代码,我这里附上参考代码。 2022虎年招财狗名字 java做 pdf转换成图片 时出现Unknown CMap: UniGB-UCS2-H?急~ java 把pdf文档中有高清图片转化为图片时内容不完整,就是图片没有了,请高手帮助。 java解析pdf,我需要把pdf的每一页生成一张图片,有没有参考的框架,懂java的进! 客厅朝北朝东各一处窗户,想将北窗堵死,不知好不好? 平房的窗户不用了堵了行不行? java代码.PDF转JPG的问题. 别人家盖房子把俺家楼上楼下窗子都堵了一半这样好不好? 风水:厨房窗户正对入户门好不好?堵上了会怎么样? 楼道之间的窗户起什么作用,六楼为了安全设了一道门,把五楼到六楼的窗户堵住了,这样好吗 相宅 原有有开向东边的窗户,现在堵掉可否 窗户被挡会影响风水吗? 家里总共8个窗堵了一个对生活有影响吗? 泡沫可以隔音吗?家里太吵,我想用泡沫把窗户堵上 厨房窗户堵死影响风水吗 我把主卧卫生间改成了,衣帽间,做柜子的时候把窗户堵上了,听老年人说对风水不好,求解 我能把砖混外墙上的一下个窗户堵上会加重承重墙受力吗? 我在物业上班的,管保洁这一块的,明天我第一次给保洁开会,不知道说些什么,能教教我吗?