Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Java, JSP, Servlet's, JSF вопросы и решения

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

vs6262



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
package ml;
 
 
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
 
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import org.apache.pdfbox.pdmodel.font.PDTrueTypeFont;
 
import java.io.FileInputStream;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.TreeMap;
import java.awt.*;
import java.awt.image.BufferedImage;
 
 
 
import java.io.File;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
 
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import org.apache.pdfbox.pdmodel.font.PDType0Font;
import org.apache.pdfbox.pdmodel.font.PDSimpleFont;
import org.apache.pdfbox.pdmodel.common.PDStream;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.font.PDType0Font;
import org.apache.pdfbox.util.Matrix;
 
 
public class GPdf extends HttpServlet {
 
    /**
     * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
     */
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
 
 
 
 
        try {
 
            ByteArrayOutputStream output = new ByteArrayOutputStream();
            output = createPDF();
 
            response.addHeader("Content-Type", "application/force-download");
            response.addHeader("Content-Disposition", "attachment; filename=\"yourFile.pdf\"");
            response.getOutputStream().write(output.toByteArray());
 
        } catch (Exception ex) {
            ex.printStackTrace();
        }
 
 
 
 
 
 
 
 
 
 
    }
 
    /**
     * Serial version UID.
     */
    private static final long serialVersionUID = 6067021675155015602L;
 
    public ByteArrayOutputStream createPDF() throws IOException {
 
        PDDocument document;
        PDPage page;
   //     PDFont font;
        PDPageContentStream contentStream;
 //       PDJpeg front;
 //       PDJpeg back;
 
 //       InputStream inputFront;
 //       InputStream inputBack;
        ByteArrayOutputStream output = new ByteArrayOutputStream();
 
        // Creating Document
        document = new PDDocument();
 
        // Creating Pages
        for(int i=0; i<2; i++) {
 
            page = new PDPage();
 
            // Adding page to document
            document.addPage(page);
 
            // Adding FONT to document
            //font = PDType1Font.HELVETICA;
 
 
           // String dir = "../pdfbox/src/main/resources/org/apache/pdfbox/resources/ttf/";
//            PDType0Font font = PDType0Font.load(document, new File((new StringBuilder()).append(getServletConfig().getServletContext().getRealPath("/")).append("files/servletfonts/ArialUni.ttf").toString()));
 
            PDType0Font font = PDType0Font.load(document, new File(getServletConfig().getServletContext().getRealPath("/")+"files/servletfonts/ArialUni.ttf"));
//            PDType0Font font = PDType0Font.load(document, new File(getServletConfig().getServletContext().getRealPath("/")+"files/servletfonts/Universalia.ttf"));
 
 
 
            // Retrieve Image to be added to the PDF
/*            inputFront = new FileInputStream(new File("D:/Media/imageFront.jpg"));
            inputBack = new FileInputStream(new File("D:/Media/imageBack.jpg"));
 
            BufferedImage buffFront = ImageIO.read(inputFront);
            BufferedImage resizedFront = Scalr.resize(buffFront, 460);
 
            BufferedImage buffBack = ImageIO.read(inputBack);
            BufferedImage resizedBack = Scalr.resize(buffBack, 460);
 
            front = new PDJpeg(document, resizedFront);
            back = new PDJpeg(document, resizedBack);
*/
            // Next we start a new content stream which will "hold" the to be created content.
            contentStream = new PDPageContentStream(document, page);
 
            // Let's define the content stream
            contentStream.beginText();
            contentStream.setFont(font, 0.68f);
            contentStream.setTextMatrix(new Matrix(12, 0, 0, 12, 10, 770));
            contentStream.showText("Amount: $1.00");
            contentStream.endText();
 
            contentStream.beginText();
            contentStream.setFont(font, 0.68f);
            contentStream.setTextMatrix(new Matrix(12, 0, 0, 12, 200, 770));
            contentStream.showText("Sequence Number: 123456789");
            contentStream.endText();
 
            contentStream.beginText();
            contentStream.setFont(font, 0.68f);
            contentStream.setTextMatrix(new Matrix(12, 0, 0, 12, 10, 760));
            contentStream.showText("Account: 123456789");
            contentStream.endText();
 
            contentStream.beginText();
            contentStream.setFont(font, 0.68f);
            contentStream.setTextMatrix(new Matrix(12, 0, 0, 12, 200, 760));
            contentStream.showText("Captura Date: 04/25/2011");
            contentStream.endText();
 
            contentStream.beginText();
            contentStream.setFont(font, 0.68f);
            contentStream.setTextMatrix(new Matrix(12, 0, 0, 12, 10, 750));
            contentStream.showText("Bank Number: 123456789");
            contentStream.endText();
 
            contentStream.beginText();
            contentStream.setFont(font, 0.68f);
            contentStream.setTextMatrix(new Matrix(12, 0, 0, 12, 200, 750));
            contentStream.showText("Check Number: 123456789");
            contentStream.endText();
 
 
            contentStream.beginText();
            contentStream.setFont(font, 1.5f);
            contentStream.setTextMatrix(new Matrix(12, 0, 0, 12, 10, 700));
            contentStream.showText("English, De&#252;tsch, Русский язык Ti&#7871;ng Vi&#7879;t &#20013;&#33775;&#20154;&#27665;&#20849;&#21644;&#22283;");
            contentStream.endText();
 
 
            contentStream.beginText();
            contentStream.setFont(font, 1.5f);
            contentStream.setTextMatrix(new Matrix(12, 0, 0, 12, 10, 650));
            contentStream.showText("Петя");
            contentStream.endText();
 
 
 
            // Let's close the content stream
            contentStream.close();
 
        }
 
        // Finally Let's save the PDF
        document.save(output);
        document.close();
 
        return output;
    }
 
 
 
}
 

Всего записей: 2188 | Зарегистр. 25-02-2013 | Отправлено: 16:49 05-02-2017 | Исправлено: vs6262, 20:28 11-05-2017
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Интернет » Web-программирование » Java, JSP, Servlet's, JSF вопросы и решения


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru