Technical FAQs for "ImageGear"

distance learning system

College and university will look very different this fall. While some schools are making the leap back to on-campus learning, many are opting for hybrid educational models or hitting pause on the entire process to help limit COVID-19 concerns.  No matter the academic approach, however, post-secondary schools share a common challenge, finding a distance learning system or learning management system (LMS) that has all the functionality they need without the cost. Teachers, schools, and universities are all scrambling to find a tool that fits their needs especially during a time when nothing is certain. That’s where learning management systems can help bridge the gap, by offering secure document collaboration with unique features like viewing, annotation, commenting, redaction, and more.

Current Collaboration Issues

As noted by the Harvard Business Review, while the last-decade uptake of massive open online courses (MOOCs) offered the potential to displace face-to-face learning, COVID’s effect on e-learning was nowhere near student and staff expectations. Post-secondary schools have been forced to deploy MOOC-like frameworks at a frantic pace as they attempt to minimize learning disruption and ensure students have access to critical educational resources.

It’s one thing to implement collaborative and communicative solutions — it’s another to ensure these deployments are efficient and effective. While Zoom calls, text chats, and email chains offer some ability for staff and students to connect, they’re not enough in isolation. As a result, schools now face three key collaboration challenges:

  • Enhancing Student Engagement If students aren’t engaged, success isn’t possible. Schools need learning management systems that simplify engagement initiatives.
  • Ensuring Staff EfficacyIf staff spend all their time managing documents, they sacrifice student connection. Simplified document viewing, conversion, and editing tools help streamline this process and improve student outcomes.
  • Expanding Solution ScopeAs e-learning becomes common practice, schools need to ramp up solution scope. Here, process automation tools are critical to bridge the digital divide.

Potential Platform Pitfalls

While initial shifts to online and blended learning were given a measure of leeway as schools struggled to cope with the emerging impacts of a global pandemic, students and staff now want focused, functional online learning tools.

As noted by Inside Higher Ed, for example, while students are willing to be flexible, they also want assurances that their education will include regular communication opportunities with staff and classmates, and won’t sacrifice their career potential at the expense of an untested, rapidly-evolving educational model. Academic staff, meanwhile, need the ability to both engage with students and evaluate their work at a distance to ensure at-home learners enjoy the same advantages as their on-campus counterparts. 

Here, digital platforms offer both promise and potential pitfalls. For example, if document management tools can’t offer the flexibility and functionality required to easily convert, view, and edit multiple file types, time is wasted for both staff and students. Customization is also critical, since every school has specific processes around document formatting, grading, and user access.

In addition, concerns exist for schools making at least a partial return to on-site education. As student numbers ramp up, campuses must reduce the potential risk of virus transmission by eliminating as many common touch points as possible. Here, barcoded student ID cards already used by many schools offer built-in practical potential — but only if the right infrastructure exists to support these solutions at scale

The Learning Management System Answer

So how do universities and colleges support both hybrid and entirely e-learning approaches? It all comes down to content management — the combination of key solutions and services to both empower student success and reduce staff frustration. For post-secondary schools, essential tools include:

  • On-Demand Document ViewingWith students now required to submit work electronically for assessment and evaluation, instructors and administrators need on-demand document tools that let them easily view, add comments, and insert redactions across multiple file types.
  • Comprehensive File ConversionTo help standardize document management and storage, comprehensive file conversion is critical. By converting multiple file formats into searchable, scalable PDFs, schools can unify document management and ensure edits are only possible with specific permissions.
  • End-to-End Document AutomationThe sheer volume of information now processed by post-secondary schools — from organizational sign-up forms and healthcare waivers to loan applications and contact tracing documents — demands end-to-end document automation that ensures all forms are routed through the same, secure process for simplified security and storage.
  • Superior Barcode Support Barcodes not only help schools manage physical resources such as books, computers, and lab equipment but can also be leveraged on ID cards to support no-contact transactions in bookstores, food service establishments, and other campus facilities. As a result, schools need superior barcode support capable of quickly reading codes — even if they’ve been damaged or worn down thanks to continuous student use.

Blended learning strategies will remain part of post-secondary life for the foreseeable future. As a result, it’s critical to bolster both student and staff success with learning management solutions and distance learning systems capable of delivering both on-campus and off-site collaboration, communication, and connection. If you are looking to enhance your current learning management system or create an application that can help educators during these challenging times, contact us for a free consultation.

InsurTech SDK

The insurance market is booming. As noted by research firm Deloitte, the property and casualty (P&C) sector saw a massive income uptick in 2018 and steady growth last year that’s predicted to carry forward through 2020. To help manage the influx of new clients and handle more claims, many firms are spending on insurance technology (insurtech) — digital services and solutions that make it possible to reduce error rates and enhance operational efficiency. InsurTech SDKs are important components of this transformation.

Both in-house insurtech solutions and third-party platforms often excel in specific areas but come up short in others, putting insurance firms at risk of writing off potential gains. While solution switching and ground-floor rebuilds offer one route to success, there’s another option that’s more custom to your business needs: software development kits (SDKs). Here’s a look at three top SDKs that offer customized functionality potential.


FormSuite for Structured Forms: Solving for Data Capture

Time is money. The faster insurance companies accurately complete and file documents, the greater their revenue potential. And as noted by KPMG, the need for speed is more pressing than ever. Many insurance sectors have seen substantial increases in both claims and new applications as the COVID-19 crisis evolves. 

As a result, accurate and agile forms processing is critical to keep up with demand. If current insurance software can’t quickly capture forms data, recognize standard form fields, and let users easily create standard form libraries, policy processing falls behind.

FormSuite for Structured Forms makes it easy for developers to build in form identification and data capture that includes comprehensive form field detection with OCR, ICR, and OMR functionality and the ability to automatically identify scanned forms and match them to existing templates.

ImageGear for .NET and C/C++: Simplifying Conversion

Conversion is critical for insurance firms. Depending on the type and complexity of insurance claims, companies are often dealing with everything from Word documents for initial client assessments and .GIF or .JPG images of existing damage to contractor-specific PDFs or spreadsheets that detail necessary materials, time, and labor costs. The result? A mash-up of multiple file types that forces adjusters to spend valuable time searching for specific data instead of helping clients get their claims process up and running. This makes it difficult to recognize value from emerging digital initiatives. 

Accusoft’s ImageGear for .NET and ImageGear for C/C++ empower developers to integrate enterprise-class file viewing, annotation, conversion, and image processing functions into existing applications, allowing staff to both quickly collaborate on key tasks and find essential data across a single, easy-to-search document.

 


ImageGear: Streamlining PDF Capabilities

While insurance technology offers substantive opportunities for end-users to capture, convert, and retain data, this technology can also come with the challenge of increased complexity. According to recent research from PWC, for example, firms looking to capitalize on insurtech potential must be prepared to rapidly develop new product offerings and embrace the expectations

As a result, companies need applications that streamline current functions and allow them to focus on creating cutting-edge solutions. For example, PDF is a file format that is still used by enterprises worldwide to maintain document format consistency and maximize security. When it comes to converting multiple files into a PDF, software can be expensive and introduce data security issues. 

This can all be solved with an SDK like ImageGear, which makes it possible to integrate the total PDF package into any document management application, both reducing overall complexity and freeing up time for staff to work on new insurance initiatives.

Insurtech forms the framework of functional futures in policy applications, claims processing, and compliance reporting, but existing software systems may not provide the complete capability set companies need to make the most of digital deployments. These top SDKs offer insurance IT teams the ability to integrate key services, improve speed, and boost security at scale. Learn more about Accusoft’s SDKs at www.accusoft.com/products

convert excel pdf

Companies have a love/hate relationship with PDFs. While Adobe’s portable file format has been around for decades and remains one of the most popular document types available, some of its best features are overshadowed by frustration around conversion. Faced with a barrage of read-only PDF files or looking for ways to ensure the integrity of critical document data, you can spend significant time and effort searching for the ideal PDF converter application.   This is particularly true when trying to convert Excel to PDF.

In some cases, this means ignoring IT best practices to leverage web-based “convert PDF free” tools that offer the benefit of speed, but could introduce potential security risk. In others, you might opt for large-scale document solutions that make the process of PDF conversion cumbersome and complex.

As noted by recent research from Deloitte, shifting market trends make both approaches problematic. Consider converting a familiar spreadsheet format — Excel — into PDF. What should be a simple task is often torturous and time-consuming and can significantly impact staff productivity. Let’s break down this situation further. In this blog, we’ll explore the operational impact of PDFs, consider the case for conversion, assess the spreadsheet-specific situation, and offer a step-by-step solution for potential PDF permutations.

 


The History of the PDF

  • A quick search turns up multiple articles for and against the use of PDFs for business documents. Detractors cite the sometimes cumbersome process of converting and modifying this format, while electronic evangelists focus on the consistency of content across PDF files. To understand the impact of PDFs, let’s take a quick historical detour. First developed in 1991 by Adobe co-founder Dr. John Warnock, the Camelot Project focused on document consistency across user, location, and device. By 1992, Camelot became PDF and introduced two key features that keep it front-and-center for businesses:
    • Preservation PDFs are designed to preserve all data in the original file in its original format. As a result, any content — from text to graphics to spreadsheets — remains consistent when converted to PDF.
    • StandardizationNot only do PDFs meet ISO 32000 standards for electronic document exchange, the format also includes specialty standards such as PDF/A for archiving, PDF/X for printing and PDF/E for engineering.

 


The Case for Conversion

While preservation and standardization speak to the benefits of PDF creation, why do so many companies prioritize conversion? First is the read-only nature of basic PDF files. Consider documents that contain customers’ personally identifiable information (PII) or employees’ HR data. Demands for intra-company interoperability mean these documents are often widely distributed across multiple departments and even outside the organization.

Storage is also a key consideration. While many files — including Excel spreadsheets — can quickly balloon in size as data volumes increase, compression comes standard with PDFs. This permits greater storage with a smaller footprint to help maximize the capacity of local storage infrastructure.

 


The Situation with Spreadsheets

Spreadsheets offer a specific situation for PDF conversion. With spreadsheets often the standard format for financial reporting and offering critical functionality for structured data analysis, Excel files are everywhere. The challenge? Ensuring the right people can access the right data at the right time — with the right context. Consider spreadsheets sent from a desktop to a mobile device that isn’t equipped with the same office software. What appears as tidy rows and columns on a computer monitor may be a contextually convoluted mess on mobile devices, forcing you to work against existing formats rather than finding common function. 

Excel to PDF conversion offers three benefits to help solve the spreadsheet situation:

  • Format Persistence  — From standard spreadsheets to charts and graphs, the original format of Excel files is maintained in PDF. As a result, recipients don’t need specific office software to read Excel documents — in-app or online PDF readers are the only requirement.
  • Content Curation With the right PDF conversion tools, staff can easily choose what to share and how to share it. From converting entire documents to specific pages, making comments, or adding redactions, sharing is secure and simple.
  • Password ProtectionSpeaking of security, PDFs also permit password protection for both access and editing. This both reduces the risk of unintended access and ensures that only authorized personnel can alter spreadsheet data.

The Market for Modification

Given the popularity of PDFs and the potential benefits of effective conversion, it’s no surprise that the market for modification is rapidly diversifying. From lightweight applications that allow users to convert PDFs for free to online PDF converters, there are now multiple options to make the move from spreadsheet files to portable document formats. The challenge? Finding your best fit. For example, while free online tools offer the benefit of quick conversion, they introduce potential security issues if spreadsheets are converted outside the confines of local networks. 

Robust and reliable options from well-known providers, meanwhile, offer ways to maximize security without losing speed. Solutions like Accusoft’s ImageGear integrates alongside your existing applications, allowing document conversion under the auspices of local networks, while the PrizmDoc Cloud Conversion API lets you leverage the power of cloud resources customized to meet your needs. Even better? Start converting PDFs for free right now with an ImageGear trial or 300 free transactions in the Accusoft Cloud.  

 


A Step-by-Step Guide: How to Convert an Excel File to PDF

Ready to start converting spreadsheets with us? It’s easy. If you’re using the PrizmDoc Cloud Conversion API, easy is the operative word. Simply select your source format, pick the pages you want to convert, and then define your destination format. Need pages 1-5 of your XLS document in a PDF? No problem. Looking to merge multiple pages into a single document? We’ve got you covered.

If SDKs are more your style, there’s a simple, step-by-step process to convert Excel files into PDFs:

Step 1: Create an instance of Microsoft Excel format after initializing ImageGear.NET

In C#:


ImGearFileFormats.Filters.Add(ImGearOffice.CreateExcelFormat());

 

Step 2: Modify the open dialog box to accept *.xlsx and *.xls extensions.

In C#


 // After installation make sure you are including the following using statements
 using ImageGear.Formats.PDF;
 using ImageGear.Formats;
 using ImageGear.Formats.Office;
 using ImageGear.Core;
 using System.IO;
 using ImageGear.Evaluation;
            
// If you are evaluating our product, initialize the evaluation license
 ImGearEvaluationManager.Initialize();
 
 // After some initializations, load the necessary ImGear filters to create an instance 
 // of Microsoft Word format for input and an instance of PDF format for output using 
 // code that looks like:    
 ImGearFileFormats.Filters.Add(ImGearOffice.CreateExcelFormat());
 ImGearFileFormats.Filters.Add(ImGearPDF.CreatePDFFormat());
 
 // Next, the PDF library requires its own initialization:
 ImGearPDF.Initialize();
 
 // Then, simply read in all pages of the Word document using the 
 // ImGearFileFormats.LoadDocument() method:
 ImGearDocument igDocument;
 using (FileStream fileStream = new FileStream(inputFileName, FileMode.Open, FileAccess.Read, FileShare.Read))
 {
     igDocument = ImGearFileFormats.LoadDocument(fileStream);
 }
 
 // Finally, write out the document as PDF using the ImGearFileFormats.SaveDocument() 
 // method with the saving format set to ImGearSavingFormats.PDF and no special options:
 using (FileStream fileStream = new FileStream(outputFileName, FileMode.Create, FileAccess.ReadWrite))
 {
      ImGearFileFormats.SaveDocument(igDocument, fileStream, 0, ImGearSavingModes.OVERWRITE, ImGearSavingFormats.PDF, null);
 }

Ready to accelerate output and improve productivity? Keep conversion close to home with ImageGear, or opt for secure operational outsourcing with the PrizmDoc Cloud Conversion API.

convert pdf

PDFs are everywhere. Vice calls them “the world’s most important file format,” and that’s not far off the mark. The sheer number of documents converted to, from, and often back to PDFs is astounding. The hard truth? They’re also frustrating to work with. Start a Google search with the word “convert” and three of the top five results involve PDFs. 

While this portable document format lives up to its namesake by making it easy for users to attach and send documents across their organizations, PDFs often run into problems when it comes to conversion, collaboration, and communication. While many tools offer piecemeal PDF functionality, they lack a complete cadre of critical capabilities, in turn forcing software engineers to use multiple software solutions for seemingly simple tasks. 

ImageGear offers a different take on the standard software development kit (SDK) designed to help developers maximize their PDF potential. Here’s how it works. 


The Value of PDF Conversion

While PDF conversion is one of the top sought-after functionalities, there’s another area that’s often overlooked: modifying the characteristics of PDFs on-screen. With companies now handling PDFs from multiple sources that may include everything from computer-generated form data to handwritten information and images, it’s no surprise that staff encounter a wide variety of viewing issues.

ImageGear PDF helps solve these problems by allowing users to call the shots on PDF content at scale with features such as:

  • Conversion
  • Metadata Management
  • Content and Font Editing
  • Text Extraction
  • PDF Watermarking
  • Container, Dictionary, and Layer Creation
  • 3D Asset Modification

ImageGear PDF also helps improve document processing with document cleanup and advanced optical character recognition (OCR). With the ability to encrypt and decrypt entire images (or part of an image), automatic ImageClean correction of white text blocks, borders, and inverted images, plus intelligent re-sizing, any PDF can be cleaned and made more readable for the user. 

OCR support for almost any document type is also a benefit. This includes those produced on typewriters, dot-matrix printers, ink-jet printers, laser printers, and photocopied, scanned, and faxed documents. ImageGear PDF helps users control and customize multiple PDF variables, making it a fully functional PDF conversion solution for your application.


PDF Pain Points

One of the biggest PDF frustrations? The inability to break apart and combine PDF documents. Let’s imagine you have a massive legal PDF or in-depth medical file. In these circumstances, professionals only need a portion of the PDF, but without the right tools they’re stuck sending entire files when all they need is a single page. In other cases, employees might have a host of related PDFs that are part of the same project, but can’t be easily combined to save space and time.

ImageGear PDF has you covered with the ability to easily delete or insert PDF pages, render pages in a single PDF, split a PDF, merge two or more PDFs into a single file, or even merge specific pages from two or more PDFs into a single PDF. This not only makes a massive difference in time spent working with PDF documents, it helps reduce unnecessary storage and transmission of multiple files. 


Convert PDF: Multiple File Formats for Conversion

Conversion is critical for PDF success. Instead of creating complexity by forcing end-users to stick with original file formats, implementing an SDK with cutting-edge conversion empowers corporate consistency and saves on storage space. ImageGear PDF supports a host of common file formats for conversion including Microsoft Office, JPEG 2000, CAD, and SVG.

Of course, no feature forward PDF framework is complete without robust annotation, redaction, and commenting capabilities. These features make it easy for other users to see exactly what’s been changed, when, and why, along with providing a critical, auditable paper trail to meet evolving compliance and regulatory standards.


PDF Functionality for Your Application

Best of all, ImageGear isn’t designed to replace your current software, but integrate alongside existing workflows. Rather than adding another application to already-overloaded IT arsenals, straightforward SDK integration means everything happens within your own application, making it easy for everyone to find exactly what they’re looking for within familiar territory. Need help jumpstarting your SDK deployment? Check out our full list of ImageGear .NET samples for ASP.NET, CAD, OCR support, and more.

PDFs remain eternally popular and continually frustrating. Solve for document viewing, split and merge, and conversion issues and streamline employee efforts with ImageGear.

resize PDF

Portable Document Format (PDF) files have become the ubiquitous way to store documents for sharing with a broad audience. While popular, PDF documents have several drawbacks. One large drawback is the fact that PDF documents are intended to be immutable. In other words, PDF documents lack the internal information necessary to reorganize its contents, unlike, for instance, a word processor document.  Here’s how to resize PDF files with ImageGear.

There are however ways to reclaim portions of PDF documents for use in new or updated PDF documents. One of the most common is to reuse pages from existing PDF documents. This does lead to one particularly vexing issue – reusing pages that were created for different media sizes.

When a PDF document has pages that are all the same size, PDF viewers can scale and scroll the document consistently, and the document appears aesthetically pleasing. The document is also likely to print well. The problem is that PDF pages from image scanners, PDF pages produced by word processors, and PDF pages generated from images are likely to be produced with different media sizes.

This is where ImageGear .NET can help. ImageGear .NET can resize PDF pages using the following code.

First, we need to determine what size we want the pages to be. We will use this size to define the “MediaBox”, which specifies the outermost boundaries of the page. For this example, we will use 8.5 inches by 11 inches, which is letter size.


ImGearPDFDocument igPDFDocument;
using (Stream stream = new FileStream(@"PDFDocumentIn.pdf", FileMode.Open, FileAccess.Read))
    igPDFDocument = (ImGearPDFDocument)ImGearFileFormats.LoadDocument(stream, 0, -1);

    double newMediaBoxWidth = 8.5 * 72.0; // Convert inches to Points
    double newMediaBoxHeight = 11 * 72.0;

 

Next, we iterate through the pages in the PDF document, and resize each page. To resize a page, we first need to determine how much to scale and translate the page.


foreach (ImGearPDFPage page in igPDFDocument.Pages)
{
    using (ImGearPDFBasDict pageDict = page.GetDictionary())
    {
	     // Get the existing MediaBox to determine how much to scale and translate the page
	     ImGearPDFAtom mediaBoxKey = new ImGearPDFAtom("MediaBox");
 	     ImGearPDFBasArray mediaBox = (ImGearPDFBasArray)pageDict.Get(mediaBoxKey);
	     double mediaBoxLowerLeftX = (((ImGearPDFBasInt)(mediaBox.Get(0))).Value);
	     double mediaBoxLowerLeftY = (((ImGearPDFBasInt)(mediaBox.Get(1))).Value);
	     double mediaBoxUpperRightX = (((ImGearPDFBasInt)(mediaBox.Get(2))).Value);
	     double mediaBoxUpperRightY = (((ImGearPDFBasInt)(mediaBox.Get(3))).Value);
	     // Calculate how much to scale each axis to fill the page
	     double scaleX = newMediaBoxWidth / (mediaBoxUpperRightX - mediaBoxLowerLeftX);
	     double scaleY = newMediaBoxHeight / (mediaBoxUpperRightY - mediaBoxLowerLeftY);
	     // Determine which axis needs the least scaling to fill the page
	     double scale = scaleX;
	     if(scaleY < scaleX)
	         scale = scaleY;
	     // Determine how much to shift the content to center the page
	     double translateX = mediaBoxLowerLeftX + (newMediaBoxWidth - (mediaBoxUpperRightX - mediaBoxLowerLeftX) * scale) / 2.0;
	     double translateY = mediaBoxLowerLeftY + (newMediaBoxHeight - (mediaBoxUpperRightY - mediaBoxLowerLeftY) * scale) / 2.0;
 

 

Next, create an Affine matrix to scale and translate the page.


        // Create an Affine matrix to scale and translate the page
        ImGearPDFFixedMatrix scaleMatrix = new ImGearPDFFixedMatrix
	    {
	        A = ImGearPDF.DoubleToFixed(scale),
	        D = ImGearPDF.DoubleToFixed(scale),
	        H = ImGearPDF.DoubleToFixed(translateX),
	        V = ImGearPDF.DoubleToFixed(translateY)
	    };

 

Using the Affine matrix, transform the contents of the page. Since we will be transforming individual elements on the page, we need to keep track of each transformed element (using transformedIDs) so we don’t transform any element more than once.


        try
        {
             // Transform all the elements on each page. Keep track of transformed elements
             // so that no element is transformed more than once.
             using (ImGearPDEContent content = page.GetContent())
             {
                  List<int> transformedIDs = new List<int>();
                  TransformContent(content, scaleMatrix, transformedIDs);
                  page.SetContent();
             }
         }
         finally
         {
             page.ReleaseContent();
         }

 

Now that the page has been transformed, set the new MediaBox.


         using (ImGearPDFBasArray newMediaBox = new ImGearPDFBasArray((ImGearPDFDocument)page.Document, false, 4))
         {
   	          // Update the MediaBox
              newMediaBox.PutFixed(0, false, ImGearPDF.DoubleToFixed(0.0));
              newMediaBox.PutFixed(1, false, ImGearPDF.DoubleToFixed(0.0));
              newMediaBox.PutFixed(2, false, ImGearPDF.DoubleToFixed(newMediaBoxWidth));
              newMediaBox.PutFixed(3, false, ImGearPDF.DoubleToFixed(newMediaBoxHeight));
              pageDict.Put(mediaBoxKey, newMediaBox);
   	          // Remove any existing CropBox
              ImGearPDFAtom cropBoxKey = new ImGearPDFAtom("CropBox");
              if(pageDict.Known(cropBoxKey))
                  pageDict.Remove(cropBoxKey);
          }

 

Now we need the function TransformContent() to transform the content of a PDF page. This will take each element on a page and individually transform it to its new location on the page.


private void TransformContent(ImGearPDEContent content, ImGearPDFFixedMatrix scaleMatrix, List<int> transformedIDs)
{
   // If there is a matrix in the content attributes, transform it.
   ImGearPDEContentAttrs contentAttributes = content.GetAttributes();
   contentAttributes.Matrix = Concat(contentAttributes.Matrix, scaleMatrix);
   // Transform each element in the content
   for (int i = content.ElementCount - 1; i >= 0; i--)
   	using (ImGearPDEElement pdeElement = content.GetElement(i))
   	     TransformElement(pdeElement, scaleMatrix, transformedIDs);
}

 

Now we need the function TransformElement() to transform individual elements on a PDF page. Note that some elements contain elements and even content. These elements and content will be transformed recursively (hence the need for the transformedIDs list).


private void TransformElement(ImGearPDEElement pdeElement, ImGearPDFFixedMatrix scaleMatrix, List<int> transformedIDs)
{
   if (!transformedIDs.Contains(pdeElement.UniqueId))
   {
   	transformedIDs.Add(pdeElement.UniqueId);
   	switch(pdeElement.Type)
   	{
   	    case ImGearPDEType.CONTAINER:
   		ImGearPDEContainer pdeContainer = (ImGearPDEContainer)pdeElement;
   		using (ImGearPDEContent moreContent = pdeContainer.GetContent())
   		    TransformContent(moreContent, scaleMatrix, transformedIDs);
   		break;
   	    case ImGearPDEType.CLIP:
   		 ImGearPDEClip pdeClip = (ImGearPDEClip)pdeElement;
   		 for (int i = pdeClip.ElementCount - 1; i >= 0; --i)
   		     using (ImGearPDEElement anotherElement = pdeClip.GetElement(i))
   			 TransformElement(anotherElement, scaleMatrix, transformedIDs);
   		 break;
   	    case ImGearPDEType.GROUP:
   		 ImGearPDEGroup pdeGroup = (ImGearPDEGroup)pdeElement;
   		 using (ImGearPDEContent moreContent = pdeGroup.GetContent())
   		     TransformContent(moreContent, scaleMatrix, transformedIDs);
   		  break;
   	    case ImGearPDEType.TEXT:
   		 ImGearPDEText pdeText = (ImGearPDEText)pdeElement;
   		 for (int i = 0; i < pdeText.RunsCount; ++i)
   		     pdeText.RunSetMatrix(i, Concat(pdeText.GetMatrix(ImGearPDETextFlags.RUN, i), scaleMatrix));
   		 break;
   	    case ImGearPDEType.FORM:
   		 ImGearPDEForm pdeForm = (ImGearPDEForm)pdeElement;
   		 pdeForm.SetMatrix(Concat(pdeForm.GetMatrix(), scaleMatrix));
   		 using (ImGearPDEContent moreContent = pdeForm.GetContent())
   		     TransformContent(moreContent, scaleMatrix, transformedIDs);
   		 break;
   		 default:
   		     pdeElement.SetMatrix(Concat(pdeElement.GetMatrix(), scaleMatrix));
   		     break;
   	 }
   	 if (pdeElement.Type != ImGearPDEType.CLIP)
   	    using (ImGearPDEElement pdeClip = pdeElement.GetClip())
   		if (pdeClip != null && pdeClip.Type == ImGearPDEType.CLIP)
   		    TransformElement(pdeClip, scaleMatrix, transformedIDs);
   }
}

 

The last part we need is a function to concatenate (multiply) two Affine matrices together.


private ImGearPDFFixedMatrix Concat(ImGearPDFFixedMatrix matrix1, ImGearPDFFixedMatrix matrix2)
{
    // Multiply two Affine transformation matrices together to produce one matrix
    // that will perform the same transformation as the two matrices performed in series
    double matrix1A = ImGearPDF.FixedToDouble(matrix1.A);
    double matrix1B = ImGearPDF.FixedToDouble(matrix1.B);
    double matrix1C = ImGearPDF.FixedToDouble(matrix1.C);
    double matrix1D = ImGearPDF.FixedToDouble(matrix1.D);
    double matrix1H = ImGearPDF.FixedToDouble(matrix1.H);
    double matrix1V = ImGearPDF.FixedToDouble(matrix1.V);
    double matrix2A = ImGearPDF.FixedToDouble(matrix2.A);
    double matrix2B = ImGearPDF.FixedToDouble(matrix2.B);
    double matrix2C = ImGearPDF.FixedToDouble(matrix2.C);
    double matrix2D = ImGearPDF.FixedToDouble(matrix2.D);
    double matrix2H = ImGearPDF.FixedToDouble(matrix2.H);
    double matrix2V = ImGearPDF.FixedToDouble(matrix2.V);
    ImGearPDFFixedMatrix result = new ImGearPDFFixedMatrix
    {
        A = ImGearPDF.DoubleToFixed(matrix1A * matrix2A + matrix1B * matrix2C),
        B = ImGearPDF.DoubleToFixed(matrix1A * matrix2B + matrix1B * matrix2D),
        C = ImGearPDF.DoubleToFixed(matrix1C * matrix2A + matrix1D * matrix2C),
        D = ImGearPDF.DoubleToFixed(matrix1C * matrix2B + matrix1D * matrix2D),
        H = ImGearPDF.DoubleToFixed(matrix1H * matrix2A + matrix1V * matrix2C + matrix2H),
        V = ImGearPDF.DoubleToFixed(matrix1H * matrix2B + matrix1V * matrix2D + matrix2V)
     };
     return result;
}

 

After modifying the PDF document, save it.


using (Stream stream = new FileStream(@"PDFDocumentOut.pdf", FileMode.Create, FileAccess.Write))
    igPDFDocument.Save(stream, ImGearSavingFormats.PDF, 0, 0, -1, ImGearSavingModes.OVERWRITE);

 

Using this code, you should be able to resize any PDF document page. 

To learn more about ImageGear and all of its capabilities, check out the ImageGear .NET product page and dive into the developer resources section.

View from above. Businesswoman showing pencil on laptop screen. Businessman listening to explanations and takes notes. Teamwork. On table, smartphones, digital tablet, paper, notebook, cup of coffee.

When it comes to your company’s application landscape, there are a variety of tools you already use to streamline processes. But do these tools help you manage your workloads efficiently? Document management is essential to any business. Many companies try to buy a solution and integrate it into their current processes, or build one from the ground up themselves. However, assigning developers to build, test, and maintain your own software isn’t efficient, agile, or advisable.

The other option isn’t really ideal, either. You’ll spend more of your IT budget on applications which are bloated with functionality you don’t need now, and likely never will. That also means investing in applications that lack flexible workflow structure or possibly limiting features and functionalities like advanced search.

 


 

The Value of Integration

Business executives are constantly bombarded with new technology alternatives. But before spending your budget on that new, shiny gadget, make sure you consider the more cost-effective, efficient alternative. Did you know that you can integrate SDKs and APIs into your current application to create a better document management process?

Using purpose-built APIs or SDKs for document viewing, OCR, barcoding, data capture, and conversion helps a business achieve important goals for any organization. With these integrations you can:

  • Meet compliance requirements
  • Provide context to structured data
  • Ensure that individuals have permission-based access to sensitive data
  • Foster collaboration across departments, clients, partners and other stakeholders
  • Make content discoverable through full-text search
  • Enable file viewing within your own application without opening a third party software

When an end-user is working within a CRM application, they often need to access a document that relates to a campaign, a datasheet that provides crucial information, or a contract which needs to be renewed. APIs create efficiencies by allowing for documents to be accessed by a user without having to switch from screen to screen.

 


 

Work Smarter, Not Harder

Your development team or application consulting partner could likely build this sort of functionality over time, just like you could have walked to work every day this week. You get the picture. It would take hours of wasted time to create a functionality that is only half the solution available elsewhere.

Luckily there’s a way to get the document management functions you need, and price pales in comparison to a DIY build. This alternative is highly competitive with other solutions in the market, yet it’s available without the expensive price tag of a stand-alone SaaS solution.

Accusoft’s portfolio of APIs and SDKs support the kinds of .NET, Java, C/C++, Node.js, and more application languages. Products like PrizmDoc Viewer, ImageGear, and OnTask help you obtain the features and functionalities you really need without the price of the ones you don’t.

You can even test drive what you need for a few days before you invest in it. If your team could build, test, and maintain something that meets your needs more efficiently, at a lower cost, why wouldn’t you jump on it?

Need more information on integrating toolkits instead of building your own solution? Download our eGuide Document Management – The First Step to Digital Transformation today. You’ll be glad you did.

Accidents happen all the time. People are rushed to the emergency room for everything from headaches, to chest pain, to broken bones. Each of these ailments, and many others, require some form of imaging. The machines that take your X-Rays, to MRIs, to CT Scans are needed to diagnose and start treatment.

While all of these machines utilize different kinds of images, they are all the same file type; DICOM. DICOM image files, or Digital Imaging and Communications in Medicine files are viewed by doctors and patients every single day, all around the world. DICOM files are the standard for viewing, storing, printing, and transmitting, information in medical imaging. With medical records being moved online, DICOM images are following suit. Meaning that both old and new images are being scanned and imported in an electronic medical record storage. All of the scanning and printing of these images can distort them and make them difficult to evaluate.

So how can you be sure that doctors are able to accurately diagnose patients?

ImageGear Medical is the answer.

ImageGear Medical comes with a host of different available integrations and DICOM toolkits that can be used to correct distortion of DICOM images and so much more.

Scanning DICOM images can severely diminish the quality of the images, but ImageGear Medical has you covered. ImageGear comes with ImageCleanTM which features noise removal, including auto-cropping of your crooked images, clean borders to clean up unneeded space, and much more.

The last thing patients want is to be incorrectly diagnosed by low quality or warped images. So if your images need more correction, do not fear! ImageGear also features advanced filtering, including Sharpen, Smooth, and Convolution to ensure that your images are crystal clear.

ImageGear Medical also comes with Accusoft Redlining Toolkit™ (ART) which enables you to annotate on your DICOM files. You can draw arrows, attach sticky notes, and highlight problem areas to collaborate more effectively. And all of these collaboration tools can be merged with the image or stored in a separate file, ensuring that the original file remains unaltered.

Keep up with DICOM industry trends and create a more efficient solution for viewing your images. Evaluate ImageGear Medical for yourself today and see why our imaging SDKs are unbeatable!