arachansan's diary

誰にも左右されず、硬派なBlogを書きます。

なぜLibreOffice CalcでJSONを使いたいのか?

最近のWebサービスJSONを吐く。

SOAP(XML)ではありません。

WebのデータはJSON

  • 郵便番号から住所検索
  • お天気検索

等々

Calcにはない便利機能をWebから取って使える。

そんなのPythonを使えばいいじゃない。

Request LibraryとJSON Library使っていい感じに出力してcsvに吐けばいいじゃん。

Calcで扱うようにする必要ある?

ダメです。

Office Worker(一般社員)はPythonなんて使いません。

一般社員はこう言うでしょう。

VLOOKUP関数で(wonderful)ウォー!!

VBAで神(awesome)!

Python、何それ?

プログラマーじゃないんで。

Calcの中でWebAPIが使える仕組みが必要なんです。

ExcelにはWebからJSONを取得してシート内に表示する仕組みがあります。

json-ファイルに接続する

この機能はLibreOfficeにはありません。

あなたが作ればいいじゃない。

できる限り僕も作ろうとしています。

ParseJSONはうまく動きません。(´;ω;`)

最終的には標準の関数に取り込んでもらいたいと思っています。

iBooksからPDFを移す方法 - Apple信者向け

Apple信者のみんな、こんにちは。

Apple同士ならiBooksからPDFを移せるよ。

AirDrop

AirDropを使えばいいんだよ。

下記のサイトに使い方が書いてあるよ。

AirDrop
AirDrop

古いiPhone/iPadから新しいiPhone/iPadiBooksのPDFを移したいだけだろ?

え、PCに送りたいの?

Apple信者はWindowsパソコンの事をPCと呼ぶ

Macを使う

Macを買いなよ。

PCよりもCoolだよ。

MaciBooksからPDFを取り出すことができる。

BuyMac
BuyMac

iPhoneiPadからAirDropでPDFを送ることもできるよ。

PDFをPCやAndroidに送ってやればいいんだ。

iBooksAirDropの詳しい使い方は下記を参照して。

まとめ

Macを買うと幸せになれるよ。

あとがき

アンチApple信者の皆さま、申し訳ございません。

MacでないとiBooksからPDFを取り出せないのは事実です。

iBooksにコピーするな!

PDFだからiBooksで開こうかな~。♪

ダメです!!

iBooksにコピーしちゃいけません。

閉じ込められたPDF

iBooks上でPDFを開くと下図のようになります。

その他を選んでも何も出てきません。

LINEにもDropBoxにもKDDIファイルストレージにも移せない。

メールさえも出ない。

このPDFが10MBを超えるような巨大PDFだからだろうか?

営業マンがiPadに仕込むカタログのPDFファイルは200ページ、10MB余裕に超える。

iTunesでもPDFを取り出せない

しょうがない。

PCに繋いでiTunesなら取り出せないだろうか?

ダメだ。

iBooksという項目もない。

iTunesからもPDFを取り出せない。

まとめ

iBooksでPDFを開いてはいけない。

iBooksから取り出せない。

次週の予告

どうしても取り出したいのなら一つだけ方法がある。

Apple信者であることが前提。

それは次の章で。

もう一つの解決策は iBooksにPDFをコピーせず に使えばいい。

iBooksにコピーせずに使う方法はまた別でお話します。

iBooksでPDFを開くな

iBooksでPDFファイルを開くことをお勧めしない。

一度iBooksに取り込んだPDFファイルはPCなどに取り出すのは困難。

MaciBooksアプリだけがiOS内のPDFを取り出すことができる。

PCで取り出せない

  1. iTunesiBooksのPDFは取り出せない
  2. iCloudでもiBooksのPDFは取り出せない
  3. iBooksから他のアプリにPDFを移動できない。

iBooksで他のiPadにデータを移す場合はどうする?

  1. メール転送
  2. AirDrop

メール転送制限、19.5MB以上のPDFファイルを送信できない。

大容量のファイルがメール転送できるMailDropも働かない。

PDFはプレビューするだけでいい

PDFはプレビューするだけでいい。

プレビューするだけで事足りる。

PDFがiOSに入ってくる経路は

  • インターネット(Safari)
  • メール
  • DropBox等のファイル共有アプリ

主にこの3つです。

SafariはPDFを表示します。

DropBoxやOneDrive、KDDIファイルストレージではPDFを表示できます。

メールもPDFを表示できます。

iPhone/iPadに取り込む必要はない。

取り込んだら負け。

オフラインで使いたい

下記のファイル共有ソフトにはオフライン機能がある。

iPhone/iPadにファイルを取り込んでおくことができる。

携帯圏外のことはよくあります。

  • 俺の営業先は携帯圏外のど田舎
  • 地下鉄でPDFを眺めたい

とか言い出す方は上記のオフライン機能を使うことをお勧めします。

PDFはAdobeReaderで

プレビュー機能で満足できないのであれば、AdobeReaderを使った方がいい。

PDFを作った会社のビューワーだ。

以下の場所に保存や移動が可能

iTunesからもPDFを取り出せる

19.5MB以上のPDFファイルもMailDropを使って転送可能。

他のアプリにPDFを渡すこともできる。

まとめ

  • iBooksでPDF開くな
  • PDFは基本プレビューするだけ
  • DropBox等でオフラインで使いたかったらオフライン機能
  • プレビュー機能で満足できなければAdobeReader

Excelのシート保護と編集するセルの指定

Excelのシート保護はまどろっこしい作業をしなくても簡単にできる。

以下の手順だ。

  1. 編集させたいセルを全部選択
  2. [校閲] > [範囲の編集を許可]

  1. 範囲の編集許可ウインドウで[新規]を押す

  1. 新しい範囲ウインドウでそもまま[OK]を押す

  1. [シートの保護]ボタンを押す

  1. シートの保護ウインドウでそのまま[OK]を押す

これだけでできる。

他のBlogでは選択した後にセルの書式設定でロックの解除を行う等を行う。

21世紀のExcel使いとしては悪手。

  1. 手順が多い。
  2. 直観的でない。

Excel2007がサポート終了の時代です。

Excel2000/2003の使い方なんてもう教えなくてもいい。

リボン前提の教え方でいいんじゃないでしょうか。

はがきデザインキットで1枚なのに2枚印刷されて1枚は白紙で出る

文章で説明するよりも見た方が分かりやすいと思います。

先ずは下記のようにはがきデザインキットから1つだけ宛名印刷します。

f:id:arachansan:20171207140112p:plain

用紙設定を「はがき」にして印刷を実行します。

すると下記のように2枚印刷され1枚は白紙で出てきます。

f:id:arachansan:20171207140247p:plain

「はがきデザインキット」がフチなしハガキを基準に帳票設計されているからのようです。

フチなしに指定して印刷すると解消されるようですが、 ビジネス向けのレーザープリンターにはフチなしはありません

原因は下記のサイトを参考にすれば分かったもの対策までは書いてなかったです。 detail.chiebukuro.yahoo.co.jp

環境

  • Client: Windows10 Pro x64 Build 1703
  • Printer: Canon LBP8710e
  • Driver: Generic Plus LIPSLX Printer Driver Ver.1.02(64bit)

CanonのBussiness向けの複合機レーザープリンターのドライバーは同じなので僕の対策で対応できると思われます。

  • LBP
  • iR-ADV
  • imagePRESS C
  • MF

対策

対策は2つあります。

  • 少し大きめのユーザー設定用紙で印刷
  • 印字領域を広げて印刷

少し大きめのユーザー設定用紙で印刷

やってみましょう。

f:id:arachansan:20171207140634p:plain

下記のように幅 105mm 高さ 148.5mm に設定して[ユーザー設定用紙]として登録します。 f:id:arachansan:20171207140844p:plain

ではもう一度印刷してみましょう。 今度は予め設定したユーザー設定用紙を選択します。 f:id:arachansan:20171207141015p:plain

お、ちゃんと1枚で印刷されていますね。 f:id:arachansan:20171207133336j:plain

印字領域を広げて印刷

上記の対策の後に見つけちゃいました。 印字領域を広げて印刷を実行する方法です。

用紙設定は「はがき」でいいです。 f:id:arachansan:20171207145922p:plain

印刷の[仕上げ]タブの中の[処理オプション]ボタンを押す f:id:arachansan:20171207150156p:plain

[印字領域を広げて印刷]を[しない] から [する]に変更 f:id:arachansan:20171207150254p:plain

お、これでも行けましたね。 f:id:arachansan:20171207133337j:plain

終わりに

設定をあまり変更しないで済むことを考えると「印字領域を広げて印刷」で乗り切った方がいいでしょうね。

サーバー上でLibreOffice Drawファイルの印刷を考える

LibreOffice AdventCalendar 2017 12月4日の記事です。 ちょっとしたポエム置いておきます。

Python odfpyでodgを弄るネタは日本では全く反応なく外人が大喜びしている感覚があります。 dev.toに英語版を書いておきました。 そっちはいいねが7つ付いているんだけど…。

それはさておき。

ファイルができたら印刷したいと思うでしょう。 OpenDocumentFormat(ODF)ファイル作ったら自動的にプリンターに印刷を投げるみたいなのです。

結論から言うとLibreOfficeのインストールが必要です。

考えられる方法は2つ

  • ODFのまま印刷を投げる
  • PDFに変換してバッチで回す

ODFのまま印刷

ODFのまま印刷投げる場合は現状、LibreOfficeからバックグランドで投げてやらないといけません。 LibreOfficeも使わずに印刷を投げられるのなら誰か教えて。

PDFに変換してバッチで回す

案外これが現実的なのかもしれません。 しかしODFをPDFに変換するのにも結局、LibreOfficeが必要です。 Pythonにodf2pdfというまんまなライブラリーがあるのですが、LibreOfficeAPIをそのまんま叩いてます。

github.com

LibreOfficeをバックグランドで動かして処理するような行儀の悪いことをやりたくなかったからodfpyを頑張ったのに。

結論

こう考えると 「最初からPDFを生成するライブラリーを使ってPDFを作ってバッチで印刷掛けていけばいいんじゃね?」 というのに落ち着いてしまうわけです。

逆に考えると一枚一枚作っていく見積書のようなシステムの場合は自分のクライアントにダウンロードさせて印刷すればいい。 そのような場合には特に文言等のカスタマイズ要求が非常に高い印象があります。 よは使い方次第のような気がします。