質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.06%

  • PHP

    17237questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Python

    5115questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Python 3.x

    3709questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • PDF

    211questions

    PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

pdfの文字列変換(下線・取り消し線付き)

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 174

poko_poko

score 156

前提・実現したいこと

python、php等でpdfのテキスト変換を行う際、特に下線等の抽出方法についてご存知の方がいたら教えて頂けませんでしょうか。
可能であればhtmlのように<u>タグで囲む等、どこからどこまでが下線有りなのか分かる状態が良いです。

試したこと1

1.エクセルファイルで下線付きの文字列をPDF変換
2.python:pdfminerでテキスト抽出
結果:下線無し

試したこと2

1.エクセルファイルで下線付きの文字列をPDF変換
2.PDF上で文字選択してエクセルに貼り付け
結果:下線無し
→ 下線はPDF変換した時にどんな扱いなのか益々不明に。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

PDFはバイナリなので、HTMLに変換するのはかなり限られます。また、海外製のプログラムなどは日本語フォントの問題もあったりします。

C++やJavaなどいろいろインストールしなければならないので、セットアップが面倒ですが下記のpdf2htmlEXというツールがあります。Windowsのみでよければバイナリもあります。フォントによりますが、いちおう日本語フォントも使えます。
https://github.com/coolwanglu/pdf2htmlEX/wiki

HTMLを作ることが目的ではない場合、質問の<u>のような下線の認識はできません。
https://github.com/coolwanglu/pdf2htmlEX/wiki/Reflowable-Text#text-that-should-not-be-reflowed

Windowsバイナリの最新版であれば下記のように試すことができます。

cd ZIPファイル展開したディレクトリパス
pdf2htmlEX.exe PDFファイル

//高解像度
pdf2htmlEX.exe --fallback 1 PDFファイル

上記のようにすると、PDFファイル名で拡張子が.htmlのファイルが同じディレクトリに出来上がります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/10 10:01

    回答ありがとうございます。
    下線付きPDFを「ここは下線有り」とわかる状態でテキスト出力したかったのですが
    下線認識は色々とハードルが高そうですね。

    キャンセル

  • 2018/01/10 20:10

    検索もしてみたのですが、下線を下線として認識するのは非常に難しいらしいです。多分解像度の問題なのだと思います。高解像度処理してしまうとパフォーマンスが悪すぎますし。
    pdf2htmlEXでは、下線などの飾りはすべて透過PNG画像になって表示されているので、HTMLページとしてブラウザで見た時にはきちんと元のPDFと同じように表示されます。

    キャンセル

  • 2018/01/11 09:36

    PDF→テキストでの下線部判定は一旦諦めることにします。
    色々とありがとうございました。
    ベストアンサーとさせて頂きます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 91.06%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    pythonからエクセルファイル(xlsx)を読み込んで棒グラフを作成したい

    前提・実現したいこと 以下のようなEXCEL(xlsx)をpythonで読み込んで棒グラフを作成したいのですが、 良い案があればご教授をお願いします。 EXCEL例

  • 受付中

    VB.netでエクセルファイルを基にPDF出力時、空白ページが出来てしまう

    お世話になっております。 タイトルの通りなのですが、エクセルからPDF出力時空白ページが出来てしまいます。 どのような原因が考えられるでしょうか? エクセルの方で余白など弄っ

  • 解決済

    Python スクレイピング

    前提・実現したいこと ど素人です。スクレイピングにてあるサイトからBeautifulsoupを使用して指定の箇所を抜き出したいと思っております。 指定サイト:http://ra

  • 解決済

    エクセルファイルの差分チェックツール

    エクセルにてファイルに記載されている内容の差分を確認できるツールをご存知ないでしょうか。 希望は差分の箇所のセルやオブジェクトのみ色がつくようなイメージです。

  • 解決済

    エクセルファイルについて

    とあるエクセルについて質問です。 以下のエクセルファイルについてなんですが  https://kouseikyoku.mhlw.go.jp/tohoku/gyomu/gyomu

  • 解決済

    PYTHON writeでの文字化け解消方法

    前提・実現したいこと こんばんは。 いつもお世話になっております。 今回はpython3を使って、 読み込んだPDFからテキストを抜粋して、テキストファイルに書き出すという簡単なプ

  • 解決済

    Pythonを使ってシリアル通信を行っています

    現在下記のコードを実行しているのですが、残念ながら画面の出力には b’’ としか表示されません。 シリアル通信で送るデータも受け取るデータもどちらも16進数の数列なのですが、何か指

  • 解決済

    wxPythonのTextCtrlで入力された値が取得できない

    前提・実現したいこと テキストボックスがあるウィンドウを表示させ、ウィンドウが閉じられたタイミングでテキストの内容を取得し、出力させたい (次段階としてホットキーでテキストを出力さ

同じタグがついた質問を見る

  • PHP

    17237questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Python

    5115questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Python 3.x

    3709questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

  • PDF

    211questions

    PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。