memorandums

日々の作業ログです。

ChromeやFirefoxでハイパーリンクを含んだPDFを開いてリンクをクリックすると文字化けしてリンクエラーになる問題

■背景

パワポで作った講義資料をPDF化してGoogle Driveに入れて学生くんらにスマホ等からアクセスしてもらうようにしています。

以前はネットで見れるなら欠席してもいいや。。。という子がいるようでわざわざカラー印刷して、ちゃんと出席した人だけに配布、ということをしてきました。もちろん、面倒だしコストもかかるんですが。。。それでも紙ならその場でメモを書き込むこともできるしいいこともあるな。。。と思ってきたわけです。

そんなささやかな抵抗も無駄だな。。。特にハイパーリンクとかをパワポに入れていても紙では見れません。

ということで、昨年くらいから冒頭に書いたような形式にしたわけです。

で、昨年秋くらいまでは全く問題なくやってきたんですが。。。あるときからおかしなことが発生しました。

■問題の現象

Googleドライブ上のスプレッドシートリンクを知っている人全員がアクセスできるようにすると、そのURLは以下のような感じになります。xxxxxはファイルごとのIDが入るはずです。

https://docs.google.com/spreadsheets/d/xxxxx/edit?usp=sharing

このPDFにChrome等のブラウザでアクセスすると。。。以下のように%3Fに置き換わっちゃうんですね。。。

https://docs.google.com/spreadsheets/d/xxxxx/edit%3Fusp=sharing

これを発見したのは非常勤先での講義中でした。。。焦りました。

このファイルにアクセスしてデータを使用して分析する授業だったのにデータがないと何もできない。。。あわててbitlyでURLを作りなおしてなんとかしましたが。。。パワポで開けることはもちろん確認しましたし。。。まさかPDFになったときにURLが文字化けするとは。?はURLとして使える文字のはずです。その文字をエンコーディングする意味がわかりません。

同じURLでも昨年秋より前に作った(Powerpointで印刷を選択してPDF化する)ファイルではこんなことは起きませんでした。もしやCatalinaのせいかと思いMojaveでPDF生成してみましたが結果は同じでした。問題の切り分けができません。。。残念ながら原因不明です。ネットもあれこれ探してみましたがこの件について報告された情報は見つかりませんでした。

環境はmacOS10.15.2(Catalina)、OfficeはOffice365サブスクリプション版?です。最近のOfficeのバージョンはわかりにくい。。。

■とりあえずの対処方法

問題がわかっていませんので対処方法もわかりません。しかたがないのでクエリ文字列を消してアクセスができるか確かめてみると。。。特に問題ないようです。そもそも「usp=sharing」が何を意味するのかわかりませんが。。。なくても問題なくアクセスできるようです。

修正前:https://docs.google.com/spreadsheets/d/xxxxx/edit?usp=sharing

修正後:https://docs.google.com/spreadsheets/d/xxxxx

以上です。

原因とか対処方法とかわかった方がいらっしゃったら教えていただけたら。。。助かります。

ちなみに、これもよくわからないのですが、Google Drive上でファイルを共有するときには2つのUIがあると思います。

f:id:ke_takahashi:20200116200754p:plain

上記のURLは上の方(共有)を使用して取得したURLです。

もし、下の方(共有可能なリンクを取得)で取得するとURLは以下のようになります。お気づきの方もいらっしゃると思いますが、このケースでは?マーク以降を省略するとファイルのIDがわからなくなるので、ここで挙げた対処方法は使えません。

https://drive.google.com/open?id=xxxxx

なんなんでしょうね。。。不思議だ。