]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/report/pdf/PDFPageStream.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.document.linking.ui / src / org / simantics / document / linking / report / pdf / PDFPageStream.java
index ae9ac704b710bcd668675f292611d17c0cf1a2e9..8591f20570b0bb226676927c69d36184d6b1a095 100644 (file)
-package org.simantics.document.linking.report.pdf;\r
-\r
-import java.awt.Font;\r
-import java.io.FileOutputStream;\r
-import java.io.IOException;\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-import com.lowagie.text.Document;\r
-import com.lowagie.text.PageSize;\r
-import com.lowagie.text.Rectangle;\r
-import com.lowagie.text.pdf.PdfCopy;\r
-import com.lowagie.text.pdf.PdfImportedPage;\r
-import com.lowagie.text.pdf.PdfReader;\r
-\r
-public class PDFPageStream {\r
-       boolean modifiable = false;\r
-       Rectangle pageSize = PageSize.A4;\r
-       Font defaultFont;\r
-       List<PDFPage> pages = new ArrayList<PDFPage>();\r
-       \r
-       int contentWidth;\r
-       int contentHeight;\r
-       \r
-       int marginLeft = 20;\r
-    int marginRight = 20;\r
-    int marginTop = 10;\r
-    int marginBottom = 45;\r
-\r
-       int currentPage = 0;\r
-       \r
-       public PDFPageStream() {\r
-               calculateContent();\r
-       }\r
-       \r
-       public PDFPageStream(Rectangle pageSize) {\r
-               this.pageSize = pageSize;\r
-               calculateContent();\r
-       }\r
-       \r
-       public PDFPageStream(boolean modifiable) {\r
-               this.modifiable = modifiable;\r
-               calculateContent();\r
-       }\r
-       \r
-       public PDFPageStream(Rectangle pageSize, boolean modifiable) {\r
-               this.pageSize = pageSize;\r
-               this.modifiable = modifiable;\r
-               calculateContent();\r
-       }\r
-       \r
-       private void calculateContent() {\r
-               contentWidth = (int)getPageSize().getWidth() - marginLeft - marginRight;\r
-        contentHeight = (int)getPageSize().getHeight() - marginTop - marginBottom;\r
-       }\r
-       \r
-\r
-       public Rectangle getPageSize() {\r
-               return pageSize;\r
-       }\r
-       \r
-       public Font getDefaultFont() {\r
-               return defaultFont;\r
-       }\r
-       \r
-       public void setDefaultFont(Font defaultFont) {\r
-               this.defaultFont = defaultFont;\r
-       }\r
-       \r
-       public List<PDFPage> getPages() {\r
-               return pages;\r
-       }\r
-       \r
-       public void nextPage() throws Exception{\r
-               endPage();\r
-               \r
-               PDFPage page = new PDFPage(this);\r
-               pages.add(page);\r
-               currentPage++;\r
-               \r
-       }\r
-\r
-       private void endPage() {\r
-               if (pages.size() > 0) {\r
-                       PDFPage lastPage = pages.get(pages.size()-1);\r
-                       if (!modifiable && lastPage.isOpen())\r
-                               lastPage.close();\r
-               }\r
-       }\r
-       \r
-       \r
-       \r
-       public int getAvailableLines() {\r
-               return getCurrentPage().availableLines;\r
-       }\r
-       \r
-//     public int getTotalLines() {\r
-//             return totalLines;\r
-//     }\r
-       \r
-       public int getCurrentLine() {\r
-               return getCurrentPage().currentLine;\r
-       }\r
-       \r
-       public int getContentWidth() {\r
-               return contentWidth;\r
-       }\r
-       \r
-       public int getContentHeight() {\r
-               return contentHeight;\r
-       }\r
-       \r
-       protected void checkNextPage() throws Exception{\r
-               PDFPage page = getCurrentPage();\r
-               if (contentHeight - page.currentPixel - page.getLineHeight() <= 0)\r
-                       nextPage();\r
-       }\r
-       \r
-       public int getCurrentPageIndex() {\r
-               return currentPage;\r
-       }\r
-       \r
-       public PDFPage getCurrentPage() {\r
-               return pages.get(currentPage-1);\r
-       }\r
-       \r
-       public void copy(PdfCopy pdfCopy) throws IOException{\r
-               for (PDFPage page : pages) {\r
-                       if (page.isOpen())\r
-                               page.close();\r
-                       PdfReader reader = new PdfReader(page.tempFile.getAbsolutePath());\r
-                       try {\r
-                       for (int i = 1; i <= reader.getNumberOfPages(); i++) {\r
-                               PdfImportedPage ipage = pdfCopy.getImportedPage(reader, i);\r
-                           pdfCopy.addPage(ipage);\r
-                       }\r
-                       } catch (Exception e) {\r
-                               e.printStackTrace();\r
-               } finally {\r
-                       reader.close();\r
-               }\r
-               }\r
-       }\r
-       \r
-       public void close(String filename) throws Exception{\r
-               if (pages.size() == 0) {\r
-                       return;\r
-               }\r
-               try {\r
-                       endPage();\r
-                       Document document = new Document(pageSize);\r
-                       PdfCopy pdfCopy = new PdfCopy(document, new FileOutputStream(filename));\r
-                       document.open();\r
-                       copy(pdfCopy);\r
-                       document.close();\r
-                       pdfCopy.close();\r
-               } finally {\r
-                       close();\r
-               }\r
-       }\r
-       \r
-       public void close() throws Exception{\r
-               for (PDFPage page : pages) {\r
-                               page.tempFile.delete();\r
-               }\r
-               pages.clear();\r
-               defaultFont = null;\r
-       }\r
-}\r
+package org.simantics.document.linking.report.pdf;
+
+import java.awt.Font;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.lowagie.text.Document;
+import com.lowagie.text.PageSize;
+import com.lowagie.text.Rectangle;
+import com.lowagie.text.pdf.PdfCopy;
+import com.lowagie.text.pdf.PdfImportedPage;
+import com.lowagie.text.pdf.PdfReader;
+
+public class PDFPageStream {
+       boolean modifiable = false;
+       Rectangle pageSize = PageSize.A4;
+       Font defaultFont;
+       List<PDFPage> pages = new ArrayList<PDFPage>();
+       
+       int contentWidth;
+       int contentHeight;
+       
+       int marginLeft = 20;
+    int marginRight = 20;
+    int marginTop = 10;
+    int marginBottom = 45;
+
+       int currentPage = 0;
+       
+       public PDFPageStream() {
+               calculateContent();
+       }
+       
+       public PDFPageStream(Rectangle pageSize) {
+               this.pageSize = pageSize;
+               calculateContent();
+       }
+       
+       public PDFPageStream(boolean modifiable) {
+               this.modifiable = modifiable;
+               calculateContent();
+       }
+       
+       public PDFPageStream(Rectangle pageSize, boolean modifiable) {
+               this.pageSize = pageSize;
+               this.modifiable = modifiable;
+               calculateContent();
+       }
+       
+       private void calculateContent() {
+               contentWidth = (int)getPageSize().getWidth() - marginLeft - marginRight;
+        contentHeight = (int)getPageSize().getHeight() - marginTop - marginBottom;
+       }
+       
+
+       public Rectangle getPageSize() {
+               return pageSize;
+       }
+       
+       public Font getDefaultFont() {
+               return defaultFont;
+       }
+       
+       public void setDefaultFont(Font defaultFont) {
+               this.defaultFont = defaultFont;
+       }
+       
+       public List<PDFPage> getPages() {
+               return pages;
+       }
+       
+       public void nextPage() throws Exception{
+               endPage();
+               
+               PDFPage page = new PDFPage(this);
+               pages.add(page);
+               currentPage++;
+               
+       }
+
+       private void endPage() {
+               if (pages.size() > 0) {
+                       PDFPage lastPage = pages.get(pages.size()-1);
+                       if (!modifiable && lastPage.isOpen())
+                               lastPage.close();
+               }
+       }
+       
+       
+       
+       public int getAvailableLines() {
+               return getCurrentPage().availableLines;
+       }
+       
+//     public int getTotalLines() {
+//             return totalLines;
+//     }
+       
+       public int getCurrentLine() {
+               return getCurrentPage().currentLine;
+       }
+       
+       public int getContentWidth() {
+               return contentWidth;
+       }
+       
+       public int getContentHeight() {
+               return contentHeight;
+       }
+       
+       protected void checkNextPage() throws Exception{
+               PDFPage page = getCurrentPage();
+               if (contentHeight - page.currentPixel - page.getLineHeight() <= 0)
+                       nextPage();
+       }
+       
+       public int getCurrentPageIndex() {
+               return currentPage;
+       }
+       
+       public PDFPage getCurrentPage() {
+               return pages.get(currentPage-1);
+       }
+       
+       public void copy(PdfCopy pdfCopy) throws IOException{
+               for (PDFPage page : pages) {
+                       if (page.isOpen())
+                               page.close();
+                       PdfReader reader = new PdfReader(page.tempFile.getAbsolutePath());
+                       try {
+                       for (int i = 1; i <= reader.getNumberOfPages(); i++) {
+                               PdfImportedPage ipage = pdfCopy.getImportedPage(reader, i);
+                           pdfCopy.addPage(ipage);
+                       }
+                       } catch (Exception e) {
+                               e.printStackTrace();
+               } finally {
+                       reader.close();
+               }
+               }
+       }
+       
+       public void close(String filename) throws Exception{
+               if (pages.size() == 0) {
+                       return;
+               }
+               try {
+                       endPage();
+                       Document document = new Document(pageSize);
+                       PdfCopy pdfCopy = new PdfCopy(document, new FileOutputStream(filename));
+                       document.open();
+                       copy(pdfCopy);
+                       document.close();
+                       pdfCopy.close();
+               } finally {
+                       close();
+               }
+       }
+       
+       public void close() throws Exception{
+               for (PDFPage page : pages) {
+                               page.tempFile.delete();
+               }
+               pages.clear();
+               defaultFont = null;
+       }
+}