Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java html到pdf不显示图像文件夹中的图像_Java_Html_Pdf - Fatal编程技术网

Java html到pdf不显示图像文件夹中的图像

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

我正在创建一个.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.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()打印出来的预期和图像位于一个单独的文件夹称为图像。我会上传更多的代码,可能会更容易