<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-2621035740736424879</id><updated>2009-07-01T15:18:49.834-07:00</updated><title type="text">Solid Documents Developer Blog</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://developer.soliddocuments.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://developer.soliddocuments.com/" /><author><name>Solid Documents</name><uri>http://www.blogger.com/profile/08325812318762675510</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/SolidDocumentsDeveloperBlog" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry><id>tag:blogger.com,1999:blog-2621035740736424879.post-4193105383083352160</id><published>2009-07-01T12:56:00.000-07:00</published><updated>2009-07-01T15:18:49.845-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PDF/A" /><title type="text">Solid Framework now does PDF/A</title><content type="html">&lt;div&gt;Solid Documents provides a free&lt;a href="http://www.validatepdfa.com/"&gt; online PDF/A Validation&lt;/a&gt; service that uses our recently released&lt;a href="http://www.soliddocuments.com/products.htm?product=SolidFramework"&gt; Solid Framework v6 SDK&lt;/a&gt; behind the scenes. Solid Framework is now available through an &lt;a href="http://www.soliddocuments.com/register_site.htm?product=SolidFramework"&gt;enterprise licensing&lt;/a&gt; model. The Tools and Professional levels include &lt;a href="http://www.soliddocuments.com/features.htm?product=SolidFramework"&gt;PDF/A Validation and PDF to PDF/A conversion&lt;/a&gt; functionality.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The &lt;a href="http://www.soliddocuments.com/content.htm?id=253&amp;amp;product=SolidPDFTools"&gt;PDF/A Competence Center&lt;/a&gt; has a test suite for validating PDF/A Validators called the Isartor Test Suite.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Evaluate for Yourself&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;An easy way to test drive our PDF/A Validation technology is to download the &lt;a href="http://www.pdfa.org/doku.php?id=pdfa:en:isartor_test_suite:download"&gt;Isartor Test Suite&lt;/a&gt; (4MB ZIP) and then simply submit this ZIP file to our online PDF/A (ISO 19005 -1) validation service.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The online service will validate all 205 files in the ZIP and e-mail you an XML report, in &lt;a href="http://www.pdf-d.org/compliance-reports.htm"&gt;Open Compliance Report&lt;/a&gt; format, containing the PDF/A violations found in these file. All of the 205 files should exhibit errors, including the Isartor Test Suite Manual.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Download isartor-pdfa-2008-08-13.zip from &lt;a href="http://www.pdfa.org/doku.php?id=pdfa:en:isartor_test_suite:download"&gt;http://www.pdfa.org/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;2. Go to &lt;a href="http://www.validatepdfa.com/online.htm?step=1"&gt;http://www.validatepdfa.com/&lt;/a&gt; and step through the wizard.&lt;/div&gt;&lt;div&gt;3. Attach isartor-pdfa-2008-08-13.zip to the e-mail.&lt;/div&gt;&lt;div&gt;4. Sit back and wait for the response from our free validation service.&lt;/div&gt;&lt;div&gt;5. Examine the report to confirm that our PDF/A Validator is 100% compliant.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2621035740736424879-4193105383083352160?l=developer.soliddocuments.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SolidDocumentsDeveloperBlog/~4/U3Rd4jO5oQI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developer.soliddocuments.com/feeds/4193105383083352160/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2621035740736424879&amp;postID=4193105383083352160" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/4193105383083352160" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/4193105383083352160" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SolidDocumentsDeveloperBlog/~3/U3Rd4jO5oQI/solid-framework-now-does-pdfa.html" title="Solid Framework now does PDF/A" /><author><name>Michael Cartwright</name><uri>http://www.blogger.com/profile/11711246230345601338</uri><email>standards@soliddocuments.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="16857304340168926923" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://developer.soliddocuments.com/2009/07/solid-framework-now-does-pdfa.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-2621035740736424879.post-5606733437636147178</id><published>2008-09-15T12:37:00.000-07:00</published><updated>2008-09-15T13:29:05.953-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Conversion" /><title type="text">Convert PDF files to DOC Programmatically using ASP.NET</title><content type="html">One common topic in e-mails we receive is whether &lt;a href="http://www.soliddocuments.com/products.htm?product=SolidFramework"&gt;Solid Framework&lt;/a&gt; can be used in a web application or not.&lt;br /&gt;&lt;br /&gt;Solid Framework can be integrated into an ASP.NET project. A simple example how this might work is below:&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 511px; height: 304px;" src="http://www.soliddocuments.com/images/blog_developer_pdf_to_doc_programmatically_asp_dotnet_1.png"&gt;&lt;br /&gt;(screen shot from the sample project)&lt;br /&gt;&lt;br /&gt;This page provides the means for the end user to select a PDF file they wish to convert to DOC, select several conversion options and then type in their contact details so that the result may be e-mailed back to them. Clicking the &lt;a href="http://www.soliddocuments.com/info.htm?id=233&amp;product=SolidPDFTools&amp;subject=CreatePDFtoWord"&gt;Convert PDF to DOC&lt;/a&gt; button starts the upload and conversion process.&lt;br /&gt;&lt;br /&gt;You can download the sample &lt;a href="http://downloads.soliddocuments.com/solidframework/samples/pdf_to_doc_sample.zip"&gt;ASP.NET project&lt;/a&gt; [zip file] to see this in action for yourself. Those without Microsoft Visual Studio 2008 can use &lt;a href="http://www.microsoft.com/express/vwd/"&gt;Microsoft Visual Web Developer 2008&lt;/a&gt; for free to work with the sample project.&lt;br /&gt;&lt;br /&gt;Most of the project is implementation and doesn't require careful study. Two sections you'll likely want to look at in the C# code-behind file are below:&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 541px; height: 361px;" src="http://www.soliddocuments.com/images/blog_developer_pdf_to_doc_programmatically_asp_dotnet_2.png"&gt;&lt;br /&gt;This creates a new PdfToWordConverter object that you'll use to convert the PDF file to DOC. It checks the properties of several server controls on the page and sets the converter object's properties based on their values and then converts the file.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 585px; height: 495px;" src="http://www.soliddocuments.com/images/blog_developer_pdf_to_doc_programmatically_asp_dotnet_3.png"&gt;&lt;br /&gt;This code creates a new MailMessage, attached the converted DOC file, creates a new SmtpClient, attaches the message and sends it. Those wanting to modify this should look at the MSDN documentation for the &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.mail.aspx"&gt;System.Net.Mail namespace&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Configuration of the outgoing mail server settings (among other things) can be done in the &lt;a href="http://msdn.microsoft.com/en-us/library/aa306178.aspx"&gt;web.config&lt;/a&gt; file in the project.&lt;br /&gt;&lt;br /&gt;Assuming that you're using the default syntax highlighting in Microsoft Visual Web Developer just look for the friendly green comments in the web.config file for instructions. If you've configured the syntax highlighting to use an unfriendly color for comments we apologize in advance.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; Solid Framework is sold and licensed as a royalty-free SDK. Please review the &lt;a href="http://www.soliddocuments.com/license.htm?product=SolidFramework"&gt;Solid Framework licensing conditions&lt;/a&gt; and contact us if you need clarification.&lt;br /&gt;&lt;br /&gt;Have any thoughts that you'd like to share? Please &lt;a href="http://www.soliddocuments.com/contact.htm"&gt;contact us&lt;/a&gt; with your feedback.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2621035740736424879-5606733437636147178?l=developer.soliddocuments.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SolidDocumentsDeveloperBlog/~4/j0tZTQRLRkc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developer.soliddocuments.com/feeds/5606733437636147178/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2621035740736424879&amp;postID=5606733437636147178" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/5606733437636147178" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/5606733437636147178" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SolidDocumentsDeveloperBlog/~3/j0tZTQRLRkc/convert-pdf-files-to-doc.html" title="Convert PDF files to DOC Programmatically using ASP.NET" /><author><name>Solid Documents</name><uri>http://www.blogger.com/profile/08325812318762675510</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="05466526004639026689" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://developer.soliddocuments.com/2008/09/convert-pdf-files-to-doc.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-2621035740736424879.post-2488592641278645216</id><published>2008-08-12T12:00:00.000-07:00</published><updated>2008-08-12T13:33:38.174-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Scripting" /><category scheme="http://www.blogger.com/atom/ns#" term="Watched Folders" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Creation" /><title type="text">Using Watched Folders to Convert PDF files to PDF/A with Solid PDF Tools</title><content type="html">Our last blog post showed how to write a command line application that &lt;a href="http://developer.soliddocuments.com/2008/08/using-watched-folders-to-convert-pdf.html"&gt;watches a folder for PDF files&lt;/a&gt; and converts them to DOC. Due to the flexibility of scripting &lt;a href="http://www.soliddocuments.com/products.htm?product=SolidPDFTools"&gt;Solid PDF Tools Scan to PDF&lt;/a&gt; we can adapt this to other needs very easily.&lt;br /&gt;&lt;br /&gt;For example, say you want your watched folder to convert PDF files to &lt;a href="http://www.soliddocuments.com/info.htm?id=233&amp;product=SolidPDFTools&amp;subject=CreatePDFA1b"&gt;PDF/A-1b&lt;/a&gt;. Why would you want to &lt;a href="http://www.soliddocuments.com/info.htm?id=233&amp;product=SolidPDFTools&amp;subject=CreatePDFtoPDFA"&gt;convert PDF files to PDF/A&lt;/a&gt;? Because converting to and &lt;a href="http://www.soliddocuments.com/info.htm?id=233&amp;product=SolidPDFTools&amp;subject=CreateVerifyPDFA"&gt;validating PDF/A files&lt;/a&gt; will help to ensure that they are archivable and will display the same now as they will in 40 years.&lt;br /&gt;&lt;br /&gt;With a few minor changes to the script you now have a program that watches for PDF files and converts them to PDF/A:&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 770px; height: 106px;" src="http://www.soliddocuments.com/images/blog_developer_watched_pdf_pdfa_1.png"&gt;&lt;br /&gt;&lt;br /&gt;The rest of the changes in the &lt;a href="http://downloads.soliddocuments.com/solidframework/samples/pdfawatcher.zip"&gt;PDFAWatcher project&lt;/a&gt; [zip file] are just in implementation (e.g. checking to see if the folders that the original and converted files will be placed in exist and creating them if they do not).&lt;br /&gt;&lt;br /&gt;If you want to adapt this project for your own needs you may wish to look at our &lt;a href="http://downloads.soliddocuments.com/solidconverterpdf/solid_documents_script_reference.pdf"&gt;scripting reference&lt;/a&gt; and our first post on &lt;a href="http://developer.soliddocuments.com/2008/06/scripting-using-solid-documents.html"&gt;scripting using Solid Documents software&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2621035740736424879-2488592641278645216?l=developer.soliddocuments.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SolidDocumentsDeveloperBlog/~4/gehVNscmEI4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developer.soliddocuments.com/feeds/2488592641278645216/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2621035740736424879&amp;postID=2488592641278645216" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/2488592641278645216" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/2488592641278645216" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SolidDocumentsDeveloperBlog/~3/gehVNscmEI4/using-watched-folders-to-convert-pdf_12.html" title="Using Watched Folders to Convert PDF files to PDF/A with Solid PDF Tools" /><author><name>Solid Documents</name><uri>http://www.blogger.com/profile/08325812318762675510</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="05466526004639026689" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://developer.soliddocuments.com/2008/08/using-watched-folders-to-convert-pdf_12.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-2621035740736424879.post-613568866069205657</id><published>2008-08-11T09:20:00.000-07:00</published><updated>2008-08-12T13:21:32.415-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Scripting" /><category scheme="http://www.blogger.com/atom/ns#" term="Watched Folders" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Creation" /><title type="text">Using Watched Folders to Convert PDF files to DOC with Solid PDF Tools</title><content type="html">Using the scripting functionality of &lt;a href="http://www.soliddocuments.com/products.htm?product=SolidPDFTools"&gt;Solid PDF Tools Scan to PDF&lt;/a&gt; to watch a folder for PDF files and automatically convert them to DOC is fairly easy. &lt;br /&gt;&lt;br /&gt;Microsoft provides a .NET class in System.IO called &lt;a href="http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx"&gt;FileSystemWatcher&lt;/a&gt; which takes care of watching a folder. Any time a PDF file is moved or copied into the watched folder an event will be raised. Add an event handler to run a script with Solid PDF Tools and you're done (this is a simplification, but most of the other work is just implementation).&lt;br /&gt;&lt;br /&gt;We have created a &lt;a href="http://downloads.soliddocuments.com/solidframework/samples/solidwatcher.zip"&gt;C# project&lt;/a&gt; [solidwatcher.zip] which provides a good example of how to do this in a command line program. A basic outline of the project is below:&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 657px; height= 247px;" src="http://www.soliddocuments.com/images/blog_developer_solid_watcher_1.png"&gt;&lt;br /&gt;&lt;br /&gt;There are two main sections. The first is the Main() method that is run when you run the program (solidwatcher.exe). The second is the event handler that handles events that are raised when files are copied into the watched folder.&lt;br /&gt;&lt;br /&gt;There are about fives lines of code in the Main() method that you need to understand. The highlighted code below shows creating the FileSystemWatcher object and getting the path for the watched folder from the first argument on the command line.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 609px; height= 268px;" src="http://www.soliddocuments.com/images/blog_developer_solid_watcher_2.png"&gt;&lt;br /&gt;&lt;br /&gt;The highlighted code below allows us to filter based on file name (anything ending in .pdf in this case). The next highlighted section lets the end user running the program know that it is running and loops until they press the 'q' key and enter.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 511px; height= 291px;" src="http://www.soliddocuments.com/images/blog_developer_solid_watcher_3.png"&gt;&lt;br /&gt;&lt;br /&gt;Although the event handler in the project is over twenty lines of code, you really only need to understand three of them (highlighted below) to understand what is going on.&lt;br /&gt;&lt;br /&gt;First, we make the script. After that we create a new SolidScript object and run it's RunScript method with the script you just created.&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 647px; height= 264px;" src="http://www.soliddocuments.com/images/blog_developer_solid_watcher_4.png"&gt;&lt;br /&gt;&lt;br /&gt;If you're new to scripting Solid PDF Tools you may wish to look at our &lt;a href="http://downloads.soliddocuments.com/solidconverterpdf/solid_documents_script_reference.pdf"&gt;scripting reference&lt;/a&gt; and our first post on &lt;a href="http://developer.soliddocuments.com/2008/06/scripting-using-solid-documents.html"&gt;scripting using Solid Documents software&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2621035740736424879-613568866069205657?l=developer.soliddocuments.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SolidDocumentsDeveloperBlog/~4/UH5hEcEEz8I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developer.soliddocuments.com/feeds/613568866069205657/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2621035740736424879&amp;postID=613568866069205657" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/613568866069205657" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/613568866069205657" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SolidDocumentsDeveloperBlog/~3/UH5hEcEEz8I/using-watched-folders-to-convert-pdf.html" title="Using Watched Folders to Convert PDF files to DOC with Solid PDF Tools" /><author><name>Solid Documents</name><uri>http://www.blogger.com/profile/08325812318762675510</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="05466526004639026689" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://developer.soliddocuments.com/2008/08/using-watched-folders-to-convert-pdf.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-2621035740736424879.post-2643561259918349840</id><published>2008-07-29T13:45:00.000-07:00</published><updated>2008-07-30T13:43:01.945-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Scripting" /><category scheme="http://www.blogger.com/atom/ns#" term="Command Line" /><title type="text">Better PDF to DOC Conversion with Solid PDF Tools using Wildcards</title><content type="html">The &lt;a href="http://developer.soliddocuments.com/2008/07/command-line-pdf-to-doc-conversion.html"&gt;C# project&lt;/a&gt; that we wrote about last week is very informative, but it isn't perfect.&lt;br /&gt;&lt;br /&gt;One commonly used feature in command line applications are wildcards. For example, one might want to use the command below to convert all of the PDF files in the temp folder to DOC using &lt;a href="http://www.soliddocuments.com/products.htm?product=SolidPDFTools"&gt;Solid PDF Tools Scan to PDF&lt;/a&gt;:&lt;pre&gt;TestApp.exe /i "c:\temp\*.pdf"&lt;/pre&gt;Supporting this requires a few changes in our application (a foreach loop among other changes):&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 608px; height: 169px;" src="http://www.soliddocuments.com/images/blog_developer_better_pdf_to_doc_1.png"&gt;&lt;br /&gt;&lt;br /&gt;This provides us with all the values we need to run through the script below:&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 509px; height: 229px;" src="http://www.soliddocuments.com/images/blog_developer_better_pdf_to_doc_2.png"&gt;&lt;br /&gt;&lt;br /&gt;We've made a few other improvements to the project as well (download &lt;a href="http://downloads.soliddocuments.com/solidframework/samples/solidscriptcode_wildcards.zip"&gt;here&lt;/a&gt;). After you build it with Visual Studio or &lt;a href="http://www.microsoft.com/express/vcsharp/"&gt;Visual C# Express 2008&lt;/a&gt; you can run the resulting TestApp.exe with -h as an argument to see all the new options.&lt;br /&gt;&lt;br /&gt;If you need to change the sample script we recommend that you read our first post on &lt;a href="http://developer.soliddocuments.com/2008/06/scripting-using-solid-documents.html"&gt;scripting using Solid Document software&lt;/a&gt; and our &lt;a href="http://downloads.soliddocuments.com/solidconverterpdf/solid_documents_script_reference.pdf"&gt;scripting reference&lt;/a&gt; [pdf file].&lt;br /&gt;&lt;br /&gt;Any thoughts or ideas? How do you use this in your work and how would you like to use it? &lt;a href="http://www.soliddocuments.com/contact.htm"&gt;Contact us&lt;/a&gt; with any or all of your feedback.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2621035740736424879-2643561259918349840?l=developer.soliddocuments.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SolidDocumentsDeveloperBlog/~4/l-1YyytNxng" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developer.soliddocuments.com/feeds/2643561259918349840/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2621035740736424879&amp;postID=2643561259918349840" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/2643561259918349840" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/2643561259918349840" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SolidDocumentsDeveloperBlog/~3/l-1YyytNxng/better-pdf-to-doc-conversion-with-solid.html" title="Better PDF to DOC Conversion with Solid PDF Tools using Wildcards" /><author><name>Solid Documents</name><uri>http://www.blogger.com/profile/08325812318762675510</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="05466526004639026689" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://developer.soliddocuments.com/2008/07/better-pdf-to-doc-conversion-with-solid.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-2621035740736424879.post-2721860481534403598</id><published>2008-07-23T09:00:00.000-07:00</published><updated>2008-07-23T14:44:16.359-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Scripting" /><category scheme="http://www.blogger.com/atom/ns#" term="Command Line" /><title type="text">Command Line PDF to DOC Conversion Using Solid PDF Tools</title><content type="html">Earlier we talked about using a &lt;a href="http://developer.soliddocuments.com/2008/06/c-class-for-parsing-command-line.html"&gt;C# class library&lt;/a&gt; to allow you to use the scripting functionality of &lt;a href="http://www.soliddocuments.com/products.htm?product=SolidPDFTools"&gt;Solid PDF Tools Scan to PDF&lt;/a&gt; from the command line:&lt;br /&gt;&lt;br /&gt;&lt;img style="width: 595px; height: 370px;" src="http://www.soliddocuments.com/images/blog_developer_command_line_pdf_to_doc_1.png"&gt;&lt;br /&gt;&lt;br /&gt;We've written a &lt;a href="http://downloads.soliddocuments.com/solidframework/samples/solidscriptcode.zip"&gt;C# project&lt;/a&gt; [zip file] using some of the above code that demonstrates this. The compiled program from this project allows you to convert a PDF file to DOC and provides a few additional options (whether to log, provide a verbose output, etc.). Running it from the command line with -h as an argument will display all of the options you can use with it.&lt;br /&gt;&lt;br /&gt;If you're not using Visual Studio and wish to compile it yourself we'd recommend using &lt;a href="http://www.microsoft.com/express/vcsharp/"&gt;Visual C# Express 2008&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you need to change the sample script we recommend that you read our first post on &lt;a href="http://developer.soliddocuments.com/2008/06/scripting-using-solid-documents.html"&gt;scripting using Solid Document software&lt;/a&gt; to get a better idea of how to modify this to suite your needs. Our &lt;a href="http://downloads.soliddocuments.com/solidconverterpdf/solid_documents_script_reference.pdf"&gt;scripting reference&lt;/a&gt; [pdf file] is another great source for information on how to do this.&lt;br /&gt;&lt;br /&gt;Have any thoughts that you'd like to share? Please &lt;a href="http://www.soliddocuments.com/contact.htm"&gt;contact us&lt;/a&gt; with your feedback.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2621035740736424879-2721860481534403598?l=developer.soliddocuments.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SolidDocumentsDeveloperBlog/~4/oHY2dcjPQSE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developer.soliddocuments.com/feeds/2721860481534403598/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2621035740736424879&amp;postID=2721860481534403598" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/2721860481534403598" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/2721860481534403598" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SolidDocumentsDeveloperBlog/~3/oHY2dcjPQSE/command-line-pdf-to-doc-conversion.html" title="Command Line PDF to DOC Conversion Using Solid PDF Tools" /><author><name>Solid Documents</name><uri>http://www.blogger.com/profile/08325812318762675510</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="05466526004639026689" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://developer.soliddocuments.com/2008/07/command-line-pdf-to-doc-conversion.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-2621035740736424879.post-8479341101611974580</id><published>2008-06-25T12:41:00.000-07:00</published><updated>2008-06-25T15:15:35.467-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Scripting" /><title type="text">C# Class for Parsing Command Line Arguments</title><content type="html">The ability to automate &lt;a href="http://www.soliddocuments.com/products.htm?product=SolidPDFTools"&gt;Solid PDF Tools Scan to PDF&lt;/a&gt; via scripts is very powerful, but there may be times that running it directly from the command line is needed (We're sure a couple system administrators are nodding their heads right now).&lt;br /&gt;&lt;br /&gt;Users who need to automate repetitive tasks may want to take a look at this &lt;a href="http://www.codeproject.com/KB/recipes/command_line.aspx"&gt;C# class library&lt;/a&gt; posted at the &lt;a href="http://www.codeproject.com"&gt;Code Project&lt;/a&gt; (thanks to &lt;a href="http://www.codeproject.com/script/Membership/Profiles.aspx?mid=50981"&gt;Richard Lopes&lt;/a&gt; for writing the library). &lt;br /&gt;&lt;br /&gt;The post shows how to use the class library with C# to parse, store and retrieve the arguments from a command line .NET application. This, when combined with the various ways you can &lt;a href="http://downloads.soliddocuments.com/solidconverterpdf/solid_documents_script_reference.pdf"&gt;automate PDF conversions&lt;/a&gt; using Solid PDF Tools allows you to create custom tools to suit your needs.&lt;br /&gt;&lt;br /&gt;Have any great ideas or code that you'd like to share? Please &lt;a href="http://www.soliddocuments.com/contact.htm"&gt;contact us&lt;/a&gt; with your feedback.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2621035740736424879-8479341101611974580?l=developer.soliddocuments.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SolidDocumentsDeveloperBlog/~4/Kir2LUS_BTg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developer.soliddocuments.com/feeds/8479341101611974580/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2621035740736424879&amp;postID=8479341101611974580" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/8479341101611974580" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/8479341101611974580" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SolidDocumentsDeveloperBlog/~3/Kir2LUS_BTg/c-class-for-parsing-command-line.html" title="C# Class for Parsing Command Line Arguments" /><author><name>Solid Documents</name><uri>http://www.blogger.com/profile/08325812318762675510</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="05466526004639026689" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://developer.soliddocuments.com/2008/06/c-class-for-parsing-command-line.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-2621035740736424879.post-345726791678046889</id><published>2008-06-20T10:21:00.000-07:00</published><updated>2008-06-20T11:59:51.754-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Scripting" /><title type="text">Exporting PDF Files to Excel via Scripts using Solid PDF Tools</title><content type="html">&lt;a href="http://www.soliddocuments.com/products.htm?product=SolidPDFTools"&gt;Solid PDF Tools Scan to PDF&lt;/a&gt; has the ability to export PDF files to Excel. In doing so tables in the PDF file are extracted and placed in a new Excel file.&lt;br /&gt;&lt;br /&gt;This can be performed manually using our &lt;a href="http://www.soliddocuments.com/info.htm?id=233&amp;product=SolidPDFTools&amp;subject=CreateWYSIWYGExtraction"&gt;WYSIWYG PDF conversion&lt;/a&gt; interface.&lt;br /&gt;&lt;br /&gt;However, what about when you need to automate this process? We suggest using scripts to control Solid PDF Tools when this is the case.&lt;br /&gt;&lt;br /&gt;Below is an example script exporting a PDF file to Excel:&lt;pre&gt;&amp;lt;&amp;lt;/FileName (c:\\temp\\input.pdf) &amp;gt;&amp;gt; FileOpen&lt;br /&gt;&amp;lt;&amp;lt; /Pages (1,3-4,6)&lt;br /&gt;   /OutputFolder (c:\\temp\\)&lt;br /&gt;   /LaunchViewer false &amp;gt;&amp;gt; ConvertToExcel&lt;br /&gt;FileClose Exit&lt;/pre&gt;Not all of these options are required, but it does give you an idea of the flexibility that the tool offers.&lt;br /&gt;&lt;br /&gt;If you haven't done so already we recommend that you read our first post on &lt;a href="http://developer.soliddocuments.com/2008/06/scripting-using-solid-documents.html"&gt;scripting using Solid Document software&lt;/a&gt; to get a better idea of how to use this in practice. You can also check out our &lt;a href="http://downloads.soliddocuments.com/solidconverterpdf/solid_documents_script_reference.pdf"&gt;scripting reference&lt;/a&gt; [pdf file] for additional information.&lt;br /&gt;&lt;br /&gt;As always, we welcome you to &lt;a href="http://www.soliddocuments.com/contact.htm"&gt;contact us&lt;/a&gt; with any questions or ideas you have.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2621035740736424879-345726791678046889?l=developer.soliddocuments.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SolidDocumentsDeveloperBlog/~4/Q59tVkuu7Lc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developer.soliddocuments.com/feeds/345726791678046889/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2621035740736424879&amp;postID=345726791678046889" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/345726791678046889" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/345726791678046889" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SolidDocumentsDeveloperBlog/~3/Q59tVkuu7Lc/exporting-pdf-files-to-excel-via.html" title="Exporting PDF Files to Excel via Scripts using Solid PDF Tools" /><author><name>Solid Documents</name><uri>http://www.blogger.com/profile/08325812318762675510</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="05466526004639026689" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://developer.soliddocuments.com/2008/06/exporting-pdf-files-to-excel-via.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-2621035740736424879.post-224395473256685233</id><published>2008-06-18T13:09:00.001-07:00</published><updated>2008-06-18T15:24:10.663-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Scripting" /><title type="text">Scripting PDF/A Validation Using Solid PDF Tools</title><content type="html">&lt;a href="http://www.soliddocuments.com/features.htm?product=SolidPDFTools"&gt;Solid PDF Tools Scan to PDF&lt;/a&gt; is a very powerful product. Besides being able to &lt;a href="http://www.soliddocuments.com/info.htm?id=233&amp;product=SolidPDFTools&amp;subject=CreateVerifyPDFA"&gt;validate PDF/A-1b compliance&lt;/a&gt; by converting PDF files to PDF/A using a GUI, you can also script this behavior.&lt;br /&gt;&lt;br /&gt;Unlike most scripts that control our software, this one will be more complex:&lt;pre&gt;&amp;lt;&amp;lt;/FileName (c:\\temp\\document.pdf)&amp;gt;&amp;gt; FileOpen&lt;br /&gt;&amp;lt;&amp;lt;/FileName (c:\\archive\\document.pdf) /PdfA true&amp;gt;&amp;gt; FileSaveAs&lt;br /&gt;FileClose Exit&lt;/pre&gt;Were you expecting things to be more complex than this?  Don’t worry, you can tell your boss how complex this one was to do.  We won’t tell them otherwise. ;)&lt;br /&gt;&lt;br /&gt;Need more details? Please read more on &lt;a href="http://developer.soliddocuments.com/2008/06/scripting-using-solid-documents.html"&gt;scripting with Solid Documents software&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Have questions or suggestions on how to automate tasks with our software? &lt;a href="http://www.soliddocuments.com/contact.htm"&gt;Tell us&lt;/a&gt; how you use the scripting &lt;a href="http://www.soliddocuments.com/features.htm?product=SolidPDFTools"&gt;features of Solid Documents products&lt;/a&gt; to increase your productivity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2621035740736424879-224395473256685233?l=developer.soliddocuments.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SolidDocumentsDeveloperBlog/~4/YLeQ-VQ7GGE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developer.soliddocuments.com/feeds/224395473256685233/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2621035740736424879&amp;postID=224395473256685233" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/224395473256685233" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/224395473256685233" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SolidDocumentsDeveloperBlog/~3/YLeQ-VQ7GGE/scripting-pdfa-validation-using-solid.html" title="Scripting PDF/A Validation Using Solid PDF Tools" /><author><name>Solid Documents</name><uri>http://www.blogger.com/profile/08325812318762675510</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="05466526004639026689" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://developer.soliddocuments.com/2008/06/scripting-pdfa-validation-using-solid.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-2621035740736424879.post-9063441235505709210</id><published>2008-06-17T13:24:00.000-07:00</published><updated>2008-06-17T14:03:49.537-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Scripting" /><title type="text">Scripting Solid PDF Tools to Extract Images from PDF Files</title><content type="html">New to &lt;a href="http://developer.soliddocuments.com/2008/06/scripting-using-solid-documents.html"&gt;scripting with Solid Documents software&lt;/a&gt;? If so, please check out our first post on the subject. &lt;br /&gt;&lt;br /&gt;One of the new features in &lt;a href="http://www.soliddocuments.com/products.htm?product=SolidPDFTools"&gt;Solid PDF Tools Scan to PDF&lt;/a&gt; is the ability to script image extraction from PDF files. You can extract images as specific file types and select the location you wish the files to be extracted to.&lt;br /&gt;&lt;br /&gt;Doing this is fairly simple, as you can see in the script below:&lt;pre&gt;&amp;lt;&amp;lt;/FileName (c:\\temp\\input.pdf) &amp;gt;&amp;gt; FileOpen&lt;br /&gt;&lt;br /&gt;&amp;lt;&amp;lt;/OutputFolder (c:\\output\\) &lt;br /&gt;   /ColorImageFormat/Tiff &amp;gt;&amp;gt; ExtractImages&lt;br /&gt;&lt;br /&gt;&amp;lt;&amp;lt;/FileName (c:\\temp\\input.pdf) &amp;gt;&amp;gt; FileOpen&lt;br /&gt;&lt;br /&gt;&amp;lt;&amp;lt;/OutputFolder (c:\\output\\) &lt;br /&gt;   /ColorImageFormat/Jpeg &amp;gt;&amp;gt; ExtractImages&lt;br /&gt;FileClose Exit&lt;/pre&gt;The above example extracts each image in the PDF file twice; once as a TIFF file and once as a JPG file. After that it closes the PDF file and exits Solid PDF Tools.&lt;br /&gt;&lt;br /&gt;Have any comments or questions? Please &lt;a href="http://www.soliddocuments.com/contact.htm"&gt;contact us&lt;/a&gt; with your feedback.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2621035740736424879-9063441235505709210?l=developer.soliddocuments.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SolidDocumentsDeveloperBlog/~4/B1G2MW3aAxE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developer.soliddocuments.com/feeds/9063441235505709210/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2621035740736424879&amp;postID=9063441235505709210" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/9063441235505709210" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/9063441235505709210" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SolidDocumentsDeveloperBlog/~3/B1G2MW3aAxE/scripting-solid-pdf-tools-to-extract.html" title="Scripting Solid PDF Tools to Extract Images from PDF Files" /><author><name>Solid Documents</name><uri>http://www.blogger.com/profile/08325812318762675510</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="05466526004639026689" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://developer.soliddocuments.com/2008/06/scripting-solid-pdf-tools-to-extract.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-2621035740736424879.post-465839740185731450</id><published>2008-06-16T15:06:00.000-07:00</published><updated>2008-06-17T08:53:56.300-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Scripting" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Creation" /><title type="text">Scripting Solid PDF Tools to Create PDF Files.</title><content type="html">&lt;a href="http://www.soliddocuments.com/products.htm?product=SolidPDFTools"&gt;Solid PDF Tools Scan to PDF&lt;/a&gt; has many more features than any other PDF creation utility we have ever released. One of its new features is the ability to create PDF files via scripts. &lt;br /&gt;&lt;br /&gt;We've added this feature because many of our customers have very repetitive tasks (invoicing, for example) and they need tools that may be automated to help perform them.&lt;br /&gt;&lt;br /&gt;If you haven't read our first post on &lt;a href="http://developer.soliddocuments.com/2008/06/scripting-using-solid-documents.html"&gt;scripting with Solid Documents products&lt;/a&gt; we recommend that you do so now so that you can understand how to use the scripts below.&lt;br /&gt;&lt;br /&gt;This script shows how to create PDF files from an array of two Word DOCs:&lt;br /&gt;&lt;pre&gt;&amp;lt;&amp;lt;/Input [(c:\\temp\\input1.doc) (c:\\temp\\input2.doc)]&lt;br /&gt;   /Output [(c:\\temp\\output1.pdf) (c:\\temp\\output2.pdf)]&lt;br /&gt;   &amp;gt;&amp;gt; Create&lt;br /&gt;Exit&lt;br /&gt;&lt;/pre&gt;This isn't limited to just two files; you can do this for many more if needed:&lt;br /&gt;&lt;pre&gt;&amp;lt;&amp;lt;/Input [(c:\\temp\\input1.doc) &lt;br /&gt;   (c:\\temp\\input2.doc)&lt;br /&gt;   (c:\\temp\\input3.doc)&lt;br /&gt;   (c:\\temp\\input4.doc)&lt;br /&gt;   (c:\\temp\\input5.doc)&lt;br /&gt;   (c:\\temp\\input6.doc)&lt;br /&gt;   (c:\\temp\\input7.doc)]&lt;br /&gt;&lt;br /&gt;   /Output [(c:\\temp\\output1.pdf)&lt;br /&gt;   (c:\\temp\\output2.pdf)&lt;br /&gt;   (c:\\temp\\output3.pdf)&lt;br /&gt;   (c:\\temp\\output4.pdf)&lt;br /&gt;   (c:\\temp\\output5.pdf)&lt;br /&gt;   (c:\\temp\\output6.pdf)&lt;br /&gt;   (c:\\temp\\output7.pdf)]&lt;br /&gt;   &amp;gt;&amp;gt; Create&lt;br /&gt;Exit&lt;/pre&gt;Have any ideas or questions you'd like to share with us? Feel free to &lt;a href="http://www.soliddocuments.com/contact.htm"&gt;contact us&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2621035740736424879-465839740185731450?l=developer.soliddocuments.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SolidDocumentsDeveloperBlog/~4/Y76YtnQeXK4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developer.soliddocuments.com/feeds/465839740185731450/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2621035740736424879&amp;postID=465839740185731450" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/465839740185731450" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/465839740185731450" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SolidDocumentsDeveloperBlog/~3/Y76YtnQeXK4/scripting-solid-pdf-tools-to-create-pdf.html" title="Scripting Solid PDF Tools to Create PDF Files." /><author><name>Solid Documents</name><uri>http://www.blogger.com/profile/08325812318762675510</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="05466526004639026689" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://developer.soliddocuments.com/2008/06/scripting-solid-pdf-tools-to-create-pdf.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-2621035740736424879.post-3094831877596053829</id><published>2008-06-13T16:04:00.000-07:00</published><updated>2009-01-22T11:48:04.313-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Scripting" /><title type="text">Scripting using Solid Documents Products</title><content type="html">One of the major changes we've made to our latest products (&lt;a href="http://www.soliddocuments.com/products.htm?product=SolidConverterPDF"&gt;Solid Converter PDF to Word&lt;/a&gt;, &lt;a href="http://www.soliddocuments.com/products.htm?product=SolidPDFCreatorPlus"&gt;Solid PDF Creator Plus&lt;/a&gt; and &lt;a href="http://www.soliddocuments.com/products.htm?product=SolidPDFTools"&gt;Solid PDF Tools Scan to PDF&lt;/a&gt;) is the ability to script their behavior.&lt;br /&gt;&lt;br /&gt;For example, you can convert a PDF file to DOC using the script below with Solid PDF Tools:&lt;br /&gt;&lt;pre&gt;&amp;lt;&amp;lt;/FileName (c:\\temp\\input.pdf) &amp;gt;&amp;gt; FileOpen&lt;br /&gt;&amp;lt;&amp;lt;/WordDocumentType/Doc&lt;br /&gt;  /OutputFolder (c:\\temp\\)&lt;br /&gt;  /ReconstructionMode/Flowing&lt;br /&gt;  /LaunchViewer false&amp;gt;&amp;gt; ConvertToWord&lt;br /&gt;FileClose Exit&lt;/pre&gt;The script above would typically be placed in a plain text file ending in sdscript and run with the command below:&lt;br /&gt;&lt;pre&gt;SolidPDFTools.exe /i c:\PathToScript\script.sdscript /f script&lt;/pre&gt;&lt;img style="WIDTH: 695px; HEIGHT: 357px" src="http://www.soliddocuments.com/images/blog_scripting_using_solid_documents_1.png" /&gt;&lt;br /&gt;Further details on how use this command as well as others can be found in our &lt;a href="http://downloads.soliddocuments.com/solidconverterpdf/solid_documents_script_reference.pdf"&gt;scripting reference&lt;/a&gt; [pdf file].&lt;br /&gt;&lt;br /&gt;Have a question about how to script our software? Have an idea for a feature we haven't implemented yet? Feel free to &lt;a href="http://www.soliddocuments.com/contact.htm"&gt;contact us&lt;/a&gt; with any questions or comments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2621035740736424879-3094831877596053829?l=developer.soliddocuments.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SolidDocumentsDeveloperBlog/~4/C4Xor1RJoTk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developer.soliddocuments.com/feeds/3094831877596053829/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2621035740736424879&amp;postID=3094831877596053829" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/3094831877596053829" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/3094831877596053829" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SolidDocumentsDeveloperBlog/~3/C4Xor1RJoTk/scripting-using-solid-documents.html" title="Scripting using Solid Documents Products" /><author><name>Solid Documents</name><uri>http://www.blogger.com/profile/08325812318762675510</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="05466526004639026689" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://developer.soliddocuments.com/2008/06/scripting-using-solid-documents.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-2621035740736424879.post-4078139631830214893</id><published>2008-01-15T16:19:00.001-08:00</published><updated>2008-01-19T11:53:59.206-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Passwords" /><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="Encryption" /><category scheme="http://www.blogger.com/atom/ns#" term="Permissions" /><title type="text">Reading and Writing Secure PDF Files</title><content type="html">&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;One of the most common unattended batch PDF processes is to apply standardized access permissions and encryption to all documents. This may be done as a stand-alone utility that uses a watched folder on your network or integrated into your document workflow system.&lt;br /&gt;&lt;br /&gt;With a &lt;a href="http://www.soliddocuments.com/features.htm?product=SolidFramework#comparison"&gt;Solid Framework Free license&lt;/a&gt; you can use PdfDocument to open an encrypted PDF file, assuming that you know either the owner or user password. With a &lt;a href="http://www.soliddocuments.com/features.htm?product=SolidFramework#comparison"&gt;Solid Framework Tools license&lt;/a&gt; you can write changes back to the PDF which means you can add, remove or alter the security settings.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img title="Add or Remove PDF Security" alt="Add or Remove PDF Security" src="http://www.soliddocuments.com/images/blog_encryption.png" border="0" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;The PdfDocument class is all you need in order to master PDF security using &lt;a href="http://www.soliddocuments.com/products.htm?product=SolidFramework"&gt;Solid Framework&lt;/a&gt;. The steps involved are:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Open() - opening an existing PDF file (with or without a password)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;EncryptionAlgorithm - choosing an encryption algorithm&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;OwnerPassword and UserPassword - setting new passwords&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Permissions: setting user access permissions for the PDF file&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Save() or SaveAs() - saving the modified PDF file&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="font-family: verdana;" title="PdfDocument and Document classes" alt="PdfDocument and Document classes" src="http://www.soliddocuments.com/images/blog_pdf_document.png" border="0" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Open&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;As usual with these examples, please start by getting one of the samples like &lt;a href="http://www.soliddocuments.com/framework_samples.htm?product=SolidFramework"&gt;pdfcreator&lt;/a&gt; working. That will ensure that your license is working. Then we'll remove the code in the body of the Main method. Keep the License.Import(..) call.&lt;br /&gt;&lt;br /&gt;Make sure you have the following using statements:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="color: rgb(51, 102, 255);"&gt;using &lt;/span&gt;SolidFramework;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;using &lt;/span&gt;SolidFramework.Plumbing;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;using &lt;/span&gt;SolidFramework.Pdf;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;using &lt;/span&gt;SolidFramework.Pdf.Plumbing;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;For convenience, we can still use the InputPath and OutputPath from JobSettings. Edit JobSettings to make InputPath point to your existing PDF file. Make OutputPath point to where you want the resulting PDF file stored.&lt;br /&gt;&lt;br /&gt;Create a new PdfDocument as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;PdfDocument &lt;/span&gt;document = &lt;span style="color: rgb(51, 102, 255);"&gt;new &lt;/span&gt;PdfDocument();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Set the properties including the owner password if the file is protected. The user password would give you readonly access to the file. To modify it, you need to use the owner password.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;document.Path = &lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-family:courier new;" &gt;JobSettings&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;.Default.InputPath;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;document.OwnerPassword = "&lt;span style="color: rgb(153, 51, 0);"&gt;owner&lt;/span&gt;";&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And then load the file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;document.Open();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;EncryptionAlgorithm&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If the file was already secure then its EncryptionAlgorithm will be set. You have several choices but you cannot leave this property Undefine&lt;span style="font-family: verdana;"&gt;d if you wish to use password security.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;img title="PDF encryption algorithms" alt="PDF encryption algorithm" src="http://www.soliddocuments.com/images/blog_encryption_algorithm.png" border="0" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;RC440Bit is of legacy interest only. In the past there were performance issues and there are also &lt;a href="http://www.soliddocuments.com/export.htm"&gt;export compliance&lt;/a&gt; issues related to the more secure 128 bit algorithms. AES is a more recent addition to the PDF standard than RC4 and RC4 is still a proprietary algorithm owned by RSA. It is also the most commonly used algorithm.&lt;br /&gt;&lt;br /&gt;Make your choice and set it like this:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;document.EncryptionAlgorithm = &lt;span style="color: rgb(51, 204, 255);"&gt;EncryptionAlgorithm&lt;/span&gt;.RC4128Bit;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;OwnerPassword and UserPassword&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;There are two levels of access to a PDF file:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Owner - the author (owner) has this level of access to modify the document permissions allowed to users. The owner always has all permissions.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;User - the user's permissions are restricted by the owner.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;We'll set both passwords so that we can examine all the security features. It is possible to create PDF files with only the owner password. Obviously you will want to use much stronger passwords that include the odd number or special character. Remember that passwords are also case sensitive.&lt;br /&gt;&lt;br /&gt;document.OwnerPassword = "&lt;span style="color: rgb(153, 51, 0);"&gt;newowner&lt;/span&gt;";&lt;br /&gt;document.UserPassword = "&lt;span style="color: rgb(153, 51, 0);"&gt;user&lt;/span&gt;";&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Permissions&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="font-family: verdana;" title="PDF access permissions" alt="PDF access permissions" src="http://www.soliddocuments.com/images/blog_access_permissions.png" border="0" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;These values can be or'd to give any combination of permissions to your users like this:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;document.Permissions = &lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-family:courier new;" &gt;AccessPermissions&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;.Printing | &lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-family:courier new;" &gt;AccessPermissions&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;.AccessForDisabilities;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;If you set the UserPassword then users will need to enter this password when they open the PDF file. After that, the restrictions based on AccessPermissions apply.&lt;br /&gt;If you leave the UserPassword blank then users will not need to enter any password but the document will still be restricted by AccessPermissions.  Opening the document and entering the owner password will give full permissions to the owner.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Save or SaveAs&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;Now it is time to save your PDF document to a new file. Assuming your OutputPath is set to a good location, you just need two more lines of code.  Without ForceOverwrite there will be an exception thrown if the file already exists.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;document.OverwriteMode = &lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-family:courier new;" &gt;OverwriteMode&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;.ForceOverwrite;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;document.SaveAs(&lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-family:courier new;" &gt;JobSettings&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;.Default.OutputPath);&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span style="font-weight: bold;"&gt;Complete Sample Snippet&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;span style="color: rgb(0, 153, 0);"&gt;// create&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;span style="color: rgb(51, 204, 255);"&gt;PdfDocument &lt;/span&gt;document = &lt;span style="color: rgb(51, 102, 255);"&gt;new &lt;/span&gt;PdfDocument();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;// set&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;document.Path = &lt;span style="color: rgb(51, 204, 255);"&gt;JobSettings&lt;/span&gt;.Default.InputPath;&lt;br /&gt;document.OwnerPassword = "&lt;span style="color: rgb(153, 51, 0);"&gt;owner&lt;/span&gt;";&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;// call&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;document.Open();&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;// set&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;document.EncryptionAlgorithm = &lt;span style="color: rgb(51, 204, 255);"&gt;EncryptionAlgorithm&lt;/span&gt;.RC4128Bit;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;document.OwnerPassword = "&lt;span style="color: rgb(153, 51, 0);"&gt;newowner&lt;/span&gt;";&lt;br /&gt;document.UserPassword = "&lt;span style="color: rgb(153, 51, 0);"&gt;user&lt;/span&gt;";&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;document.Permissions = &lt;span style="color: rgb(51, 204, 255);"&gt;AccessPermissions&lt;/span&gt;.Printing | &lt;span style="color: rgb(51, 204, 255);"&gt;AccessPermissions&lt;/span&gt;.AccessForDisabilities;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;document.OverwriteMode = &lt;span style="color: rgb(51, 204, 255);"&gt;OverwriteMode&lt;/span&gt;.ForceOverwrite;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;// call&lt;/span&gt;&lt;br /&gt;document.SaveAs(&lt;span style="color: rgb(51, 204, 255);"&gt;JobSettings&lt;/span&gt;.Default.OutputPath);&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2621035740736424879-4078139631830214893?l=developer.soliddocuments.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SolidDocumentsDeveloperBlog/~4/KCArEV42kws" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developer.soliddocuments.com/feeds/4078139631830214893/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2621035740736424879&amp;postID=4078139631830214893" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/4078139631830214893" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/4078139631830214893" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SolidDocumentsDeveloperBlog/~3/KCArEV42kws/reading-and-writing-secure-pdf-files.html" title="Reading and Writing Secure PDF Files" /><author><name>Solid Documents</name><uri>http://www.blogger.com/profile/08325812318762675510</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="05466526004639026689" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://developer.soliddocuments.com/2008/01/reading-and-writing-secure-pdf-files.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-2621035740736424879.post-8058944788605304431</id><published>2007-12-27T15:48:00.000-08:00</published><updated>2007-12-28T15:02:36.344-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Document Properties" /><category scheme="http://www.blogger.com/atom/ns#" term="PDF Creation" /><title type="text">Better PDF Creation from Word</title><content type="html">&lt;span style=";font-family:verdana;font-size:130%;"  &gt;ShellPrintProvider vs WordPrintProvider&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;The starting point for many developers using &lt;a href="http://www.soliddocuments.com/products.htm?product=SolidFramework"&gt;Solid Framework&lt;/a&gt; is the simple &lt;a href="http://www.soliddocuments.com/framework_samples.htm?product=SolidFramework"&gt;pdfcreator&lt;/a&gt; sample. This tiny program demonstrates the shortest path to creating PDF files from just about any document on a Windows system. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;ShellPrintProvider&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Using ShellPrintProvider, three or four statements are all that is needed to create a PDF file:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;img title="ShellPrintProvider sample code" alt="ShellPrintProvider sample code" src="http://www.soliddocuments.com/images/blog_wordprintprovider_pdfcreator.png" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;The ShellPrintProvider uses Windows Explorer to launch the application associated with the file type you are trying to convert. This only works if the application in question supports the shell “print” verb. In addition, print providers can use any of the supported Solid Documents PDF creation printer drivers. This example requires the &lt;a href="http://www.soliddocuments.com/download.htm?product=SolidPDFCreator"&gt;Solid PDF Creator&lt;/a&gt; printer driver to be installed (but does not require a Solid PDF Creator license).&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;&lt;strong&gt;Advantages of ShellPrintProvider:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;ul&gt;&lt;li&gt;works with most Windows applications capable of printing&lt;/li&gt;&lt;li&gt;relies on Explorer Shell commands rather than proprietary APIs which may vary with different versions of applications&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Disadvantages of ShellPrintProvider&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;no control over the UI of the Windows application (even Word can get stuck on a simple print margins warning dialog)&lt;/li&gt;&lt;li&gt;limited to what can be printed (no access to original Document Properties for example)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;WordPrintProvider&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;WordPrintProvider is a custom PrintProvider designed to work directly with Microsoft Word via the Office API. Since Word is being driven through an API this gives Solid Framework much more control over the process. Failures can be communicated as exceptions to your program rather than UI warnings to the end user. In addition, Word can be used to examine the original document and provide support for features that would not be possible by simple printing such as the original Document Properties. To illustrate this, use File Properties in Word to add properties to your Word test document like this:&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;img title="Document Properties in Word" alt="Document Properties in Word" src="http://www.soliddocuments.com/images/blog_wordprintprovider_acrobat.png" border="0" /&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;Now make two simple changes to the original &lt;a href="http://www.soliddocuments.com/%20framework_samples.htm?product=SolidFramework"&gt;pdfcreator&lt;/a&gt; sample:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;replace the two instances of &lt;span style="font-family:courier new;"&gt;ShellPrintProvider&lt;/span&gt; with &lt;span style="font-family:courier new;"&gt;WordPrintProvider&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;add &lt;span style="font-family:courier new;"&gt;printer.PreserveProperties = true;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img title="WordPrintProvider sample code" alt="WordPrintProvider sample code" src="http://www.soliddocuments.com/images/blog_wordprintprovider_wordprintprovider.png" border="0" /&gt; &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;When you run the sample application and then examine File Properties for the resulting PDF file in Acrobat Reader you should see that your Document Properties from the original Word document have been preserved. You should also notice a lot less UI “noise” from Microsoft Word during the creation process. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img title="Document Properties in PDF" alt="Document Properties in PDF" src="http://www.soliddocuments.com/images/blog_wordprintprovider_word.png" border="0" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2621035740736424879-8058944788605304431?l=developer.soliddocuments.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/SolidDocumentsDeveloperBlog/~4/pS0BlHM7VSY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://developer.soliddocuments.com/feeds/8058944788605304431/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2621035740736424879&amp;postID=8058944788605304431" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/8058944788605304431" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2621035740736424879/posts/default/8058944788605304431" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/SolidDocumentsDeveloperBlog/~3/pS0BlHM7VSY/better-pdf-creation-from-word.html" title="Better PDF Creation from Word" /><author><name>Solid Documents</name><uri>http://www.blogger.com/profile/08325812318762675510</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="05466526004639026689" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://developer.soliddocuments.com/2007/12/better-pdf-creation-from-word.html</feedburner:origLink></entry></feed>
