タイトル通りです。cmdからwordでpdfファイルを開き、pdfをdocxとして保存したいです。word-pdf変換ツールは幾つか試したのですが、どれも期待通りの出力になりませんでした。下記コマンドでpdfをwordで開くところまでは出来たのですがこの後どのようなオプションで保存すればいいでしょうか
C:\PROGRA1\MICROS1\Office16\WINWORD.exe file.pdf
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
こういう場合でしたら、VSでcmdを通してPDFファイルを開いて、docxとして保存すれば良いでしょう、ならばSpire.PDFというコンポーネントを試してみてください、無料で利用できるので非常に便利です。関連したコードは以下のようになります:
using
1 2namespace ConvertPDFtoDoc 3{ 4 class Program 5 { 6 static void Main(string[] args) 7 { 8 PdfDocument doc = new PdfDocument(); 9 doc.LoadFromFile("test.pdf"); 10 doc.SaveToFile("PDFtoDoc.doc", FileFormat.DOC); 11 System.Diagnostics.Process.Start("PDFtoDoc.doc"); 12 } 13 } 14} 15
ご参考になれば幸いです
投稿2021/11/17 03:08
退会済みユーザー
総合スコア0
0
申し訳ありません、質問を読み違えておりました。
PDFを Word にする場合、
Word で PDF を開き、
名前を付けて Word形式で保存する
という操作が可能かと思います。
簡単なPDFしか試していないので、うまく動くかは不明ですが、
参考になれば幸いです。
wscript
1var args = WScript.arguments; 2var fso = new ActiveXObject("Scripting.FileSystemObject"); 3 4 5// PDFをWordで保存 6function pdf2doc(infile, outfile) { 7 var word = null; 8 try { 9 word = new ActiveXObject("Word.Application"); // Wordオブジェクト生成 10 var doc = null; 11 try { 12 doc = word.Documents.Open(infile, false, true); // 読み取り専用で開く 13 doc.SaveAs2(outfile); // Wordで保存 14 } catch (e) { 15 WScript.Echo("IN:" + infile + "\nOUT:" + outfile 16 + "\nError(" + (e.number & 0xFFFF) + "):" + e.message); 17 } finally { 18 if (doc != null) { 19 doc.Close(); 20 doc = null; 21 } 22 } 23 } catch (e) { 24 WScript.Echo("IN:" + infile + "\nOUT:" + outfile 25 + "\nError(" + (e.number & 0xFFFF) + "):" + e.message); 26 } finally { 27 if (word != null) { 28 word.Quit(); 29 word = null; 30 } 31 } 32} 33 34 35// 36// メイン処理 37// 38if (args.length > 0) { 39 for (var i = 0; i < args.length; i++) { 40 var file = args.item(i); 41 if (fso.FileExists(file)) { 42 var ext = fso.GetExtensionName(file).toLowerCase(); 43 if ( ext.indexOf("pdf") == 0 ) { 44 pdf2doc(file, file + ".docx"); 45 } else { 46 WScript.Echo("「" + file + "」の拡張子は対応していません。"); 47 } 48 } else { 49 WScript.Echo("「" + file + "」は存在しません。"); 50 } 51 } 52} else { 53 WScript.Echo("PDF ファイルをドラッグ&ドロップしてください。"); 54} 55 56 57// 終了 58WScript.Quit(0);
投稿2021/10/12 08:19
総合スコア161
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
Word のコマンドではないですが、WSH (Windows Script Host) を利用することで実現できます。
1.下記スクリプトを doc2pdf.js として保存。(ファイル名は任意)
wscript
1var args = WScript.arguments; 2var fso = new ActiveXObject("Scripting.FileSystemObject"); 3 4// WordをPDF出力 5function doc2pdf(infile, outfile) { 6 var word = null; 7 try { 8 word = new ActiveXObject("Word.Application"); // Wordオブジェクト生成 9 var doc = null; 10 try { 11 doc = word.Documents.Open(infile, false, true); // 読み取り専用で開く 12 doc.ExportAsFixedFormat(outfile, 17, false); // PDF出力 13 } catch (e) { 14 WScript.Echo("IN:" + infile + "\nOUT:" + outfile 15 + "\nError(" + (e.number & 0xFFFF) + "):" + e.message); 16 } finally { 17 if (doc != null) { 18 doc.Close(); 19 doc = null; 20 } 21 } 22 } catch (e) { 23 WScript.Echo("IN:" + infile + "\nOUT:" + outfile 24 + "\nError(" + (e.number & 0xFFFF) + "):" + e.message); 25 } finally { 26 if (word != null) { 27 word.Quit(); 28 word = null; 29 } 30 } 31} 32 33// 34// メイン処理 35// 36if (args.length > 0) { 37 for (var i = 0; i < args.length; i++) { 38 var file = args.item(i); 39 if (fso.FileExists(file)) { 40 var ext = fso.GetExtensionName(file).toLowerCase(); 41 if ( ext.indexOf("docx") == 0 ) { 42 doc2pdf(file, file + ".pdf"); 43 } else { 44 WScript.Echo("「" + file + "」の拡張子は対応していません。"); 45 } 46 } else { 47 WScript.Echo("「" + file + "」は存在しません。"); 48 } 49 } 50} else { 51 WScript.Echo("Word ファイルをドラッグ&ドロップしてください。"); 52} 53 54// 終了 55WScript.Quit(0);
2.スクリプトとして実行
cmd.exe
1wscript doc2pdf.js D:\PDF化したいファイル.docx
または
cmd.exe
1cscript doc2pdf.js D:\PDF化したいファイル.docx
拡張子の後ろに「.pdf」が自動的に付与され、
「D:\PDF化したいファイル.docx.pdf」として保存されます。
スクリプトを見ていただくとわかりますが、
doc2pdf.js ファイルの上に複数のwordファイルをドラック&ドロップしても動作します。
投稿2021/10/12 06:04
総合スコア161
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/12 07:07
2021/10/12 07:25
2021/10/12 07:41
2021/10/12 08:11
2021/10/12 08:55
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。