如何批量转换多个Word文档并将其保存为[originalfilename].pdf?
答案1
我会这样做:
- 下载CutePDF 作家
- 将作者设置为您的默认打印机(稍后您可以改回来)
- 将所有 .doc 文件放在同一文件夹
- 突出显示所有文件,右键单击,打印
唯一的缺点是你必须点击好的每个文件一次。
答案2
这可能将其推入 stackoverflow.com 领域,但您可以编写脚本 Word 2007 以打开和保存文档为 PDF。这需要 Office 2007 和“另存为 PDF”插件来自微软。
将其保存到文件SaveAsPDF.js
并使用以下命令从命令行运行它cscript.exe //nologo SaveAsPDF.js SomeFolder\MyDocToConvert.doc
:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var docPath = WScript.Arguments(0);
docPath = fso.GetAbsolutePathName(docPath);
var pdfPath = docPath.replace(/\.doc[^.]*$/, ".pdf");
var objWord = null;
try
{
WScript.Echo("Saving '" + docPath + "' as '" + pdfPath + "'...");
objWord = new ActiveXObject("Word.Application");
objWord.Visible = false;
var objDoc = objWord.Documents.Open(docPath);
var wdFormatPdf = 17;
objDoc.SaveAs(pdfPath, wdFormatPdf);
objDoc.Close();
WScript.Echo("Done.");
}
finally
{
if (objWord != null)
{
objWord.Quit();
}
}
答案3
好吧,cutepdf 和 pdf99 做得很好,但我发现PDF创建器更具吸引力,因为它的打印质量比其他两个更高,而且它还有更多的配置选项,而且它是开源的。
答案4
Bobbymcr 的答案非常有趣,并且与 Word 2010 配合得很好。不过,还有改进的空间。Bobbymcr 的原始命令行如下所示:
cscript.exe //nologo SaveAsPDF.js SomeFolder\MyDocToConvert.doc
如果您将 .js 文件与 Notepad++ 等编辑器关联,则此方法无效。在这种情况下,您还必须指定要使用的引擎,否则 cscript 会向您显示错误消息。这可以通过使用命令//E:jscript
行参数轻松实现:
cscript.exe //nologo //E:jscript SaveAsPDF.js SomeFolder\MyDocToConvert.doc