2

サーバーから動的に生成された HTML を取得して PDF に変換する C# コード ビハインド ファイルがあります。HTML には、<link rel="stylesheet">外部スタイルシートを参照する要素と多くの<img>タグがあります。

これらのファイル、画像、スタイルシートはwww.example.comすべてstatic.example.com. HTML の要素を置き換えるために明白なものを使用しましたstringName.Replace("www.example.com","static.example.com")が、CSS ファイルの参照に対してそうする方法はありますか?

例: 外部ファイルに入る
background-image:url('www.example.com/bg.png');
必要があります。
background-image:url('static.example.com/bg.png');

アプローチに関するアイデアはありますか?創造性は大歓迎です。私は何でも準備ができています !

ありがとう :)

4

4 に答える 4

3

「コード ビハインド ファイル」と言うので、ASP.NET でこれを行っていますか?

HTML コードで String.Replace 関数を使用して、に変更でき<link href="www.example.com/cssfile.css">ます<link href="fixcss.ashx?file=www.example.com/cssfile.css">。次に、fixcss.ashx を記述して CSS ファイルを取得し、文字列の置換を実行します。

于 2011-03-09T19:05:33.053 に答える
2

filestream を使用してファイルを取得し、使用したコードに置き換えることができます。他のアプローチはオープンです

あなたはこれが役に立つかもしれません

CSS パーサー

CSS ファイルの読み取りと解析

于 2011-03-09T18:36:26.813 に答える
1

ああ、ここに私が持っていたアイデアがあります。これは非効率的かもしれませんが、私ができると思うことは次のとおりです。

それぞれ<link rel="stylesheet"><style> ... </style>タグに変更し、ファイルの内容を読み取り、外部スタイルシートを埋め込みスタイルシートに置き換えます。

これは非効率かもしれませんね。

ありがとうございました!

于 2011-03-09T18:59:19.053 に答える
1

さまざまな場合 (および別の環境にいる可能性のある他の人々) にアクセスできる場合は、URL 書き換えモジュールを使用できます (使用する必要があります) 。リダイレクトするだけでなく (PHP アプリの .htaccess のように)、提供されるファイル (CSS ファイルなど) の URL を書き換えることもできます。

于 2011-03-09T19:23:41.600 に答える