MS Word 2007+-「.docx」ファイルをPDFに公開するときに、「URI」ではなく「PDFアクションタイプ」「起動」を使用してハイパーリンクをエンコードできますか?


9

短縮版:

  • 私はMS Word 2007の(またはそれ以降)エンコード相対ファイルのハイパーリンクを作成することができます任意の方法はあります(ハイパーリンクは、を指し例えば、別のPDFファイル)アクションタイプ使用してLaunchの代わりにURI(ページのAdobe PDF形式の653で指定された両方のタイプを、 PDFリファレンス、バージョン1.7、第6版-http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/pdf_reference_1-7.pdf)?または、すべての「間違った」URIエンコードされたファイルのハイパーリンクをLaunch同等のものに変更できるポストプロセッサを実装する唯一のソリューションですか?

精巧なバージョン:

2つのWord文書があります。doc1.docxおよびdoc2.docx(両方ともMS Word 2007でコンパイルされています)。

doc1.docx、私の私の第2の文書のPDF版へのハイパーリンクを置く(doc2.pdf) -今私が得ました:

<code> doc1.docx </ code>の<code> doc2.pdf </ code>ハイパーリンクのプロパティ

I [保存] doc1.docxの両方としてファイル.docx.pdf- PDF世代は、組み込みのPDF-出版社、以下のオプションを使用して、MS Word 2007でによって処理されます。

MS Word 2007 PDFパブリッシュプロパティ

これまでのところ素晴らしい-私は次のフォルダー構造を持っています:

/superuser
    - doc1.docx
    - doc1.pdf
    - doc2.docx
    - doc2.pdf

次にdoc1.pdf、Adobe Reader X(バージョン10.1.3)で開き、を指すハイパーリンクをクリックしますdoc2.pdf。リンクは相対リンクであるため、Adobe Reader XはターゲットPDFファイルを別のウィンドウまたはAdobe Reader Xの同じインスタンス(単にでOpen cross-document links in same window指定されたオプションに応じてEdit -> Preferences -> Documents)で開くだけであると推測/推測したでしょう。

しかし、そうではありません。代わりに、Adobe Reader Xがデフォルトのブラウザー(私の場合はWindows 7 x64上のGoogle Chrome v21 +)を使用してハイパーリンクを解決します-明確にするために- これが問題です。Adobe Reader X(およびその前任者のほとんど)が、ターゲットPDFをAdobe Reader Xの別のインスタンスで開いてハイパーリンクを解決するようにしたい(Open cross-document links in same windowオプションをオフにした場合)。私の(デフォルトの)PDFリーダーを使用して同じシナリオを繰り返す。Sumatra PDFは期待どおりに動作します-Sumatra PDFはターゲットPDFファイルを別のウィンドウで開き、コンテンツを表示しますdoc2.pdf。それでは、なぜスマトラPDFを使用しないのですか?私は大好きだったでしょう-しかし、問題は潜在的に多くのエンドユーザーがいるプロジェクトで作業していることであり、それらすべてがAdobe Reader X以外のPDFリーダーを使用しているとは想定できません-したがって、他に方法はありませんAdobe Reader Xで何が起こっているのかを理解すること。

そこに行くために、私は掘り始めました。

まず、Chromeのアドレスバーを見ると、Adobe Reader X doc2.pdffileURIスキームを使用して解決しようとしていることがわかります。-これはfile:///C:/superuser/doc2.pdf私には公平に思えます(同じURIをRunWindows 7 のダイアログに貼り付けると、デフォルトのPDFリーダー(Sumatra PDF )ファイルを開く)-しかし、なぜAdobe Reader XがデフォルトのブラウザーにPDFの処理を要求するのですか?

それに答えるべく掘り続けました。doc1.pdfnotepad ++で開くと、ハイパーリンクがURIアクションタイプを使用してエンコードされていることがわかりました(Adobe Portable Document Format、PDFリファレンス、バージョン1.7、第6版のp。653および662を参照-http ://wwwimages.adobe.com/www.adobe .com / content / dam / Adob​​e / en / devnet / pdf / pdfs / pdf_reference_1-7.pdf):

/Type/Action/S/URI/URI(doc2.pdf)

PDF参照(p。662)には、URIアクションタイプについて次のように記載されています。

ユニフォームリソース識別子(URI)は、インターネット上のリソース(通常はハイパーテキストリンクの宛先であるファイル)を識別する(解決する)文字列ですが、クエリやその他のエンティティに解決することもできます。

したがって、最初はAdobe Reader Xの大きなバグのように見えていたものが、公正な実装のように見え始めました。少なくとも、この時点で私はAdobe Reader Xが動作する理由を理解しました-その結果、新しい質問に答えます:doc2.pdf結果のPDFがAdobe Reader Xになるようにファイルのハイパーリンク(たとえばへのリンク)を適切にエンコードする方法リンク自体を処理しますか(デフォルトのブラウザにその仕事をするように依頼するのではなく)?

PDF仕様をもう一度調べてアクションタイプを見つけたと答えるために、Launchそのタイプについて、PDFリファレンスには次のように記載されています(p。659)。

起動アクションは、アプリケーションを起動するか、ドキュメントを開くか印刷します。

したがって、次の変更を加えることによって(notepad ++を使用して):

交換:

/Type/Action/S/URI/URI(doc2.pdf)

これとともに:

/Type/Action/S/Launch/F(doc2.pdf)

... Adob​​e Reader X doc2.pdfは、別のウィンドウまたはAdobe Reader Xの別のインスタンスでファイルを開くことによってリンクを解決します-ここでも、Open cross-document links in same windowオプションのチェックを外したと仮定します(フレイ!!)。

そして今、私がまだ解決できていない実際の/最後の質問に行きます-MS Word 2007(またはそれ以降)に、相対ファイルのハイパーリンク(たとえば、別のPDFファイルを指すハイパーリンク)をエンコードさせる方法はありますか?Launch代わりにアクションタイプURI(両方のタイプがAdobe Portable Document Format、PDFリファレンス、バージョン1.7、第6版の653ページで指定されている-http ://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en /devnet/pdf/pdfs/pdf_reference_1-7.pdf)?または、すべての「間違った」URIエンコードされたファイルのハイパーリンクをLaunch同等のものに変更できる、ある種のポストプロセッサアプリケーションを実装する唯一のソリューションですか?

これにより多くの "TLDR"が発生する可能性があることは承知していますが、ここにたどり着いた場合は、本当に関心をお寄せいただき、ありがとうございます。

ありがとう。


2
コメントが質問を「バンプ」するかどうかはわかりませんが、これは読む価値があります。
Tanner Faulkner

1
ご質問ありがとうございます。それ自体に多くの詳細と1つの可能な解決策が含まれています。それを行うためのより良い方法を見つけることができましたか?アクションの置き換えは問題なく動作します。
ファーリッシュ

1
@Farish残念ながらありません。これまでは、ポストプロセッサを使用することがソリューションでした。私がいつかもっと良い方法を見つけたら、ここに更新を投稿します:)
Lasse Christiansen

回答:


2

素晴らしい記事をありがとうございます。できます!最初は私ではありませんでしたが、Adobe Xで「保護モード」をオフにする必要があることを発見しました。Adobe9ではこの問題はまったくありません。業界は、セキュリティの名前。

したがって、Adobe Reader Xでは次のようにします。

  1. open cross docs ..がオフになっていることを確認しください。(あなたが言ったように)
  2. プロテクトモードをオフにします。編集»設定»一般
  3. 適切な16進エディター/Type/Action/S/URI/URI/Type/Action/S/Launch/F(使用して検索および置換する

私たちがやりたいことを簡単に解決する方法はありません。これは、煩わしい設定のないPDFリーダーのみを使用しているユーザーがフォルダ内を移動できるようにすることです。
しかし、すべてのあなたの仕事とそれが主題に投げかける光に再び感謝します。


「ポストプロセッサー」のアイデアを使って動作するのは嬉しいです。質問を投稿したので、まだより良い解決策が見つからないので、より良い解決策が見つかるまで後処理ステップを使い続けます。入力ありがとうございます:)
Lasse Christiansen

0

FWIW、ファイル名にスペースが含まれている場合、スマトラではリンクが機能しないと思います(リンクを作成するときにWordがスペースを削除しているように見えるため、名前を引用符で囲んでも役に立ちませんでした)。Wordの動作を変更できるとは思えないので...

回避策#1:より優れたPDFクリエーターを使用します。

回避策#2:通常どおりWordでPDFを作成し、次に16進エディターまたはhttp://stahlforce.com/dev/index.php?tool=repなどのコマンドラインユーティリティを使用して、/ Type /の必要なすべてのインスタンスを置き換えますアクション/ S / URI / URI(/タイプ/アクション/ S /起動/ F(


0

再 相対ハイパーリンクの質問。

MS Officeヘルプでは、「保存時にリンクを更新」(Officeボタン/ Wordオプションボタン/詳細/ Webオプションボタン)の設定により、ハイパーリンクが相対的に挿入されると記載されています。チェックされていない場合、それらは絶対的なものになります。しかし、この設定は私の試みに違いをもたらしませんでした。何が行われたかというと、ファイルが保存された時点でした。相対リンクを作成するには、リンクを挿入する前に、新しい空のファイルを開いて適切なフォルダーに保存します。[ハイパーリンクを挿入]ボックスで[既存のフォルダ]を選択します。ボックスに表示されているフォルダは、ツリーに保存されたばかりのフォルダです。つまり、相対的

絶対リンクを作成するために、新しい空のファイルを開き、保存せずにリンクを挿入します。挿入ボックスに、最上位の既存のフォルダーが表示されます。リンクするファイルにドリルダウンします。ボックスの下部に表示されるパスは、C:へのフルパスです。。。。。..(ドライブ文字を表示)つまり絶対。

2つのWordファイルのリンクにカーソルを合わせると、どちらの場合も完全な絶対パスが表示されます。ただし、親フォルダーが別のドライブにコピーされた場合、相対リンクは新しいドライブのフォルダーを開き、絶対リンクはC:ドライブフォルダーに戻ります。1つのファイルで両方の種類のリンクを作成する方法はまだわかりません。しかし、とにかくこれは必要ありません。上記の16進編集の変更を使用して、MS Wordファイルの両方をPDFに変換することができました。

再 あなたの「16進編集置換メソッド」

ある場合にはうまくいき、他の場合にはうまくいきませんでした。ターゲットファイル名にスペースが含まれていないことを確認する必要があることがわかりました。それらをアンダースコア記号に置き換えました。それから彼らは働いた。


0

私はこれを私自身が合理的に可能な限り解決しました。それは元の質問に直接関連しているので、私は私の最後の要約を渡します。

再 同じドキュメント内の絶対リンクと相対リンク

[ハイパーリンクを挿入]ボックスの下部に表示されるパスを確認します。最上位のフォルダーが選択したフォルダーの場合、リンクはそのフォルダーに対して相対的になります。それを完全にするには、「挿入」ボックスのツリー構造を使用して、ドライブ文字まで上方にドリルします。デフォルトは、ファイルが最初に「親」フォルダに保存されたときの相対リンク用です。

トランスポータブルインデックスリンクフォルダーを作成する手順

(サブフォルダー内のファイルにリンクする「インデックス」ドキュメントを使用)。

  1. 転送されるフォルダー(「親」フォルダー)になる新しいフォルダーを作成します。

  2. ファイルを含むサブフォルダを作成して親に配置します。

  3. 次に、「インデックスドキュメント」となるWord 2007ドキュメントを開きます。リンクを挿入する前に、このファイルを「親」に保存してください。

  4. 次に「ハイパーリンクを挿入」します。「ハイパーリンクを挿入」ボックスには、「親」、つまり相対から下にフォルダ/ファイルツリー構造が表示されます。絶対リンクを作成するには、ドライブ文字まで上方にドリルします。

  5. Wordファイルを保存します。これは「インデックスドキュメント」として機能します。

  6. 「インデックスドキュメント」をPDFに変換するには、Wordファイルを開いてPDFとして保存します。このバージョンのIndex docは、ブラウザーを介してターゲットファイルを開き、それらをダウンロードするか、ブラウザー内でPDFとして表示します。

  7. 'Index.pdf'ドキュメントでネイティブアプリケーションのリンクを開くには、前述の16進編集メソッドを使用してファイルを変更し、/ Type / Action / S / URI / URI(for / Type / Action / S / Launch / F (

  8. 3.重要な注意!.pdfファイルを変更する前に、すべてのフォルダとファイル名にスペースが含まれていないことを確認してください。スペースをアンダースコアまたはダッシュで置き換えます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.