IllustratorでPDFを開くとテキストオブジェクトが壊れる


10

最近、いくつかのPDFファイルをに変換する必要SVGがありました。これを行うには、IllustratorでPDFを開き、SVGに保存しました。

問題は、IllustratorがPDFを開いたときに、多くの(すべてではない)テキストオブジェクトが異なるテキストオブジェクトに分割されることでした。たとえば、「policy」という単語は1つのテキストオブジェクトではなく、複数のテキストオブジェクト「po」、「l」、「icy」になります。それに韻や理由があるようには見えなかった。

これを防ぐにはどうすればよいですか?

回答:


11

通常、これは外観を維持するために起こります。

テキストが他のオブジェクトと相互作用する場合は、分割される可能性があります。PDFに埋め込まれたフォントがフォント全体ではなくサブセットである場合、AIで分割して、AIがサブセットから欠落している文字を挿入できるようにすることができます。

毎回作業し、同じバージョンのIllustratorに保存する以外に、これを防ぐためにできることはほとんどありません。また、PDF を出力用の別のファイルとして保存するだけで、編集はしません。


しかし、あなたがしてテキスト文字列を選択することで、Illustratorでそれを修正することができ、ダイレクト選択ツールまたは選択ツールEdit > Copyし、新しい点やエリアのテキストを開始しEdit > Paste。貼り付けたテキストは、コピーされた部分ではなく、1つの文字列になります。


5
聖なる猫、私はその解決策のためだけにこの答えを+10にしたいと思います。イラストレーターは私にこれのための年のために気が狂っています。
Lauren-Clear-Monica-Ipsum 2013年

1
@LaurenIpsumあなたはこれの下に答えを見ましたか?もっとすごい、本当に。
クリスK

8

新しく作成されたテキスト領域にプレーンテキストとして貼り付けるのではなく、既存のテキストの書式設定、配置、段落、およびその他のタイポグラフィをできる限り保持しながら、壊れたテキストをマージする場合は、John Wundesを試すことができます。驚くべきテキストフレームの結合スクリプト

それは正確にそれが缶に言うことをします:それはそれらがお互いに相対的な場所に基づいてインテリジェントな判断をすることによってテキストのスニペットを1つのテキストのスニペットにマージします:

  • 隣接するテキストスニペット(PDFのテキストの破線など)を単一の行にマージし、同じ行と見なす距離を制御できるようにします。
  • テキストの個別の行を1つの複数行のテキストオブジェクトにマージし、テキストを正しい順序(上から下)にして、壊れた段落を修正します。
  • マージされたすべてのテキストの元のフォーマットを復元するオプションがあります。これにはしばらく時間がかかる場合がありますが、それによって、所要時間のかなり正確な見積もりと、価値がない場合はスキップするオプションが役立ちます。

本当に美味しい!


エリアテキストではなくポイントテキストでのみ機能することに注意してください(PDFはほとんど常にポイントテキストであるため、ここでは問題ありません)。あなたが何らかの理由で地域のテキストをマージしようとしている場合は、あなたがそれを変換することができますケルソ地図作成法「メイク・ポイント・テキスト」スクリプト


また、AjarProductionsのConvert to Text Areaスクリプト(Kelso Cartographyにも同様のスクリプトがあります。上記のリンクを参照してください)と組み合わせて使用​​すると、壊れたテキストを自動フロー段落のある適切なテキスト領域に戻すことができます。

  1. 壊れたテキストスニペットを選択し、Join Text Framesスクリプトを実行します。
  2. テキストをコピーして、段落文字を検索/置換できるテキストエディターに貼り付けます(例:InDesign、コーダーのプレーンテキストエディター、またはWordのような(ささやき)...)
  3. 不要な改行の終わりを見つけて、置き換えます。保存したい別の段落がたくさんある場合は、1)InDesignを使用した方がよいでしょうか?2)あなたはこのようにそれを行うことができます:

    1. 検索/テキストのどこにも表示されない一部のテキストプレースホルダ(例えば2つの連続した段落のマーカーを置き換え\|\C.L.O.W.N.H.O.R.R.O.R/|/
    2. 段落マーカーを検索するか、何もないかスペースで置き換えます:時々バーストする1行の長いテキストに変換します \|\C.L.O.W.N.H.O.R.R.O.R/|/
    3. \|\C.L.O.W.N.H.O.R.R.O.R/|/新しい段落文字を検索/置換-1つ前の2つの段落を配置します。
  4. テキストをコピーして戻し、テキスト領域に変換スクリプトを実行します。これは、適切な場所に段落の切れ目がある1つのフローテキスト領域です。


残念ながら、アウトライン化されたテキストを修正する方法はありません。


あなたの答えは素晴らしいです。このQAに対する回答の最初の部分を引用して再投稿しました
Chris K
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.