# OfficeToPDF **Repository Path**: jaylosy/OfficeToPDF ## Basic Information - **Project Name**: OfficeToPDF - **Description**: A command line tool to convert Microsoft Office documents to PDFs - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2021-08-06 - **Last Updated**: 2024-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OfficeToPDF ## Giving back to the community [Cognidox](https://www.cognidox.com/) would not exist without the help of many open source projects. Perl, Apache and Solr are just a few of the excellent open source packages that help make CogniDox a leading document management system. So, to show our appreciation, we've released a couple of open source projects such as OfficeToPDF to help others. --- ## OfficeToPDF - what does it do? OfficeToPDF is a **command line utility** that converts Microsoft Office 2003, 2007, 2010, 2013 and 2016 documents from their native format into PDF using Office's in-built PDF export features. Most Office to PDF converter tools are intended as single-user desktop applications. OfficeToPDF is useful (and unique) if you want to automatically create PDF files on a server-wide basis and free individual users from an extra step of using the "Save as..." command on their Office files. These PDF files can then be stored and managed on a separate server. This can be useful if, for example, a department has a policy of only distributing PDF versions of documents to people outside the department. There are some technical requirements that must be met before you can use it:

* .NET Framework 4 * Office 2016, 2013, 2010 **or** Office 2007 If you are using Office 2007, you will also need: * Visual Studio 2010 Tools for Office Runtime [Download] * 2007 Microsoft Office Add-in: Microsoft Save as PDF or XPS [Download] It is distributed under the [**Apache 2.0**](https://github.com/cognidox/OfficeToPDF/blob/master/LICENSE.md) license. --- ## Supported File Types The following file types can be converted: * Word (.doc, .dot,  .docx, .dotx, .docm, .dotm, .rtf, .wpd) * Excel  (.xls, .xlsx, .xlsm, .xlsb, .xlt, .xltx, .xltm, .csv) * Powerpoint (.ppt, .pptx, .pptm, .pps, .ppsx, .ppsm, .pot, .potx, .potm) * Visio (.vsd, .vsdx, .vsdm, .svg) [Requires >= Visio 2013 for .svg, .vsdx and .vsdm support] * Publisher (.pub)
  • Outlook (.msg, .vcf, .ics) * Project (.mpp) [Requires Project >= 2010 for .mpp support] * OpenOffice (.odt, .odp, .ods) Conversion of Visio, Publisher and Project files require that the Visio, Publisher and Project applications are installed. These are not included in the Office standard package. --- ## Instructions In order to use the tool, download the officetopdf.exe file and, from the command line, run officetopdf.exe with two arguments - the source Office document and the destination PDF document. e.g. Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\test> officetopdf.exe somefile.docx somefile.pdf ### Command line switches The following optional switches can be used: | Switch | Description | | ------ | ----------- | | /bookmarks | create bookmarks in the PDF when they are supported by the Office application | | /readonly | attempts to open the source document in read-only mode | | /print | create high-quality PDFs optimised for print | | /hidden | attempts to minimise the Office application when converting | | /template _template_ | use a .dot, .dotx or .dotm template when converting with Word | | /markup | show document markup when creating PDFs with Word | | /pdfa | produce ISO 19005-1 (PDF/A) compliant PDFs | | /noquit | do not exit running Office applications | | /excludeprops | do not include properties in generated PDF | | /excludetags | do not include tags in generated PDF | | /password _password_ | provide a read password to open the file with | | /writepassword _password_ | provide a read/write password to open the file with | | /merge | when using a template, create a new file from the template and merge the text from the document to convert into the new file | | /excel_show_formulas | show formulas in Excel | | /excel_show_headings | shows column and row headings | | /excel_max_rows _rows_ | allow a limit on the number of rows to convert | | /excel_active_sheet | only convert the currently active worksheet in a spreadsheet | | /excel_worksheet _num_ | only convert worksheet _num_ in the workbook. First sheet is 1 | | /excel_auto_macros | run Auto_Open macros in Excel files before conversion | | /excel_no_link_update | do not update links when opening Excel files | | /excel_no_recalculate | skip automatic re-calculation of formulas in the workbook | | /word_header_dist _pts_ | the distance (in points) from the header to the top of the page | | /word_footer_dist _pts_ | the distance (in points) from the footer to the bottom of the page | | /word_field_quick_update | perform a fast update of fields in Word before conversion | | /word_fix_table_columns | update table column widths to match table heading column widths | | /word_keep_history | do not clear Word's recent files list | | /word_max_pages _pages_ | do not attempt conversion of a Word document if it has more than this number of _pages_ | | /word_no_field_update | do not update fields when creating the PDF | | /word_ref_fonts | when fonts are not available, a reference to the font is used in the generated PDF rather than a bitmapped version. The default is for a bitmap of the text to be used | | /fallback_printer | print the document to postscript printer for conversion when the main conversion routine fails. Requires Ghostscript to be installed | | /printer | print the document to postscript printer for conversion. Requires Ghostscript to be installed | | /pdf_clean_meta _type_ | allows for some meta-data to be removed from the generated PDF
    _type_ can be:
    • basic - removes author, keywords, creator and subject
    • full - removes all that basic removes and also the title
    | | /pdf_layout _layout_ | controls how the pages layout in Acrobat Reader
    _layout_ can be one of the following values:
    • onecol - show pages as a single scrolling column
    • single - show pages one at a time
    • twocolleft - show pages in two columns, with odd-numbered pages on the left
    • twocolright - show pages in two columns, with odd-numbered pages on the right
    • twopageleft - show pages two at a time, with odd-numbered pages on the left
    • twopageright - show pages two at a time, with odd-numbered pages on the right
    | | /pdf_page_mode _mode_ | controls how the PDF will open with Acrobat Reader
    _mode_ can be one of the following values:
    • full - the PDF will open in fullscreen mode
    • bookmarks - the PDF will open with the bookmarks visible
    • thumbs - the PDF will open with the thumbnail view visible
    • none - the PDF will open without the navigation bar visible
    | | /pdf_append | append the generated PDF to the end of the PDF destination | | /pdf_prepend | prepend the generated PDF to the start of the PDF destination | | /pdf_owner_pass _pass_ | set the owner password on the PDF. Needed to make modifications to the PDF | | /pdf_user_pass _pass_ | set the user password on the PDF. Needed to open the PDF | | /pdf_restrict_accessibility_extraction | Prevent all content extraction without the owner password | | /pdf_restrict_annotation | prevent annotations on the PDF without the owner password | | /pdf_restrict_assembly | prevent rotation, removal or insertion of pages without the owner password | | /pdf_restrict_extraction | prevent content extraction without the owner password | | /pdf_restrict_forms | prevent form entry without the owner password | | /pdf_restrict_full_quality | prevent full quality printing without the owner password | | /pdf_restrict_modify | prevent modification without the owner password | | /pdf_restrict_print | prevent printing without the owner password | | /verbose | print out messages as it runs | | /version | print out the version of OfficeToPDF and exit | | /working_dir _path_ | a path to copy the input file into temporarily when running the conversion | --- ## Error Codes The following error codes are returned by OfficeToPDF. Note that multiple errors are returned as a bitmask, so bitwise operations can test for multiple errors. ``` 0 - Success 1 - Failure 2 - Unknown Error 4 - File protected by password 8 - Invalid arguments 16 - Unable to open the source file 32 - Unsupported file format 64 - Source file not found 128 - Output directory not found 256 - The requested worksheet was not found 512 - Unable to use an empty worksheet 1024 - Unable to modify or open a protected PDF 2048 - Raised when there is a problem calling an Office application 4096 - There are no printers installed, so Office conversion can not proceed ``` --- ## About CogniDox CogniDox is a web-based, document management software tool aimed primarily at supporting high-tech product development. It enables better product lifecycle management and knowledge transfer from developers to partners, clients and customers. We provide highly-integrated support for system engineering workflows and the product lifecycle. Plug-ins are provided for CMS products, software SCM tools, EDA tools, CRM systems, CAD tools and Help Desk applications. Our "Xtranet" solution enables companies to add a secure self-service customer portal onto their public web sites. Based in Cambridge, UK since its formation in 2008, CogniDox has an impressive portfolio of blue chip users – see examples at https://www.cognidox.com/customers