Archive for the ‘PDF Library’ category

Article about extracting text

Previously we had an article about extracting text posted here. That article is now placed here.

Posted in

Docotic.Pdf 7.0 with support for digital signatures

Hello,

We have published Docotic.Pdf 7.0 on our site and on NuGet.

The main feature of this release is support for digital signatures. The library can sign new and existing PDF documents. To sign a document please use one of the PdfDocument.SignAndSave() methods. You can create signatures of different types, in different formats, using different digest algorithms. For complete set of properties please take a look at the new PdfSigningOptions type.

The library can also verify existing digital signatures. It can verify if digest (hash) is valid, check if a signature contains embedded OCSP or CRL revocation data, or if the signing certificate is revoked. You can also access signing and issuer certificate properties. All this is available via PdfSignature.Contents property.

We created Digital signatures group of samples for all new abilities.

Starting from version 7.0 the library no longer uses System.Drawing.Bitmap when drawing images. This and other improvements increase stability of all ASP.NET applications that perform PDF to image conversion. Also, the library now consumes less memory when drawing PDF documents.

This release also contains bug fixes for text and images extraction, drawing of documents, and for processing of forms and annotations.

Read about all new features and improvements in Docotic.Pdf 7.0 in Version History document.

We encourage you to download and try the new version. This version is also available on NuGet.

Please tell us your thoughts about the new version using e-mail or via the support form. Don’t hesitate to write us your questions, suggest features or ask for help.

Posted in

New PDF rendering engine in Docotic.Pdf 6.0

Hi,

We have published a new major release of Docotic.Pdf library.

Docotic.Pdf 6.0 brings a new PDF rendering engine that does not depend on System.Drawing.Graphics class. The new engine greatly improves PDF to image conversion in ASP.NET applications and also in Linux and Mac OS environments. This is a major step in “no dependency on System.Drawing” direction. We will continue improving in this area in future releases.

Along with the rendering engine change, we improved PdfPage.Save() method. The method now produces 24bpp images instead of 32bpp when background is opaque. In most cases that leads to smaller output files.

We marked methods of PdfCanvas, PdfDocumentView, and PdfPage that acccept parameters of types from System.Drawing namespace as obsolete. Those methods will be removed in the next release of Docotic.Pdf. For each of the now obsolete methods there is at least one overload. Please use the overloads instead of the obsolete methods.

There is a change our customers asked us about. In the newest release we added PdfTextExtractionOptions.Rectangle property. The property is useful when you want to extract text from only a part of a page.

We changed LicenseManager class so now it is thread-safe. You can use it from multiple threads at the same time. It is still recommended to add all license data at the start of your application. See remarks to LicenseManager.AddLicenseData method.

Read about all new features and improvements in Docotic.Pdf 6.0 in Version History document.

We encourage you to download and try the new version. This version is also available on NuGet.

Please tell us your thoughts about the new version using e-mail or via the support form. Don’t hesitate to write us your questions, suggest features or ask for help.

Posted in

FIPS compliance, new annotation properties and a lot of bug fixes in Docotic.Pdf 5.10

Hello,

We have released Docotic.Pdf 5.10 on NuGet and on our site.

In this release we changed the library to be as much FIPS-compliant as possible. In fact, this is the first release you can actually use in FIPS mode. When running on a machine with FIPS mode enabled, the library can not use older (non-FIPS compliant) algorithms. It means it can not encrypt or decrypt documents with RC4 algorithm. But other functions like drawing or text extraction will work just fine.

Version 5.10 brings a lot of new properties for annotation classes. We extended PdfCaretAnnotation, PdfEllipseAnnotation, PdfFreeTextAnnotation, PdfFileAttachmentAnnotation, PdfInkAnnotation, PdfLineAnnotation, PdfPolygonAnnotation, PdfPolylineAnnotation, PdfPopupAnnotation, PdfRectangleAnnotation, PdfSoundAnnotation, PdfStampAnnotation, PdfTextMarkupAnnotation, and PdfTextAnnotation. And we added one property to the base PdfWidget class, too.

As usual, we increased speed of PDF drawing. And we improved support for PDFs with broken or incorrect structure. We also added new sample codes that show how to OCR PDF documents.

This release also contains a lot of bug fixes. The fixes cover different areas like drawing, text extraction, parsing, editing of annotations and controls, and some other areas, too.

Read about all new features and improvements in Docotic.Pdf 5.10 in Version History document.

We encourage you to download and try the new version. This version is also available on NuGet.

Please tell us your thoughts about the new version using e-mail or via the support form. Don’t hesitate to write us your questions, suggest features or ask for help.

Posted in

Ability to replace images, faster JPEG 2000 decoder, and support for drawing more annotation types in Docotic.Pdf 5.9

Hi,

We have a new Docotic.Pdf release ready.

Docotic.Pdf 5.9 adds ability to replace images. For this we added PdfImage.ReplaceWith methods. The new Replace image sample should give you enough information about the new ability.

We decided to make it more obvious that inline images cannot be recompressed or replaced by the library. Therefore, the corresponding methods now throw UnsupportedImageException when used on an inline image. You can avoid unnecessary exceptions by checking the PdfImage.IsInline property before trying to modify an image. Or you can move inline images to resources first by using one of the PdfCanvas.MoveInlineImagesToResources methods. Please note that moving inline images to resources can increase file size.

Added support for drawing of different annotation types: caret, ellipse, ink, line, movie, 3D, polygon, polyline, printer mark, rich media, screen, signature, text markup, trap network and watermark annotations.

Version 5.9 decodes JPEG 2000 images faster than any previous version. This is because of the optimizations we made to the JPEG 2000 decoder.

Besides the Replace image sample we added Find and highlight text and Header and Footer samples. And we extended Copy text, paths and images sample.

In this release we fixed bugs related to text and images drawing and extraction. And quite some other issues too. As always, we improved support for broken and incorrect documents.

Read about all new features and improvements in Docotic.Pdf 5.9 in Version History document.

We encourage you to download and try the new version. This version is also available on NuGet.

Please tell us your thoughts about the new version using e-mail or via the support form. Don’t hesitate to write us your questions, suggest features or ask for help.

Posted in

Docotic.Pdf 5.8 brings text drawing and extraction improvements

Hello,

We have released Docotic.Pdf 5.8 on our site and on NuGet.

When using fonts embedded in PDFs, the latest version draws and extracts text significantly better. This is because we improved handling of fonts and fixed issues related to text extraction.

The new version adds ability to provide custom font loader for non-embedded fonts. It is helpful in cases when library has no access to GDI+. For example, when running in AWS Lambda and similar environments. Take a look at the new PdfConfigurationOptions.FontLoader property. We also added the DirectoryFontLoader class as an implementation of a directory-based font loader.

And there is yet another important improvement. Docotic.Pdf 5.8 brings the new PdfDocument.RemoveUnusedResources() method. This new method removes references to unused page and XObject resources. It helps to reduce file size in cases when document contains pages or XObjects with unused resources.

As always, we improved support for broken and incorrect documents. And we fixed some bugs of our own.

Read about all new features and improvements in Docotic.Pdf 5.8 in the Version History document.

We encourage you to download and try the new version. This version is also available on NuGet.

Please tell us your thoughts about the new version using e-mail or via the support form. Don’t hesitate to write us your questions, suggest features or ask for help.

Posted in

Extract text from PDF on AWS Lambda in C# .NET

Since version 5.7.9279 Docotic.Pdf can extract text from PDFs when running in AWS Lambda environment. This is true for PDFs with both embedded and non-embedded fonts. To make this possible, we added ability to use custom font loader for non-embedded fonts.

Let’s make a simple C# .NET Core application that extracts text from a PDF document and publish it to AWS Lambda.

Read more

Posted in

Docotic.Pdf 5.7 extracts text better

Hi,

We have released Docotic.Pdf 5.7 on our site and on NuGet.

In this version we added ability to extract text as vector paths. For this we added PdfPage.GetObjects(PdfObjectExtractionOptions) method and PdfObjectExtractionOptions.ExtractTextAsPath property. Please take a look at them.

We also improved extraction of text with vertical writing mode. And fixed some bugs related to text extraction.

There are new features and improvements related to forms. Now you can flatten individual form fields using PdfControl.Flatten() method. The PdfDocument.GetControl method now performs searches not only by control name but also by control full name. Thanks to our customers, we fixed some forms filling related bugs.

As our users suggested, in the new version we added ability to extract file specifications associated with rich media annotations. Take a look at the new PdfRichMediaAnnotation class. And ability to extract raw contents of XMP metadata using one of the new XmpMetadata.Extract() methods.

As always, we improved support for broken and incorrect documents. And we fixed some bugs of our own.

Read about all new features and improvements in Docotic.Pdf 5.7 in the Version History document.

We encourage you to download and try the new version. This version is also available on NuGet.

Please tell us your thoughts about the new version using e-mail or via the support form. Don’t hesitate to write us your questions, suggest features or ask for help.

Posted in

AES-256 and speed improvements in Docotic.Pdf 5.6

Hello,

We have released Docotic.Pdf 5.6 on our site and on NuGet.

The new version adds support for documents encrypted with AES-256. This encryption algorithm is usually found in PDF 2.0 documents. Now Docotic.Pdf can read such documents.

In version 5.6 we also paid a lot of attention to memory and speed improvements. The new version of the library uses less memory when opening documents. It also opens them faster.

The new version brings ability to cache form XObjects. This cache can improve speed of processing. The cache can either increase or decrease memory consumption depending on the contents of the PDF. We suggest you take a look at the PdfCache class and the PdfConfigurationOptions.XObjectCache property. After that you could try and see for yourself if enabling the cache helps in your case. It will be great if you tell us about your experience with the cache.

We made some improvements for documents that use blend modes. Now Docotic.Pdf draws them faster.

There are new properties in PdfEmbeddedFile and PdfFileSpecification classe. These properties were added to help creating Factur-X / ZUGFeRD invoices or similar documents with Docotic.Pdf library.

As always, we improved support for broken and incorrect documents. And we fixed some bugs of our own.

Read about all new features and improvements in Docotic.Pdf 5.6 in the Version History document.

We encourage you to download and try the new version. This version is also available on NuGet.

Please tell us your thoughts about the new version using e-mail or via the support form. Don’t hesitate to write us your questions, suggest features or ask for help.

Posted in

Docotic.Pdf 5.5 brings improvements in version for .NET Standard, new features and more

Hi,

The new version of Docotic.Pdf library is now available on our site and on NuGet.

Version for .NET Standard 2.0 now has all the same features as in the version for .NET 4. It means that PDF to image conversion, extraction of images with masks, scaling and resizing of images, creation of image masks, loading of fonts from the collection of system fonts are now supported in the version for .NET Standard 2.0.

Some of our customers suggested us to provide a way to save PDF documents to bitonal TIFFs. Such images are also known as black-and-white or monochrome. For documents with mostly text content monochrome TIFFs can save a lot of space without affecting visual quality. We heard what our customers wanted and added the ability to save whole PDF files or individual PDF pages as black and white TIFFs. There is a new sample code for the feature.

We clarified and extended interface of the PdfDrawOptions class. It includes marking a few properties obsolete. Please check the Version History document for more info about what was marked obsolete.

As always, we worked on speed improvements. Text extraction got better. We improved support for broken and incorrect documents. And we fixed some bugs of our own.

Read about all new features and improvements in Docotic.Pdf 5.5 in the Version History document.

We encourage you to download and try the new version. This version is also available on NuGet.

Please tell us your thoughts about the new version using e-mail or via the support form. Don’t hesitate to write us your questions, suggest features or ask for help.

Posted in