2 Star 2 Fork 1

zzia615 / OfficeToPDF

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

OfficeToPDF

Giving back to the community

Cognidox 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 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

Apache Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and 2. You must cause any modified files to carry prominent notices stating that You changed the files; and 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

简介

A command line tool to convert Microsoft Office documents to PDFs 展开 收起
C#
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C#
1
https://gitee.com/jaylosy/OfficeToPDF.git
git@gitee.com:jaylosy/OfficeToPDF.git
jaylosy
OfficeToPDF
OfficeToPDF
master

搜索帮助