package org.docear.plugin.pdfutilities.actions; import java.awt.event.ActionEvent; import java.io.IOException; import java.net.URI; import org.docear.pdf.PdfDataExtractor; import org.docear.plugin.core.util.Tools; import org.docear.plugin.pdfutilities.util.MonitoringUtils; import org.freeplane.core.ui.AFreeplaneAction; import org.freeplane.features.map.NodeModel; import org.freeplane.features.mode.Controller; public class ExtractPdfMetaDataAction extends AFreeplaneAction { public static final String KEY = "ExtractPdfMetaDataAction"; public ExtractPdfMetaDataAction() { super(KEY); } /** * */ private static final long serialVersionUID = 1L; @SuppressWarnings("unchecked") public void actionPerformed(final ActionEvent evt) { final NodeModel targetNode = Controller.getCurrentController().getSelection().getSelected(); if(MonitoringUtils.isPdfLinkedNode(targetNode)) { URI uri = Tools.getAbsoluteUri(targetNode); try { System.out.println(extractTitle(uri)); System.out.println(getUniqueHashCode(uri)); } catch (IOException e) { e.printStackTrace(); } } } public static String getUniqueHashCode(URI uri) throws IOException { PdfDataExtractor extractor = new PdfDataExtractor(uri); return extractor.getUniqueHashCode(); } public static String extractTitle(URI uri) throws IOException { PdfDataExtractor extractor = new PdfDataExtractor(uri); return extractor.extractTitle(); } }