added options for OCR and extract text from PDF

This commit is contained in:
zadam 2023-02-15 16:08:00 +01:00
parent 85403321cf
commit 4ffe36e4d0
5 changed files with 64 additions and 4 deletions

View file

@ -12,7 +12,7 @@ import VimKeyBindingsOptions from "./options/code_notes/vim_key_bindings.js";
import WrapLinesOptions from "./options/code_notes/wrap_lines.js";
import CodeAutoReadOnlySizeOptions from "./options/code_notes/code_auto_read_only_size.js";
import CodeMimeTypesOptions from "./options/code_notes/code_mime_types.js";
import ImageOptions from "./options/images.js";
import ImageOptions from "./options/images/images.js";
import SpellcheckOptions from "./options/spellcheck.js";
import PasswordOptions from "./options/password.js";
import EtapiOptions from "./options/etapi.js";
@ -28,6 +28,8 @@ import ConsistencyChecksOptions from "./options/advanced/consistency_checks.js";
import VacuumDatabaseOptions from "./options/advanced/vacuum_database.js";
import DatabaseAnonymizationOptions from "./options/advanced/database_anonymization.js";
import BackendLogWidget from "./content/backend_log.js";
import OcrOptions from "./options/images/ocr.js";
import ExtractTextFromPdfOptions from "./options/images/extract_text_from_pdf.js";
const TPL = `<div class="note-detail-content-widget note-detail-printable">
<style>
@ -68,7 +70,7 @@ const CONTENT_WIDGETS = {
CodeAutoReadOnlySizeOptions,
CodeMimeTypesOptions
],
_optionsImages: [ ImageOptions ],
_optionsImages: [ ImageOptions, OcrOptions, ExtractTextFromPdfOptions ],
_optionsSpellcheck: [ SpellcheckOptions ],
_optionsPassword: [ PasswordOptions ],
_optionsEtapi: [ EtapiOptions ],

View file

@ -0,0 +1,28 @@
import OptionsWidget from "../options_widget.js";
const TPL = `
<div class="options-section">
<h4>Extract text from PDF files</h4>
<label>
<input class="extract-text-from-pdf" type="checkbox">
Extract text from PDF
</label>
<p>Text extracted from PDFs will be considered when fulltext searching.</p>
</div>
`;
export default class ExtractTextFromPdfOptions extends OptionsWidget {
doRender() {
this.$widget = $(TPL);
this.$extractTextFromPdf = this.$widget.find(".extract-text-from-pdf");
this.$extractTextFromPdf.on("change", () =>
this.updateCheckboxOption('extractTextFromPdf', this.$extractTextFromPdf));
}
optionsLoaded(options) {
this.setCheckboxState(this.$extractTextFromPdf, options.extractTextFromPdf);
}
}

View file

@ -1,4 +1,4 @@
import OptionsWidget from "./options_widget.js";
import OptionsWidget from "../options_widget.js";
const TPL = `
<div class="options-section">

View file

@ -0,0 +1,28 @@
import OptionsWidget from "../options_widget.js";
const TPL = `
<div class="options-section">
<h4>OCR</h4>
<label>
<input class="ocr-images" type="checkbox">
Extract text from images using OCR
</label>
<p>Text extracted from images will be considered when fulltext searching.</p>
</div>
`;
export default class OcrOptions extends OptionsWidget {
doRender() {
this.$widget = $(TPL);
this.$ocrImages = this.$widget.find(".ocr-images");
this.$ocrImages.on("change", () =>
this.updateCheckboxOption('ocrImages', this.$ocrImages));
}
optionsLoaded(options) {
this.setCheckboxState(this.$ocrImages, options.ocrImages);
}
}

View file

@ -61,7 +61,9 @@ const ALLOWED_OPTIONS = new Set([
'downloadImagesAutomatically',
'minTocHeadings',
'checkForUpdates',
'disableTray'
'disableTray',
'ocrImages',
'extractTextFromPdf'
]);
function getOptions() {