Changeset 23862 in osm for applications


Ignore:
Timestamp:
2010-10-27T15:31:08+02:00 (14 years ago)
Author:
extropy
Message:

Transition to pdfbox library.

Location:
applications/editors/josm/plugins/pdfimport/src
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/pdfimport/src/pdfimport/LayerInfo.java

    r23702 r23862  
    1010        public boolean stroke;
    1111
    12         public int nr; 
     12        public int nr;
    1313        public int divider;
    14        
     14        public int dash;
     15
    1516        @Override
    1617        public int hashCode()
    1718        {
    18                 int code =  Double.toString(width).hashCode() ^ this.divider;
    19                
     19                int code =  Double.toString(width).hashCode() ^ this.divider ^ this.dash;
     20
    2021                if (this.fill) {
    2122                        code ^= this.fillColor.hashCode();
    2223                }
    23                
     24
    2425                if (this.stroke) {
    2526                        code ^= this.color.hashCode();
    2627                }
    27                
     28
    2829                return code;
    2930        }
    30        
     31
     32        @Override
    3133        public boolean equals(Object o)
    3234        {
    3335                LayerInfo l = (LayerInfo) o;
    34                 boolean eq = 
    35                         this.width == l.width && 
    36                         this.divider == l.divider && 
     36                boolean eq =
     37                        this.width == l.width &&
     38                        this.divider == l.divider &&
    3739                        this.fill == l.fill &&
    38                         this.stroke == l.stroke;
    39                
     40                        this.stroke == l.stroke &&
     41                        this.dash == l.dash;
     42
    4043                if (this.fill){
    41                         eq &= this.fillColor.equals(l.fillColor); 
     44                        eq &= this.fillColor.equals(l.fillColor);
    4245                }
    43                
    44                 if (this.stroke) {                       
    45                         eq &= this.color.equals(l.color);                       
     46
     47                if (this.stroke) {
     48                        eq &= this.color.equals(l.color);
    4649                }
    47                
     50
    4851                return eq;
    4952        }
     
    5760                result.fill = this.fill;
    5861                result.stroke = this.stroke;
     62                result.dash = this.dash;
    5963                return result;
    6064        }
    61        
     65
    6266}
  • applications/editors/josm/plugins/pdfimport/src/pdfimport/LoadPdfDialog.java

    r23861 r23862  
    22
    33import static org.openstreetmap.josm.tools.I18n.tr;
    4 import it.stefanochizzolini.clown.documents.Document;
    5 import it.stefanochizzolini.clown.documents.Page;
    6 import it.stefanochizzolini.clown.documents.contents.ContentScanner;
    7 import it.stefanochizzolini.clown.documents.contents.Contents;
    8 import it.stefanochizzolini.clown.files.File;
    9 import it.stefanochizzolini.clown.tokens.FileFormatException;
    104
    115import java.awt.BorderLayout;
     
    1812import java.awt.event.WindowAdapter;
    1913import java.awt.event.WindowEvent;
     14import java.io.File;
    2015import java.io.FileNotFoundException;
    2116import java.io.IOException;
     
    4338import org.openstreetmap.josm.gui.layer.OsmDataLayer;
    4439import org.openstreetmap.josm.io.OsmExporter;
     40
     41import pdfimport.pdfbox.PdfBoxParser;
    4542
    4643public class LoadPdfDialog extends JFrame {
     
    242239                                new Runnable() {
    243240                                        public void run() {
    244                                                 data = loadPDF(fileName.getAbsolutePath());
     241                                                data = loadPDF(fileName);
    245242                                        }
    246243                                },
     
    411408        }
    412409
    413         private PathOptimizer loadPDF(String fileName) {
    414                 File file;
     410        private PathOptimizer loadPDF(File fileName) {
     411
     412                PathOptimizer data = new PathOptimizer();
    415413
    416414                try {
    417                         file = new File(fileName);
     415                        PdfBoxParser parser = new PdfBoxParser(data);
     416                        parser.parse(fileName);
     417
    418418                } catch (FileNotFoundException e1) {
    419419                        JOptionPane
     
    422422                                        tr("File not found."));
    423423                        return null;
    424                 } catch (FileFormatException e1) {
     424                } catch (it.stefanochizzolini.clown.tokens.FileFormatException e1) {
    425425                        JOptionPane
    426426                        .showMessageDialog(
     
    428428                                        tr("Could not parse file. Not a PDF file?"));
    429429                        return null;
    430                 }
     430                } catch (Exception e) {
     431                        JOptionPane
     432                        .showMessageDialog(
     433                                        Main.parent,
     434                                        tr("Error while parsing: {0}", e.getMessage()));
     435                        return null;
     436                }
     437
     438                /*
     439                File file = new File(fileName);
    431440
    432441                Document document = file.getDocument();
    433442                Page page = document.getPages().get(0);
    434 
    435                 PathOptimizer data = new PathOptimizer();
    436443                data.bounds = page.getBox();
    437444
     
    440447                processor.process(new ContentScanner(c));
    441448                processor.finish();
    442                 document.delete();
     449                document.delete();*/
    443450
    444451                data.optimize();
    445 
    446452                return data;
    447453        }
  • applications/editors/josm/plugins/pdfimport/src/pdfimport/PathOptimizer.java

    r23861 r23862  
    145145
    146146                                        List<Point2D> newNodes = tryMergeNodeLists(path.points, p1.points);
     147
     148                                        if (newNodes == null)
     149                                        {
     150                                                int a = 10;
     151                                                a++;
     152                                        }
     153
    147154                                        path.points = newNodes;
    148155                                        mergedPaths.add(p1);
  • applications/editors/josm/plugins/pdfimport/src/pdfimport/pdfbox/PdfBoxParser.java

    r23861 r23862  
    33
    44import java.awt.Dimension;
     5import java.awt.geom.Rectangle2D;
    56import java.io.File;
    67import java.util.List;
     
    1213import org.apache.pdfbox.util.PDFStreamEngine;
    1314
    14 import pdfimport.GraphicsProcessor;
    1515import pdfimport.PathOptimizer;
    1616
     
    4141                Dimension pageDimension = pageSize.createDimension();
    4242
    43                 GraphicsProcessor p = new GraphicsProcessor(target);
     43                GraphicsProcessor p = new GraphicsProcessor(target, pageDimension.getHeight());
    4444                PageDrawer drawer = new PageDrawer();
    4545                drawer.drawPage(p, page, pageDimension);
     46                this.target.bounds = new Rectangle2D.Double(pageSize.getLowerLeftX(), pageSize.getLowerLeftY(), pageSize.getWidth(), pageSize.getHeight());
    4647        }
    4748}
Note: See TracChangeset for help on using the changeset viewer.