Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. PDF library recommendations

PDF library recommendations

Scheduled Pinned Locked Moved The Lounge
comtools
22 Posts 17 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Christian Graus

    I know this gets asked a lot. But, I'm going to ask it. I want a PDF library to do three things 1 - embed a PDF viewer for PDFs that are text and images 2 - print PDFs from within our program 3 - provide PDF editing functionality. The two possibilities are a - full PDF editing or b - adding a logo to the PDFs at the bottom If there's a huge price gap between a and b, we may choose b. Otherwise, a is preferable. The other criteria is that I want no per seat licensing. That's the kicker. We use Atalasoft imaging SDKs and they have been really good, and their support is top notch, so I'd prefer to stick with them, but their PDF stuff has a per seat, and I don't want the hassle.

    Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

    L Offline
    L Offline
    Lost User
    wrote on last edited by
    #4

    Do you need WYSIWYG editing, or would programmatic do?

    ___________________________________________ .\\axxx (That's an 'M')

    C 1 Reply Last reply
    0
    • L Lost User

      Do you need WYSIWYG editing, or would programmatic do?

      ___________________________________________ .\\axxx (That's an 'M')

      C Offline
      C Offline
      Christian Graus
      wrote on last edited by
      #5

      The editing aspect is sufficiently up in the air that I'm willing to hear any options. programmatic is all that I MUST have.

      Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

      L F F 4 Replies Last reply
      0
      • C Christian Graus

        The editing aspect is sufficiently up in the air that I'm willing to hear any options. programmatic is all that I MUST have.

        Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #6

        I had thought PDFSharp[^]gave you this ability - but it doesn't have the ability to render PDF - so I'm not certain if it will let you load an existing PDF and modify it. I have it installed on another PC I don't have access to at the moment, or I'd check it out. iTextSharp[^] has a similar ability, and does (apparently) have the ability to load a PDF, to which you can then make changes (programmatically) and save as PDF - but again, it doesn't render.

        ___________________________________________ .\\axxx (That's an 'M')

        R L 2 Replies Last reply
        0
        • C Christian Graus

          The editing aspect is sufficiently up in the air that I'm willing to hear any options. programmatic is all that I MUST have.

          Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #7

          I also believe Quick PDF Library allows you to do exactly what you want (rendering and all)[^] - but that's because I found it while searching for the home page of itextSharp - not through personal experience. It sounds like $250 well invested... I found this example...

          using System;
          using System.IO;
          using System.Drawing;
          using System.Windows.Forms;
          using QuickPDFAX0714;

          namespace WindowsFormsApplication1
          {
          public partial class Form1 : Form
          {
          private string LicenseKey = " your key here ";
          private string OriginalFileName = "D:\\QuickPDFLibrary\\hello1.pdf";
          private string NewFileName = "D:\\QuickPDFLibrary\\hello2.pdf";

              public Form1()
              {
                  InitializeComponent();
              }
          
              private void Form1\_Load(object sender, EventArgs e)
              {
                  ShowPDF(OriginalFileName);
              }
          
              private void ShowPDF(string fileName)
              {
                  PDFLibrary qp = new PDFLibrary();
                  qp.UnlockKey(LicenseKey);
                  qp.LoadFromFile(fileName);
          
                  // Fit width of PDF to width of picture box
                  int dpi = Convert.ToInt32((pictureBox1.Width \* 72) / qp.PageWidth());
                  byte\[\] bmpData = (byte\[\])qp.RenderPageToVariant(dpi, 1, 0);
          
                  MemoryStream ms = new MemoryStream(bmpData);
                  Bitmap bmp = new Bitmap(ms);
                  pictureBox1.Image = bmp;
          
                  ms.Dispose();
              }
          
              private void pictureBox1\_MouseClick(object sender, MouseEventArgs e)
              {
                  PDFLibrary qp = new PDFLibrary();
                  qp.UnlockKey(LicenseKey);
                  qp.LoadFromFile(OriginalFileName);
          
                  // Calculate co-ordinates, width of PDF fitted to width of PictureBox
                  double xpos = ((double)e.X / (double)pictureBox1.Width) \* qp.PageWidth();
                  double ypos = qp.PageHeight() - ((double)e.Y / (double)pictureBox1.Width) \* qp.PageWidth();
          
                  qp.SetTextSize(24);
                  qp.SetTextColor(1, 0, 0);
                  qp.DrawText(xpos, ypos, "A");
          
                  qp.SaveToFile(NewFileName);
                  ShowPDF(NewFileName);
              }
          
          }
          

          }

          ___________________________________________ .\\axxx (That's an 'M')

          A J 2 Replies Last reply
          0
          • L Lost User

            I also believe Quick PDF Library allows you to do exactly what you want (rendering and all)[^] - but that's because I found it while searching for the home page of itextSharp - not through personal experience. It sounds like $250 well invested... I found this example...

            using System;
            using System.IO;
            using System.Drawing;
            using System.Windows.Forms;
            using QuickPDFAX0714;

            namespace WindowsFormsApplication1
            {
            public partial class Form1 : Form
            {
            private string LicenseKey = " your key here ";
            private string OriginalFileName = "D:\\QuickPDFLibrary\\hello1.pdf";
            private string NewFileName = "D:\\QuickPDFLibrary\\hello2.pdf";

                public Form1()
                {
                    InitializeComponent();
                }
            
                private void Form1\_Load(object sender, EventArgs e)
                {
                    ShowPDF(OriginalFileName);
                }
            
                private void ShowPDF(string fileName)
                {
                    PDFLibrary qp = new PDFLibrary();
                    qp.UnlockKey(LicenseKey);
                    qp.LoadFromFile(fileName);
            
                    // Fit width of PDF to width of picture box
                    int dpi = Convert.ToInt32((pictureBox1.Width \* 72) / qp.PageWidth());
                    byte\[\] bmpData = (byte\[\])qp.RenderPageToVariant(dpi, 1, 0);
            
                    MemoryStream ms = new MemoryStream(bmpData);
                    Bitmap bmp = new Bitmap(ms);
                    pictureBox1.Image = bmp;
            
                    ms.Dispose();
                }
            
                private void pictureBox1\_MouseClick(object sender, MouseEventArgs e)
                {
                    PDFLibrary qp = new PDFLibrary();
                    qp.UnlockKey(LicenseKey);
                    qp.LoadFromFile(OriginalFileName);
            
                    // Calculate co-ordinates, width of PDF fitted to width of PictureBox
                    double xpos = ((double)e.X / (double)pictureBox1.Width) \* qp.PageWidth();
                    double ypos = qp.PageHeight() - ((double)e.Y / (double)pictureBox1.Width) \* qp.PageWidth();
            
                    qp.SetTextSize(24);
                    qp.SetTextColor(1, 0, 0);
                    qp.DrawText(xpos, ypos, "A");
            
                    qp.SaveToFile(NewFileName);
                    ShowPDF(NewFileName);
                }
            
            }
            

            }

            ___________________________________________ .\\axxx (That's an 'M')

            A Offline
            A Offline
            Abhinav S
            wrote on last edited by
            #8

            Thats the first time I've seen so much code in the lounge :) .

            There's nothing left in my right brain and nothing right in my left brain.

            1 Reply Last reply
            0
            • C Christian Graus

              The editing aspect is sufficiently up in the air that I'm willing to hear any options. programmatic is all that I MUST have.

              Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

              F Offline
              F Offline
              FEQ
              wrote on last edited by
              #9

              You may find you need to combine two products to get the functionality you require - rendering and editing of PDF are chalk and cheese (and lots of work). If you are using Java, JPedal[^]has excellent rendering and extraction functionality, and if you combine this with iText you get editing abilities. Both have LGPL versions

              1 Reply Last reply
              0
              • C Christian Graus

                The editing aspect is sufficiently up in the air that I'm willing to hear any options. programmatic is all that I MUST have.

                Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

                F Offline
                F Offline
                FilipVW
                wrote on last edited by
                #10

                iText is indeed a very complete tool if you want to do stuff like adding stamps, or splitting/merging files... Did you concider using a browser control to do the PDF rendering (use UNC path to reference your PDF) ?

                1 Reply Last reply
                0
                • C Christian Graus

                  I know this gets asked a lot. But, I'm going to ask it. I want a PDF library to do three things 1 - embed a PDF viewer for PDFs that are text and images 2 - print PDFs from within our program 3 - provide PDF editing functionality. The two possibilities are a - full PDF editing or b - adding a logo to the PDFs at the bottom If there's a huge price gap between a and b, we may choose b. Otherwise, a is preferable. The other criteria is that I want no per seat licensing. That's the kicker. We use Atalasoft imaging SDKs and they have been really good, and their support is top notch, so I'd prefer to stick with them, but their PDF stuff has a per seat, and I don't want the hassle.

                  Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

                  R Offline
                  R Offline
                  reshi999
                  wrote on last edited by
                  #11

                  Regarding point 1, I generally embed a web page viewer. Most other points can be addressed using PDFSharp, this is an open source library which allows you to merge, edit, split, create, etc PDF's in .NET ... Highly recommended! You would need to build a front end round it for editing though.

                  1 Reply Last reply
                  0
                  • L Lost User

                    I had thought PDFSharp[^]gave you this ability - but it doesn't have the ability to render PDF - so I'm not certain if it will let you load an existing PDF and modify it. I have it installed on another PC I don't have access to at the moment, or I'd check it out. iTextSharp[^] has a similar ability, and does (apparently) have the ability to load a PDF, to which you can then make changes (programmatically) and save as PDF - but again, it doesn't render.

                    ___________________________________________ .\\axxx (That's an 'M')

                    R Offline
                    R Offline
                    reshi999
                    wrote on last edited by
                    #12

                    Just to let you know, PDFSharp will let you open an existing PDF and then you can add text\images easily - tis fast to :)

                    1 Reply Last reply
                    0
                    • C Christian Graus

                      I know this gets asked a lot. But, I'm going to ask it. I want a PDF library to do three things 1 - embed a PDF viewer for PDFs that are text and images 2 - print PDFs from within our program 3 - provide PDF editing functionality. The two possibilities are a - full PDF editing or b - adding a logo to the PDFs at the bottom If there's a huge price gap between a and b, we may choose b. Otherwise, a is preferable. The other criteria is that I want no per seat licensing. That's the kicker. We use Atalasoft imaging SDKs and they have been really good, and their support is top notch, so I'd prefer to stick with them, but their PDF stuff has a per seat, and I don't want the hassle.

                      Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

                      P Offline
                      P Offline
                      pdf wizard
                      wrote on last edited by
                      #13

                      You can try PDFView4NET[^], per developer licensing with royalty free distribution. Sorin

                      1 Reply Last reply
                      0
                      • C Christian Graus

                        I know this gets asked a lot. But, I'm going to ask it. I want a PDF library to do three things 1 - embed a PDF viewer for PDFs that are text and images 2 - print PDFs from within our program 3 - provide PDF editing functionality. The two possibilities are a - full PDF editing or b - adding a logo to the PDFs at the bottom If there's a huge price gap between a and b, we may choose b. Otherwise, a is preferable. The other criteria is that I want no per seat licensing. That's the kicker. We use Atalasoft imaging SDKs and they have been really good, and their support is top notch, so I'd prefer to stick with them, but their PDF stuff has a per seat, and I don't want the hassle.

                        Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

                        U Offline
                        U Offline
                        Uwe Keim
                        wrote on last edited by
                        #14

                        Aspose.Pdf [^] and Aspose.Pdf.Kit[^]

                        • My personal 24/7 webcam • Zeta Test - Intuitive, competitive Test Management environment for Test Plans and Test Cases. Download now! • Zeta Producer Desktop CMS - Intuitive, very easy to use. Download now!

                        G M 2 Replies Last reply
                        0
                        • U Uwe Keim

                          Aspose.Pdf [^] and Aspose.Pdf.Kit[^]

                          • My personal 24/7 webcam • Zeta Test - Intuitive, competitive Test Management environment for Test Plans and Test Cases. Download now! • Zeta Producer Desktop CMS - Intuitive, very easy to use. Download now!

                          G Offline
                          G Offline
                          Gee 0
                          wrote on last edited by
                          #15

                          I would recommend Aspose.Pdf from first-hand experience. Their support forums are very useful and Aspose normally respond pretty quickly.

                          Gee

                          1 Reply Last reply
                          0
                          • L Lost User

                            I also believe Quick PDF Library allows you to do exactly what you want (rendering and all)[^] - but that's because I found it while searching for the home page of itextSharp - not through personal experience. It sounds like $250 well invested... I found this example...

                            using System;
                            using System.IO;
                            using System.Drawing;
                            using System.Windows.Forms;
                            using QuickPDFAX0714;

                            namespace WindowsFormsApplication1
                            {
                            public partial class Form1 : Form
                            {
                            private string LicenseKey = " your key here ";
                            private string OriginalFileName = "D:\\QuickPDFLibrary\\hello1.pdf";
                            private string NewFileName = "D:\\QuickPDFLibrary\\hello2.pdf";

                                public Form1()
                                {
                                    InitializeComponent();
                                }
                            
                                private void Form1\_Load(object sender, EventArgs e)
                                {
                                    ShowPDF(OriginalFileName);
                                }
                            
                                private void ShowPDF(string fileName)
                                {
                                    PDFLibrary qp = new PDFLibrary();
                                    qp.UnlockKey(LicenseKey);
                                    qp.LoadFromFile(fileName);
                            
                                    // Fit width of PDF to width of picture box
                                    int dpi = Convert.ToInt32((pictureBox1.Width \* 72) / qp.PageWidth());
                                    byte\[\] bmpData = (byte\[\])qp.RenderPageToVariant(dpi, 1, 0);
                            
                                    MemoryStream ms = new MemoryStream(bmpData);
                                    Bitmap bmp = new Bitmap(ms);
                                    pictureBox1.Image = bmp;
                            
                                    ms.Dispose();
                                }
                            
                                private void pictureBox1\_MouseClick(object sender, MouseEventArgs e)
                                {
                                    PDFLibrary qp = new PDFLibrary();
                                    qp.UnlockKey(LicenseKey);
                                    qp.LoadFromFile(OriginalFileName);
                            
                                    // Calculate co-ordinates, width of PDF fitted to width of PictureBox
                                    double xpos = ((double)e.X / (double)pictureBox1.Width) \* qp.PageWidth();
                                    double ypos = qp.PageHeight() - ((double)e.Y / (double)pictureBox1.Width) \* qp.PageWidth();
                            
                                    qp.SetTextSize(24);
                                    qp.SetTextColor(1, 0, 0);
                                    qp.DrawText(xpos, ypos, "A");
                            
                                    qp.SaveToFile(NewFileName);
                                    ShowPDF(NewFileName);
                                }
                            
                            }
                            

                            }

                            ___________________________________________ .\\axxx (That's an 'M')

                            J Offline
                            J Offline
                            Jorgen Sigvardsson
                            wrote on last edited by
                            #16

                            _Maxxx_ wrote:

                            It sounds like $250 well invested...

                            Or it might be $100000 in marketing well invested...

                            -- Kein Mitleid Für Die Mehrheit

                            1 Reply Last reply
                            0
                            • U Uwe Keim

                              Aspose.Pdf [^] and Aspose.Pdf.Kit[^]

                              • My personal 24/7 webcam • Zeta Test - Intuitive, competitive Test Management environment for Test Plans and Test Cases. Download now! • Zeta Producer Desktop CMS - Intuitive, very easy to use. Download now!

                              M Offline
                              M Offline
                              Michael A Cochran
                              wrote on last edited by
                              #17

                              I use Aspose, too. It is great for creating/changing PDFs and has rendering capabilities too. Rendering is always a little buggy particularly when you do conversions from other doctypes; e.g., MS-Word. But, in general, I couldn't find anything better - especially since I needed an OEM license.

                              1 Reply Last reply
                              0
                              • C Christian Graus

                                I know this gets asked a lot. But, I'm going to ask it. I want a PDF library to do three things 1 - embed a PDF viewer for PDFs that are text and images 2 - print PDFs from within our program 3 - provide PDF editing functionality. The two possibilities are a - full PDF editing or b - adding a logo to the PDFs at the bottom If there's a huge price gap between a and b, we may choose b. Otherwise, a is preferable. The other criteria is that I want no per seat licensing. That's the kicker. We use Atalasoft imaging SDKs and they have been really good, and their support is top notch, so I'd prefer to stick with them, but their PDF stuff has a per seat, and I don't want the hassle.

                                Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

                                M Offline
                                M Offline
                                MiddleTommy
                                wrote on last edited by
                                #18

                                GDPicture.Net is what I have been using for viewing(pdf and images) and it is pretty good. I am still looking for a good editing suite and will look into some of the recomendations here

                                1 Reply Last reply
                                0
                                • L Lost User

                                  I had thought PDFSharp[^]gave you this ability - but it doesn't have the ability to render PDF - so I'm not certain if it will let you load an existing PDF and modify it. I have it installed on another PC I don't have access to at the moment, or I'd check it out. iTextSharp[^] has a similar ability, and does (apparently) have the ability to load a PDF, to which you can then make changes (programmatically) and save as PDF - but again, it doesn't render.

                                  ___________________________________________ .\\axxx (That's an 'M')

                                  L Offline
                                  L Offline
                                  LenaBr
                                  wrote on last edited by
                                  #19

                                  We use PDFSharp to generate pdfs programatically because our printer insisted on getting pdfs and only by going through the printer are we allowed to mail anything. I don't allow the "client" to edit them because they need to reflect exactly what is in the data base for HR reasons. They can edit the templates before they generate the pdfs if they are really frantic - that way the image of the pdf in the data files is the same as the sent one.

                                  1 Reply Last reply
                                  0
                                  • C Christian Graus

                                    I know this gets asked a lot. But, I'm going to ask it. I want a PDF library to do three things 1 - embed a PDF viewer for PDFs that are text and images 2 - print PDFs from within our program 3 - provide PDF editing functionality. The two possibilities are a - full PDF editing or b - adding a logo to the PDFs at the bottom If there's a huge price gap between a and b, we may choose b. Otherwise, a is preferable. The other criteria is that I want no per seat licensing. That's the kicker. We use Atalasoft imaging SDKs and they have been really good, and their support is top notch, so I'd prefer to stick with them, but their PDF stuff has a per seat, and I don't want the hassle.

                                    Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

                                    S Offline
                                    S Offline
                                    scosta_FST
                                    wrote on last edited by
                                    #20

                                    I use iTextSharp to add logos or to merge different pdfs. It works well and fast. For the pdf viewer (in Windows Form) I use the standard WebBrowser control, but the Adobe Plugin must be installed, and I search something better. I'm investigating on a PDF rasterizer like: http://www.tallcomponents.com/products.aspx http://www.softwaresigloxxi.com/SuperPdf2ImageConverter.html Exists also an article in CodeProject: PDF Viewer Control Without Acrobat Reader Installed but it has a lot of dependencies.

                                    1 Reply Last reply
                                    0
                                    • C Christian Graus

                                      I know this gets asked a lot. But, I'm going to ask it. I want a PDF library to do three things 1 - embed a PDF viewer for PDFs that are text and images 2 - print PDFs from within our program 3 - provide PDF editing functionality. The two possibilities are a - full PDF editing or b - adding a logo to the PDFs at the bottom If there's a huge price gap between a and b, we may choose b. Otherwise, a is preferable. The other criteria is that I want no per seat licensing. That's the kicker. We use Atalasoft imaging SDKs and they have been really good, and their support is top notch, so I'd prefer to stick with them, but their PDF stuff has a per seat, and I don't want the hassle.

                                      Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

                                      R Offline
                                      R Offline
                                      RC Roeder
                                      wrote on last edited by
                                      #21

                                      I personally like ASPPDF from Persits Software for generation the stream it out to something like flash paper.

                                      1 Reply Last reply
                                      0
                                      • C Christian Graus

                                        I know this gets asked a lot. But, I'm going to ask it. I want a PDF library to do three things 1 - embed a PDF viewer for PDFs that are text and images 2 - print PDFs from within our program 3 - provide PDF editing functionality. The two possibilities are a - full PDF editing or b - adding a logo to the PDFs at the bottom If there's a huge price gap between a and b, we may choose b. Otherwise, a is preferable. The other criteria is that I want no per seat licensing. That's the kicker. We use Atalasoft imaging SDKs and they have been really good, and their support is top notch, so I'd prefer to stick with them, but their PDF stuff has a per seat, and I don't want the hassle.

                                        Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

                                        M Offline
                                        M Offline
                                        M Cota
                                        wrote on last edited by
                                        #22

                                        (Disclaimer I worked on this component at Software Siglo XXI) Although one unique solution would be optimal, you could use a mix of components, so you get the best of the bread in each category. For 1 & 2 you could use ImageZoom Viewer for .NET (and possibly Super Pdf2Image Converter). It's available for both 32 and 64 bit and is very cheap and effective. I'd recommend you to try it. You can take a look here: http://softwaresigloxxi.com/ImageZoom.html[^]

                                        1 Reply Last reply
                                        0
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • World
                                        • Users
                                        • Groups