質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

3回答

2656閲覧

<input type="file" name="file" id="file" accept="image/*,.pdf">で取得したPDFファイルをFileReaderで表示できない。

AtyAty

総合スコア9

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2020/10/09 16:09

編集2020/10/11 16:38

<input type="file" name="file" id="file" accept="image/*,.pdf">で取得した.PDFファイルをブラウザ上に表示したい。

発生している問題・エラーメッセージ

.png, .Jpgファイルは表示できるのに、.pdfファイルは表示できない。

該当のソースコード

  <div > <input type="file" name="file" id="file" accept="image/*,.pdf" capture="camera"> <img src="" alt="" id="preview02" cmanOMat="move"> </div> <script src="preview02.js" charset="utf-8"></script>

Javascript(preview02.js)

 document.querySelector("#file").addEventListener("change", function(e){ const file = e.target.files[0]; const filereader = new FileReader(); filereader.addEventListener("load",function(event){  document.querySelector('#preview02').setAttribute("src", event.target.result);    });    filereader.readAsDataURL(file);//実際にファイル内容を読み込むための記述    });

試したこと

accept="image/,.pdf"をaccept="image/,application/pdf"にしてみたが表示されない。

補足情報(FW/ツールのバージョンなど)

OS:Windows10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2020/10/10 01:06

発生している問題は何ですか?
AtyAty

2020/10/11 10:35 編集

<input type="file" name="upload_file" id="file2" > <object data="{path_to_file}" id="objects2" width="500px" height="500px"> をブラウザ上でマウスで自由移動させたいのですが、その設定ができないという問題です。
Lhankor_Mhy

2020/10/11 10:42

一から作る方法を教えてほしい、ということですか?
AtyAty

2020/10/11 12:08

cmanOMat="move"を使用して今ある内容にどう加えたらできるのか知りたいのですが、手掛かりがなく・・ 根本的に内容を改めた方が良いかもしれないと思い、pdf.jsを使用して表示する方法にしようかと考えています。 お手数おかけし申し訳ございません。
AtyAty

2020/10/11 12:09

当方独学でしているもので、こちらで質問させていただきました。
Lhankor_Mhy

2020/10/11 12:13

> cmanOMat="move"を使用して今ある内容にどう加えたらできるのか知りたい であれば、そのコードのご提示と、どのような問題が起きているかをご提示いただいた方がいいかもしれません。(たとえば、ドラッグしようとしても移動しない、XXXというエラーが出る、など)
AtyAty

2020/10/11 12:30

表題を変えてみました。
AtyAty

2020/10/11 12:33

コードは現在提示している内容になります・・
Lhankor_Mhy

2020/10/11 12:44 編集

うーん、たとえば、 >JSファイルの中のvar wTargetTag = [ 'img', 'div'];にinput、objectのタグを追加してみた。 ですが、ここでカンマを打ち忘れている、とかが原因かもしれませんよね。 でも、そのコードは提示されていないので、もしそうであったら、回答者は問題を再現できないですよね? 「質問者と回答者が同じコードを見る」というのは、問題を解決するのに意外と大事なことなんです。 それが実現されていないと、こういうことが起きたりします。 https://twitter.com/lhankor_mhy/status/1169432868705075200 https://twitter.com/lhankor_mhy/status/1172074711838150656
AtyAty

2020/10/11 15:05

ありがとうございます。質問の内容がちぐはぐだというのは理解できましたw  質問内容を改めようと思います!ガラッと変わるかと思いますが、ご了承くださいませ
guest

回答3

0

document.querySelector("#myPdf02").addEventListener("change", function(e){ const file = e.target.files[0]; const filereader = new FileReader(); filereader.addEventListener("load",function(event){ document.querySelector('#preview02').setAttribute("src", event.target.result); }); filereader.readAsDataURL(file);//実際にファイル内容を読み込むための記述 }); // Loaded via <script> tag, create shortcut to access PDF.js exports. var pdfjsLib = window['pdfjs-dist/build/pdf']; // The workerSrc property shall be specified. pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://mozilla.github.io/pdf.js/build/pdf.worker.js';$("#myPdf02").on("change", function(e){ var file = e.target.files[0] if(file.type == "application/pdf"){ var fileReader = new FileReader(); fileReader.onload = function() { var pdfData = new Uint8Array(this.result); // Using DocumentInitParameters object to load binary data. var loadingTask = pdfjsLib.getDocument({data: pdfData}); loadingTask.promise.then(function(pdf) { console.log('PDF loaded'); // Fetch the first page var pageNumber = 1; pdf.getPage(pageNumber).then(function(page) { console.log('Page loaded'); var scale = 1.5; var viewport = page.getViewport({scale: scale}); // Prepare canvas using PDF page dimensions var canvas = $("#pdfViewer02")[0]; var context = canvas.getContext('2d'); canvas.height = viewport.height; canvas.width = viewport.width; // Render PDF page into canvas context var renderContext = { canvasContext: context, viewport: viewport }; var renderTask = page.render(renderContext); renderTask.promise.then(function () { console.log('Page rendered'); }); }); }, function (reason) { // PDF loading error console.error(reason); }); }; fileReader.readAsArrayBuffer(file); } });

html

<input type="file" name="file" id="myPdf01" accept=".png, .jpg, .jpeg, .pdf, .doc" capture="camera"> <img src="" alt="" id="preview01" cmanOMat="move"></img> <canvas id="pdfViewer01" cmanOMat="move"></canvas>

投稿2020/10/12 15:22

編集2020/10/12 15:26
AtyAty

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kuma_kuma_

2020/10/12 15:36

IE11でも動きますか?
guest

0

iframe、objectとためし、最終的にcanvasでの実装がうまくいきました。

投稿2020/10/12 15:22

AtyAty

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

HTML

1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script> 7 window.onload = function(){ 8 document.getElementById("file").addEventListener("change", function(e){ 9 var file = e.target.files[0]; 10 var filereader = new FileReader(); 11 filereader.onload = function() { 12 document.getElementById("pdf").src = filereader.result; 13 }; 14 filereader.readAsDataURL(file); 15 }); 16 } 17 </script> 18</head> 19<body> 20  <div > 21 <input type="file" id="file" accept="image/*,.pdf" capture="camera"> 22 <iframe id="pdf" src="about:blank" width="500" height="500"> 23 </iframe> 24 </div> 25</body> 26</html> 27 28

投稿2020/10/12 14:25

kuma_kuma_

総合スコア2506

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

AtyAty

2020/10/12 15:20

ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問