【Mac】PDF に 無料 プレビュー アプリで自在に文字入力する方法 - 入力フォームに文字が収まらない

役所関連の配布された様式 PDF に文字入力した PDF を作成します。

ここでは、国税庁「居住者証明書交付請求書」を作成していきます。

👉 No.9210 居住者証明書の請求|国税庁

国税庁のサイトで様式が2つ公開されています。

「印刷用」は、印刷して手書きで記入してね、

「入力用」は、そのままパソコンで入力できますよ、

ということなのでしょう。

 

🧑🏻‍💻 PDF入力フォームに文字が収まらない問題

配布されているPDFに設定された入力フォームでは、

フォントやサイズや入力位置が変更できないようで

きれいに収まってくれません。

 

🧑🏻‍💻 パスワードロックを外す

プレビュー や Chrome の「印刷」機能からパスワードロックなしの PDF を作成します。

ダウンロードした PDF をプレビューで開いて、「ファイル」-「印刷」から、

または、Chrome でリンククリックでPDFを開いた状態から「印刷」-「保存」で一度PDFを書き出すか、
または「プレビューで開く」とそのまま編集可能な状態になります。

使う様式はどちらでもいけますが、

PDFにすでに作成されている入力フォームは必要ないので

「印刷用」のほうが混乱しなくて分かりやすいと思います。

覚えておくことは、プレビューでも、Chromeでも、

「印刷機能を使ってパスワードロックなしPDFを再作成する。」

ということです。

 

🧑🏻‍💻 PDF に文字を入力する

昔からある「マークアップパネルからテキストを追加」する方法。

一番万能で自在。

または、

最近のプレビュー新機能の「自動で作成される入力フォームからテキスト追加」する方法。

これも便利かもしれません。

 

🧑🏻‍💻 まとめ

元はといえばこんなメッセージがきましたので。

役所へのPDF様式を元にした書類作成は、

慣れてる人以外は毎回イライラしますよね。

毎回、紙に印刷して手書きで記入していたので、

今回少し調べてみました。

最後に、作成してる風景を動画を。



 

🧑🏻‍💻 参考

👉 【Android】Google Play Store Developer アカウントを「個人」から「組織」に変更した手順をきちんとまとめておく
👉 PDFのメタ情報を確認する
👉 リンゴ印のライフハック(103) Macの「PDFとして保存」を上手に使おう | マイナビニュース


【bash/zsh】検索付きリスト表示をターミナルで

iptv でテレビを見る。


モバイル、パソコンを問わずいろいろなOSで見ることができる。

ざっくり1分遅れで、気の利いた動画クライアントで見ることができるのだが、

GUI アプリでは、不具合時の状況が掴みづらい。

なので、ターミナル経由で見てみる。

👉 Roshan-R/termv: A terminal iptv player written in bash

この termv というアプリ。

ターミナル上の検索付き選択肢一覧リスト表示。

どうやって作ってるのか。

コードを見てみます。


SHELL="${BASH_BINARY}" \
            fzf -e -i --reverse --cycle --with-nth="1..-2"\
                --bind "enter:execute(_play {})"\
                --bind "double-click:execute(_play {})"\
                --header="Select channel (press Escape to exit)" -q "${*:-}" \
            < <( printf '%s\n' "${CHANNELS_LIST}" )

https://github.com/Roshan-R/termv/blob/0b7468d1bba239e50adc7e7693035f3652b9bec4/termv#L210

「fzf」というやつ。




多くの人が集まっています。


👉️ junegunn/fzf: :cherry_blossom: A command-line fuzzy finder

先人先生、今回も勉強になります。

いつもありがとうございます。


【SwiftUI】吹き出しを作りたい

Instagram のこれ。

作ってみようと。

 

🧑🏻‍💻 popover で作る

使えそうなのでやってみました。

👉 popover(isPresented:attachmentAnchor:arrowEdge:content:) | Apple Developer Documentation



struct AnimatedSpeechBubble: View {
  @State private var show = false

  var body: some View {

    HStack {
      Text("お知らせ")
        .popover(isPresented: $show, arrowEdge: .trailing) {
          Text("横に出せないの?")
            .padding(.horizontal)
            .foregroundStyle(.background)
            .presentationBackground(.red)
            .presentationCompactAdaptation(.popover)
        }
      Spacer()
    }
    .frame(width: 250, height: 50)

    Button(show ? "hide" : "show") {
      show.toggle()
    }
    .buttonStyle(.borderedProminent)

  }
}

#Preview("animated") {
  AnimatedSpeechBubble()
    .padding()
    .frame(maxWidth: .infinity)
}

なぜか横 ( .trailing ) 方向に出すことができません。

GIFにしてみたら背景色もなんかあやしい。

あと、ボタンの色も勝手に変わる。

 

🧑🏻‍💻 手作りで

基本の組み合わせで作ります。

まず、吹き出しを作ります。

Path() は使いません。


struct SpeechBubble: View {
  var count: Int

  var body: some View {
    HStack(spacing: 0) {
      Rectangle()
        .fill(.red)
        .rotationEffect(.degrees(45))
        .frame(width: 20, height: 20)
        .offset(x: 14)
        .clipShape(.rect) // *
      HStack {
        Image(systemName: "heart.fill")
        Text("\(count)")
      }
      .foregroundStyle(.background)
      .padding()
      .background(.red, in: .rect(cornerRadius: 8))
    }
  }
}

#Preview("bubble") {
  SpeechBubble(count: 999)
}

アニメーションな部分は scaleopacity のトランジションを使います。


if show {
  SpeechBubble(count: 999)
    .transition(.scale(scale: 0.25).combined(with: .opacity))
}

いい感じです。

 

🧑🏻‍💻 まとめ

手作りでまあいけそうです。

以上のソースコード一式です。