実現したいこと
<input type="file">
を使って読み込んだPDFファイルを開いて、中から文章を取り出したいと思っています。
どこまでできているか
コードはReact.jsを使って書いております。そこで読み込んだファイルに対して、FileReader()
オブジェクトに中身をreadAsText
で読み出すところまでは出来ています。しかし、このままではパースされる前のPDFの中身しか読み出せていません。
javascript
1class MainWindow extends React.Component { 2 constructor(props) { 3 super(props); 4 5 this.fileSelected = this.fileSelected.bind(this); 6 } 7 8 handleFileUpload() { 9 this.fileInput.click(); 10 } 11 12 fileSelected(e) { 13 var file = e.target.files[0]; 14 var reader = new FileReader(); 15 16 reader.onload = function(event) { 17 console.log(event.target.result); // 読み込んだ生のPDFを表示 18 }; 19 reader.readAsText(file); 20 21 this.fileSubmit.click(); 22 } 23 24 onFormSubmit(e) { 25 e.preventDefault(); 26 } 27 28 render() { 29 const { classes } = this.props; 30 return ( 31 <div> 32 <main className={classes.content}> 33 <div className={classes.addFile}> 34 <form onSubmit={this.onFormSubmit}> 35 <input 36 type="file" 37 accept="application/pdf" 38 multiple 39 ref={fileInput => this.fileInput = fileInput} 40 onChange={this.fileSelected} 41 style={{ display: "none" }} 42 /> 43 <input 44 type="submit" 45 ref={fileSubmit => this.fileSubmit = fileSubmit} 46 style={{ display: "none" }} 47 /> 48 </form> 49 <Fab 50 className={classes.fab} 51 aria-label="add" 52 onClick={() => this.fileInput.click()} 53 > 54 <AddIcon /> 55 </Fab> 56 </div> 57 </main> 58 </div> 59 ); 60 } 61}
よろしくおねがいします。
あなたの回答
tips
プレビュー