Skip to content

Commit

Permalink
New samples for Metadata, Raw Image, Loading Options, Filters, Color …
Browse files Browse the repository at this point in the history
…Profiles, Image Processing, PDF/A, PDF Watermarking, and others
  • Loading branch information
accusoft-support committed Jan 27, 2023
1 parent 87cde24 commit 740bafe
Show file tree
Hide file tree
Showing 183 changed files with 4,822 additions and 93 deletions.
287 changes: 287 additions & 0 deletions All Samples.sln

Large diffs are not rendered by default.

30 changes: 0 additions & 30 deletions CHANGELOG.md

This file was deleted.

2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright © 2019-2022 Accusoft Corporation
Copyright © 2019-2023 Accusoft Corporation

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
Expand Down
34 changes: 30 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,34 @@ ImageGear .NET supports the most commonly used image, graphic, and document form
| Category | Sample | Description |
| :-------------------------- | :--------------------------: | :---------------------------------------------------------------------------------------- |
| [***General Imaging Samples***](Samples/Image) | | These samples demonstrate general raster image functionality in ImageGear .NET. |
| | [CompressUsingOptions](Samples/Image/CompressUsingOptions) | Raster image is saved to a JPEG file using manually set conversion and compression options. |
| | [CreateMetadata](Samples/Image/CreateMetadata) | This sample uses ImageGear Simplified Metadata API to add IPTC Photo Metadata fields to an existing JPEG image. |
| | [DetectImageFormat](Samples/Image/DetectImageFormat) | After a stream is loaded, ImageGear provides functionality to automatically detect an image's format. |
| | [LoadingAndSaving](Samples/Image/LoadingAndSaving) | This sample demonstrates two of the most basic raster functions of ImageGear, loading and saving an image using the LoadPage and SavePage functions. |
| | [LoadingWithLoadOptionsAndSaving](Samples/Image/LoadingWithLoadOptionsAndSaving) | This sample demonstrates loading an image using basic LoadOptions and then saving the image using the SavePage functions. |
| | [LoadRawImage](Samples/Image/LoadRawImage) | When opening headerless image content, ImageGear can open images without headers as long as a complete description of the image data is provided. |
| | [MetadataGeneralAPI](Samples/Image/MetadataGeneralAPI) | After an image is loaded, ImageGear provides functionality to access both document and page level metadata. |
| | [CompressUsingOptions](Samples/Image/CompressUsingOptions) | Raster image is saved to a JPEG file using manually set conversion and compression options. |
| | [MetadataSimplifiedAPI](Samples/Image/MetadataSimplifiedAPI) | After an image is loaded, ImageGear provides a simplified API to access and update both document and page level metadata. |
| | [MetadataSimplifiedAPIUseArraysAndStructures](Samples/Image/MetadataSimplifiedAPIUseArraysAndStructures) | This sample shows recommended techniques when working with the Simplified Metadata API, using XMP.DublinCore.Subject as an example. |
| | [SetFilterControlParametersGlobally](Samples/Image/SetFilterControlParametersGlobally) | This sample shows how to use global Filter Control Parameters to save a JPEG file with lossless compression instead of lossy compression. |
| | [SetFilterControlParametersLocally](Samples/Image/SetFilterControlParametersLocally) | This sample shows how to use local Filter Control Parameters to customize how ImageGear reads and writes supported file formats without affecting other threads. |
| | [SimplifiedMetadataWithNullableFields](Samples/Image/SimplifiedMetadataWithNullableFields) | After an image is loaded, ImageGear provides the ability to access the metadata without knowing the tree or if the information exists. |
| | [SpecifyColorProfilesGlobally](Samples/Image/SpecifyColorProfilesGlobally) | This sample shows how to implicitly use ICM color profiles to convert the color space in a JPEG image from RGB to CMYK. |
| | [SpecifyColorProfilesLocally](Samples/Image/SpecifyColorProfilesLocally) | This sample shows how to explicitly use ICM color profiles to convert the color space in a JPEG image from RGB to CMYK. |
| [***Image Conversion Samples***](Samples/Image%20Conversion) | | These samples demonstrate how to convert between raster image formats using ImageGear .NET. |
| | [ConvertRasterImageFormat](Samples/Image%20Conversion/ConvertRasterImageFormat) | After an ImGearPage has been retrieved, it can then be saved as any supported raster image format using ImGearFileFormats.SavePage(). |
| | [ConvertMultipageRasterImageToSVG](Samples/Image%20Conversion/ConvertMultipageRasterImageToSVG) | After a raster ImGearDocument has been retrieved, it can then be saved to SVG using ImGearFileFormats.SaveDocument(). |
| [***Image Processing Samples***](Samples/Image%20Processing) | | These samples demonstrate select image processing capabilities of ImageGear .NET. |
| | [AdjustContrastForRasterImage](Samples/Image%20Processing/AdjustContrastForRasterImage) | This sample demonstrates how to manually adjust the contrast, brightness, and gamma of a raster image. |
| | [CreateThumbnailImage](Samples/Image%20Processing/CreateThumbnailImage) | After an image is loaded, use ImGearProcessing.CreateThumbnail() to create a thumbnail with specific dimensions. Interpolation options depend on the color space and bit depth of the image. |
| | [CropAndResizeRasterImage](Samples/Image%20Processing/CropAndResizeRasterImage) | Once an image is loaded into ImageGear, it can be cropped. ImageGear crops independently on each side of the image, giving you complete control over what portion of the image to remove. |
| | [DespeckleAndDeskewRasterImage](Samples/Image%20Processing/DespeckleAndDeskewRasterImage) | After an image is scanned, it is often slightly skewed, and can also contain "noise" in the background portion of the image. These can cause OCR to perform poorly. To correct these issues, load a raster image into ImageGear and use the Despeckle and Deskew functions to "fix" the image. |
| | [EqualizeContrastForRasterImage](Samples/Image%20Processing/EqualizeContrastForRasterImage) | This sample demonstrates how to improve the contrast of the raster image using the EqualizeContrast method. |
| | [ErodeAndDilateRasterImage](Samples/Image%20Processing/ErodeAndDilateRasterImage) | The black-and-white and grayscale image can have some dot noise on it. To reduce or remove this noise, load a raster image into ImageGear and apply the Dilate and Erode operations sequentially. |
| | [FlipAndRotateRasterImage](Samples/Image%20Processing/FlipAndRotateRasterImage) | After an image is loaded, use the ImGearProcessing.Flip() method to flip the image across either its horizontal or vertical axis. Use the ImGearProcessing.Rotate() method to rotate the image degrees clockwise using one of several interpolation techniques. |
| | [ImageCleanup](Samples/Image%20Processing/ImageCleanup) | After a document is scanned, there can be undesirable artifacts on the image. Use the various image cleanup operations, such as `RemovePunchHoles` and `CleanBorders`, to clean up the image to make it suitable for further processing. |
| | [ProcessUsingRegionOfInterest](Samples/Image%20Processing/ProcessUsingRegionOfInterest) | Apply an image processing operation to a rectangluar Region of Interest (ROI) within a raster image instead of its entire area. |
| | [ProcessUsingRegionOfInterestMask](Samples/Image%20Processing/ProcessUsingRegionOfInterestMask) | Apply an image processing operation to a bitonal Region of Interest (ROI) mask within a raster image instead of its entire area. |
| [***Email Samples***](Samples/Email) | | These samples demonstrate general Email functionality in ImageGear .NET. |
| | [EmailFileToPDFFile](Samples/Email/EmailFileToPDFFile) | This sample demonstrates how to load an Email document into ImageGear and save the document as a PDF. |
| | [EmailFileToRasterFormat](Samples/Email/EmailFileToRasterFormat) | After an Email document is loaded, ImageGear can rasterize the entire document and save it as a single-page raster format. |
Expand All @@ -46,26 +63,35 @@ ImageGear .NET supports the most commonly used image, graphic, and document form
| | [OfficeFileToRasterFormat](Samples/Office/OfficeFileToRasterFormat) | After an Office document is loaded, ImageGear can rasterize individual pages or the entire document and save them to raster formats. |
| | [ReadOfficeMetadata](Samples/Office/ReadOfficeMetadata) | ImageGear provides functionality to access metadata from the Office document. |
| [***PDF Acroform Samples***](Samples/PDF%20Acroform) | | These samples demonstrate PDF Acroform support in ImageGear .NET. |
| | [AddingWidgets](Samples/PDF%20Acroform/AddingWidgets) | ImageGear allows adding widgets (radio button, checkboxes, listboxes, etc.) to PDF Acroforms. |
| | [CreatePDFFormField](Samples/PDF%20Acroform/CreatePDFFormField) | Starting with a PDF document, new or existing, first the PDF document is set to contain forms. Then form controls can be added to any page in the PDF document. |
| | [SetPDFFormFields](Samples/PDF%20Acroform/SetPDFFormFields) | This sample demonstrates how to set the values of form fields and save those values to a PDF file. |
| | [ReadPDFFormFields](Samples/PDF%20Acroform/ReadPDFFormFields) | This sample demonstrates how to read the values from form fields. |
| | [FlattenPDFFormFields](Samples/PDF%20Acroform/FlattenPDFFormFields) | This sample demonstrates how to flatten form fields. |
| | [ModifyFieldAppearance](Samples/PDF%20Acroform/ModifyFieldAppearance) | This sample demonstrates how to add borders or change different attributes to widgets on PDF Forms. |
| | [ReadPDFFormFields](Samples/PDF%20Acroform/ReadPDFFormFields) | This sample demonstrates how to read the values from form fields. |
| | [SetPDFFormFields](Samples/PDF%20Acroform/SetPDFFormFields) | This sample demonstrates how to set the values of form fields and save those values to a PDF file. |
| [***PDF Compression Samples***](Samples/PDF%20Compression) | | These samples demonstrate how to compress PDF file content using ImageGear .NET. |
| | [CompressPDFFile](Samples/PDF%20Compression/CompressPDFFile) | To reduce the size of a PDF file, ImageGear provides the SaveCompressed function. |
| [***Combined PDF and JPEG Samples***](Samples/PDF%20and%20JPEG) | | These samples demonstrate general raster image functionality in ImageGear .NET. |
| | [AddImageToPDFAsAPage](Samples/PDF%20and%20JPEG/AddImageToPDFAsAPage) | This sample demonstrates how to add JPEG image as new page to the PDF Document. |
| | [PlaceImageOnAnExistingPDFPage](Samples/PDF%20and%20JPEG/PlaceImageOnAnExistingPDFPage) | This sample demonstrates how to add JPEG image to the existing page of the PDF Document. |
| [***PDF XFA Samples***](Samples/PDF) | | These samples demonstrate PDF with XFA support in ImageGear .NET. |
| | [OpenPDFWithXFA](Samples/PDF XFA/OpenPDFWithXFA) | ImageGear can open PDF with XFA, detect XFA type and remove XFA from the document. |
| | [OpenPDFWithXFA](Samples/PDF%20XFA/OpenPDFWithXFA) | ImageGear can open PDF with XFA, detect XFA type and remove XFA from the document. |
| [***General PDF Samples***](Samples/PDF) | | These samples demonstrate general PDF functionality in ImageGear .NET. |
| | [AddWatermarkToPDFPage](Samples/PDF/AddWatermarkToPDFPage) | This sample demonstrates how to watermark a page in a PDF document using PDE element operations with a raster image loaded into ImageGear. |
| | [ConvertPDFToPDFA_2b](Samples/PDF/ConvertPDFToPDFA_2b) | This sample demonstrates how to take a PDF document loaded into ImageGear, and convert that PDF document to be compliant with the PDF/A-2b specification. |
| | [DeletePDFPage](Samples/PDF/DeletePDFPage) | Pages can be removed from the front (0), end (Pages.Count - 1), or specific page number from a PDF file. |
| | [IntrinsicallyRotatePDFPage](Samples/PDF/IntrinsicallyRotatePDFPage) | In order to rotate a PDF page, each object on the page must be rotated about the origin and then translated back onto the page. |
| | [LoadEncryptedPDF](Samples/PDF/LoadEncryptedPDF) | This sample demonstrates how to decrypt and load a secure PDF. Additionally, it demonstrates how to remove encryption from a PDF once it has been loaded. |
| | [LoadingAndSavingPDF](Samples/PDF/LoadingAndSavingPDF) | This sample demonstrates two of the most basic PDF functions of ImageGear, loading and saving a PDF file using the LoadDocument and SaveDocument functions. |
| | [LoadPDFSaveWithFlags](Samples/PDF/LoadPDFSaveWithFlags) | This sample demonstrates reducing the size of a PDF using flags to reduce duplication of streams, cleaning up unreferenced objects, and optimizing fonts. |
| | [LoadSinglePDFPage](Samples/PDF/LoadSinglePDFPage) | Load a single PDF page and report its physical dimensions with the MediaRect property. |
| | [ManagePDFMetadata](Samples/PDF/ManagePDFMetadata) | Read and update PDF metadata using the GetInfo and SetInfo methods, respectively. |
| | [MergeTwoPDFFiles](Samples/PDF/MergeTwoPDFFiles) | Any PDF document can have pages from other PDF documents inserted into it. The InsertPages function can insert a range of pages. |
| | [MultipageTIFFtoPDFFile](Samples/PDF/MultipageTIFFtoPDFFile) | Since the pages are inserted one at a time into the PDF, the pages can be easily reordered and combinded with other images from other documents. |
| | [PDFContentAddText](Samples/PDF/PDFContentAddText) | Text is added to a PDF page as a Text Element object using the Add function. |
| | [PDFContentExtractText](Samples/PDF/PDFContentExtractText) | Text is extracted from a range of PDF pages using the ExtractText function. |
| | [PDFFileToMultipageTIFF](Samples/PDF/PDFFileToMultipageTIFF) | Converting a PDF file to a raster image format is very easy with ImageGear. |
| | [PDFFileToMultipageTIFFAtHighResolution](Samples/PDF/PDFFileToMultipageTIFFAtHighResolution) | Convert a PDF file to TIFF at high resolution to improve image quality. |
| | [SaveAllImagesOnPDFPage](Samples/PDF/SaveAllImagesOnPDFPage) | After a PDF page is loaded, the objects on the page can be traversed. |
| | [SetPDFSecurity](Samples/PDF/SetPDFSecurity) | ImageGear can set the security on a PDF document using the SetNewCryptHandler and SetNewSecurityData functions. |
| | [SplitPDFIntoMultiplePDFs](Samples/PDF/SplitPDFIntoMultiplePDFs) | This sample demonstrates how to create new separate PDF documents from a PDF that has been loaded by ImageGear. |
Binary file added Sample Input/G4ImageData.dat
Binary file not shown.
Binary file added Sample Input/Road.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion Samples/Email/EmailFileToPDFFile/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ When the sample is built, it produces a console application executable in the bi

To run this sample under Linux, run the sample from "bin/Debug/net6.0/" or "bin/x64/Debug/net6.0/" (depending on the solution platform) using `./EmailFileToPDFFile`.

_**NOTE:** ImageGear .NET runs in evaluation mode if started without a license. In evaluation mode, documents and images will be watermarked when exported or displayed. If you would like to work with a full-featured evaluation of the product, [please contact Accusoft at [email protected]](mailto:[email protected]).
_**NOTE:** ImageGear .NET runs in evaluation mode if started without a license. In evaluation mode, documents and images will be watermarked when exported or displayed. If you would like to work with a full-featured evaluation of the product, [please contact Accusoft at [email protected]](mailto:[email protected])._

## Email Document Support in ImageGear .NET

Expand Down
2 changes: 1 addition & 1 deletion Samples/Email/EmailFileToRasterFormat/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ When the sample is built, it produces a console application executable in the bi

To run this sample under Linux, run the sample from "bin/Debug/net6.0/" or "bin/x64/Debug/net6.0/" (depending on the solution platform) using `./EmailFileToRasterFormat`.

_**NOTE:** ImageGear .NET runs in evaluation mode if started without a license. In evaluation mode, documents and images will be watermarked when exported or displayed. If you would like to work with a full-featured evaluation of the product, [please contact Accusoft at [email protected]](mailto:[email protected]).
_**NOTE:** ImageGear .NET runs in evaluation mode if started without a license. In evaluation mode, documents and images will be watermarked when exported or displayed. If you would like to work with a full-featured evaluation of the product, [please contact Accusoft at [email protected]](mailto:[email protected])._

## Email Document Support in ImageGear .NET

Expand Down
2 changes: 1 addition & 1 deletion Samples/Email/ExtractEmailAttachments/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ When the sample is built, it produces a console application executable in the bi

To run this sample under Linux, run the sample from "bin/Debug/net6.0/" or "bin/x64/Debug/net6.0/" (depending on the solution platform) using `./ExtractEmailAttachments`.

_**NOTE:** ImageGear .NET runs in evaluation mode if started without a license. In evaluation mode, documents and images will be watermarked when exported or displayed. If you would like to work with a full-featured evaluation of the product, [please contact Accusoft at [email protected]](mailto:[email protected]).
_**NOTE:** ImageGear .NET runs in evaluation mode if started without a license. In evaluation mode, documents and images will be watermarked when exported or displayed. If you would like to work with a full-featured evaluation of the product, [please contact Accusoft at [email protected]](mailto:[email protected])._

## Email Document Support in ImageGear .NET

Expand Down
2 changes: 1 addition & 1 deletion Samples/Email/ExtractEmailMetadata/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ When the sample is built, it produces a console application executable in the bi

To run this sample under Linux, run the sample from "bin/Debug/net6.0/" or "bin/x64/Debug/net6.0/" (depending on the solution platform) using `./ExtractEmailMetadata`.

_**NOTE:** ImageGear .NET runs in evaluation mode if started without a license. In evaluation mode, documents and images will be watermarked when exported or displayed. If you would like to work with a full-featured evaluation of the product, [please contact Accusoft at [email protected]](mailto:[email protected]).
_**NOTE:** ImageGear .NET runs in evaluation mode if started without a license. In evaluation mode, documents and images will be watermarked when exported or displayed. If you would like to work with a full-featured evaluation of the product, [please contact Accusoft at [email protected]](mailto:[email protected])._

## Email Document Support in ImageGear .NET

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
using System.Reflection;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ConvertMultipageRasterImageToSVG")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ImageGear for .NET")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("1e489b4d-3598-42f1-a7c0-04f4072c32f6")]

// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
Loading

0 comments on commit 740bafe

Please sign in to comment.