arachansan's diary

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

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を作ってバッチで印刷掛けていけばいいんじゃね?」 というのに落ち着いてしまうわけです。

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

iPhone/iPadでPDFをMailDrop

巨大ファイルをメールで転送してしまうお話は後を絶たない。

MailDropならそんな巨大ファイルを難なく送ることができる。

今回はよく使うPDFファイルを中心にMailDropで送信する方法を伝えていきたい。

メールからの送信方法

送信側

  1. iOSのメールを立ち上げる

  2. メールを新規作成

  3. 件名に「maildropできるかな?」を入れる

  1. 本文を長押しすると項目が出てくる

  1. 項目の▶(みぎさんかく)を押していくと[添付ファイルを追加]が現れる。

  1. ファイルの添付を押すとiCloudDriveが登場する

  1. DropBoxの方に巨大ファイルがあるので、場所をクリック

  2. DropBoxを選択

  1. 巨大PDFファイルを選択

  1. メール本文に添付されます

  1. 宛先を入れる

  2. 送信ボタンを押す

  3. MailDropのボタンが現れるので、[MailDropを使用] を押す

  1. 送信終了

受信側

  1. Thunderbirdでみると図の通りになる。

  1. Click to Downloadを押す。

  2. ブラウザーが立ち上がりファイルがダウンロードされる。

特記事項

ファイルの場所が以下の場所から選べる。

au by KDDIiPad導入企業に勧めているKDDIファイルストレージには対応していないようだ。

iBooksに格納されているPDFはMailDropができない。

巨大サイズのPDFの場合はそもそもメールという項目が出現しない。

参考資料

plus.google.com

plus.google.com

iOSでMail Dropを使う方法

iOS 9.2が配信されました。

僕の目に留まったのは

"メール"のMail Dropで大きい添付ファイルを送信できます。

一般的なユーザーはメールに添付して送信することしか知りません。

メールで送れる容量なのかをチェックするようなことはできません。

彼らの受け皿になるのかもしれないと思い本格的に調べてみようと思いました。

iOSでMail Dropを使う方法は?

日本語ブログでiOSのMailDropを試したものはありませんでした。

英語でも現在のところ下記の記事のみでした。

下記の記事を参考に僕のiPhoneで試してみます。

www.iphonehacks.com

Mail Dropを試す方法

  1. f:id:arachansan:20151209110721p:plain:w30写真アプリから写真を20枚ぐらい選択しコピー
  2. f:id:arachansan:20151209111336p:plain:w30メールを起動
  3. f:id:arachansan:20151210083527p:plain:w30新規作成
  4. 本文部分を長押し
  5. [ペースト]を押す
  6. 図のように写真が本文に貼り付けられます。

center

  1. 送信ボタンを押します。

すると、下図のように画像を圧縮するかを聞いてきます。

[実際のサイズ]を押します。

  8. Mail DropのDialogが出現します。

 [Mail Dropを使用]を押します。

   

  1. 送信を押すとMail Dropを使った状態で送信される。

iCloudにアップロードしながら送信しているようですので、送信に少し時間が掛かります。    

MSYS2でOpen usp Tukubaiが動かなかったでござる

おぉ!待ってました。 Windows + MSYS2で心置きなくOpen usp Tukubaiが動かせそう。 と思いきや。

kunst1080.hatenablog.com

Open-usp-Tukubai 動かない。 MSYS2にインストールはできるのですが、 動きません。

Open-usp-TukubaiはPython2奨励なのに、 pacmanは勝手にpython3をインストールします。

そして勝手にPython3で実行しようとするので動きません。

環境

  • Windows 7 SP1 (x64)
  • MSYS2(x64)
  • update-coreにて最新版にアップデート済み (2015/11/19現在)

現象

くんすと氏のサイトのとおりにインストールを実行

$ pacman -U open-usp-tukubai-HEAD-1-any.pkg.tar.xz パッケージをロード...
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (2) python-3.4.3-2 open-usp-tukubai-HEAD-1
合計インストール容量: 75.21 MiB
インストールを行いますか? [Y/n] Y
...(省略)....

で試しにjoin0を実行してみると SyntaxErrorでまともに動いてくれません。

$ join0
File "/usr/bin/join0", line 217
print tline.getField(0)
^
SyntaxError: invalid syntax

対処方法

Python2で動かすようにすればいい。

幸か不幸かOpen-usp-TukubaiはPythonスクリプトなので、 先頭のスクリプト起動の指定を python から python2 に変更してみる。

まずはPython2をインストール

$ pacman -S python2

join0の先頭を python2に書き換え

$ head -n 1 join0
#!/usr/bin/env python

$ sed -i 's/python/python2' /usr/bin/join0

$ head -n 1 join0
#!/usr/bin/env python2

お試し実行

$ join0
Usage   : join0 [+ng<fd>] key=<n> <master> <tran>
Version : Fri Oct 21 11:26:06 JST 2011
          Open usp Tukubai (LINUX+FREEBSD/PYTHON2.4/UTF-8)

お、動いたけど…。 全てのOpenTukubaiコマンドにこれを実行しないと…。

シェル芸スタート

まずは、ls -lでタイムスタンプでも見てみる。

$ cd /usr/bin
$ ls -l | awk '$6~/10. * /' | awk '$7~/15. * /'
-rwxr-xr-x   1 yusuke None     3983 1015 19:58 calclock
-rwxr-xr-x   1 yusuke None     4735 1015 19:58 cgi-name
...(省略)...

2015年10月15日のファイルは全て Open usp Tukubaiのようだ。

findで絞り込んで xargsで渡す戦略でいく。

$ find -mtime 34
./calclock
./cgi-name
./check_attr_name
./check_need_name
./cjoin0
...(省略)...
$ find -mtime 34 -type f | xargs head -n 1
==> ./calclock <==
#!/usr/bin/env python

==> ./cgi-name <==
#!/usr/bin/env python

==> ./check_attr_name <==
#!/usr/bin/env python

==> ./check_need_name <==
#!/usr/bin/env python

==> ./cjoin0 <==
#!/usr/bin/env python

...(省略)

お、sedに食わせても大丈夫だな。

$ find -mtime 34 | xargs sed -i 's/python/python2/'

成功!

$ find -mtime 0 -type f | xargs head -n 1
==> ./calclock <==
#!/usr/bin/env python2

==> ./cgi-name <==
#!/usr/bin/env python2

...(省略)...
$ join2
Usage   : join2 [-d<string>] key=<n> <master> <tran>
Version : Wed Oct 26 03:01:58 JST 2011

終わりに

pacmanのパッケージを作ってくれた作者には、問題点を報告した。 Github Issueにも書くべきかな?