Java Release of DynamicPDF Merger and Generator Version 7

by Robbie W Tue, December 4 2012, 4:45 PM (US Eastern Time)

We are proud to announce the version 7 release of our DynamicPDF Merger and Generator for Java, our easy to use components for creating and interacting with any PDF documents from within any Java application.  Thanks to everyone who participated in the Beta testing process and contributed to a successful release.

Version 7 for Java includes new PDF encryption algorithm support (AES 128 and 256, RC4 128 and crypt filter support), adding QR codes to PDF, true PDF form flattening and lots more.  Check out our full list of new PDF features here.

We always love your feedback; let us know what features or functionality you want to see in the future.

Tags: , , , , , ,

Java PDF Creation and Merging - Version 7 BETA Release

by Robbie W Thu, October 25 2012, 5:19 PM (US Eastern Time)

The Version 7 BETA of DynamicPDF Generator and Merger is now up on our site for download and testing, here.

For any one new to these products, DynamicPDF for Java allows you to quickly and easily Create PDFs in Java, Merge PDFs in Java and so much more!

We have added some great new features into Version 7 including QR Codes, AES 128 & 256 encryption support, text extraction, full form field flattening and a bunch more.  See the full list of features here.

Any questions, issues or comments please email our support team, support@cete.com

Tags: ,

DynamicPDF for COM ActiveX Core Suite Version 7 Release

by Robbie W Fri, October 5 2012, 2:54 PM (US Eastern Time)

We are happy to announce the full release of Dynamic PDF Core Suite v7.0 (including Merger, Generator and ReportWriter).  Thank you to everyone who helped with the beta testing!

The version 7 for COM ActiveX includes new PDF encryption algorithm support (AES 128 and 256, RC4 128 and crypt filter support), adding QR codes to PDF, true PDF form flattening and lots more.  Check out our full list of new PDF features here.

Do you love these great new features?  Are there some we missed that you would want to see in a future version?  Let us know by commenting below.

Tags: , , , , , , ,

Creating PDFs in C# with Outlined or Invisible Text

by Andy C Thu, August 30 2012, 1:51 PM (US Eastern Time)

DynamicPDF Generator has lots of predefined page elements which allow you to easily create different types of content, but you may occasionally have a need to do something that is not available in the API by default. Custom page elements is an easy way to extend the API to achieve these results.

We get questions from time to time on how to add outlined text to a PDF. By outlined text I mean text that is not completely filled in with a color but rather is just an outline of the font and nothing filled in the middle of the text.  This is a great situation for using a Custom page element and the C# code below shows how to extend the TextArea page element to add this functionality:

using System;
using ceTe.DynamicPDF;
using ceTe.DynamicPDF.PageElements;

public class OutlinedTextArea : TextArea
{
    // Member variable to store Border Width
    private float borderWidth = 1.0f;

    // Constructors. Additional ones can be added to model TextArea
    public OutlinedTextArea(string text, float x, float y, float width, float height)
        : base(text, x, y, width, height) { }
    public OutlinedTextArea(string text, float x, float y, float width, float height,
        Font font, float fontSize)
        : base(text, x, y, width, height, font, fontSize) { }

    // Border Width Property added
    public float BorderWidth
    {
        get { return this.borderWidth; }
        set { this.borderWidth = value; }
    }

    // Override Draw Method
    public override void Draw(ceTe.DynamicPDF.IO.PageWriter writer)
    {
        // Enter Graphics Mode
        writer.SetGraphicsMode();
        // Set Stroke Color and Border Width
        writer.SetStrokeColor(base.TextColor);
        writer.SetLineWidth(this.borderWidth);
        // Enter Text Mode
        writer.SetTextMode();
        // Set Text Rendering Mode
        writer.SetTextRenderingMode(TextRenderingMode.Stroke);
        // Call Draw on base class
        base.Draw(writer);
        // Enter Text Mode (in case underline is set to true)
        writer.SetTextMode();
        // Set Text Rendering Mode Back to Fill
        writer.SetTextRenderingMode(TextRenderingMode.Fill);
    }
}

More...

Tags: , , , , , , , , , , ,

DynamicPDF for COM/ActiveX Version 7 BETA Release

by Robbie W Fri, August 17 2012, 1:58 PM (US Eastern Time)

A head's up to all you DynamicPDF COM/ActiveX users out there...we just put the version 7 Beta up on our site for downloading and testing, here.

Version 7 Beta includes DynamicPDF Generator, Merger and ReportWriter (all included in the Core Suite) and like all our installers it includes the documentation and a bunch of ASP, VB6 and VBScript examples.

Take a look at some of the great new features like QR Codes, AES 128 & 256 encryption support, text extraction, full form field flattening and a bunch more.

Email support@cete.com with any questions or issues and thanks for taking part!

Are there any features/improvements that you would want to see in version 8 of DynamicPDF for COM/ActiveX? Let us know with your comments below.

Tags: , ,

Create AES Encrypted PDFs in C# and VB .NET

by Andy C Tue, July 31 2012, 2:48 PM (US Eastern Time)

We recently released an update that introduces AES-256 bit and AES-128 bit encryption to our .NET PDF creation and merging library. We have offered encryption since 2002, but this was limited to RC4-40 bit and RC4-128 bit security until this release. We have also restructured the API a bit in order to easily accommodate new encryption methods in the future.

Encryption is now handled by 4 classes in a new ceTe.DynamicPDF.Cryptography namespace:

All security classes allow restrictions to be placed on a PDF to restrict printing, modification, copying content or updating/adding text annotations or form fields. The 128-bit and higher classes allow restrictions to be placed on a PDF to restrict filling in existing form fields, extracting text and graphics for accessibility purposes, modifying the pages included, high resolution printing or leaving the XMP metadata unencrypted. The AES classes also add the ability to encrypt only file attachments.

The C# code to add AES-256 bit encryption to a new document is very straight forward:

Document document = new Document();
Page page = new Page();
page.Elements.Add(new Label("AES-256 bit encrypted PDF.", 0, 0, 500, 15));
document.Pages.Add(page);
// Add the encryption
Aes256Security security = new Aes256Security("ownerpassword", "userpassword");
security.AllowHighResolutionPrinting = false;
// Set other encryption options
document.Security = security;
// Output the PDF
document.Draw("MyPDF.pdf");

More...

Tags: , , , ,

DynamicPDF Core Suite for .NET v7.0.1 Release

by Robbie W Mon, July 16 2012, 1:12 PM (US Eastern Time)

The 7.0.1 update of DynamicPDF Core Suite for .NET (Generator, Merger and ReportWriter) has now been released on our website (download it here).  This update addresses a few bug fixes, enhancements and depreciated items but the functionality that takes center stage here is the new encryption algorithms that have been added.  Version 7.0.1 has added support for AES 128-bit and 256-bit encryption algorithms as well as crypt filters.  We will elaborate on these new encryption features in a future post but for now, take a look at the Help Library's page:

More detailed information regarding v7.0.1 can be found here:

Are there any new features that you would like to see in our DynamicPDF components? Let me know by commenting below.

Tags: , , , , ,

Happy 10th Birthday DynamicPDF

by Andy C Thu, June 28 2012, 10:41 AM (US Eastern Time)

We are proud to announce that our DynamicPDF Product line is now 10 years old! DynamicPDF Generator for COM/ActiveX (now DynamicPDF Generator Classic) was released in mid June 2002 and the first sale was on June 28th, 2002.

I wanted to take a minute to say thank you to all our loyal customers! We appreciate all the feedback, suggestions and support you've provided throughout the years which has helped us improve our existing products and bring new products to market. It is our goal to continue providing industry leading libraries and tools to help meet your software development needs.

Tags: , ,

Generating PDFs Dynamically on Android

by Ganesh R Fri, June 15 2012, 11:35 AM (US Eastern Time)

I have been using an Android phone for a few years now, and one day I decided I should try to write an Android application using our DynamicPDF Generator for Java. So I decided to start off with a simple "Hello World" application based on the DynamicPDF Generator hello world PDF java example provided with the Generator product.

My goal was to create a PDF on the Android phone when the application was run. I wanted to keep it simple and not even bother with having a GUI for it at this point.

I already had my machine set up with Eclipse IDE, the ADT (Android Developers Tool) plugin and the Android SDK. Here are the steps I followed to create the Android application:

  1. I created a new Android project in Eclipse with the details below. Android version 2.1 is what I tested with, since that is the lowest SDK version I had installed, but it may work with an older version of Android too.

    Project name: HelloWorld
    Build Target: Android 2.1
    Application name: Hello World
    Package name: com.cete.androidexamples.dynamicpdf.helloworld
    Create Activity: DynamicPDFHelloWorld
    Minimum SDK: 7

  2. Since I knew my application had to write to the SD card to output the PDF, I added the WRITE_EXTERNAL_STORAGE permission in the AndroidManifest.xml:
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  3. More...

Tags: , , , ,

Splitting a PDF from .NET (C# Code Provided)

by Anil S Tue, May 22 2012, 1:47 PM (US Eastern Time)

We get a decent amount of people who ask us about dynamically splitting a PDF.  Splitting a PDF document using DynamicPDF Merger for .Net is a very simple task. With the few lines of code the document can be split efficiently at the desired page. Use of PdfDocument object allows for efficient reuse of imported PDF document data. If the same PDF needs to be reused in multiple parts of the application, load the PDF into a PdfDocument object and use it where ever needed. Also the PdfDocument object is designed to be thread safe.
 
Let’s take a look at an example where we want to take a PDF file (pdfToSplit.pdf) and split it into two files (pdfA.pdf and pdfB.pdf).  The first PDF split (pdfA.pdf) will contain the first 50 pages of the file while the second PDF (pdfB.pdf) will contain all remaining pages.  Notice that we do not need to know how many pages the original PDF contained by utilizing the PdfDocument’s Pages.Count method.

            //Create a PdfDocument object to load the PDF.
            PdfDocument pdfToSplit = new PdfDocument("pdfToSplit.pdf");

            //Page number to split the document at. 
            int pageNumToSplit = 50;

            //Add first 50 pages and call the Draw method to save the PDF. 
            MergeDocument firstPdf = new MergeDocument(pdfToSplit, 1, pageNumToSplit);
            firstPdf.Draw("pdfA.pdf");

            //Add the remaining pages to a second document and save the PDF. 
            MergeDocument secondPDF = new MergeDocument(pdfToSplit, pageNumToSplit + 1, pdfToSplit.Pages.Count - pageNumToSplit);
            secondPDF.Draw("pdfB.pdf");

More...

Tags: , , , ,