MarkdownをPDFに!Pythonのパワーで実現する変換テクニック

私はほぼMarkdownファイルでメモを取っています。

ja.wikipedia.org

Markdownファイルは記述はとても簡単でWordなどとは異なりレイアウトは最低限度という感じではありますが、対応したViewerでレンダリングを行うことで割と見栄えが良くなる点で非常に重宝しています。それをかなりカバーしてくれているのはHackMDというサービスでMarkdownファイルをレンダリングしながら編集ができ、作成したファイルはHTMLなどで共有ができるので大変助かっていました。

hackmd.io

そんな状況だったのですが、会社でHackMDのサイトアクセスが制限されてしまいました。とても悲しい😭

うちの会社はエディタのインストールが使用できないため、Visual Studio Codeが使用できません。そのため、vscode.dev(オンライン版のVisual Studio Code)でを使用してメモを取ることにしました。起動に時間はちょっとかかりますが、WPAとして起動はできるのでそこまでつらくはないです。編集こそ楽なのですが、情報の共有というところではレンダラーが相手にないこともあり、今一有効につかえてないなと思っています。

vscode.dev

そこで、作成したMarkdownをPDFファイルに変換するものがあると助かるかなと思ってPythonで作成してみました。

調べてみると、ファイルを直接変換を行うことができないので、一度HTMLファイルに変換してから、PDFファイルへ変換する作業を行います。HTMLまでの処理で止めることも可能です。HTMLにするのも便利ですね。

続きを読む

Pythonとyt-dlpを活用した動画・音声のダウンロード方法

ちょっと前まで、とある原稿を書いていたのですが、その時の没ネタを少しメモしておきます。

Pythonを使用した便利な処理ということでのネタ探しでしたが、紙面の関係と、微妙に権利関係の懸念もあって没としていました。 内容としてはYouTubeの動画および、音声のダウンロードとなります。

調べたきっかけ

たまに自分の作成した動画(機器のデモなど)はチャチャっと作ってすぐ見せるということがほとんどのため、 元ファイルを削除してしまったり、無くすことがかなりあります。多くの場合には何回も使用することがないため、それで問題は発生しません。 稀に、同じ作品の動画を使いたいとなったときには元ファイルがないので、困ってしまいます。 そこで、YouTubeにはアップロードしていることもあるので何とかそれを素材として使用したいという要望のため、やってみたということになります。

そういうサービスは別でWebサービスとしてもありますが、今回はPythonを使用したプログラミングで行います。動作環境はUbuntu24.04 LTSとなります。

(注意) 本記事で紹介する方法は、技術的な紹介を目的としています。YouTubeの動画をダウンロードする行為は、利用規約著作権法に抵触する場合があります。この内容を使用して行う行為についての全ての責任は、使用したユーザー自身にあります。違法なダウンロードや著作権侵害等、法律に違反する行為は厳禁です。何らかのトラブルや損害が発生した場合、筆者は一切の責任を負いかねますので、十分にご注意ください。

続きを読む

WindowsでAndroidアプリを簡単に動かす方法!WSAToolsを使ったAPKインストール術

前回の更新からかなり時間が経ってしまいましたが、とりあえず生きてます。

いろいろと業務的な作業をお願いされているのですが、その中の一つにAndroidのアプリに関してテストがありました。そういえば現在はWindowsにもWindows Subsystem for Android(以降WSAとします)が導入され、ものによってはAndroidアプリもインストールできるようになっています。例えばKindleなどのアプリをストアから導入することもできるようになっています。これは割と便利。ただ、MicrosoftストアAmazonアプリストアKindleみたいな感じで、Amazonアプリストア経由になっちゃうと、アプリ数がグンッと減ってしまう点はかなり残念に思うところもあります。

そんなときにはAndroidアプリをapkパッケージで導入する、なーんてこともAndroid端末では良くあります。では、apkパッケージのインストールはWindowsではどんな感じになっているのかなと思い実験してみることにしました。これを使用すれば、Android Studioで作成した、apkパッケージのインストールにWSAをしようするなんてことも可能です。

WSAの導入

以降の処理で導入されていなければ、インストールを促されると思いますが念のため。

基本的にはMicrosoftストア経由でAndroidアプリを導入しようとすると、自動的に導入が行われます。自分の場合にはKindleをインストールするときに導入が行われていました。 まだインストールを行っていないかたは、そのまま進んでください。

wsatoolsのインストール

今回はwsatoolsというアプリを導入することで、akpパッケージのインストールを行います。wsatoolsをインストールするには、まずMicrosoftストアを起動し、

ウインドウの上部の検索ボックスに【wsatools】を入力すると、候補にWSATools - APK installer and moreが表示されます。こちらを選択します。

選択すると、アプリの【入手】ボタンが表示されるのでこれをクリックします。これでインストールができるのですが、これで完了はありません。

このアプリはPCにインストールされているWSAに対して、adbを経由してアクセスを行っています。(いうなればラッパーのようなアプリです) 環境が整っていない場合には、初回起動時にいろいろと設定を行っていくことになります。

続きを読む

GUI不要!UbuntuにコマンドラインだけでChromeをスムーズにインストールする方法

私はUbuntuを定期的にクリーンインストールするような作業を行っています。また最近、検証としてVersion23.04を入れることになりました。定期的にインストールをしているのでほぼ慣れた感じでインストールはしていますが、中には作業をど忘れすることがあり、その一つがChromeブラウザのインストールになっています。

Ubuntuのインストール時の他の作業【参考】

uepon.hatenadiary.com

ブラウザならFirefoxもあるじゃんという方もいるとは思いますが、もうChrome拡張機能なしではもう生きていけない状況です。(どちらかといえばかなり生産性が悪くなる)。あとChromiumブラウザではGoogleアカウントの設定を設定できませんので注意です。

また、ブラウザのダウンロードを行うのに別のブラウザを起動するのもちょっとどうなのって感じなので、今回はコマンドラインのみを使用してインストールするメモという位置づけです。

続きを読む

初期設定のままではダメ!? Windows「リモートデスクトップ接続」でRaspberryPiへの接続

Raspberry Piリモートデスクトップ接続は、自宅のどこからでもRaspberry Piを操作できる便利な機能です。

自分は、Windowsに標準で入っている「リモートデスクトップ接続」(以降「リモートデスクトップ接続」とします)を使用しての接続を行っていましたので、一般的な使い方と少し異なる方法を使っていました。 「リモートデスクトップ接続」を使う場合、Raspberry Pi OS側にxrdpというパッケージをインストールし、VNCを起動しておけば接続ができるようになります。 以前はxrdpをインストールするだけで設定が完了していたのですが、bullseyeベースのRaspberry Pi OSになってからは、接続はできてもウインドウマネージャーが表示されず 仕方なくVNCをPCにインストールして対応していました。

こんな状況で1年以上悩んでいましたが、ようやくその解決策を見つけることができましたので、本エントリーでは、その方法をメモしておきます。

検証環境

検証環境としては、bullseyeベースのRaspberry Pi OS(64bi版)となります。2023年8月時点では通常のOSインストールを行うだけでこの環境になっていると思います。 OSの状況を以下に表示します。

【コマンドにて確認】

$ uname -a
Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye

$ cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Debian GNU/Linux 11 (bullseye)と表示されているのがわかります。

続きを読む
/* -----codeの行番号----- */