]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.export.core/src/org/simantics/export/core/pdf/ImportPdfReader.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.export.core / src / org / simantics / export / core / pdf / ImportPdfReader.java
index f15df92b7d04144745dce15993d1a6fcacf20328..21c0c8e4d913be597f2782cb61b0458f385442a1 100644 (file)
-package org.simantics.export.core.pdf;\r
-\r
-import java.io.File;\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.pdf.PRStream;\r
-import com.lowagie.text.pdf.PdfArray;\r
-import com.lowagie.text.pdf.PdfDictionary;\r
-import com.lowagie.text.pdf.PdfName;\r
-import com.lowagie.text.pdf.PdfReader;\r
-import com.lowagie.text.pdf.PdfString;\r
-\r
-public class ImportPdfReader {\r
-\r
-       /** File if opened from file */\r
-       public File file;\r
-       \r
-       /** iText pdf reader */\r
-       public PdfReader reader;\r
-       \r
-       List<Attachment> attachments;\r
-       \r
-       public ImportPdfReader() {              \r
-       }\r
-       \r
-       public ImportPdfReader(File file) throws IOException {\r
-               this.file = file;\r
-               reader = new PdfReader(file.getAbsolutePath());\r
-       }\r
-\r
-       public List<Attachment> getAttachments() {\r
-               if ( attachments != null ) return attachments;          \r
-               attachments = new ArrayList<Attachment>();\r
-               PdfDictionary root = reader.getCatalog();\r
-               PdfDictionary names = (PdfDictionary)PdfReader.getPdfObject(root.get(PdfName.NAMES));\r
-               if (names == null)\r
-                       return attachments;\r
-               PdfDictionary embeddedfiles = names.getAsDict(PdfName.EMBEDDEDFILES);\r
-               if (embeddedfiles == null)\r
-                       return attachments;\r
-               PdfArray filespecs = embeddedfiles.getAsArray(PdfName.NAMES);\r
-               if (filespecs == null)\r
-                       return attachments;\r
-               for (int i = 0; i < filespecs.size();) {\r
-                       Attachment a = new Attachment();\r
-                       filespecs.getAsString(i++);\r
-                       a.filespec = filespecs.getAsDict(i++);\r
-                       a.refs = a.filespec.getAsDict(PdfName.EF);\r
-                       for (Object _key : a.refs.getKeys()) {\r
-                               a.key = (PdfName) _key;\r
-                               a.filename = a.filespec.getAsString(a.key);\r
-                               attachments.add( a );\r
-                       }\r
-               }               \r
-               return attachments;\r
-       }\r
-       \r
-       public List<Attachment> getAttachments(String extension) {\r
-               ArrayList<Attachment> result = new ArrayList<Attachment>();\r
-               for ( Attachment a : getAttachments() ) {\r
-                       if ( a.getFilename().endsWith(extension) ) {\r
-                               result.add( a );\r
-                       }\r
-               }\r
-               return result;\r
-       }\r
-       \r
-       public void close() {\r
-               if ( reader!=null ) {\r
-                       reader.close();\r
-                       reader = null;\r
-               }\r
-       }\r
-\r
-       public static class Attachment {\r
-               PdfDictionary filespec;\r
-               PdfDictionary refs;\r
-               PdfName key;\r
-               PdfString filename;\r
-               \r
-               public String getFilename() {\r
-                       return filename.toUnicodeString();\r
-               }\r
-               \r
-               public void saveTo(File file) throws IOException {\r
-                       FileOutputStream fos;\r
-                       PRStream stream;\r
-                       if ( !file.exists() ) file.createNewFile();\r
-                       fos = new FileOutputStream(file); \r
-                       try {\r
-                               stream = (PRStream) PdfReader.getPdfObject(refs.getAsIndirectObject(key));\r
-                               fos.write(PdfReader.getStreamBytes(stream));\r
-                               fos.flush();\r
-                       } finally {\r
-                               fos.close();\r
-                       }\r
-               }\r
-               \r
-       }\r
-       \r
-}\r
+package org.simantics.export.core.pdf;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.lowagie.text.pdf.PRStream;
+import com.lowagie.text.pdf.PdfArray;
+import com.lowagie.text.pdf.PdfDictionary;
+import com.lowagie.text.pdf.PdfName;
+import com.lowagie.text.pdf.PdfReader;
+import com.lowagie.text.pdf.PdfString;
+
+public class ImportPdfReader {
+
+       /** File if opened from file */
+       public File file;
+       
+       /** iText pdf reader */
+       public PdfReader reader;
+       
+       List<Attachment> attachments;
+       
+       public ImportPdfReader() {              
+       }
+       
+       public ImportPdfReader(File file) throws IOException {
+               this.file = file;
+               reader = new PdfReader(file.getAbsolutePath());
+       }
+
+       public List<Attachment> getAttachments() {
+               if ( attachments != null ) return attachments;          
+               attachments = new ArrayList<Attachment>();
+               PdfDictionary root = reader.getCatalog();
+               PdfDictionary names = (PdfDictionary)PdfReader.getPdfObject(root.get(PdfName.NAMES));
+               if (names == null)
+                       return attachments;
+               PdfDictionary embeddedfiles = names.getAsDict(PdfName.EMBEDDEDFILES);
+               if (embeddedfiles == null)
+                       return attachments;
+               PdfArray filespecs = embeddedfiles.getAsArray(PdfName.NAMES);
+               if (filespecs == null)
+                       return attachments;
+               for (int i = 0; i < filespecs.size();) {
+                       Attachment a = new Attachment();
+                       filespecs.getAsString(i++);
+                       a.filespec = filespecs.getAsDict(i++);
+                       a.refs = a.filespec.getAsDict(PdfName.EF);
+                       for (Object _key : a.refs.getKeys()) {
+                               a.key = (PdfName) _key;
+                               a.filename = a.filespec.getAsString(a.key);
+                               attachments.add( a );
+                       }
+               }               
+               return attachments;
+       }
+       
+       public List<Attachment> getAttachments(String extension) {
+               ArrayList<Attachment> result = new ArrayList<Attachment>();
+               for ( Attachment a : getAttachments() ) {
+                       if ( a.getFilename().endsWith(extension) ) {
+                               result.add( a );
+                       }
+               }
+               return result;
+       }
+       
+       public void close() {
+               if ( reader!=null ) {
+                       reader.close();
+                       reader = null;
+               }
+       }
+
+       public static class Attachment {
+               PdfDictionary filespec;
+               PdfDictionary refs;
+               PdfName key;
+               PdfString filename;
+               
+               public String getFilename() {
+                       return filename.toUnicodeString();
+               }
+               
+               public void saveTo(File file) throws IOException {
+                       FileOutputStream fos;
+                       PRStream stream;
+                       if ( !file.exists() ) file.createNewFile();
+                       fos = new FileOutputStream(file); 
+                       try {
+                               stream = (PRStream) PdfReader.getPdfObject(refs.getAsIndirectObject(key));
+                               fos.write(PdfReader.getStreamBytes(stream));
+                               fos.flush();
+                       } finally {
+                               fos.close();
+                       }
+               }
+               
+       }
+       
+}