ImageMagickでEXIFをチェック、削除する
参考 bcmathとimagickのインストール(CentOS7) - マイ忘備録
exif存在チェック
[root@xxx]# identify -verbose img3.jpg | grep exif
exifを削除して別のファイルを作成
[root@xxx]# convert -strip img1.jpg img3.jpg
exifを削除して上書き
[root@xxx]# mogrify -strip img3.jpg
指定したディレクトリ以下のjpgファイルでexifデータがあるものを一覧する
#!/bin/sh target_dir=`pwd` #target_dir="/var/www/html/wp/wp-content/uploads" find ${target_dir} -iname "*.jpg" | while read fn do identify -verbose ${fn} | grep -q exif if [ $? = 0 ]; then echo ${fn} fi done
- " /bin/sh^M: bad interpreter: No such file or directory"エラーのときはshファイルの行末コードチェック *1
- カレントディレクトリを変数に代入するには `pwd`
- findの-inameオプションは大文字小文字区別しない
- パイプの後の | while read xxx みたいな感じでループがかける
- grepコマンドのqオプションは標準出力しない。*2
- grepコマンドの戻り値はマッチした行があれば0なければ1 *3
- 直前のコマンドの結果は変数$?に入っている
ifとかループとかの書き方もググらないと書けないし、シェルスクリプトの基本みたいなの教科書みたいなので一回一通り勉強した方がいい気がした
はてな記法メモ
URLのリンク文字を指定
[https://hoge.com/hogehoge:title]→タイトル [https://hoge.com/hogehoge:title=参考]→リンク文字指定
脚注
((~))
はてな記法でソースコードを貼る
はじめてのショートコード(WordPress)
ワードプレスのショートコードというものをはじめて自作してみた。これぐらいなら超簡単すね。
編集するファイルの場所
編集するファイルはテーマのあるディレクトリ直下のfunctions.phpだ。
Cocoonテーマを利用している場合、編集するファイルの場所は以下。
<ワードプレスのディレクトリ>/wp-content/themes/cocoon-child-master/functions.php
親テーマのfunctions.phpに書くとテーマが更新されたときに消えてしまうので、子テーマの方のfunctions.phpに書くルールのようだ。
ソースコード
以下のWebページを参考にして
WordPressのショートコードを自作してみる | webOpixel
超簡単なショートコードを書いてみた。"こんにちわ"と表示して(文字列を返して)、あと"hello"という名前でショートコードを登録している。
functions.php
//以下に子テーマ用の関数を書く
function helloFunc() {
return "こんにちわ";
}
add_shortcode('hello', 'helloFunc');
投稿ページ
ワードプレスの投稿か固定ページで、新規記事を作成し、先ほど作ったショートコード[hello]を呼び出してみる。
練習ですよ
[hello]
保存してブラウザから見たところ。"こんにちわ"と表示されてるのが確認できる。
[PR] アンヘレスでBAND
Kindleの固定レイアウト書籍をPDF化してOCR処理
kindleの本で買った本で、固定レイアウトの本があるが、マジで使いにくい。小説ならまだしも、参考書で検索が使えないって、利用価値が半減
※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
わざわざ電子書籍で出すのに、なんで出版社の方で検索できるフォーマットで出してくれないんだろう・・・不便すぎる。
ググってみると、"Kindleの本をPDFとしてエクスポートしてOCR処理を加える"やり方があったのでやってみた。環境はVirtualBox上のWindows10で試した。
Kindle本をPDF出力
このサイトを参考に
キンドルでダウンロードした本をPDF化する | C#とMultiRowのプログラミング
以下のツールをダウンロード。CubePDFというのは使わなかった。
https://github.com/apprenticeharper/DeDRM_tools/releases
それぞれ最新版をダウンロード。Calibreをインストールして、DeDRM_toolsプラグインを追加。
Kindleの本を読み込んで、いざ開いてみようとすると・・・DRMがかかっていて書籍が開けないと。
Windowsは特に設定はいらないって書いてたが、キーの設定を見たら何も設定されてなかったので、キーを追加したら何とか読み込めた。
書籍を開き、印刷で保存先をPDFにして出力した。
OCR処理
手順的には、これの
スキャナ取込みの際に文字をテキストとして認識させる方法 (Acrobat XI/DC)
"B-2. 取り込んだ後に OCR を適用" の手順。
Acrobat DCで先ほどのPDFを開いた後、
ツール→スキャン補正から、OCR処理を行った。
ページ数が多いとけっこう時間がかかる(何時間とか)。
補正の後、名前をつけてファイルを保存する。元のファイルの2倍近くにサイズが膨らんだ。
これで書籍内の検索できて仕事が捗るはず。
追記 KFX形式の書籍
何冊か試した後、KFX形式?(.azwと.mdとかいうのに分かれてた?)で読めない形式の書籍があった。以下のWebページを参考に、昨年ダウンロードした古いKindle(1.2.3)を使って、renderer-test.exeを名前変更して使えなくするという方法で対処はできた(KFXでダウンロードしないようになるみたい)・・・
Dealing with Kindle for PC/Mac 1.19 and KFX in calibre - MobileRead Forums
ワードプレスのサイトヘルス
ワードプレスのサイトヘルスで指摘された改善ポイントに対処した。
(サイトヘルス 対処前)
停止中のプラグインを削除してください
使ってないHello Dollyは削除、WP Multibyte Patchは有効化にした。
停止中のテーマを削除してください
そういえば、使わなかったのに更新通知がうざかった。いらないのは削除。WordPress のデフォルトテーマ twentynineteenは削除したらいけないらしい。
PHPの更新をおすすめします
古いデータベースサーバー
PHPとデータベースをそれぞれバージョンアップした、PHP 7.2→7.3、MariaDB 5.5→10.3
PHPとMariaDBをバージョンアップしてみた - マイ忘備録
1つ以上の推奨モジュールが存在しません
bcmathとimagickをインストールした
bcmathとimagickのインストール(CentOS7) - マイ忘備録
HTTPSをサイトの一部でしか使用していません
設定→一般設定で、WordPress アドレス (URL)、サイトアドレス (URL)をhttps...に変更した
↓
(サイトヘルス 対処後)
家の大掃除を終えた時のようなすがすがしい気分
bcmathとimagickのインストール(CentOS7)
ワードプレスのサイトヘルスで、phpの推奨モジュールが入ってないというので、入れてみた。
* 警告 オプションのモジュール bcmath がインストールされていないか、無効化されています。
* 警告 オプションのモジュール imagick がインストールされていないか、無効化されています。
リンク先のドキュメントによると、bcmathは大きな数字を高速に扱うライブラリ、imagickは画像処理関連のライブラリらしい。
https://make.wordpress.org/hosting/handbook/handbook/server-environment/#php-extensions
PHP Extensions #
bcmath – Used to improve the performance of math calculations.
imagick – Provides better image quality for media uploads. See WP_Image_Editor is incoming! for details. Smarter image resizing (for smaller images) and PDF thumbnail
support, when Ghost Script is also available.
bcmathのインストール
これだと
違うバージョンの依存ライブラリを見にいってエラーになる、というか古いバージョンのbcmathをリポジトリからインストールしようとしてしまうので、
レポジトリを指定してインストール
[root@xxx ~]# yum --enablerepo=remi-php73 install php-bcmath
( 参考 バージョン違いによるエラー - Qiita )
imagickのインストール
imagickのインストールはちょっと手こずった。PCELというのをインストールしたり、php.iniに設定を記述したりと、やや面倒だった↓
最初、これだけでいいのかと思ったけど、動かない。たぶんこれはphp側の呼び出す機能だけなのかな。
[root@xxx ~]# yum install ImageMagick
[root@xxx ~]# yum install ImageMagick-devel
[root@xxx ~]# pecl install imagick
そして、/etc/php.ini に以下を追記 /etc/php.d/20_imagick.ini みたいなのを自動で配置してくれればいいのに、peclとかインストールする場合には手書きが必要なのかな?
extension=imagick.so
これでようやく完了。
アパッチを再起動
[root@xxx ~]# systemctl restart httpd
サイトヘルスの警告がようやく消えた
imagickのインストールは以下のサイトを参考にした。振り返ってみると、これが完結にまとまってた。
CentOSにImageMagickをインストールする - Qiita
うちの環境には、PCELが入ってなかったので、先にそのインストールが必要だった。
How to install PHP ImageMagick on CentOS 7 | LinuxHelp Tutorials
PHPでの画像処理【ImageMagick編】 | バシャログ。
[PR] フィリピンのディズニーランド誘致計画
PHPとMariaDBをバージョンアップしてみた
ワードプレスで利用している、PHPとMariaDBをバージョンしてみた。ちなみにOSはCentOS7.6。
PHP 7.2→7.3
MariaDB 5.5→10.3
ちなみに、以下の2つのサイトに書かれている手順をそのまま行っただけ。
きっかけ
ワードプレスの設定画面のツールにサイトヘルスというのがあって、見てみたら、PHPやMariaDBのバージョンが古いらしい。
データ移行とか面倒かなーと思ったけど、ググってみた感じ(トラブルがなければ)簡単そうだった。1~2年のうちにはいずれはやらなければいけないことなので、思い切ってやってみた。
サービスの停止
とりあえず、今回関連するサービスを停止した。
systemctl stop httpdsystemctl stop mariadb
データのバックアップ(念のため)
MariaDBのデータベースをフルバックアップした。(これは念のための準備で、トラブルがなければデータはそのまま移行される)
PHPのバージョンアップ(7.2→7.3)
PHPのバージョンアップは、以下のWebページの手順に従った。(参考サイト①)
リポジトリの更新(?)
一応やってみたが、Nothing to doと表示された。この2つは既にやっていたようだ。
[root@xxx ~]# yum install epel-release
[root@xxx ~]# yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
なお、更新前のバージョンは確認したところ7.2だった
[root@xxx ~]# php -v
PHPの削除と再インストール
[root@xxx ~]# yum install --enablerepo=remi-php73 php php-fpm
バージョンを確認すると7.3になっていた
[root@xxx ~]# php -v
MariaDBのバージョンアップ(5.5→10.3)
MariaDBのバージョンアップは以下のWebページの手順に従った。( 参考サイト②)
参考サイト①にもMariaDBのバージョンアップの手順はあったが、こっちのサイトの方が簡単ぽかったので。
リポジトリの更新(?)
このコマンドで、/etc/yum.repos.d/mariadb.repoというファイルが作成されて、必要な情報が記述されてた。参考サイト①のように手動でここにアクセスしファイルを作成する方法もあるようだが、このコマンド一発でできるのは楽だった。(その他参考 MariaDB Package Repository Setup and Usage - MariaDB Knowledge Base )
ちなみに、バージョンアップ前の現在のMariaDBのバージョンを確認すると、5.5だった。
[root@xxx ~]# mysql --version
バージョンアップ
systemctl stop mariadb
確認すると、とりあえずバージョンは上がってた。データは無事かしら・・・
[root@xxx ~]# mysql --version
ワードプレスの確認
systemctl start mariadb
systemctl start httpd.service
ブラウザでアクセスすると、普通に前のまま見れた!あーよかったぁ、ちょっとドキドキだった。
ワードプレスのサイトヘルスを見ると、PHPとデータベースの警告はなくなってた。もういくつか対処項目があるけど、眠いのでまた後日にする。
[PR] フィリピンの精力剤Robust