Adobe不要！オープンソースのStirling PDFでPDF編集を極める

本記事は、以下のブログで公開した記事に編集、加筆をしたものです。

https://tech-nomad.org/stirling-pdf/

PDFファイルを画像やWord、スライドに変換したいとき、Adobeの無料版では機能が制限されていて困った経験はありませんか？そんな時に頼りになるのが、オープンソースのPDF編集ソフト「Stirling PDF」です。本記事では、Stirling PDFの特徴と導入方法を詳しく解説します。
# Stirling PDFとは？
Stirling PDFはさまざまなPDF操作を可能にするソフトウェアで、英国のAnthony Stirlingという方が手がけたオープンソースアプリです。日本語対応もしています。
出来ることを挙げだすと限りがないので、以下にツールのスクリーンショットを添付しておきます。これが全て使えて無料とは。。。凄まじいですね。個人的にはOCRがどこまで正確に動くのかが気になります。

![stirling-pdf-tools.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/695422/594a0fd6-841a-e5ac-159a-b997dfcd01c6.png)

## 必要なもの
Stirling PDFを利用する場合Dockerを使ってインストールするのが一番簡単です。Dockerをまだインストールしていない場合は、公式サイトからインストールしてください。

https://docs.docker.com/desktop/setup/install/mac-install/

https://docs.docker.com/desktop/setup/install/windows-install/

https://docs.docker.com/engine/install/ubuntu/

# Stirling PDFの導入手順

## 1. 作業フォルダの作成
まず、作業用のフォルダを作成します。以下のコマンドをターミナルで実行してください。

```bash
mkdir stirlingPdf
cd stirlingPdf/
touch docker-compose.yml
```

## 2. docker-compose.ymlの設定
次に、お好みのテキストエディタを使ってdocker-compose.ymlを開き、以下のコードをコピーして、貼り付けます。
ポート番号は必要に応じて変更してください。自分の場合他のアプリケーションでポート８０８０番を使用していたため、ポート８０８１番をコンテナの８０８０番に繋げるようにしています。

```bash
services:
  stirling-pdf:
    image: frooodle/s-pdf:latest-fat
    container_name: s-pdf
    ports:
      - '8081:8080' # 左側がホストマシンのポート、右側がコンテナのポート
    volumes:
      - ./StirlingPDF/trainingData:/usr/share/tessdata
      - ./StirlingPDF/extraConfigs:/configs
      - ./StirlingPDF/customFiles:/customFiles/
      - ./StirlingPDF/logs:/logs/
      - ./StirlingPDF/pipeline:/pipeline/
    environment:
      - DOCKER_ENABLE_SECURITY=false
      - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false
      - LANGS=en_GB
```

ファイルを保存して閉じたら、以下のコマンドでコンテナを起動します。今後コンテナを再起動といったときは以下のコマンドを走らせてください。


```bash
docker compose up -d
```
ブラウザで`http://localhost:<ポート番号>`にアクセスすると、Stirling PDFが使えるようになります。


## 3. カスタマイズオプション
ちなみに、見た目を自分好みにカスタマイズすることもできます。以下のUI_APP_NAME, UI_HOME_DESCRIPTION, UI_APP_NAVBAR_NAMEを変えることができます。composeファイルを編集する前に、docker compose downをするのを忘れないようにしましょう。

```bash
environment:
  - DOCKER_ENABLE_SECURITY=false
  - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false
  - LANGS=en_GB
  - UI_APP_NAME={アプリ名}
  - UI_HOME_DESCRIPTION={アプリの概要（ダッシュボードに表示）}
  - UI_APP_NAVBAR_NAME={Navバーに表示される名前}
```

今回は以下のように設定しました。

```bash
environment:
  - DOCKER_ENABLE_SECURITY=false
  - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false
  - LANGS=en_GB
  - UI_APP_NAME=Tech Nomad PDF APP
  - UI_HOME_DESCRIPTION=オールインワンのPDFアプリ
  - UI_APP_NAVBAR_NAME=Tech Nomad PDF
```

設定後、再度コンテナを起動すると、
![customized-s-pdf.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/695422/c1eb2084-e9be-5590-adff-699e8fc019e5.png)

## 4. ログイン機能の有効化
セキュリティを強化するためにログイン機能を有効化することも可能です。
以下のようにdocker-compose.ymlにDOCKER_ENABLE_SECURITYとSECURITY_ENABLE_LOGINをtrueに設定します。

```bash
environment:
  - DOCKER_ENABLE_SECURITY=true
  - SECURITY_ENABLE_LOGIN=true
  - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false
  - LANGS=en_GB
  - UI_APP_NAME=Tech Nomad PDF APP
  - UI_HOME_DESCRIPTION=オールインワンのPDFアプリ
  - UI_APP_NAVBAR_NAME=Tech Nomad PDF
```
コンテナを再起動します。

ブラウザで`http://localhost:<ポート番号>`にアクセスすると、ログイン画面が表示されます。
初期ユーザーネームとパスワードは以下の通りです:

ユーザーネーム: admin
パスワード: stirling
ログイン後、初期パスワード変更を求められるので、必ず変更してください。ユーザーネームはログイン後、右上の歯車マークからAccount Settingsで変更可能です。

# 個人的に好きな機能紹介
## PDFを画像に変換
![Screenshot 2024-12-20 at 22.15.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/695422/eb4e1cb2-689b-a5d1-91a3-477bfb6e2fba.png)

例えばpdfの書類を画像にしてwordに貼りたいときなどに使える機能です。
## PDFに番号をつける
![Screenshot 2024-12-20 at 22.38.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/695422/1cf4b972-b411-e058-d9a3-165402c5b27d.png)
こういった地味だけど、手作業ですると手間がかかることを簡単にできるのはいいですね。
さらに、番号をつける場所も選べます。
## PDFに鍵をかける
![Screenshot 2024-12-20 at 22.33.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/695422/0293634b-bd54-9645-b25b-5a08e2222ac2.png)
PDFにパスワードをつけることができます。オーナーパスワードとユーザーパスワードの二つをつけることができ、ユーザーができることに制限をかけるといった使い方ができます。
![Screenshot 2024-12-20 at 22.33.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/695422/89aa81b2-07e5-0ffc-09e9-46cfd4033e55.png)

また、別機能を使って、PDFにかけられているパスワードを外すこともできます。

# まとめ
Stirling PDFは、PDF編集を簡単に行える強力なツールです。
オープンソースでありながら多機能で、署名やOCRなど今回紹介できなかった機能も多数あります。Adobeの無料版に物足りなさを感じている方には特におすすめです。
Dockerを活用して、ぜひ試してみてください。

このガイドが、あなたのPDF編集をより快適にする一助となれば幸いです。