Java html到pdf不显示图像文件夹中的图像
我正在创建一个.jar文件以插入bpm上的java连接器。 其思想是让.jar从html生成pdf,html使用图像文件夹中的图像,并作为电子邮件附件发送 从eclipse运行时,PDF会发送带有html和图像的ok,当我导出.jar并尝试在eclipse之外使用它时,它不会显示图像Java html到pdf不显示图像文件夹中的图像,java,html,pdf,Java,Html,Pdf,我正在创建一个.jar文件以插入bpm上的java连接器。 其思想是让.jar从html生成pdf,html使用图像文件夹中的图像,并作为电子邮件附件发送 从eclipse运行时,PDF会发送带有html和图像的ok,当我导出.jar并尝试在eclipse之外使用它时,它不会显示图像 System.out.println("I am about to get resource image001"); BufferedImage imageone = ImageIO
System.out.println("I am about to get resource image001");
BufferedImage imageone = ImageIO.read(new FileInputStream("Images/image001.jpg"));
File outputfile = new File("Images/image001.jpg");
ImageIO.write(imageone, "jpg", outputfile);
System.out.println("image 1 " + outputfile.toURL());
String one = "Images/image001.jpg";
System.out.println("got image 1");
System.out.println("I am about to get rousrce image002");
//BufferedImage bufferedImage2 = ImageIO.read(jamesNew.class.getResource("/Images/image002.gif"));
BufferedImage imagwtwo = ImageIO.read(new FileInputStream("Images/image002.gif"));
File outputfile1 = new File("image002.gif");
ImageIO.write(imagwtwo, "gif", outputfile1);
System.out.println("image 2 " + outputfile1.toURL());
String two = "Images/image002.gif";
System.out.println("got image 2");
System.out.println("I am about to get rousrce image003");
//BufferedImage bufferedImage3 = ImageIO.read(jamesNew.class.getResource("/Images/image003.gif"));
BufferedImage imagwthree = ImageIO.read(new FileInputStream("Images/image003.gif"));
File outputfile2 = new File("image003.gif");
ImageIO.write(imagwthree, "gif", outputfile2);
System.out.println("image 3 " + outputfile2.toURL());
String three = "Images/image003.gif";
System.out.println("got image 3");
System.out.println("I am about to get rousrce image004");
//BufferedImage bufferedImage4 = ImageIO.read(jamesNew.class.getResource("/Images/image006.gif"));
BufferedImage imagefour = ImageIO.read(new FileInputStream("Images/image006.gif"));
File outputfile3 = new File("image006.gif");
ImageIO.write(imagefour, "gif", outputfile3);
System.out.println("image 4 " + outputfile3.toURL());
String four = "Images/image006.gif";
System.out.println("got image 4");
System.out.println("I am about to get rousrce image005");
//BufferedImage bufferedImage5 = ImageIO.read(jamesNew.class.getResource("/Images/logo1.png"));
BufferedImage imagwfive = ImageIO.read(new FileInputStream("Images/logo1.png"));
File outputfile4 = new File("logo1.png");
ImageIO.write(imagwfive, "png", outputfile4);
System.out.println("image 5 " + outputfile4.toURL());
String five = "Images/logo1.png";
System.out.println("got image 5");
System.out.println("CLASS PATHS SET..........");
String named = null;
String total = null;
String completehtml1 = null;
String style = "<style type=\""+"text/css" + "\" >" + ".centerImage { text-align:center; display:block; } </style>";
String feed = "<html><body>";
System.out.println("STRINGS SET..........");
completehtml = feed + style + "<div style=\"text-align:center;\">" + "<img src=\"" + outputfile + "\" />" + "<p></p>" + "<img src=\"" + outputfile1 + "\" + style=\"width:400px;height:150px;" + "\" />" + "<p><h3 style=\"text-align:center;"+"\">" + "THIS IS TO CERTIFY" + "</h3></p>" + "<p><h3 style=\"text-align:center;"+"\">"+ user + "</h3></p>" + "<p>" + "</p>" + "<p>" + "<img src=\"" + outputfile2 + "\" />" + "</p>" + "<p>" + "</p>" + "<p><h3 style=\"text-align:center;"+"\">"+ dateTXT + " " + date + "</h3></p>" + "<p><h3 style=\"text-align:center;"+"\">" + "SIGNED" + "</h3></p>" + "<p>" + "</p>" + "<p>" + "<img src=\"" + outputfile3 + "\" + style=\"width:150px;height:150px;"+"\" />" + "</p>" + "<p>" + "</p>" + "<p>" + "<img src=\"" + outputfile4 + "\" />" + "</p>" + "<p></p>" + "<p></p>" + "</div>" + htmlend;
total = completehtml + named + completehtml1 + htmlend;
System.out.println("complete HTML" + completehtml);
System.out.println("STARTED!!!");
ByteArrayOutputStream baos1 = new ByteArrayOutputStream();
ObjectOutputStream file = new ObjectOutputStream(baos1);
Document document = new Document();
PdfWriter pdfwriter = PdfWriter.getInstance(document, baos1);
document.open();
System.out.println("DOCUMENT OPEN");
document.addAuthor("James Parish");
XMLWorkerHelper worker = XMLWorkerHelper.getInstance();
worker.parseXHtml(pdfwriter, document, new StringReader(completehtml));
// worker.parseXHtml(pdfwriter, document, new FileInputStream("Images/image001.jpg"));
System.out.println("NEW PARAGRAPH");
System.out.println("PARAGRAPH ADDED");
document.close();
System.out.println("CLOSED DOCUMENT!");
file.close();
System.out.println("CLOSED FILE");
System.out.println("pdf is" + file);
System.out.println("ENDED!!!");
Email from = new Email(msgfrom);
Email to = new Email(msgto);
Content content = new Content("text/plain", msgbody);
Mail mail = new Mail(from, subject, to, content);
ByteArrayOutputStream fileData = null;
byte[] testing = baos1.toByteArray();
try {
fileData = baos1;
Attachments attachments3 = new Attachments();
Base64 x = new Base64();
String imageDataString = Base64.encodeBase64String(testing);
attachments3.setContent(imageDataString);
attachments3.setType("application/pdf");//"application/pdf"
attachments3.setFilename("Certificate.pdf");
attachments3.setDisposition("attachment");
attachments3.setContentId("Banner");
mail.addAttachments(attachments3);
System.out.println("BASE64 ENCODED ATTACHMENT " + imageDataString);
System.out.println(“我即将获取资源image001”);
BuffereImage imageone=ImageIO.read(新文件输入流(“Images/image001.jpg”);
File outputfile=新文件(“Images/image001.jpg”);
write(imageone,“jpg”,outputfile);
System.out.println(“image 1”+outputfile.toURL());
stringone=“Images/image001.jpg”;
System.out.println(“获得图像1”);
System.out.println(“我即将获得Rource image002”);
//BuffereImage BuffereImage 2=ImageIO.read(jamesNew.class.getResource(“/Images/image002.gif”);
buffereImage Imagwow=ImageIO.read(新文件输入流(“Images/image002.gif”);
File outputfile1=新文件(“image002.gif”);
写入(imagwow,“gif”,outputfile1);
System.out.println(“image 2”+outputfile1.toURL());
字符串二=“Images/image002.gif”;
System.out.println(“获得图像2”);
System.out.println(“我即将获得Rource image003”);
//BuffereImage BuffereImage 3=ImageIO.read(jamesNew.class.getResource(“/Images/image003.gif”);
buffereImage imagwthree=ImageIO.read(新文件输入流(“Images/image003.gif”);
File outputfile2=新文件(“image003.gif”);
写入(imagworth,“gif”,outputfile2);
System.out.println(“image 3”+outputfile2.toURL());
字符串三=“Images/image003.gif”;
System.out.println(“获得图像3”);
System.out.println(“我即将获得Rource image004”);
//BuffereImage BuffereImage 4=ImageIO.read(jamesNew.class.getResource(“/Images/image006.gif”);
BuffereImage imagefour=ImageIO.read(新文件输入流(“Images/image006.gif”);
File outputfile3=新文件(“image006.gif”);
写入(imagefour,“gif”,outputfile3);
System.out.println(“image 4”+outputfile3.toURL());
String four=“Images/image006.gif”;
System.out.println(“获得图像4”);
System.out.println(“我即将获得Rource image005”);
//BuffereImage BuffereImage 5=ImageIO.read(jamesNew.class.getResource(“/Images/logo1.png”);
buffereImage imagwfive=ImageIO.read(新文件输入流(“Images/logo1.png”);
File outputfile4=新文件(“logo1.png”);
write(imagw5,“png”,outputfile4);
System.out.println(“image 5”+outputfile4.toURL());
String five=“Images/logo1.png”;
System.out.println(“获得图像5”);
System.out.println(“类路径集…………”);
名为的字符串=null;
字符串总数=空;
字符串completehtml1=null;
字符串样式=“+”。中心图像{文本对齐:中心;显示:块;}”;
字符串馈送=”;
System.out.println(“字符串集…………”);
(p)这是一次证明,这是一次证明,这是一次证明,这是一次证明,这是一次证明,这是一次证明,这是一次证明,这是一次证明,这是一次,p p p>““p>p>p>p>p>““0++++++方方++方+++方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+方+“+”“+”“+”“+htmlend;
总计=完成HTML+命名+完成HTML1+htmlend;
System.out.println(“完整HTML”+完整HTML);
System.out.println(“启动!!!”;
ByteArrayOutputStream=newbytearrayoutputstream();
ObjectOutputStream文件=新的ObjectOutputStream(1);
文档=新文档();
PdfWriter PdfWriter=PdfWriter.getInstance(文档,1);
document.open();
System.out.println(“文件打开”);
文件作者(“詹姆斯·帕里什”);
XMLWorkerHelper worker=XMLWorkerHelper.getInstance();
parseXHtml(pdfwriter、文档、新StringReader(completehtml));
//parseXHtml(pdfwriter、文档、新文件输入流(“Images/image001.jpg”);
系统输出打印号(“新段落”);
系统输出打印LN(“添加的段落”);
document.close();
System.out.println(“关闭的文档!”);
file.close();
System.out.println(“关闭文件”);
System.out.println(“pdf是”+文件);
System.out.println(“结束!!!”;
电子邮件发件人=新电子邮件(msgfrom);
电子邮件收件人=新电子邮件(msgto);
内容=新内容(“文本/普通”,msgbody);
邮件=新邮件(发件人、主题、收件人、内容);
ByteArrayOutputStream文件数据=null;
字节[]测试=1.toByteArray();
试一试{
fileData=1;
附件attachments3=新附件();
Base64 x=新的Base64();
字符串imageDataString=Base64.encodeBase64String(测试);
附件3.setContent(imageDataString);
附件3.setType(“application/pdf”);/“application/pdf”
附件3.setFilename(“Certificate.pdf”);
附件3.setDisposition(“附件”);
附件3.setContentId(“横幅”);
mail.addAttachments(附件3);
System.out.println(“BASE64编码附件”+imageDataString);
outputfile在Eclipse之外运行时,它的内容是什么?它是否真的在该点创建了图像?您是否得到了一行打印出来的outputfile.toURL()
?您在哪里找到了图像?outputfile.toURL()打印出来的预期和图像位于一个单独的文件夹称为图像。我会上传更多的代码,可能会更容易