コピーしたテキストから合字を削除することはできますか?


9

テキストに合字を含むPDFがいくつかあります(たとえば、ff単一の文字に結合されます)。

PDFからテキストをコピーするときにそれらを削除する簡単な方法はありますか?(つまり、貼り付けるときに、として貼り付けたいff)。

これらのPDFから多くのテキストをStack Overflowの回答にコピーしますが、合字はせいぜい不快なだけです(わかりました、私は本当にうるさいです:-P)。合字は、他の場所にコピーしたときにも正しく表示されません(たとえば、メモ帳にコピーすると、ブロックとして表示されます)。

PDFを変更できません。

Adobe Acrobat ReaderとFoxit Readerの両方を使用していますが、新しいPDFリーダーを試してみてください。

回答:


2

読者の証拠は、私がこれをテストしたときに合字を解読するようです。

ところで pdflatex文書の場合、これを前文で使用して、PDF文書に合字を表示し、個々の文字をコピーできます。

\ input {glyphtounicode.tex}
\ pdfgentounicode = 1%

1

可能性の1つは、お気に入りのテキストエディタを使用して、単純に置き換えることです。

別の方法は、を利用するスクリプトを書くことsedです。..しかし、それは* NIX-Systemsのみになります。


GnuWin32とWindowsでsedを実行しました。
mbq

@mbq:それにも含まれていますか?とても良い。どうも。
ボビー

1

Pythonでは、これは次のようになります:

import unicodedata
# \uFB00 is the ff ligature.
unicodedata.normalize('NFKD',u'\uFB00').encode('ascii','ignore')

これをpyPdfと組み合わせて、pdfファイルを読み取ることができます。


0

同様の質問にさらに深く答えました-PDFからコピーしたり、ドキュメントを印刷したりすると、テキスト「fi」が切り取られるのはなぜですか?

壊れた単語から元の単語へのマッピングがある場合、コピーしたテキストの「壊れた」単語を置き換えることができます。単語から合字を削除し、結果の単語が一意であるかどうかを確認して、このマッピングを生成するスクリプトを作成しました。英語の単語の私の辞書については、99.5%のすべての可能な壊れた言葉は交換可能であり、92.3パーセントリガチャー配列を含む単語の(fffiflffi、またはffl)を回収することができます。これら二つのパーセンテージの差が他の正当な単語(等から靭帯を除去することによって作成された正当な単語の驚くほど多数に起因するbutterfly --> butteryfluffs --> usmisfits --> mists)。

保証された交換可能な「壊れた」単語(および以前使用されていた単語)のCSVは次のとおりです。http : //www.filedropper.com/brokenligaturewordfixes


ファイルを提供しているのは素晴らしいことです。しかし現実的には、常識のある人は誰もが(特に新しいユーザーから)未知のファイルをダウンロードしません。ファイルのトラフィックが多くない場合は、個人的に受け入れないでください。あなたの努力が評価されないという意味ではありません。
fixer1234

うん分かりました。そのようなリンクを検証する簡単な方法、または単にファイルの種類を保証する方法があればいいのにと思います。ありがとう!
ヤンヴァンブルーゲン

0

私の方法は、PDFからメモ帳にコピーして貼り付け(書式設定を削除する)、メモ帳からMicrosoft Wordに貼り付けるだけでした。

Wordでは、すべての合字が他のフォーマットフォントで変更されます。

私はそれらのそれぞれに対して検索と置換を使用し(手動の行の中断の^ lや手動のページの中断の^ mなど、すべてオンラインで簡単に見つけることができます)、正しい形式に置き換えます。

4つまたは5つの手順で、すべての可能性を非常にすばやくカバーします。追加の段落中断も削除すると便利です(^ P)

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