Now the use of PDF documents has become more and more common, it is in the document compression, security and so on, the performance is very good, about its benefits I do not say here more. So how do you use the Java language Development application to output documents in PDF format? Here to introduce Itext, it is a source code development project, you can use itext easy to achieve the output of the PDF. In this article I will show you how to use Itext to generate PDF documents.
HelloWorld
As a program developer, the HelloWorld program is not unfamiliar, almost every language or application will always give a helloworld example to introduce to you. When we begin to introduce itext, we may as well start from HelloWorld
Now run the code above (remember to put Itext.jar in your classpath before that), and if it's all right, you'll see a file called Hello.pdf in "c:/". Open this file and see what? Yes, there is a line of characters "HelloWorld" in the document, as shown below.
How is it easy? Of course, we can not simply output a string in the actual application of the finished, but also to do a lot of work to output more complex PDF, below let us begin to learn more about Itext other features.
More complex settings
Analyzing the construction method of document, we find that there are two other than the parameterless constructs in our previous example:
/*
* Created on 2004-1-3, creating the first Hello World program
*/
Package test1;
Import java.io.FileNotFoundException;
Import Java.io.FileOutputStream;
Import com.lowagie.text.*;
Import com.lowagie.text.pdf.*;
public class HelloWorld {
public static void Main (string[] args) {
Create a Document Object
Document Doc=new document ();
try {
Define the output location and load the document object into the output object
Pdfwriter.getinstance (Doc, New FileOutputStream ("C:/hello.pdf"));
Open Document Object
Doc.open ();
Add text "Hello World"
Doc.add (New Paragraph ("HelloWorld"));
Close document objects, freeing resources
Doc.close ();
catch (FileNotFoundException e) {
E.printstacktrace ();
catch (Documentexception e) {
E.printstacktrace ();
}
}
}
public Document ();
Public Document (Rectangle pageSize);
Public Document (Rectangle pageSize,
int MarginLeft,
int MarginRight,
int MarginTop,
int marginbottom);
The first sets the page size of the document, and the second sets the page margins in addition to the page size of the document. Let me give you an example.
Rectangle psize=new Rectangle (144,90);
Background color of the document
Psize.setbackgroundcolor (Color.Blue);
Create a Document object and set his initialization size
Document Doc=new document (psize);
Rectangle psize=new Rectangle (144,90);
Background color of the document
Psize.setbackgroundcolor (Color.Blue);
Create a Document object, set initialization size and margins
Document Doc=new document (psize,5,5,5,5);
Modify the code in the first example and then run it, and you can see that the output of the PDF document will look like this, the document becomes small and the background is blue:
In the above example we set the size of the document through rectangle, in fact, Itext has defined a number of commonly used pages for us, such as: A0-A10, LEGAL, letter, etc. These are all placed in the Com.lowagie.text.PageSize class, where you can refer to the page information directly by calling the static method in PageSize. Like what:
pagesize.a4;
Set font
Using Itext to set the font of text, how to show Chinese to Chinese programmers is the most critical issue. Luckily Itext has a special package to set up Asian country fonts You can download this package from Http://itext.sourceforge.net/downloads/iTextAsian.jar. Then put it directly into your classpath. How do I set the font?
Font Fontchinese = new Font (Bfchinese, font.normal);
In the above code to set the display of Chinese fonts, you can only use the following code to package Chinese into the PDF
String title = "I Like to drink coffee";
Paragraph t = new Paragraph (title, Fontchinese);
Doc.add (t);
If you think this setting is very troublesome, oh, then you have to expand its source code, set the font all in that basefont inside.
Edit Table
The table in Itext is very much like the use of tables in HTML but it has a cell that represents a lattice, and basically the table in here is consistent with the Table object in swing, such as the one in the previous code for the table:
Define a table
Table table = new Table (2);
Set Table borders
Table.setborderwidth (1);
Cell cell = new cell ("Matrix III");
Cell.setheader (TRUE);
Disaggregated
Cell.setcolspan (2);
Cell.setbackgroundcolor (Color.Blue);
Table.addcell (cell);
Place picture
Now you must know how to add a picture to the document, yes, just declare an image object, and the image used here is the same as the image usage in AWT.
Define a picture
Image jpeg = image.getinstance ("c:/matrix.jpg");
Center picture
Jpeg.setalignment (Image.align_center);
End
About the use of itext I would like to introduce these, more in-depth things only people refer to the source code of their own experience.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.