CC98论坛精华区保存器

主要用到了正则表达式和itext两个工具(都是新学)

 

首先用URL抓取网页的数据,然后用正则表达式一句句的去匹配,开始先匹配出网页中有用的链接地址,然后做个循环,继续匹配链接网址中的链接地址,把每层目录都写到PDF中,同时在网页中匹配帖子的链接,找到帖子的地址,然后把帖子写到PDF中

创建一个文件和pdfWriter

1                 Document document = new Document(PageSize.A4, 50, 50, 50, 50);
2 PdfWriter pdfWriter = PdfWriter.getInstance(document,new FileOutputStream("C:\\save2.pdf"));
3 pdfWriter.setStrictImageSequence(true);
4 document.open();

创建一种中文字体

1 BaseFont bfChinese = BaseFont.createFont( "STSongStd-Light" ,  "UniGB-UCS2-H" ,  false );
2 Font fontChinese = new Font(bfChinese , 24 , Font.BOLD, Color.RED);

像PDF中写入一段话,作为封面的标题

Paragraph paragraph = new Paragraph("\n\n\n\n\n"+"CC98-精华贴集"+"\n\n\n\n",fontChinese);
paragraph.setAlignment(Paragraph.ALIGN_CENTER);
document.add(paragraph);

用URL做一个数据流,然后做两个正则表示pattern,一个用来匹配子文件夹,一个用来匹配帖子

BufferedReader br = new BufferedReader(new InputStreamReader(fatherUrl.openStream()));
String s ="";

String folderRegexp = "<TD.*tablebody1>.*href=\".*</a></TD>";
Pattern folderPattern = Pattern.compile(folderRegexp);
Pattern tieziPattern = Pattern.compile(new String("href=dispbbs.*</a></TD>"));

读取每一行,如果匹配到子文件夹,再匹配出子文件夹的名字和链接地址

 1 while ((s=br.readLine())!= null)
2 {
3 Matcher folderMatcher = folderPattern.matcher(s);//匹配子文件夹
4 Matcher tieziMatcher = tieziPattern.matcher(s);//匹配帖子
5 if(folderMatcher.find())
6 {
7 for(int i=0;i<=folderMatcher.groupCount();i++)
8 {
9 String item = folderMatcher.group(i);//该文件夹的内容
10
11 if(item != null)
12 {
13 Matcher nameMatcher = Pattern.compile(new String("\">.*</a></TD>")).matcher(item);
14 nameMatcher.find();
15 String itemNameString = nameMatcher.group(0);//提取出文件夹的名字
16 itemNameString = itemNameString.substring(2, itemNameString.length()-9);
17 Matcher urlMatcher = Pattern.compile(new String("href=\".*\">")).matcher(item);
18 urlMatcher.find();
19 String urlString = urlMatcher.group(0);//提取出链接地址
20 urlString = urlString.substring(6, urlString.length()-2);
21
22 urlString = baseURLString + "list_best.asp" + urlString;
23
24
25
26 Chapter chapter = new Chapter(new Paragraph(itemNameString, fontChinese), 1);//名字写入到pdf新章节中
27 chapter.setNumberDepth(0);
28 chapter = addSubSection(new URL(urlString),chapter);//添加链接地址的子内容
29 document.add(chapter);
30
31 }
32 }
33 }

找到了帖子,跟匹配文件夹差不多,匹配帖子的名字和链接地址

else if(tieziMatcher.find())
{
for(int i=0;i<=tieziMatcher.groupCount();i++)
{
String item = tieziMatcher.group(i);
if(item != null)
{
Matcher nameMatcher = Pattern.compile(new String(">.*</a></TD>")).matcher(item);
nameMatcher.find();
String itemNameString = nameMatcher.group(0);
itemNameString = itemNameString.substring(1, itemNameString.length()-9);
Matcher urlMatcher = Pattern.compile(new String("href=.*[0-9]>")).matcher(item);
urlMatcher.find();
String urlString = urlMatcher.group(0);
urlString = urlString.substring(5, urlString.length()-1);

urlString = baseURLString + urlString;

Chapter chapter = new Chapter(new Paragraph(itemNameString, fontChinese), 1);
chapter.setNumberDepth(0);
Section sonSection = chapter.addSection("");
sonSection.add(new Paragraph("原帖地址:"+urlString,fontChinese));
sonSection = addAllBBSContent(urlString, sonSection);
document.add(chapter);
}
}
}

 

所有代码

View Code
  1 package ss;
2
3 import java.awt.Color;
4 import java.io.FileOutputStream;
5 import java.io.IOException;
6 import java.io.InputStreamReader;
7 import java.net.*;
8 import java.io.*;
9 import java.util.regex.*;
10
11 import com.lowagie.text.*;
12 import com.lowagie.text.pdf.BaseFont;
13 import com.lowagie.text.pdf.PdfWriter;
14
15 public class cc98saver{
16 static String baseURLString = new String("http://www.cc98.org/");
17
18 public static void BuildXMLDoc(int bordid) throws Throwable
19 {
20 //先创建一个url地址
21 String myurl = baseURLString+"list_best.asp?boardid="+bordid;
22 URL url = new URL(myurl);
23 //创建一个文档和pdfWriter
24 Document document = new Document(PageSize.A4, 50, 50, 50, 50);
25 PdfWriter pdfWriter = PdfWriter.getInstance(document,new FileOutputStream("C:\\save2.pdf"));
26 pdfWriter.setStrictImageSequence(true);
27 document.open();//打开文件
28
29 //自定义中文字体
30 BaseFont bfChinese = BaseFont.createFont( "STSongStd-Light" , "UniGB-UCS2-H" , false );
31 Font fontChinese = new Font(bfChinese , 24 , Font.BOLD, Color.RED);
32 //向pdf中添加一个段落
33 Paragraph paragraph = new Paragraph("\n\n\n\n\n"+"CC98-精华贴集"+"\n\n\n\n",fontChinese);
34 paragraph.setAlignment(Paragraph.ALIGN_CENTER);
35 document.add(paragraph);
36
37 fontChinese.setSize(16);
38 paragraph = new Paragraph("行者无疆版\n"+"\n\n\n\n\n\n\n\n",fontChinese);
39 paragraph.setAlignment(Paragraph.ALIGN_CENTER);
40 document.add(paragraph);
41
42 fontChinese.setSize(20);
43 paragraph = new Paragraph("行走,思考,一直在路上\n",fontChinese);
44 paragraph.setAlignment(Paragraph.ALIGN_CENTER);
45 document.add(paragraph);
46
47 fontChinese.setSize(16);
48 fontChinese.setColor(Color.black);
49 paragraph = new Paragraph("http://www.cc98.org/list.asp?boardid=147");
50 paragraph.setAlignment(Paragraph.ALIGN_CENTER);
51 document.add(paragraph);
52
53 fontChinese.setStyle(Font.NORMAL);
54 paragraph = new Paragraph("\n\n\n by 扑克",fontChinese);
55 paragraph.setAlignment(Paragraph.ALIGN_LEFT);
56 document.add(paragraph);
57
58 //分析链接地址的内容,添加到document中
59 document = addSubParagrph(url, document);
60
61 document.close();
62 System.out.println("Done!");
63
64 }
65 public static Document addSubParagrph(URL fatherUrl,Document document) throws Throwable
66 {
67 BaseFont bfChinese = BaseFont.createFont( "STSongStd-Light" , "UniGB-UCS2-H" , false );
68 Font fontChinese = new Font(bfChinese , 16 , Font.BOLD, Color.RED);
69 //用链接地址做一个数据流
70 BufferedReader br = new BufferedReader(new InputStreamReader(fatherUrl.openStream()));
71 String s ="";
72 //正则表达式的pattern 用来匹配想要的字符串
73 String folderRegexp = "<TD.*tablebody1>.*href=\".*</a></TD>";
74 Pattern folderPattern = Pattern.compile(folderRegexp);
75 Pattern tieziPattern = Pattern.compile(new String("href=dispbbs.*</a></TD>"));
76 while ((s=br.readLine())!= null)
77 {
78 //对于从流中读到的每一句字符串,做一个matcher
79 Matcher folderMatcher = folderPattern.matcher(s);
80 Matcher tieziMatcher = tieziPattern.matcher(s);
81 if(folderMatcher.find())//找到了想要的内容
82 {
83 for(int i=0;i<=folderMatcher.groupCount();i++)
84 {
85 String item = folderMatcher.group(i);//想要的内容项
86
87 if(item != null)
88 {
89 Matcher nameMatcher = Pattern.compile(new String("\">.*</a></TD>")).matcher(item);
90 nameMatcher.find();
91 String itemNameString = nameMatcher.group(0);//用正则表达式提取出名字
92 itemNameString = itemNameString.substring(2, itemNameString.length()-9);
93 Matcher urlMatcher = Pattern.compile(new String("href=\".*\">")).matcher(item);
94 urlMatcher.find();
95 String urlString = urlMatcher.group(0);//提取出链接地址
96 urlString = urlString.substring(6, urlString.length()-2);
97
98 urlString = baseURLString + "list_best.asp" + urlString;
99
100
101
102 Chapter chapter = new Chapter(new Paragraph(itemNameString, fontChinese), 1);//名字写入pdf中
103 chapter.setNumberDepth(0);
104 chapter = addSubSection(new URL(urlString),chapter);//链接地址传入子方法中,继续添加内容
105 document.add(chapter);
106
107 }
108 }
109 }
110 else if(tieziMatcher.find())//找到了帖子
111 {
112 for(int i=0;i<=tieziMatcher.groupCount();i++)
113 {
114 String item = tieziMatcher.group(i);
115 if(item != null)
116 {
117 Matcher nameMatcher = Pattern.compile(new String(">.*</a></TD>")).matcher(item);
118 nameMatcher.find();
119 String itemNameString = nameMatcher.group(0);
120 itemNameString = itemNameString.substring(1, itemNameString.length()-9);
121 Matcher urlMatcher = Pattern.compile(new String("href=.*[0-9]>")).matcher(item);
122 urlMatcher.find();
123 String urlString = urlMatcher.group(0);
124 urlString = urlString.substring(5, urlString.length()-1);
125
126 urlString = baseURLString + urlString;
127
128 Chapter chapter = new Chapter(new Paragraph(itemNameString, fontChinese), 1);
129 chapter.setNumberDepth(0);
130 Section sonSection = chapter.addSection("");
131 sonSection.add(new Paragraph("原帖地址:"+urlString,fontChinese));
132 sonSection = addAllBBSContent(urlString, sonSection);
133 document.add(chapter);
134 }
135 }
136 }
137
138 }
139 return document;
140 }
141 public static Chapter addSubSection(URL fatherUrl,Chapter chapter) throws Throwable
142 {
143 BaseFont bfChinese = BaseFont.createFont( "STSongStd-Light" , "UniGB-UCS2-H" , false );
144 Font fontChinese = new Font(bfChinese , 12 , Font.NORMAL, Color.black);
145
146 BufferedReader br = new BufferedReader(new InputStreamReader(fatherUrl.openStream()));
147 String s ="";
148
149 String folderRegexp = "<TD.*tablebody1>.*href=\".*</a></TD>";
150 Pattern folderPattern = Pattern.compile(folderRegexp);
151 Pattern tieziPattern = Pattern.compile(new String("href=dispbbs.*</a></TD>"));
152 while ((s=br.readLine())!= null)
153 {
154 Matcher folderMatcher = folderPattern.matcher(s);
155 Matcher tieziMatcher = tieziPattern.matcher(s);
156 if(folderMatcher.find())
157 {
158 for(int i=0;i<=folderMatcher.groupCount();i++)
159 {
160 String item = folderMatcher.group(i);
161
162 if(item != null)
163 {
164 Matcher nameMatcher = Pattern.compile(new String("\">.*</a></TD>")).matcher(item);
165 nameMatcher.find();
166 String itemNameString = nameMatcher.group(0);
167 itemNameString = itemNameString.substring(2, itemNameString.length()-9);
168 Matcher urlMatcher = Pattern.compile(new String("href=\".*\">")).matcher(item);
169 urlMatcher.find();
170 String urlString = urlMatcher.group(0);
171 urlString = urlString.substring(6, urlString.length()-2);
172
173 urlString = baseURLString + "list_best.asp" + urlString;
174
175
176 Section section = chapter.addSection(new Paragraph(itemNameString,fontChinese));
177 section = addSubContent(new URL(urlString),section);
178
179 }
180 }
181 }
182 else if(tieziMatcher.find())
183 {
184 for(int i=0;i<=tieziMatcher.groupCount();i++)
185 {
186 String item = tieziMatcher.group(i);
187 if(item != null)
188 {
189 Matcher nameMatcher = Pattern.compile(new String(">.*</a></TD>")).matcher(item);
190 nameMatcher.find();
191 String itemNameString = nameMatcher.group(0);
192 itemNameString = itemNameString.substring(1, itemNameString.length()-9);
193 Matcher urlMatcher = Pattern.compile(new String("href=.*[0-9]>")).matcher(item);
194 urlMatcher.find();
195 String urlString = urlMatcher.group(0);
196 urlString = urlString.substring(5, urlString.length()-1);
197
198 urlString = baseURLString + urlString;
199
200 Section section = chapter.addSection(new Paragraph(itemNameString,fontChinese));
201
202 section.add(new Paragraph("原帖地址:"+urlString,fontChinese));
203 section = addAllBBSContent(urlString, section);
204 }
205 }
206 }
207
208 }
209 return chapter;
210 }
211 public static Section addSubContent(URL fatherUrl,Section fatheresSection) throws Throwable
212 {
213 BaseFont bfChinese = BaseFont.createFont( "STSongStd-Light" , "UniGB-UCS2-H" , false );
214 Font fontChinese = new Font(bfChinese , 12 , Font.NORMAL, Color.BLACK);
215
216 BufferedReader br = new BufferedReader(new InputStreamReader(fatherUrl.openStream()));
217 String s ="";
218
219 String folderRegexp = "<TD.*tablebody1>.*href=\".*</a></TD>";
220 Pattern folderPattern = Pattern.compile(folderRegexp);
221
222 Pattern tieziPattern = Pattern.compile(new String("href=dispbbs.*</a></TD>"));
223
224 while ((s=br.readLine())!= null)
225 {
226 Matcher folderMatcher = folderPattern.matcher(s);
227 Matcher tieziMatcher = tieziPattern.matcher(s);
228 if(folderMatcher.find())
229 {
230 for(int i=0;i<=folderMatcher.groupCount();i++)
231 {
232 String item = folderMatcher.group(i);
233 if(item != null)
234 {
235 Matcher nameMatcher = Pattern.compile(new String("\">.*</a></TD>")).matcher(item);
236 nameMatcher.find();
237 String itemNameString = nameMatcher.group(0);
238 itemNameString = itemNameString.substring(2, itemNameString.length()-9);
239 Matcher urlMatcher = Pattern.compile(new String("href=\".*\">")).matcher(item);
240 urlMatcher.find();
241 String urlString = urlMatcher.group(0);
242 urlString = urlString.substring(6, urlString.length()-2);
243
244 urlString = baseURLString + "list_best.asp" + urlString;
245
246 Section sonSection = fatheresSection.addSection(new Paragraph(itemNameString,fontChinese));
247 sonSection = addSubContent(new URL(urlString),sonSection);
248
249
250 }
251 }
252 }
253 else if(tieziMatcher.find())
254 {
255 for(int i=0;i<=tieziMatcher.groupCount();i++)
256 {
257 String item = tieziMatcher.group(i);
258 if(item != null)
259 {
260 Matcher nameMatcher = Pattern.compile(new String(">.*</a></TD>")).matcher(item);
261 nameMatcher.find();
262 String itemNameString = nameMatcher.group(0);
263 itemNameString = itemNameString.substring(1, itemNameString.length()-9);
264 Matcher urlMatcher = Pattern.compile(new String("href=.*[0-9]>")).matcher(item);
265 urlMatcher.find();
266 String urlString = urlMatcher.group(0);
267 urlString = urlString.substring(5, urlString.length()-1);
268
269 urlString = baseURLString + urlString;
270
271 Font myfontChinese = new Font(bfChinese , 12 , Font.BOLD, Color.RED);
272
273 Section sonSection = fatheresSection.addSection(new Paragraph(itemNameString,myfontChinese));
274 sonSection.add(new Paragraph("原帖地址:"+urlString,fontChinese));
275 sonSection = addAllBBSContent(urlString, sonSection);
276 }
277 }
278 }
279 }
280 return fatheresSection;
281 }
282 public static Section addAllBBSContent(String fatherUrl,Section fatheresSection) throws Throwable{
283
284 BufferedReader br = new BufferedReader(new InputStreamReader((new URL( fatherUrl)).openStream()));
285 String s ="";
286 //本主题贴数<b>131</b>
287 Pattern tieziNumPattern = Pattern.compile(new String("本主题贴数<b>.*</b>"));
288
289 while ((s=br.readLine())!= null)
290 {
291 Matcher numMatcher = tieziNumPattern.matcher(s);
292
293 if (numMatcher.find())
294 {
295 String numsString = numMatcher.group();
296 numsString = numsString.substring(8, numsString.length()-4);
297 int num = Integer.parseInt(numsString);
298 num = num/10+1;
299 for(int ssIndex = 1;ssIndex<=1;ssIndex++){
300 System.out.println("输出页面:"+ssIndex);
301 URL sonUrl = new URL(fatherUrl+"&star="+ssIndex);
302 fatheresSection = addBBSContent(sonUrl, fatheresSection);
303 }
304 }
305
306 }
307 return fatheresSection;
308 }
309 public static Section addBBSContent(URL fatherUrl,Section fatheresSection) throws Throwable{
310 BaseFont bfChinese = BaseFont.createFont( "STSongStd-Light" , "UniGB-UCS2-H" , false );
311 Font fontChinese = new Font(bfChinese , 12 , Font.BOLD, Color.BLACK);
312
313 BufferedReader br = new BufferedReader(new InputStreamReader(fatherUrl.openStream()));
314 String s ="";
315 //<a name="1"></a>
316 Pattern tieziStartPattern = Pattern.compile(new String("<a name=\".*\"></a>"));
317 //<br /><div style='word-wrap:break-word;word-break:break-all
318 Pattern tieziEndPattern = Pattern.compile(new String("<br /><div style='word-wrap:break-word;word-break:break-all"));
319 String tieziStringBuffer = new String();
320 boolean ssBegin = false;
321
322 while ((s=br.readLine())!= null)
323 {
324 Matcher startMatcher = tieziStartPattern.matcher(s);
325 Matcher endMatcher = tieziEndPattern.matcher(s);
326
327 if (startMatcher.find())
328 {
329
330 for(int i=0;i<=startMatcher.groupCount();i++)
331 {
332 ssBegin = true;
333 tieziStringBuffer = s;
334 }
335
336 }
337 else if(endMatcher.find())
338 {
339 for(int i=0;i<=endMatcher.groupCount();i++)
340 {
341 ssBegin = false;
342 tieziStringBuffer += s;
343 //发帖人ID
344 Matcher nameMatcher = Pattern.compile(new String("<B>.*</B></font></a>")).matcher(tieziStringBuffer);
345 if(nameMatcher.find())
346 {
347 String itemNameString = nameMatcher.group(0);
348 itemNameString = itemNameString.substring(3, itemNameString.length()-15);
349 //发帖内容
350 Matcher contentMatcher = Pattern.compile(new String("<!--内容-->.*</table>")).matcher(tieziStringBuffer);
351 if(contentMatcher.find())
352 {
353 String contentString = contentMatcher.group(0);
354 //contentString = contentString.substring(6, contentString.length()-2);
355
356 contentString = contentString.replaceAll("<br>", "\r\n");
357 contentString = contentString.replaceAll("<BR>", "\r\n");
358 contentString = contentString.replaceAll("<script>.*</script>", "");
359 contentString = contentString.replaceAll("&nbsp;", " ");
360 contentString = contentString.replaceAll("<!--内容-->", "");
361 contentString = contentString.replaceAll("<[/]*blockquote>", "");
362 contentString = contentString.replaceAll("<[/]*table.*>", "");
363 contentString = contentString.replaceAll("<[/]*td.*>", "");
364 contentString = contentString.replaceAll("<[/]*tr>", "");
365 contentString = contentString.replaceAll("<img.*>", "");
366 contentString = contentString.replaceAll("</span>", "");
367 contentString = contentString.replaceAll("<span.*\"\\s>", "");
368
369
370 // contentString = contentString.replaceAll("<.*>", "");
371 // contentString = contentString.replaceAll("\\[.*\\]", "");
372 // System.out.println("输出一楼。。");
373 Section sonSection = fatheresSection.addSection(new Paragraph(itemNameString,fontChinese));
374 //sonSection.add(new Paragraph(contentString,fontChinese));
375 sonSection = addPicContent(sonSection,contentString);
376 sonSection.add(new Paragraph("===================================================="));
377 }
378
379 }
380
381
382 }
383 }
384 else if (ssBegin) {
385 tieziStringBuffer += s;
386 }
387 }
388
389 return fatheresSection;
390 }
391 public static Section addPicContent(Section fathSection,String contentString) throws Throwable{
392
393 Matcher picMatcher = Pattern.compile(new String("\\[upload=jpg.*\\]http.*jpg\\[/upload\\]")).matcher(contentString);
394 while (picMatcher.find())
395 {
396 String picString = picMatcher.group();
397 picString = picString.substring(picString.indexOf(']')+1, picString.length()-9);
398 fathSection = addFaceContent(fathSection, contentString.substring(0, picMatcher.start()));
399 try {
400 Image jpg = Image.getInstance(new URL(picString));
401 //jpg.setAlignment(Image.MIDDLE);
402 //jpg.setDpi(96, 96);
403 jpg.scalePercent(50, 50);
404 // System.out.println("输出图片。。");
405 fathSection.add(jpg);
406 } catch (Exception e) {
407 // TODO: handle exception
408 }
409 contentString = contentString.substring(picMatcher.end(), contentString.length());
410 picMatcher = Pattern.compile(new String("\\[upload=jpg.*\\]http.*jpg\\[/upload\\]")).matcher(contentString);
411 }
412 fathSection = addFaceContent(fathSection, contentString);
413 return fathSection;
414 }
415 public static Section addFaceContent(Section fathSection,String contentString) throws Throwable{
416 //face [em03]
417 Matcher picMatcher = Pattern.compile(new String("\\[em[0-9]*\\]")).matcher(contentString);
418 while (picMatcher.find())
419 {
420 String picString = picMatcher.group();
421 int picNum = Integer.parseInt(picString.substring(3, picString.length()-1)) + 1;
422 picString = "http://www.cc98.org/emot/em"+picNum+".gif";
423 fathSection = addOtherContent(fathSection, contentString.substring(0, picMatcher.start()));
424 Image jpg = Image.getInstance(new URL(picString));
425 jpg.scalePercent(50, 50);
426 //jpg.scaleToFit(40, 40);
427 // System.out.println("输出表情。。");
428 fathSection.add(jpg);
429 if (picMatcher.end()+1<=contentString.length())
430 {
431 contentString = contentString.substring(picMatcher.end(), contentString.length());
432 picMatcher = Pattern.compile(new String("\\[em[0-9]*\\]")).matcher(contentString);
433 }
434 else {
435 contentString = "";
436 picMatcher = Pattern.compile(new String("\\[em[0-9]*\\]")).matcher(contentString);
437 }
438 }
439 fathSection = addOtherContent(fathSection, contentString);
440 return fathSection;
441 }
442 public static Section addOtherContent(Section fathSection,String contentString) throws Throwable{
443
444 String ubbregString = "\\[[/]*quotex\\]";
445 Matcher ubbMatcher = Pattern.compile(ubbregString).matcher(contentString);
446
447 while (ubbMatcher.find())
448 {
449 String ubbString = ubbMatcher.group();
450 ubbString = ubbString.substring(1,ubbString.length()-1);
451 fathSection = addContent(fathSection, contentString.substring(0, ubbMatcher.start()));
452
453 fathSection = addContent(fathSection, "- - - - - - - - - - - - - - - - - - - - - -");
454
455 if (ubbMatcher.end()+1<=contentString.length()) {
456 contentString = contentString.substring(ubbMatcher.end(), contentString.length());
457 ubbMatcher = Pattern.compile(ubbregString).matcher(contentString);
458 }
459 else {
460 contentString = "";
461 ubbMatcher = Pattern.compile(ubbregString).matcher(contentString);
462 }
463 }
464 fathSection = addContent(fathSection, contentString);
465 return fathSection;
466 }
467 public static Section addContent(Section fathSection,String contentString) throws Throwable{
468 //C:/Windows/Fonts/SIMYOU.TTF ,BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
469 BaseFont bfChinese = BaseFont.createFont( "C://Windows/Fonts/simsun.ttc,1" , BaseFont.IDENTITY_H , BaseFont.NOT_EMBEDDED );
470 Font defaultFont = new Font(bfChinese , 8 , Font.NORMAL, Color.BLACK);
471
472 contentString = contentString.replaceAll("\\[[0-9a-zA-Z=/#]*\\]", "");
473 // System.out.println(" 输出文字:"+contentString);
474 fathSection.add(new Paragraph(contentString,defaultFont));
475 return fathSection;
476 }
477
478 public static void main(String[] args) throws Throwable{
479 try {
480
481 System.out.println("Now we build the PDF document of save98 .....");
482 int bordid = 147;
483 BuildXMLDoc(bordid);
484 System.out.println("The PDF document of save98 Done.....");
485 } catch (Exception e)
486 {
487 System.out.println(e.getMessage());
488 }
489 }
490 }










posted on 2012-03-13 11:03  bingwenst  阅读(1850)  评论(0编辑  收藏  举报

导航