Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Free Open Source Pdf Library
There is a large range of PDF-related software available with many different applications available that can both output to and open files. Many open source software save documents to this format such as LibreOffice and GIMP.
The purpose of this article is to recommend free and open source PDF development libraries. We are not considering PDF editors, PDF viewers, tools that add an OCR layer to PDF files here. This is because these categories are covered by other articles in our Best Free and Open Source series.
PDF Clown is an open-source general-purpose library for manipulating PDF documents through multiple abstraction layers, rigorously adhering to PDF 1.7 Specification (ISO 32000-1). Available for Java and .NET platforms.
I would recommend a free PDF developer's library for C# PDFFlow for your needs. You basically create PDF documents from scratch with it. It supports repeating headers, automatic page numeration, multi-page spread tables and many other layouting options. It is lightweight and fully documented. Also, many samples of business documents built using this library are located in a repo (PDF.Flow.Examples), I haven't seen that much from other PDF generating libraries. There are also how-to-build articles for each sample, which definitely might help you get going.
I would stay away from PDF.Flow. They claim on the home page PDF.Flow is an open source library but if you dig deeper you find out it really is not. What kind of people/companies do this other than scammers?
libHaru is a free, cross platform, open source library for generating PDF files. At this moment libHaru does not support reading and editing existing PDF files and it's unlikely this support will ever appear.
PdfPig is a fully open-source Apache 2.0 licensed and .NET Standard compatible library that enables users to read and create PDFs in C#, F# and other .NET languages. It supports all versions of .NET back to .NET 4.5.
PyPDF2 is a free and open-source pure-python PDF library capable of splitting,merging,cropping, and transformingthe pages of PDF files. It can also addcustom data, viewing options, andpasswordsto PDF files. PyPDF2 canretrieve textandmetadatafrom PDFs as well.
PDFedit is a free open source pdf editor and a library for manipulating PDF documents, released under terms of GNU GPL version 2. It includes PDF manipulating library based on xpdf, GUI, set of command line tools and a pdf editor.
PDFedit gui is based on a project led by Jozef Misutka implemented by Eva Peskova and based on pdfedit library. It is still in beta state and we just establisthed the development process. It included an installer and all the required libraries but standard c++ redistributables. Pdf editor should be able to open all pdf files on windows system. It is open source but not in the main branch of our VCS. Please, feel free to create new issues our bug tracking system if you experience any problems - see link in the second left menu or click here.In the (hopefully near) future, it should be the same gui as on *nix systems.
PyPDF2 is a free and opensource pure-python PDF library capable of splitting,merging, cropping, and transforming the pages of PDF files. It can also addcustom data, viewing options, and passwords to PDF files.PyPDF2 can retrieve text and metadata from PDFs as well.
wkhtmltopdf and wkhtmltoimage are open source (LGPLv3) command line tools to render HTML into PDF and various image formats using the Qt WebKit rendering engine. These run entirely "headless" and do not require a display or display service.
JSignPdf is a Java application which adds digital signatures to PDF documents. It can be used as a standalone application or as an Add-On in OpenOffice.org. The application uses the OpenPDF library for PDF manipulations. JSignPdf is open-source software and can be freely used in both private and business sectors.
One of the most refined document managers, Zotero is open-source software that helps you keep track of references. In addition, you have a designed place for a PDF library. One of the great features of Zotero is the ability to sync citations and entries across multiple mobile platforms and operating systems. You can always edit your documents with sticky notes and assemble the mailing list. You can store entire web pages in Zotero, not just PDF files.
Free alternatives include Frog2 [5] and Balloon [6, 7]. Frog2 [5] is an open-source, web-based program that requires no installation. Users must first upload their compounds in SMILES format to the RPBS Web portal ( -paris-diderot.fr/services/Frog2/) [8, 9]. The Frog2 server then assigns 3D coordinates and provides a downloadable file containing the results. In contrast, Balloon [6, 7] is a command-line program that can be easily and freely incorporated into larger workflows. Though Balloon is free, the source code is not publicly available, and the program does not account for alternate chiral and cis/trans isomeric forms. Additionally, Frog2 and Balloon ignore alternate ionization and tautomeric forms; sometimes miss low-energy, non-aromatic ring conformations; and generate excess rotamers beyond those needed for flexible-ligand docking.
To address the limitations of existing commercial and open-source packages, we here present Gypsum-DL, a free, open-source program for preparing small-molecule libraries. Beyond simply assigning 3D coordinates, Gypsum-DL outputs molecular models with varying ionization, tautomeric, and isomeric states. Protein binding pockets often stabilize these alternate forms, even if their prevalence is low in bulk solution. Gypsum-DL also generates models with alternate non-aromatic ring conformations. Considering alternate ring conformations is critical given that most flexible-ligand docking programs (e.g., AutoDock Vina [12]) do not account for all possible ligand ring geometries during the docking process itself.
We used Gypsum-DL to process both the enumerated D3 library and the NCI Diversity Set VI, a set of freely available compounds provided by the National Cancer Institute. We used the following Gypsum-DL parameters to process these libraries: min_ph 7.4, max_ph 7.4, pka_precision 1.0, thoroughness 3, and max_variants_per_compound 5. In the case of the D3 library, we additionally set the skip_making_tautomers parameter to true. Both libraries are available free of charge in the SDF format from -dl/ for use in VS projects.
Gypsum-DL is an open-source Python program. It requires the third-party Python libraries RDKit, NumPy [26], and SciPy [27], which must be installed separately. To ease installation, we recommend the popular Anaconda Python platform with its convenient conda package manager. Users who wish to run Gypsum-DL using the Message Passing Interface (MPI) standard must also install the mpi4py package [28,29,30]. Gypsum-DL also relies on the MolVS library (MIT License). We have included a copy of MolVS 0.1.1 with the Gypsum-DL source code, so no additional installation is needed.
Frog2 [5] is another open-source program for preparing small-molecule libraries. Its easy-to-use web interface is among its many strengths. This web-based approach arguably makes Frog2 more user friendly than Gypsum-DL. However, Gypsum-DL does offer some key capabilities that Frog2 lacks (Table 2). For example, Frog2 uses the Open Babel cheminformatics toolkit [10] to add hydrogen atoms to input molecules, but it does not consider alternate ionization states per a user-specified pH range. In contrast, Gypsum-DL uses the Dimorphite-DL algorithm [11] to predict ionization states. To illustrate the usefulness of this feature, we submitted oseltamivir carboxylate, an influenza neuraminidase inhibitor, to the Frog2 (v2.14) server (Fig. 6a). Frog2 protonated the carboxylic-acid moiety, despite the fact that it is largely deprotonated at physiological pH. In contrast, Gypsum-DL appropriately deprotonated the carboxylate group. Deprotonation is critical in this case, as neuraminidase-oseltamivir binding is governed largely by arginine-carboxylate electrostatic interactions that require a charged (deprotonated) carboxylate moiety [36].
Free and open-source cheminformatics toolkits such as RDKit and Open Babel [10] target the most advanced users. These toolkits provide building blocks that programmers can assemble into more complex cheminformatics workflows. The RDKit and Open-Babel Python bindings are particularly useful for this purpose. Gypsum-DL is built on RDKit and RDKit-powered software (Dimorphite-DL 1.0 [11] and MolVS 0.1.1).
PDF4QT is an open source PDF editor for Windows/Linux. It is a modern solution for viewing/editing/rendering PDF documents, for users and developers alike. For developers, there is a C++ library and a command line tool for use in scripts. For users, there are four applications offering many features.
PDF4Teachers is a free open-source PDF editing software in large quantities. Designed for teachers, this app keeps recorded previous annotations, and offers features like marking scale, PDF conversion, and many more. 2ff7e9595c
Comments