[mew-dist 29314] Re: テキスト付きPDFをinli neで読むには

Harumitsu YOSHITAKE <[email protected]> Wed, 26 Jan 2011 14:09:56 +0900 (JST)
Newsgroups gmane.mail.mew.general.japanese
Message-ID <[email protected]>
   



 elisp 
 (^_^)

mew-frwlet ... 


(mew-frwlet mew-cs-dummy mew-cs-dummy (call-process ...))



----
 GUI 
 PDF 




---- 
;;;
;;; Display PDF in line
;;;
(setq mew-prog-pdf '(nil mew-mime-application/pdf))
(setq mew-prog-application/pdf "/usr/bin/pdftotext")

(defun mew-mime-application/pdf-ext (cache begin end &optional parameter)
  (with-current-buffer (mew-buffer-message)
    (mew-elet
     (mew-erase-buffer)
     (mew-mime-application/pdf cache begin end parameter)
     (mew-summary-display-postscript 'nohook))))

(defun mew-mime-application/pdf (cache begin end &optional parameter)
  (mew-erase-buffer)
  (let ((doit t) file1 file2
	(prog mew-prog-application/pdf))
    (unless (mew-which-exec prog)
      (setq doit nil)
      (mew-elet (insert "Install " prog "\n")))
    (if (not doit)
	(progn
	  (mew-elet (insert "\n"))
	  (mew-mime-part-messages nil))
      (setq file1 (mew-make-temp-name))
      (with-current-buffer cache
	(mew-flet
	 (write-region begin end file1 nil 'no-msg)))
      (setq file2 (mew-make-temp-name))
	(mew-frwlet
	    mew-cs-dummy mew-cs-dummy
	    (call-process prog nil nil nil "-layout" file1 file2))
	  (if (file-exists-p file2)
	      (insert-file-contents file2))
	      )
      (if (file-exists-p file1) (delete-file file1))
      (if (file-exists-p file2) (delete-file file2))))
;;;
;;; end of PDF in line
;;;

----
 

 |From: Hideyuki SHIRAI () <[email protected]>
 |To: [email protected]
 |Subject: [mew-dist 29313] Re: PDFinline
 |Date: Tue, 25 Jan 2011 21:05:57 +0900 (JST)
 |
 |
 |
 |From: Harumitsu YOSHITAKE <[email protected]> 
 |Subject: [mew-dist 29312] PDFinline
 |Message-ID: <[email protected]>
 |Date: Mon, 24 Jan 2011 15:59:53 +0900 (JST)
 |
 |> Ubuntu Server 10.10  mew  ssh 
 |>
 |>  Word  Excel inline 
 |>  wvHtml 
 |>
 |> PDF inline 
 |> 
 |>
 |> wvHtml  pdftotext 
 |> 
 |>
 |> elisp 
 |> 
 |
 |# 
 |
 | pdftotext 
 |pdf2txt ( perl script) 
 |
 |
 |PDF  Viewer 
 |
 |
 |;; (setq mew-prog-pdf 'mew-mime-application/pdf)
 |(setq mew-prog-pdf '(nil mew-mime-application/pdf))
 |(setq mew-prog-application/pdf "pdftotext")
 |
 |(defvar my-pdftotext-new t)
 |
 |(defun mew-mime-application/pdf-ext (cache begin end &optional parameter)
 |  (with-current-buffer (mew-buffer-message)
 |    (mew-elet
 |     (mew-erase-buffer)
 |     (mew-mime-application/pdf cache begin end parameter)
 |     (mew-summary-display-postscript 'nohook))))
 |
 |(defun mew-mime-application/pdf (cache begin end &optional parameter)
 |  (mew-erase-buffer)
 |  (let ((doit t) file1 file2
 |	(prog mew-prog-application/pdf))
 |    (unless (mew-which-exec prog)
 |      (setq doit nil)
 |      (mew-elet (insert "Install " prog "\n")))
 |    (if (not doit)
 |	(progn
 |	  (mew-elet (insert "\n"))
 |	  (mew-mime-part-messages nil))
 |      (setq file1 (mew-make-temp-name))
 |      (with-current-buffer cache
 |	(mew-flet
 |	 (write-region begin end file1 nil 'no-msg)))
 |      (setq file2 (mew-make-temp-name))
 |      (if (string= prog "pdf2txt")
 |	  (mew-frwlet
 |	      'shift_jis mew-cs-dummy
 |	    (call-process prog nil (current-buffer) nil "-s" file1))
 |	(mew-frwlet
 |	    'euc-japan mew-cs-dummy
 |	  (if my-pdftotext-new
 |	      (call-process prog nil nil nil "-raw" "-enc" "EUC-JP" file1 file2)
 |	    (call-process prog nil nil nil "-raw" "-eucjp" file1 file2))
 |	  (if (file-exists-p file2)
 |	      (insert-file-contents file2)
 |	    ;; passwd?
 |	    (mew-frwlet
 |		'shift_jis mew-cs-dummy
 |	      (call-process "pdf2txt" nil (current-buffer) nil "-s" file1)))))
 |      ;; (japanese-hankaku-region (point-min) (point-max) 'ascii)
 |      (if (file-exists-p file1) (delete-file file1))
 |      (if (file-exists-p file2) (delete-file file2)))))
 |
 |-- 
 | (mailto:[email protected])