Top Description Fields Constructors Methods
org.jabref.logic.importer.fileformat

public Class PdfEmbeddedBibFileImporter

extends Importer
Class Inheritance
Imports
java.io.BufferedReader, .IOException, java.nio.file.Path, java.util.ArrayList, .List, .Map, .Objects, org.jabref.logic.importer.ImportFormatPreferences, .Importer, .ParseException, .ParserResult, org.jabref.logic.l10n.Localization, org.jabref.logic.util.StandardFileType, org.jabref.logic.util.io.FileUtil, org.jabref.logic.xmp.EncryptedPdfsNotSupportedException, .XmpUtilReader, org.jabref.model.entry.BibEntry, org.apache.pdfbox.pdmodel.PDDocument, org.apache.pdfbox.pdmodel.PDDocumentNameDictionary, org.apache.pdfbox.pdmodel.PDEmbeddedFilesNameTreeNode, org.apache.pdfbox.pdmodel.PDPage, org.apache.pdfbox.pdmodel.common.PDNameTreeNode, org.apache.pdfbox.pdmodel.common.filespecification.PDComplexFileSpecification, org.apache.pdfbox.pdmodel.common.filespecification.PDEmbeddedFile, org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotation, org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationFileAttachment

PdfEmbeddedBibFileImporter imports an embedded Bib-File from the PDF.

Field Summary

Modifier and TypeField and Description
private final BibtexParser

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private List<BibEntry>
extractAndParseFile(org.apache.pdfbox.pdmodel.common.filespecification.PDEmbeddedFile embeddedFile)

private List<BibEntry>
extractAndParseFiles(Map<String, org.apache.pdfbox.pdmodel.common.filespecification.PDComplexFileSpecification> names)

public String
getDescription()

Implements abstract org.jabref.logic.importer.Importer.getDescription.

Returns the description of the import format.

private List<BibEntry>
getEmbeddedBibFileEntries(org.apache.pdfbox.pdmodel.PDDocument document)

Extraction of embedded files in pdfs adapted from: Adapted from ...

private static org.apache.pdfbox.pdmodel.common.filespecification.PDEmbeddedFile
getEmbeddedFile(org.apache.pdfbox.pdmodel.common.filespecification.PDComplexFileSpecification fileSpec)

public StandardFileType
getFileType()

Implements abstract org.jabref.logic.importer.Importer.getFileType.

Returns the type of files that this importer can read

public String
getName()

Implements abstract org.jabref.logic.importer.Importer.getName.

Returns the name of this import format.

public ParserResult
importDatabase(BufferedReader
the input to read from
reader
)

Implements abstract org.jabref.logic.importer.Importer.importDatabase.

Parse the database in the source.

public ParserResult
importDatabase(String
the string which should be imported
data
)

Overrides org.jabref.logic.importer.Importer.importDatabase.

Parse the database in the specified string.

public ParserResult
importDatabase(Path
the path to the file which should be imported
filePath
)

Overrides org.jabref.logic.importer.Importer.importDatabase.

Parse the database in the specified file.

public boolean
isRecognizedFormat(BufferedReader input)

Implements abstract org.jabref.logic.importer.Importer.isRecognizedFormat.

Check whether the source is in the correct format for this importer.

Inherited from org.jabref.logic.importer.Importer:
compareToequalsgetCharsetgetIdgetReadergetReaderhashCodeisRecognizedFormatisRecognizedFormattoString

Field Detail

bibtexParserback to summary
private final BibtexParser bibtexParser

Constructor Detail

PdfEmbeddedBibFileImporterback to summary
public PdfEmbeddedBibFileImporter(ImportFormatPreferences importFormatPreferences)

Method Detail

extractAndParseFileback to summary
private List<BibEntry> extractAndParseFile(org.apache.pdfbox.pdmodel.common.filespecification.PDEmbeddedFile embeddedFile) throws IOException, ParseException
extractAndParseFilesback to summary
private List<BibEntry> extractAndParseFiles(Map<String, org.apache.pdfbox.pdmodel.common.filespecification.PDComplexFileSpecification> names) throws IOException, ParseException
getDescriptionback to summary
public String getDescription()

Implements abstract org.jabref.logic.importer.Importer.getDescription.

Doc from org.jabref.logic.importer.Importer.getDescription.

Returns the description of the import format.

The description should specify

  • what kind of entries from what sources and based on what specification it is able to import
  • by what criteria it recognizes an import format
Returns:String

description of the import format

Annotations
@Override
getEmbeddedBibFileEntriesback to summary
private List<BibEntry> getEmbeddedBibFileEntries(org.apache.pdfbox.pdmodel.PDDocument document) throws IOException, ParseException

Extraction of embedded files in pdfs adapted from: Adapted from ...

getEmbeddedFileback to summary
private static org.apache.pdfbox.pdmodel.common.filespecification.PDEmbeddedFile getEmbeddedFile(org.apache.pdfbox.pdmodel.common.filespecification.PDComplexFileSpecification fileSpec)
getFileTypeback to summary
public StandardFileType getFileType()

Implements abstract org.jabref.logic.importer.Importer.getFileType.

Doc from org.jabref.logic.importer.Importer.getFileType.

Returns the type of files that this importer can read

Returns:StandardFileType

FileType corresponding to the importer

Annotations
@Override
getNameback to summary
public String getName()

Implements abstract org.jabref.logic.importer.Importer.getName.

Doc from org.jabref.logic.importer.Importer.getName.

Returns the name of this import format.

The name must be unique.

Returns:String

format name, must be unique and not null

Annotations
@Override
importDatabaseback to summary
public ParserResult importDatabase(BufferedReader reader) throws IOException

Implements abstract org.jabref.logic.importer.Importer.importDatabase.

Doc from org.jabref.logic.importer.Importer.importDatabase.

Parse the database in the source.

This method can be called in two different contexts - either when importing in a specified format, or when importing in unknown format. In the latter case, JabRef cycles through all available import formats. No error messages or feedback is displayed from individual import formats in this case.

If importing in a specified format and an empty library is returned, JabRef reports that no entries were found.

This method should never return null.

Parameters
reader:BufferedReader

the input to read from

Annotations
@Override
importDatabaseback to summary
public ParserResult importDatabase(String data) throws IOException

Overrides org.jabref.logic.importer.Importer.importDatabase.

Doc from org.jabref.logic.importer.Importer.importDatabase.

Parse the database in the specified string.

Importer having the facilities to detect the correct encoding of a string should overwrite this method, determine the encoding and then call importDatabase(BufferedReader).

Parameters
data:String

the string which should be imported

Returns:ParserResult

the parsed result

Annotations
@Override
Exceptions
IOException:
Signals that an I/O exception has occurred.
importDatabaseback to summary
public ParserResult importDatabase(Path filePath)

Overrides org.jabref.logic.importer.Importer.importDatabase.

Doc from org.jabref.logic.importer.Importer.importDatabase.

Parse the database in the specified file.

Parameters
filePath:Path

the path to the file which should be imported

Annotations
@Override
isRecognizedFormatback to summary
public boolean isRecognizedFormat(BufferedReader input) throws IOException

Implements abstract org.jabref.logic.importer.Importer.isRecognizedFormat.

Doc from org.jabref.logic.importer.Importer.isRecognizedFormat.

Check whether the source is in the correct format for this importer.

The effect of this method is primarily to avoid unnecessary processing of files when searching for a suitable import format. If this method returns false, the import routine will move on to the next import format.

Thus, the correct behaviour is to return false if it is certain that the file is not of the suitable type, and true otherwise. Returning true is the safe choice if not certain.

Annotations
@Override