Giter VIP home page Giter VIP logo

rffrasca / pdfkeeper Goto Github PK

View Code? Open in Web Editor NEW
82.0 4.0 6.0 3.82 MB

Open Source PDF Document Management

Home Page: https://www.pdfkeeper.org/

License: GNU General Public License v3.0

HTML 28.15% Batchfile 1.36% Visual Basic .NET 24.19% PowerShell 0.73% C# 45.57%
database pdf-document vbnet vb-net oracle-db sqlite full-text-search pdf pdf-documents visual-basic-net oracle-cloud oracle-database csharp net-framework winforms winforms-application dotnet

pdfkeeper's Introduction


Logo

PDFKeeper

Open Source PDF Document Management

Downloads Commit Activity Donate-PayPal

Report Bug · Request Feature/Enhancement · Request Compatible Database · Forum · Backlog

Table of Contents
  1. About The Project
  2. Getting Started
  3. License
  4. Contact
  5. Acknowledgments

About The Project

Description

PDFKeeper is free, open source software that provides a storage and management solution for PDF documents.

Product Name Screen Shot

User Interface in version 9.0.0 and higher.

Features

  • Store and manage PDF documents in a single-user or compatible, multi-user (on-prem or cloud) database where they’re indexed to provide full-text search functionality.
  • Upload PDF documents individually or in bulk. In addition, Upload Profile folders can be setup to allow for integration and automation.
  • Apply a Title, Author, Subject, Category, and Tax Year to selected documents and when PDF documents are uploaded. In addition, Keywords can be applied when PDF documents are uploaded.
  • Set flag state on a selected document and when PDF documents are uploaded to mark for follow-up.
  • Add notes to a selected document that can include the date, time, and user account name. All notes can be edited and are indexed by the database.
  • Find documents by Search Term, Selections (Author, Subject, Category, and/or Tax Year), or Date Added. In addition, Flagged Documents or All Documents can be listed.
  • With PDFKeeper, the following functions can be performed on a selected document: PDF viewing with the bundled or default viewer; PDF bursting; Flag Document state management; Notes viewing and editing; Keywords, PDF preview, PDF Text, and Search Term Snippets (when applicable) are also displayed for viewing.
  • Export selected PDF documents with their category, tax year, notes, and flag state from the database for easy importing.

These features are available in version 9.1.0 and higher.

Release History

Full release history is available in the Changelog.

(back to top)

Getting Started

Installation

  • Client prerequisites and compatible Database Management Systems are listed on the release page.
  • Download and install the latest version of PDFKeeper from here or install using Windows Package Manager (winget install pdfkeeper).
  • PDFKeeper is installed per-user.
  • Database setup instructions are available in the Help file that can be viewed post-install.

Building from Source

Build Instructions for version 9.x.x is available here.

Build Instructions for version 8.x.x is available here.

Build Instructions for version 7.x.x is available here.

(back to top)

License

PDFKeeper is distributed under the terms of the GNU General Public License (GPL) Version 3.

Logo

Logo

(back to top)

Contact

Robert F. Frasca - Project Owner and Maintainer

(back to top)

Acknowledgments

(back to top)

pdfkeeper's People

Contributors

rffrasca avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pdfkeeper's Issues

FileNotFoundException: The system cannot find the file specified. (Exception from HRESULT: 0x80070002)

Describe the bug
Fails to work after install. Program starts, but shortly (<10s) after starting throws an unhandled exception, and closes down.

To Reproduce
Installed on windows 10 22H2, with .NET 4.8 (or higher, according to the installer)
First run of program raises the help window, per notes.

  • Created SQL DB,
  • Closed help, and the program starts,
  • Shortly after starting the unhandled error is thrown, see screenshot
    Screenshot 2023-11-20 124020.
  • program shutdown with 'OK'.

Desktop (please complete the following information):

  • OS: [e.g. Windows 10 21H1]
  • PDFKeeper Version: 8.1.2 (msi installer)

Database (please complete the following information):

  • DBMS: SQLite

Additional context
Add any other context about the problem here.
For an unhandled exception (bug), please include:

PDFKeeper.log

System.NullReferenceException: Object reference not set to an instance of an object.

Discussed in #22

Originally posted by rffrasca December 24, 2023
When attempting to upload one or more PDF's that is missing a title, author, or subject; an unhandled exception is being thrown after the PDF's are copied into the top level of the Upload folder. Normally, when a PDF is missing a title, author, or subject; PDFKeeper is supposed to move the PDF to the UploadRejected folder. Unfortunately, because PDFKeeper has crashed, the PDF's will remain in the Upload folder causing the same unhandled exception to be thrown when PDFKeeper attempts to upload again after restarting.

Both PDFKeeper v9.0.0 and v9.1.0 are impacted by this bug.

The stack trace of exception that is logged to PDFKeeper.log
System.NullReferenceException: Object reference not set to an instance of an object.
at PDFKeeper.Core.Rules.PdfMetadataRule.CheckForViolation()
at PDFKeeper.Core.FileIO.PDF.PdfUploader.StagePdfFilesInUploadDirectory()
at PDFKeeper.Core.Presenters.MainPresenter.ExecuteUpload()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at PDFKeeper.Presentation.MainView.VB$StateMachine_491_UploadTimer_Tick.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

To prevent PDFKeeper from crashing again after restarting; move the PDF's out of C:\Users\your_username\AppData\Roaming\Robert F. Frasca\PDFKeeper\Upload and then restart PDFKeeper.

SingleUserDatabaseSetup command script fails with "The system cannot find the file specified".

Discussed in #14

Originally posted by JBSmo November 20, 2023
I am evaluating your software to see if it will work for a repository of PDF documents that were created by a CAD program. Although I'm evaluating it on my personal computer, the intended end use is on a computer with no internet access whatsoever. To that end, I've tried downloading and then running the SingleUserDatabaseSetup windows command script, which fails with "the system cannot find the file specified".

I figure this is the SqliteDatabaseSetup.sql file. Is that correct? Is it possible to get a local copy of this file?

Perhaps a larger (and more pertinent) question would be: Can this software be used on such an isolated system?

Thanks for your attention!

Ability to edit Title, Author, and Subject in document records.

Is your feature request related to a problem? Please describe.
On initial evaluation of the software I made a couple of errors on the file record entry, that I really didn't notice until the table was populated with more entries. I couldn't find a way to correct any of those erroneous fields. Title, Author, and Subject were the ones I tried. I didn't try Category, since I made no mistakes in that field, and I don't use Tax Year at all in my intended application.

Describe the solution you'd like
I tried editing the Category field for one of the file records, and using the help file, I was able to do that. I also tried bulk editing by selecting multiple records. I like this process. Perhaps a similar process for editing Title, Author or Subject?

Describe alternatives you've considered
none.

Additional context
none.

PDFKeeper 9.0.0: text extraction issue during upload

Discussed in #19

Originally posted by rffrasca November 28, 2023
An issue was discovered in PDFKeeper 9.0.0 when uploading PDF documents that contains one or more image pages. The issue is that text extraction is not being performed when the page is an image. The cause has been identified and the fix is being tested that will be included in PDFKeeper 9.1.0.

To work around the issue:

When adding a PDF to the database that contains one or more image pages, select the following in the Add PDF dialog:
image

When editing an Upload Profile that will be used for uploading PDF documents to the database that contains one or more image pages, select the same option in the Upload Profile Editor.

Return fulltext search result token context or location

Ideally, when using the fulltext search a user could be returned where the phrase was found in the document, or the surrounding few words of where it was found. Getting the result should be pretty straighforward by modifying the fts5 query a little, and it could either be displayed in a new column in the filtered documents browser or in an extra tab of the bottom left details panel (the one with "Notes", "Keywords" etc).

Thanks a ton for this awesome project btw, it has become a very important tool for managing my academic pdf library!

Cheers!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.