バージョン選択

フォーラム

メニュー

オンライン状況

77 人のユーザが現在オンラインです。 (60 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 77
もっと...

サイト内検索

質問 > 管理機能 > pdf出力でエラー

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
arts
投稿日時: 2009/8/20 18:10
対応状況: −−−
長老
登録日: 2009/2/7
居住地:
投稿: 268
Re: pdf出力でエラー
ramrun様
ありがとうございます。
私もxp環境でIE8で試してみましたが・・・・
9.12 9.13 どちらも白紙ページがでてきました。
つい1ヶ月前はちゃんと表示されていたので、なんとか
表示させダウンロードできるようになればと思います。
実際、ダウンロードできないと運営できないので・・・・。

古いバージョンは入っていません。
ramrun
投稿日時: 2009/8/21 18:56
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: pdf出力でエラー
下記、赤字の追加で変化ありますか?

data/pdf/fpdf.php
function Output($name='',$dest='')
{
	:
	略
	:
	switch($dest)
	{
		case 'I':
			//Send to standard output
			if(ob_get_contents())
				$this->Error('Some data has already been output, can\'t send PDF file');
			if(php_sapi_name()!='cli')
			{
				//We send to a browser
				header('Content-Type: application/pdf');
				if(headers_sent())
					$this->Error('Some data has already been output to browser, can\'t send PDF file');
				header('Cache-Control: ');
				header('Pragma: ');
				header('Content-Length: '.strlen($this->buffer));
				header('Content-disposition: inline; filename="'.$name.'"');
			}
			echo $this->buffer;
			break;
		case 'D':
			//Download file
			if(ob_get_contents())
				$this->Error('Some data has already been output, can\'t send PDF file');
			if(isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'],'MSIE'))
				header('Content-Type: application/force-download');
			else
				header('Content-Type: application/octet-stream');
			if(headers_sent())
				$this->Error('Some data has already been output to browser, can\'t send PDF file');
			header('Cache-Control: ');
			header('Pragma: ');
			header('Content-Length: '.strlen($this->buffer));
			header('Content-disposition: attachment; filename="'.$name.'"');
			echo $this->buffer;
			break;
		case 'F':
			//Save to local file
arts
投稿日時: 2009/8/22 14:11
対応状況: −−−
長老
登録日: 2009/2/7
居住地:
投稿: 268
Re: pdf出力でエラー
ramurun様
お返事が遅くなり申し訳ありませんでした。
ご指摘の記述をしましたところ、無事ダウンロードすることが
できました。
ありがとうございました。

しかし、私の場合ですが、ペイジェント決済モジュールを
インストールしますと、受注管理画面がペイジェントのオリジナルに書き換えられてしまうようです。
書き換えられてしまうと、ダウンロードができなくなるのを
確認しました。
/data/downloads/module/mdl_paygent/paygent_order_index.tpl

上記ファイルが原因の可能性が高いようです。
これは、私ではなく、プロの方に調べてもらいました。

このスレッドは見られている人数がものすごく多いので
困っている方が多いのかなと思っていますがどうなのでしょうね。
ramurun様の記述をすればダウンロードできるようになりましたので、同じ症状の方は試してみると良いと思います。

ramrun様どうもありがとうございました。
ramrun
投稿日時: 2009/8/23 7:33
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: pdf出力でエラー
解決したようでなによりです。

追加情報として、調べている中で↓があるのに気づきました。

チケット #275 IE+SSL時に帳票生成機能が利用できない。
http://svn.ec-cube.net/open_trac/ticket/275

こちらは同じところでIEに対してのみheader('Pragma:');を設定していますが、わざわざIEに限定する必要はないかと思います。

また、この帳票生成機能ではアクションが3とおりあって
・ブラウザで開く
・ダウンロード → プログラムで開く
・ダウンロード → 保存先

本件は「ダウンロード → プログラムで開く」で引っかかっていました。
余談ですが、正式版ではブラウザで開くのを止めてしまっているようなので、「ブラウザで開く」を選んでいてもダウンロードになります。

多分↓の件で引っかかっていたと思いますが、

[IE] HTTPS URL から Office ドキュメントまたは PDF ファイルを開こうとすると "ダウンロードできません" エラーが発生
http://support.microsoft.com/kb/812935/ja

実際のところ、ダウンロードの際にプログラムで開くを選択すると、HTTPとHTTPSいずれもエラーでした。
バージョンによっても違いがでるものと思われます。
arts
投稿日時: 2009/9/4 10:51
対応状況: −−−
長老
登録日: 2009/2/7
居住地:
投稿: 268
Re: pdf出力でエラー
pdf出力について先日はどうもありがとうございました。
アドビリーダーで開くことができているのですが
受注管理で受注一覧の「編集」の中での帳票作成については
開くことができません。
ダウンロードだけが始まって白い画面になってしまいます。
以前のコード記述の赤字部分を追加してみましたが変化はありませんでした。
教えて頂いたリンク先の問題があるのでしょうかね・・・・。
http://support.microsoft.com/kb/812935/ja
ramrun
投稿日時: 2009/9/4 12:55
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: pdf出力でエラー
引用:
ダウンロードだけが始まって白い画面になってしまいます。


ダウンロードしたものはreaderで開けるんですよね?

先のレスに書いてありますが、正式版ではダウンロードにしかならないようにコードが変えてあります。
ですので、ブラウザのその白い画面の部分に表示されることはありません。
ダウンロードのみに制限した、なにか理由があったものと思いますが、私にはわかりません...
arts
投稿日時: 2009/9/4 13:02
対応状況: −−−
長老
登録日: 2009/2/7
居住地:
投稿: 268
Re: pdf出力でエラー
どうもありがとうございます。

>ダウンロードしたものはreaderで開けるんですよね?

ダウンロードを押しても、ファイルの保存を押しても
blank画面になります。
ですので保存さえできない状態です。
ramrun
投稿日時: 2009/9/4 13:14
対応状況: −−−
仙人
登録日: 2006/11/3
居住地:
投稿: 789
Re: pdf出力でエラー
いまいち状況がよくわからないのですが、いま質問されているのはまた別の環境のEC-CUBEでのことですか?

一応、ちらっと見たところでコード的に、一覧
 data/Smarty/templates/default/admin/order/index.tpl
では直書きされたJavaScript
 fnOpenPdfSettingPage()

編集画面
 data/Smarty/templates/default/admin/order/edit.tpl
では
 win02()
を使って帳票の処理を呼び出しているみたいです。



追記:

IE6で確認したら、確かにダウンロードが始まらない状況なのを確認しました。
というか、編集画面に帳票のボタンがあるということ自体、気づいていませんでしたが(汗)。

で、先に書いたedit.tplにindex.tplのfnOpenPdfSettingPage()を追記して、win02()からfnOpenPdfSettingPage()を使うようにしてみたらダウンロードできるようになりました。

fnOpenPdfSettingPage()については↓

[17806]: #297 納品書PDF一括出力対応
http://svn.ec-cube.net/open_trac/changeset/17806

正式版ではダウンロードに制限しているというのは↓

[17783]: #297 納品書PDF一括出力対応
http://svn.ec-cube.net/open_trac/changeset/17783#file3
arts
投稿日時: 2009/9/4 19:14
対応状況: −−−
長老
登録日: 2009/2/7
居住地:
投稿: 268
Re: pdf出力でエラー
わかりにくい事言ってすみません。
うまく状況を説明できていなかったです。
環境は変わっていませんので一番最初の環境で、
編集画面内の帳票作成ができない状態です。
編集画面では見るファイルが違っていましたので、edit.tplと
チェンジセットのほうを見てみようと思います。
ありがとうございます。
« 1 2 (3)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

ec-cube.co

統計情報

総メンバー数は49,516名です
総投稿数は93,188件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1967
4
468
1818
5
yuh
1602
6
red
1343
7
umebius
1296
8
fukap
907
9
h_tanaka
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
774
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.