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

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

新規登録して質問してみよう
ただいま回答率
85.31%
VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Q&A

2回答

304閲覧

PDFをPDFで印刷するコード

tomatojuice

総合スコア0

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

0グッド

0クリップ

投稿2025/04/30 01:20

実現したいこと

PDFの生データをPDFのベタデータに変換したいため、chromeでPDFとして印刷しています
自動で実行したいのですが、何かしらのスクリプトで実行できれば教えていただけると助かります。

発生している問題・分からないこと

コパイロットでvbsやPowershellで作成してみましたが、実現に至っていません

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

コパイロットでvbsやPowershellで作成してみましたが、実現に至っていません

補足

特になし

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TakaiY

2025/04/30 01:30 編集

「PDFの生データ」と「PDFのベタデータ」とは何ですか? 単にPDFファイルを印刷したいということででしょうか? > vbsやPowershellで作成してみました 動かなくてもいいので、そのコードを提示いただくことはできますか?
tomatojuice

2025/04/30 02:14

ありがとうございます。 具体的に言うと生データは中の文字が選択できるような状態で、ベタデータとは選択できなくなるデータです。自己流の表現でスミマセン。 おっしゃる通り、PDFで印刷したいということでした。 今PCが利用できないので、コードは後ほど提示させていただきます
TakaiY

2025/04/30 02:35 編集

ということは、印刷といっても、紙に出力するのでなくファイルに出力したいということでしょうか。 また、一般的にPDFはAdobeのAcrobatDCなどで印刷すると思うのですが、Chromeを使っているのはなぜでしょうか。
PyPyPython

2025/04/30 02:43

ベタデータ、というのはPDFにアウトラインをかけたい、ということでしょうか?
quickquip

2025/04/30 03:05

元のpdfが、文字列オブジェクトで構成されたpdfなのか、テキスト情報が付加された画像で構成されたpdfなのかで「具体的にすること」が変わると思います。前者なら「画像化してpdfにする」、後者なら「画像オブジェクトから紐付いているテキスト情報を削除する」になるはずです。入力のpdfにどのようなものを想定しているのかを書く方がよいでしょう。 あと「目的が何か」も必要そうです。上記の手段だと「適当なソフトでOCRをかけるだけ」で内容はテキストとして抽出できるでしょう。「適当なソフトでOCRをかけるというその一手間をかけさせたい」が目的ならそれでよいのですが、目的が別ならそれは書いた方がよいと思います。
tomatojuice

2025/04/30 04:00

ありがとうございます。目的についてですが、有料のAIOCRソフトを使ってPDFの部分部分を細かく読み取るRPAを作成しているのですが、私の表現するところの生データのPDFではデータがうまく読み込めません。印刷機能を使ってPDFのベタデータ(画像ということだと思います)にすると、読み込みが成功します。RPAでその作業も行っているのですが、この部分がこけやすくて困っています。 そこで、ここだけスクリプトで実現したいです。ソフトは何でも良いですが、コパイロットでvbsで作ろうとしたときAdobeではうまくいかなそうだったのでchromeにしただけです。(ちなみにRPAでもchromeで実行中)
tomatojuice

2025/04/30 04:11

説明不足でスミマセン。スクリプトにこだわっている理由は、RPAの一部に組み込みたいからです。実行するのは人ではなく、ロボットにやらせる部分です。
melian

2025/04/30 04:27

ImageMagick – Mastering Digital Image Alchemy https://imagemagick.org/ ImageMagick の convert コマンドを利用する場合は以下の様になります。 convert -density 300 input.pdf 'output-%03d.jpg' 各ページが JPEG 形式の画像ファイルに変換されて出力されます。(output-001.jpg, output-002.jpg, ...)
tomatojuice

2025/04/30 04:43

ありがとうございます 画像かというキーワードでコパイロットに質問を変えたところ、ゴーストスクリプトやimagemagikを勧めてくれました しかし、脆弱性もあるようなので、会社でのインストールは厳しそうです 良い方法が見つかったと思ったのですが… やはり難しいのでしょうか
melian

2025/04/30 05:06

それでは Poppler に含まれている pdftoppm コマンドはどうでしょうか。(Popplerにも脆弱性があるかもしれませんが) Poppler https://poppler.freedesktop.org/ Windows 版のバイナリは以下で配布されています。 Releases · oschwartz10612/poppler-windows https://github.com/oschwartz10612/poppler-windows/releases 実行方法は以下の通りです。 pdftoppm -r 300 -jpeg input.pdf output -r は解像度(DPI) を指定します。output-01.jpg, output-02.jpg, ... が出力されます。
guest

回答2

0

pdfを開いてpdfに保存するのであれば基本的には同じ(近い)ものになるので意味がないかと
画像ファイルに落としたいならghostscriptが標準的かと思います

追記

chromeが使えるならヘッドレスで処理すればいいじゃないか・・・と思ったのですがpdfファイルをレンダリングすることはできないようです。WEB上のpdfを、ローカルのpdfに保存したいということであればcurlなどクロールツールを検討ください

ghostscriptの脆弱性

ghostscriptが脆弱なため導入できないとの補足もありますが、多くのpdf・画像変換ツールはghostscriptを使っており、ghostscriptがダメなら多くの変換ツールは使えないということになり、選択肢は極少化すると思います。用意したサンドボックス上でghostscriptを実行すれば環境への負担も少ないかもしれません。

投稿2025/04/30 01:47

編集2025/05/01 03:41
yambejp

総合スコア117674

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomatojuice

2025/04/30 04:08

初めてこのサイトをスマホで利用するので回答に気づいてませんでした。スミマセン ゴーストスクリプト?確認してみます!
tomatojuice

2025/04/30 04:16

ありがとうございます。これはソフトの操作が必要になりますね?だとするとその部分をRPAで実行することになりそうです。今回はVBSなどの実行ファイルを実行するだけで実現できるものがあると助かる状況です。説明不足でスミマセン。
yambejp

2025/04/30 05:02

えーと、他の(外部)プログラムは使ってはいけないということであっていますか? ghostscript自体はコマンドとしてオプションを指定すればbatファイルから手作業なしで変換可能ですよ
guest

0

印刷機能を使ってPDFのベタデータ(画像ということだと思います)にすると、読み込みが成功します。

Windows環境ならば、Microsoft Print to PDF のプリンタドライバを使って「印刷」すれば、内容をイメージ(=ベタ)に変換したPDFを作成できるのでは?

投稿2025/04/30 04:06

編集2025/04/30 04:07
shiketa

総合スコア4114

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomatojuice

2025/04/30 04:09

今はそれをRPAでやっていますが、こけやすいのでスクリプト実行でき実現したいと思ってきます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問