Try not adding the image or the font. Just try to get as simple a PDF working as possible.
On Tue, May 17, 2011 at 9:47 PM, Vik <[email protected]> wrote: > Hie > I am doing exact same. Here is the code: > log.info("start of PDFTest:::::::::::::"); > //OutputStream out = resp.getOutputStream(); > ByteArrayOutputStream out = new ByteArrayOutputStream(); > PDF pdf; > try { > pdf = new PDF(out); > log.info("#1"); > pdf.setTitle("Using TextColumn and Paragraph classes"); > pdf.setSubject("Examples"); > pdf.setAuthor("Innovatics Inc."); > log.info("#2"); > String fileName = "images/share_facebook.png"; > Image image1 = new Image(pdf, new BufferedInputStream( > getClass().getResourceAsStream(fileName)), ImageType.PNG); > log.info("#3"); > Font f1 = new Font(pdf, > new BufferedInputStream(getClass().getResourceAsStream( > "fonts/DroidFonts/DroidSerif-Regular.otf")), > CodePage.UNICODE, > Embed.YES); > > Page page = new Page(pdf, Letter.PORTRAIT); > f1.setSize(10); > image1.setPosition(90, 35); > image1.scaleBy(0.75); > image1.drawOn(page); > TextColumn column = new TextColumn(f1); > column.setLineBetweenParagraphs(false); > Paragraph p1 = new Paragraph(); > p1.setAlignment(Align.CENTER); > p1.add(new TextLine(f1, "Switzerland")); > Paragraph p2 = new Paragraph(); > p2.add(new TextLine(f1, "Introduction")); > > Paragraph p4 = new Paragraph(); > p4.add(new TextLine(f1, "Economy")); > Paragraph p5 = new Paragraph(); > p5.setAlignment(Align.JUSTIFY); > text = new TextLine(f1); > > column.setSize(470, 100); > Point point1 = new Point(90, 300); // TextColumn start point > Point point2 = column.sizeOn(page); // TextColumn end point > Line line = new Line( > point1.getX(), > point1.getY() + point2.getY(), > point1.getX() + point2.getX(), > point1.getY() + point2.getY()); > line.drawOn(page); > column.drawOn(page); > > pdf.flush(); > > > Multipart mp = new MimeMultipart(); > MimeBodyPart htmlPart = new MimeBodyPart(); > htmlPart.setFileName("whatever.pdf"); > log.info("#7"); > htmlPart.setContent(out.toByteArray(), "application/pdf"); > mp.addBodyPart(htmlPart); > log.info("#8"); > Properties props = new Properties(); > Session session = Session.getDefaultInstance(props, null); > Message msg = new MimeMessage(session); > msg.setContent(mp); > msg.setFrom(new InternetAddress("[email protected]")); > msg.addRecipient(Message.RecipientType.TO, > new InternetAddress("[email protected]")); > > > msg.setSubject("testing PDF system"); > Transport.send(msg); > System.out.println("Sucessfully Sent mail to All Users"); > Thankx and Regards > > Vik > Founder > http://www.sakshum.org > http://blog.sakshum.org > > > On Tue, May 17, 2011 at 9:30 PM, Stephen Johnson <[email protected]> > wrote: >> >> Vik, >> Post your code where you're creating the ByteArrayOutputStream and >> creating the PDF with it. It'll be more helpful then what you've >> posted. I'm a little concerned you still don't have this part correct >> since you're still using "out" as a variable name. You're code should >> be similar to: >> >> ByteArrayOutputStream baos = new ByteArrayOutputStream(); >> >> /* this part is from your previous email. I don't use PDFJet so I >> can't validate this code for you */ >> PDF pdf = new PDF(baos); >> some actual writing..... >> pdf.flush(); >> >> /* taken from docs */ >> Properties props = new Properties(); >> Session session = Session.getDefaultInstance(props, null); >> >> String msgBody = "..."; >> >> try { >> Message msg = new MimeMessage(session); >> msg.setFrom(new InternetAddress("[email protected]", >> "Example.com Admin")); >> msg.addRecipient(Message.RecipientType.TO, >> new InternetAddress("[email protected]", >> "Mr. User")); >> msg.setSubject("Your Example.com account has been activated"); >> msg.setText(msgBody); >> >> Multipart mp = new MimeMultipart(); >> >> // Get the PDF data >> byte[] attachmentData = baos.toByteArray(); >> >> MimeBodyPart attachment = new MimeBodyPart(); >> attachment.setFileName("manual.pdf"); >> attachment.setContent(attachmentData, "application/pdf"); >> mp.addBodyPart(attachment); >> >> message.setContent(mp); >> Transport.send(msg); >> >> } catch (AddressException e) { >> // .. >> } catch (MessagingException e) { >> // ... >> } >> >> >> On Tue, May 17, 2011 at 6:19 AM, Vik <[email protected]> wrote: >> > >> > I think the problem is not with pdfJet it about sending pdf as an >> > attachment via mail api on app engine >> > Thankx and Regards >> > >> > Vik >> > Founder >> > http://www.sakshum.org >> > http://blog.sakshum.org >> > >> > >> > On Tue, May 17, 2011 at 6:45 PM, Nichole <[email protected]> wrote: >> >> >> >> You could try iText: >> >> >> >> >> >> http://groups.google.com/group/google-appengine-java/browse_thread/thread/7dfdf19cfdd410d6/ee7024dd040ba6eb?lnk=gst&q=pdf#ee7024dd040ba6eb >> >> >> >> >> >> http://code.google.com/appengine/docs/java/mail/usingjavamail.html >> >> >> >> >> >> On May 16, 7:11 pm, Vik <[email protected]> wrote: >> >> > Hie >> >> > >> >> > Trying to send a pdf created using pdfJet throws the exception >> >> > >> >> > class javax.mail.SendFailedException:Send failure >> >> > (javax.mail.MessagingException: Converting attachment data failed) >> >> > >> >> > The code is like: >> >> > >> >> > MimeBodyPart htmlPart = new MimeBodyPart(); >> >> > htmlPart.setFileName("whatever.pdf"); >> >> > htmlPart.setContent(out.toByteArray(), >> >> > "application/pdf"); >> >> > mp.addBodyPart(htmlPart); >> >> > >> >> > logged >> >> > issuehttp://code.google.com/p/googleappengine/issues/list?cursor=1764&upda... >> >> > does not seems to help. >> >> > >> >> > Please advise. >> >> > >> >> > Thankx and Regards >> >> > >> >> > Vik >> >> > Founderhttp://www.sakshum.orghttp://blog.sakshum.org >> >> > >> >> > >> >> > >> >> > On Sun, May 15, 2011 at 8:26 PM, Erick Fleming <[email protected]> >> >> > wrote: >> >> > > You can use ByteArrayOutputStream >> >> > > [1<http://download.oracle.com/javase/6/docs/api/java/io/ByteArrayOutputS...>], >> >> > > then attach that to your mail message. If you are using low-level >> >> > > api, then >> >> > > Attrachment >> >> > > [2<http://code.google.com/appengine/docs/java/javadoc/com/google/appengi...>] >> >> > > has >> >> > > a constructor for this. >> >> > >> >> > > [1] >> >> > >> >> > > >http://download.oracle.com/javase/6/docs/api/java/io/ByteArrayOutputS... >> >> > > [2] >> >> > >> >> > > >http://code.google.com/appengine/docs/java/javadoc/com/google/appengi... >> >> > >> >> > > On Sun, May 15, 2011 at 9:16 AM, Vik <[email protected]> wrote: >> >> > >> >> > >> Hie >> >> > >> >> > >> Just a little question. I am using this pdfJet thing. >> >> > >> The requirement for us is to create a pdf and then mail it to a >> >> > >> user. >> >> > >> >> > >> So i am done with pdf creation part and at then end i have the >> >> > >> code like: >> >> > >> >> > >> OutputStream out = resp.getOutputStream(); >> >> > >> PDF pdf = new PDF(out); >> >> > >> >> > >> some actual writing..... >> >> > >> >> > >> pdf.flush(); >> >> > >> out.close(); >> >> > >> >> > >> Now the question i have is after this step how do i actually get >> >> > >> handle to >> >> > >> the created pdf above and attach it to an email ? >> >> > >> >> > >> Thankx and Regards >> >> > >> >> > >> Vik >> >> > >> Founder >> >> > >>http://www.sakshum.org >> >> > >>http://blog.sakshum.org >> >> > >> >> > >> On Tue, Apr 20, 2010 at 1:52 PM, Patou >> >> > >> <[email protected]>wrote: >> >> > >> >> > >>> Hello >> >> > >> >> > >>> In App Engine, You can't write a file to the file system. >> >> > >>> Otherwise >> >> > >>> the save method can't be used in GAE. >> >> > >>> Use this code to send the pdf to the navigator : >> >> > >> >> > >>> pdf.wrap(); >> >> > >> >> > >>> String fileName = "Example_03.pdf"; >> >> > >> >> > >>> resp.setContentType("application/pdf"); >> >> > >>> resp.setHeader("Content-Disposition", "attachment; filename=\"" + >> >> > >>> fileName + "\""); >> >> > >>> ServletOutputStream outs = resp.getOutputStream(); >> >> > >>> pdf.getData().writeTo(outs); >> >> > >> >> > >>> Or to save to the datastore : >> >> > >>> new Blob(pdf.getData().toByteArray()); >> >> > >> >> > >>> Bests Regards >> >> > >> >> > >>> Patrice >> >> > >> >> > >>> On Apr 20, 4:18 am, jeno <[email protected]> wrote: >> >> > >>> > Hi François , >> >> > >> >> > >>> > Thanks for your help. I have used PDFjet (PDFJet.jar version >> >> > >>> > 2.72) >> >> > >>> > PDF class missing save method >> >> > >>> > So i cant call pdf.save("d.pdf") method. >> >> > >> >> > >>> > Cheers >> >> > >>> > jeno >> >> > >> >> > >>> > On Apr 19, 6:48 pm, François Masurel <[email protected]> wrote: >> >> > >> >> > >>> > > Hi Jeno, >> >> > >> >> > >>> > > You can try the PDFjet Open Source Edition : >> >> > >>>http://pdfjet.com/os/edition.html >> >> > >> >> > >>> > > François >> >> > >> >> > >>> > > On 19 avr, 01:55, jeno <[email protected]> wrote: >> >> > >> >> > >>> > > > Hi Guys, >> >> > >> >> > >>> > > > Anyone know open source java pdf engine for GAE. >> >> > >> >> > >>> > > > Thanks >> >> > >>> > > > Jeno >> >> > >> >> > >>> > > > -- >> >> > >>> > > > You received this message because you are subscribed to the >> >> > >>> > > > Google >> >> > >>> Groups "Google App Engine for Java" group. >> >> > >>> > > > To post to this group, send email to >> >> > >>> [email protected]. >> >> > >>> > > > To unsubscribe from this group, send email to >> >> > >>> [email protected]. >> >> > >>> > > > For more options, visit this group athttp:// >> >> > >>> groups.google.com/group/google-appengine-java?hl=en. >> >> > >> >> > >>> > > -- >> >> > >>> > > You received this message because you are subscribed to the >> >> > >>> > > Google >> >> > >>> Groups "Google App Engine for Java" group. >> >> > >>> > > To post to this group, send email to >> >> > >>> [email protected]. >> >> > >>> > > To unsubscribe from this group, send email to >> >> > >>> [email protected]. >> >> > >>> > > For more options, visit this group athttp:// >> >> > >>> groups.google.com/group/google-appengine-java?hl=en. >> >> > >> >> > >>> > -- >> >> > >>> > You received this message because you are subscribed to the >> >> > >>> > Google >> >> > >>> Groups "Google App Engine for Java" group. >> >> > >>> > To post to this group, send email to >> >> > >>> [email protected]. >> >> > >>> > To unsubscribe from this group, send email to >> >> > >>> [email protected]. >> >> > >>> > For more options, visit this group athttp:// >> >> > >>> groups.google.com/group/google-appengine-java?hl=en. >> >> > >> >> > >>> -- >> >> > >>> You received this message because you are subscribed to the >> >> > >>> Google Groups >> >> > >>> "Google App Engine for Java" group. >> >> > >>> To post to this group, send email to >> >> > >>> [email protected]. >> >> > >>> To unsubscribe from this group, send email to >> >> > >>> [email protected]. >> >> > >>> For more options, visit this group at >> >> > >>>http://groups.google.com/group/google-appengine-java?hl=en. >> >> > >> >> > >> -- >> >> > >> You received this message because you are subscribed to the Google >> >> > >> Groups >> >> > >> "Google App Engine for Java" group. >> >> > >> To post to this group, send email to >> >> > >> [email protected]. >> >> > >> To unsubscribe from this group, send email to >> >> > >> [email protected]. >> >> > >> For more options, visit this group at >> >> > >>http://groups.google.com/group/google-appengine-java?hl=en. >> >> > >> >> > > -- >> >> > > You received this message because you are subscribed to the Google >> >> > > Groups >> >> > > "Google App Engine for Java" group. >> >> > > To post to this group, send email to >> >> > > [email protected]. >> >> > > To unsubscribe from this group, send email to >> >> > > [email protected]. >> >> > > For more options, visit this group at >> >> > >http://groups.google.com/group/google-appengine-java?hl=en. >> >> >> >> -- >> >> You received this message because you are subscribed to the Google >> >> Groups "Google App Engine for Java" group. >> >> To post to this group, send email to >> >> [email protected]. >> >> To unsubscribe from this group, send email to >> >> [email protected]. >> >> For more options, visit this group at >> >> http://groups.google.com/group/google-appengine-java?hl=en. >> >> >> > >> > -- >> > You received this message because you are subscribed to the Google >> > Groups "Google App Engine for Java" group. >> > To post to this group, send email to >> > [email protected]. >> > To unsubscribe from this group, send email to >> > [email protected]. >> > For more options, visit this group at >> > http://groups.google.com/group/google-appengine-java?hl=en. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Google App Engine for Java" group. >> To post to this group, send email to >> [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/google-appengine-java?hl=en. >> > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
