1. Trang chủ
  2. » Thể loại khác

HƯỚNG dẫn XUẤT PDF với ITEXTPDF

7 1,3K 8

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 663,8 KB

Nội dung

HƯỚNG DẪN XUẤT PDF VỚI ITEXTPDF GIỚI THIỆU: Nhiều ứng dụng yêu cầu tạo động trang PDF, chẳng hạn xuất hoá đơn bán hàng, xuất báo cáo liệu bán hàng mua hàng, Để tạo trang PDF Java, thư viện Java có sẵn miễn phí iTextPDF (http://developers.itextpdf.com/) iTextPDF thư viện mạnh mẽ hỗ trợ đầy đủ yêu cầu trang PDF, tạo font chữ khác nhau, thêm hình ảnh, định dạng bảng khác nhau, thêm thông tin metadata title, subject, author, MỘT SỐ ITEXT API THÔNG DỤNG: Lớp com.itextpdf.text.Document lớp để tạo tài liệu PDF Đây lớp khởi chạy Một tạo tài liệu, bạn cần có trình viết để viết vào lớp đó.Để khai báo trình viết pdf sử dụng lớp Com.itextpdf.text.pdf.PdfWriter Một số lớp thường dùng phổ biến khác cho đây: com.itextpdf.text.Paragraph—Lớp đại diện cho đoạn thụt vào com.itextpdf.text.Chapter—Lớp đại diện cho chương tài liệu PDF Nó tạo cách sử dụng Paragraph (đoạn) làm tiêu đề số kiểu int làm số chương com.itextpdf.text.Font—Lớp chứa tất đặc tả phông chữ, chẳng hạn họ phông chữ, kích thước, kiểu dáng màu sắc Các phông chữ khác khai báo số tĩnh lớp com.itextpdf.text.List—Lớp đại diện cho danh sách, danh sách lại chứa số ListItems (các mục danh sách) com.itextpdf.text.pdf.PDFPTable—Đây bảng đặt vị trí tuyệt đối, thêm vào tài liệu làm lớp Table (bảng) Table 1Bảng mô tả mối liên hệ document với class khác Chapter Image DOCUMENT Paragraph Paragraph Paragraph PDFPTable PdfPCell CÁC BƯỚC TẠO MỘT TRANG PDF: Có thể tạm chia việc xuất file Pdf gồm bước sau:     Bước 1: Tạo đối tượng Document Bước 2: Tạo thể PdfWriter Bước 3: Mở đối tượng Document khởi tạo Bước 4: Thêm nội dung Ở bước này, tạm chia làm bước sau Một chuẩn bị liệu từ database Thứ hai định dạng cách tài liệu hiển thị, định dạng vị trí tương đối phần tử để đổ liệu mà chuẩn bị từ bước trước  Bước 5: Đóng Document Document document = new Document(); PdfWriter.getInstance( document,new FileOutputStream(null)); document.open(); document.add(new Paragraph("Hello world")); document.close(); Bước Bước Bước Bước Bước HƯỚNG DẪN THAO TÁC MỘT SỐ LỚP CƠ BẢN TRONG SERVLET: Chúng ta tạo trang PDF đơn giản có chưa thành phần văn đoạn text, bảng liệt liệu bản,… Bước 0: Bước dùng để định nghĩa kiểu trả response cho client loại pdf setHeader cho ứng dụng response.setContentType("application/pdf"); response.setHeader("Content-Disposition"," inline; filename=DonHang.pdf"); Bước 1: Tạo đối tượng tài liệu (Document) Một Document xem thùng để chứa tất phần từ tài liệu Image, Paragraph,… Document document = new Document( PageSize.A4, 50, 50, 50, 50); Đối số kích thước trang, số trang thường dùng PageSize.A4, PageSize.A5, PageSize.LETTER,… đối số lại thứ tự canh lề trái, phải, đầu cuối trang Bước 2: Tạo đối tượng PdfWriter PdfWriter.getInstance(document, outstream); Document.open(); Đối tượng đầu tiền tham chiếu đến đối tượng Document khai báo bước Đối số thứ tên tài liệu để mở viết Vì ứng dụng web nên sử dụng ServletOutputStream Tiếp theo mở đối tượng document Bước 3: Thiết lập font chữ cho trang pdf BaseFont bf = BaseFont.createFont("c:\\windows\\fonts\\times.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); // khỏi tạo font chữ Font font10 = new Font(bf, 10, Font.NORMAL); Font font11_bold= new Font(bf, 11, Font.BOLD); Tạo đối tượng basefont cách rõ đường dẫn lưu font chữ, xác định kiểu encoding Thông thường đường dẫn lưu font chữ, rõ font thường dùng VNTime, Arial,… Sau khởi tạo đối tượng BaseFont, sử dụng để làm tham số tạo font cho trang pdf, ITALIC, BOLD, kích cỡ,… Xem thêm APIDOC ITEXT Bước 5: Chuẩn bị nội dung từ sở liệu Ở đây, chuẩn bị nội dung cách lấy liệu thông qua câu truy vấn Hoặc sử dụng phương thức lớp truyền vào chuẩn bị sẵn liệu Bước 6: Trình bày liệu theo format thông qua paragraph, table, image, Tạo đối tượng Paragraph : Paragraph pa = new Paragraph("Đoạn text cần truyền vào", font1); document.add(pa); Kết sau: Tạo đối tượng PdfPTable: Một bảng chứa nhiều hàng nhiều cột chứa nội dung thông tin, chẳng hạn bảng đơn hàng chứa sản phẩm mà người dùng mua PdfPTable Table = new PdfPTable(3); Table.setSpacingBefore(25); Table.setSpacingAfter(25); PdfPCell cell cell = new PdfPCell( new Phrase(“header1”)); Table.addCell(cell); cell = new PdfPCell ( new Phrase(“header1”)); Table.addCell(cell); cell = new PdfPCell ( new Phrase(“header1”)); Table.addCell(cell); Table.addCell(“1.1”); Table.addCell(“1.2”); Table.addCell(“1.3”); document.add(Table); Đầu tiên, chúng khởi tạo bảng có số cột thông qua phương thức khởi tạo có tham số PdfPTable = new PdfPTable( số cột) Set khoảng cách trước sau table thông qua phương thức, setSpacingBefore setSpacingAfter Đối với table có nhiều cell Ở itext tạo lớp PdfPCell để xử lý ô Số ô thêm vào theo thứ tự từ trái qua phải từ xuống Định dang Cell thông qua Phrase Paragraph PdfPCell cell = new PdfPCell(new Paragraph("CONG TY GIAI PHAP DOANH NGHIEP TOAN CAU ", font11_bold)); cell.setPaddingLeft(5.0f); cell.setBorder(0); Chúng ta định để có font chữ kiểu khác Ngoài set padding, canh trái, phải, set border cho cell Ngoài ra, PdfPTable cho phép set độ rộng cột thông qua phương thức float[] withsKM = { 10.0f, 45.0f, 15.0f, 15.0f, 12.0f}; // khởi tạo bảng có số cột cột PdfPTable table = new PdfPTable(5); // set độ rộng table, mặc định 80% table.setWidthPercentage(100); // set độ rộng cho cột table.setWidths(withsKM); Thêm đối tượng Image: Một số chức cần có hình ảnh, chẳng hạn logo công ty cần xuất hoá đơn iText cung cấp lớp Image cho phép người sử dụng tạo hình ảnh Image hinhanh=Image.getInstance( getServletContext().getInitParameter("path")+"/images/vietcombanknew.p ng"); Hinhanh.scaleAbsolute(120f,120f); // set position img.setAbsolutePosition(500f, 650f); //scales img.scalesAbsolute(150f, 150f); Img.scalePercent(120f); // rotating Img.setRotationDegrees(45f); Như vậy, cách để tạo trang pdf ItextPdf đơn giản Hi vọng người làm tập tạo xuất trang pdf dạng sau: tên, địa chỉ: lấy từ bảng Khách hàng Các sản phẩm bạn load dưa đơn hàng LƯU Ý: Các bạn không tìm cách làm, trước hết tìm kiếm http://developers.itextpdf.com/examples, có hầu hết ví dụ minh hoạ tìm kiếm được, để tự tìm tòi học hỏi TÀI LIỆU THAM KHẢO: - https://www.ibm.com/developerworks/vn/library/java/2013Q2/os-javapdf/ http://developers.itextpdf.com/examples, http://tutorials.jenkov.com/java-itext/getting-started.html

Ngày đăng: 27/09/2016, 22:32

TỪ KHÓA LIÊN QUAN

w