Hôm qua tình cờ có ông bạn hỏi muốn làm việc với file Pdf trong java. Thế là về vọc và chạy thử, thấy cũng khá hay.
Do java không cung cấp các API thao tác với file Pdf vì vậy chúng ta cần phải nhờ tới các api của hang thứ 3. Do đó chúng ta cần import gói itext-1.4.6. Gói này đã có trong Source code.
Bước 1:Tạo một project đặt tên là ungdung
Bước 2: Tạo một packeag là:ungdung
Bước 3 :Copy một file pdf vào trong packeag ứng dụng. Như trong ví dụ này là file vidu.pdf
Bước 4: import gói itext-1.46 vào Library
Bước 5:Viết các class thao tác với file pdf
1. Đọc các thông tin cơ bản về file Pdf
Do java không cung cấp các API thao tác với file Pdf vì vậy chúng ta cần phải nhờ tới các api của hang thứ 3. Do đó chúng ta cần import gói itext-1.4.6. Gói này đã có trong Source code.
Bước 1:Tạo một project đặt tên là ungdung
Bước 2: Tạo một packeag là:ungdung
Bước 3 :Copy một file pdf vào trong packeag ứng dụng. Như trong ví dụ này là file vidu.pdf
Bước 4: import gói itext-1.46 vào Library
Bước 5:Viết các class thao tác với file pdf
1. Đọc các thông tin cơ bản về file Pdf
2.Copy một file Pdf này sang file pdf khácpackage ungdung;
import com.lowagie.text.Rectangle;
import com.lowagie.text.pdf.PdfReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
try {
PdfReader reader = new PdfReader("src//ungdung//vidu.pdf");
int n = reader.getNumberOfPages();
int i=0;
byte b[] = null;
Rectangle psize = reader.getPageSize(1);
System.out.println("Tong page"+n);
System.out.println("Vesion:"+reader.getPdfVersion());
System.out.println("FileLength:"+reader.getFileLength());
System.out.println("Height:"+psize.height());
System.out.println("Zight"+psize.width());
System.out.println("Size Pdf:"+reader.getPageSize(n));
System.out.println("Content:"+reader.getPageContent(3));
System.out.println("Permission"+reader.getPermissions());
while(i<n)
{
b=reader.getPageContent(i);
i++;
}
String str=new String(b);
System.out.print(str);
} catch (Exception ex) {
System.out.println("Co loi trong qua trinh doc");
}
}
}
3. Đọc nội dung của một file Pdfpublic class copy {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try {
PdfReader reader = new PdfReader("src//ungdung//vidu.pdf");
int n = reader.getNumberOfPages();
PdfStamper stamp = new PdfStamper(reader, new FileOutputStream("src//ungdung//CopyVidu.pdf"));
int i = 0;
PdfContentByte over;
BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);
while (i < n) {
i++;
over = stamp.getOverContent(i);
over.beginText();
over.setFontAndSize(bf, 18);
over.setTextMatrix(30, 30);
over.showText("page " + i);
over.setFontAndSize(bf, 32);
over.showTextAligned(Element.ALIGN_LEFT, "VanThong", 230, 430, 45);
over.endText();
}
stamp.close();
} catch (Exception de) {
de.printStackTrace();
}
}
}
package ungdung;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfReader;
public class Write {
public static void main(String[] args) {
System.out.println("");
try {
PdfReader reader = new PdfReader("src//ungdung//vidu.pdf");
int n = reader.getNumberOfPages();
PdfContentByte content;
int i=0;
while(i<n)
{
System.out.print(reader.getPageContent(i));
}
} catch (Exception de) {
de.printStackTrace();
}
}
}