人気マンガがだれでも無料♪電子コミック読み放題!!

こんばんわ。

ASPでうちの会社のウェブページを運用する管理者画面を作成しています。

会社の概要や製品資料をPDFにしてありまして、ウェブからダウンロードできるようになっています。

管理者ページではそれらのダウンロード回数などを閲覧できるようになっています。

その中で、そのPDFファイルの内容をサムネイルで表示して欲しいという要望があがっています。

そういったことは可能でしょうか?

お手数をお掛けしますが何卒宜しくお願い申し上げます。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

ASPで行うという事は動的にサムネイルを作成するという事なのでしょうか・・・?


そういった場合は、自らPDFファイルのアーキテクチャに沿った高度な解析プログラムを作成する必要があるかと思います。

フリーウェアで、エクスプローラーのプラグインとしてサムネイル表示できるものを開発されている方もおりますように、技術的には可能ですがハードルが高いものと思われます。

会社の運営方針にもよると思いますが、管理者画面でのサムネイル表示に莫大な工数を要するというのも如何なものかと思いますので、会社の概要や製品資料というものが内容変更が多くないのでしたら、ALT+PrtScrでクリップボードに入れるなり、画像としてファイル形式を指定して保存するなりにしてサムネイル画像を加工された方が簡単だと思われます。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q縮小版のサムネイルの取得(画像ファイル以外で)

エクスプローラーの縮小版で表示されるサムネイルをPictureBox上に表示したいのですが
どのAPIを使用すればよいのでしょうか?
JPG、GIFのサムネイルの取得はGetThumbnailImageで可能ですが、
どのすべてのファイルに対して縮小版で表示されるサムネイルを画像として取得したいのです。

環境はWIndowsXP,Visual Basic 2008 Express Editionです。
VB6であれば、olepro32.dllのOleCreatePictureIndirectを使えばよいみたいなのですが、これに似た方法をVB.Net環境で調べています。

Aベストアンサー

下記が参考になるでしょうか。

http://bbs.wankuma.com/index.cgi?mode=al2&namber=3122&KLOG=12

QListViewコントロールでサムネイル画像を一覧表示するには?

VB初心者です。
.NET TIPSの中に「ListViewコントロールでサムネイル画像を一覧表示するには?」というものがありました
今回、それを利用してサムネイル一覧の表示をしようとして行き詰りました。

作りたいのは以下のものです
○決まったサイズの画像(bitmap)を表示し、その下にファイル名(フルパスでは無い)を表示し、更にその下に元の画像のサイズを表示するようなものを作成したいのですが、作成可能でしょうか?
また、作成可能な場合、どういった方法で作成したら良いか教えて下さい。
行き詰ったのは、第一段階の、サムネイル画像のしたのファイル名の所です。
よく分からずに
ListView1.Items.Add(bmpFiles(i), i)の所を
Dim bmpFileName As String = _
Path.GetFileNameWithoutExtension(bmpFiles(i))
ListView1.Items.Add(bmpFileName)
bmpFileName(ファイル名のみ)に変更したら、ファイル名は表示されるのですが、画像が表示されませんでした。

次に両方書いたのですが画像の下にフルパスその横にファイル名が表示されます。
Dim bmpFileName As String = _
Path.GetFileNameWithoutExtension(bmpFiles(i))
ListView1.Items.Add(bmpFiles(i), i)
ListView1.Items.Add(bmpFileName)
色々調べてみたのですが、思ったような記述が無かったのでここで質問させて頂きました。
拙い質問なので分かり難いかと思いますがアドバイスをよろしくお願いいたします。

VB初心者です。
.NET TIPSの中に「ListViewコントロールでサムネイル画像を一覧表示するには?」というものがありました
今回、それを利用してサムネイル一覧の表示をしようとして行き詰りました。

作りたいのは以下のものです
○決まったサイズの画像(bitmap)を表示し、その下にファイル名(フルパスでは無い)を表示し、更にその下に元の画像のサイズを表示するようなものを作成したいのですが、作成可能でしょうか?
また、作成可能な場合、どういった方法で作成したら良いか教えて下さい。
行き詰っ...続きを読む

Aベストアンサー

n-junです。

画像を表示して、そこにファイル名と画像の(幅と高さ)を表示でしょうか?

ListView1.Items.Add(System.IO.Path.GetFileName(jpgFiles(i)) & vbLf & "幅:" & original.Width _
& " 高さ:" & original.Height, i)

こんな感じなら出来ましたけど、どうでしょう?

QASP.Net ラベルの内容をすぐに更新したい

大変お世話になっております。
昨年は大変お世話になり、多大なご教授をいただきました。
本年も何卒よろしくお願いいたします。

前々からお聞きしようと思っていたのですが、
処理によってラベルの内容がすぐに反映しないのですが
どのようにすればすぐに反映するのでしょうか?

例えば下記のような場合は、ラベルの内容を初期化したいのですが、
それがされるのは、ボタンの処理後になります。
ボタン処理の前にラベルを更新するにはどうすればいいのでしょうか?

もしかしたら 大変初歩的な質問かもしれませんが、
何卒よろしくお願いいたします。

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles RecDateButton.Click

  Me.Label1.Text = ""

  ここからボタンの処理が開始します

End Sub

Aベストアンサー

クライアント側で、ボタンがクリックされた瞬間に行う。
具体的には、クライアント側でボタンのonclickイベントで行う。

<input type="submit" onclick="document.getElementById('Label1').innerText = ''">

サーバーコントロールにクライアントイベント記述用のOnClientClickプロパティがあるので、そこに書く。
ポストバック時では遅いので、一回目のリクエストのときにonclickイベント付のボタンをブラウザに返す。

protected void Page_Load(object sender, EventArgs e)
{
Button1.OnClientClick = "document.getElementById('" + Label1.ClientID + "').innerText = ''";
}

サーバー側イベントとクライアント側イベントは別物だといことを理解するべし。

ユーザーがボタンをクリック
→ボタンのクライアントイベント(onclick)
→formのsubmit
→ブラウザがPOST
→ASP.NETがポストバックを受け取る
→Page_Loadやらいろいろ
→ボタンのサーバーイベント(Click)
→Renderやらいろいろ
→ブラウザにHTMLを返す
→ブラウザ側の表示

クライアント側で、ボタンがクリックされた瞬間に行う。
具体的には、クライアント側でボタンのonclickイベントで行う。

<input type="submit" onclick="document.getElementById('Label1').innerText = ''">

サーバーコントロールにクライアントイベント記述用のOnClientClickプロパティがあるので、そこに書く。
ポストバック時では遅いので、一回目のリクエストのときにonclickイベント付のボタンをブラウザに返す。

protected void Page_Load(object sender, EventArgs e)
{
Button1.OnClientClick = "docu...続きを読む

Q画面のリフレッシュを意図的に行いたい

Metaタグを使用せずに画面リフレッシュをしたくって、
以下のプログラムを作成したのですが、
上手く動作しません。

やりたいこととしては、以下の3つです。
 ・METAタグの使用はしたくない(都合上使用できない)。
 ・必ずMain_LOAD()をコールした後にリフレッシュさせたい。
 ・★処理を行った後にrefreshTest.aspをリフレッシュしたい。


---ASPファイル refreshTest.asp ここから--------
<SCRIPT language="JavaScript">
<!--
function refresh()
{
location.href = "rereload.html";
setTimeout('refresh()', 3000);
}
// -->
</SCRIPT>
<%
Sub Main_LOAD()
On Error Resume Next
%>

5秒後に再読み込みします
~ここに色んな処理を記述したい~
<%
End Sub
%>

<SCRIPT language="JavaScript">
<!--
//★処理が終わった時点で、↓を行う
refresh();
// -->
</SCRIPT>
---ASPファイル refreshTest.asp ここまで--------

長くなってすみませんが、宜しくお願い致します。

Metaタグを使用せずに画面リフレッシュをしたくって、
以下のプログラムを作成したのですが、
上手く動作しません。

やりたいこととしては、以下の3つです。
 ・METAタグの使用はしたくない(都合上使用できない)。
 ・必ずMain_LOAD()をコールした後にリフレッシュさせたい。
 ・★処理を行った後にrefreshTest.aspをリフレッシュしたい。


---ASPファイル refreshTest.asp ここから--------
<SCRIPT language="JavaScript">
<!--
function refresh()
{
location.href = "rereload.html";...続きを読む

Aベストアンサー

失礼します。

>JavaScript→クライアントスクリプトは理解しています。
残念ながら理解されていればこの質問にはならないと思います。
setTimeoutで呼ばれるプロシージャで再読み込みするのに
>必ずMain_LOAD()をコールした後にリフレッシュさせたい。
といっても、Main_LOADはサーバサイドなので
この考え方自体が不可能でしょう。
プロシージャ抜きでサーバサイドの先頭から記述すれば
リフレッシュ時の最初で動作します。

QjavascriptでASPにデータを渡す

javascript,ASPの初心者です。
現在親画面にあるデータを子画面にて使用したいと思っています。
親画面の、データをjavascriptのonclickを使用して関数に渡すところまでは出来ています。その関数内でwindow.open()をコールし子画面を呼び、Page_Load()内でデータを使用したいと思っているのですが、定義?の方法が分かりません。分かりづらい説明ですみませんが、よろしくお願いいたします。

Aベストアンサー

ぉぉぅ。。。自分と同じような境遇の人がww

自分も、JavaScript、ASPの勉強を始めたばかりの初心者っすww
初心者同士、よろしく~ ̄▽ ̄


んーと。。。
その関数を渡せればいいわけっすね。。。???




<Script language ="JavaScript">
function Go_child(send){
document.form.sendchild.value = send;
win_style = "";(ウインドウの構成要素(ツールバーの有無とか。
win_name = " ";(ウインドウの名前?
window.open("child.asp",win_name,win_style);
}
</script>
<body>
<%
ASPの構文~。

a = ~~~ ←aを子画面に。と過程。
%>
<form name ="form">

<input type ="button" name = "button1" onClick="Go_child(<% =a%>)">
<input type ="hidden" name ="sendchild" value ="">
</form>
</body>




<Script language ="JavaScript">
function getsend(){//JavaScriptで持ってくる場合。?
document.form2.text2.value = opener.document.form1.text1.value;
}
</script>
<body onLoad="getsend()">
<%'ASPで持ってくる場合。?
Dim bbb
bbb = Request.Form("sendchild")
%>
<form name ="form2">
<input type ="text" name ="text2">
<input type ="text" name ="text3" value ="<% =bbb%>">

</form>
</body>


JavaScriptでもASPでも受け取れるかな?
動作は確認してませんけど。。。
こんな感じでいいのかな?と思います(汗

ぉぉぅ。。。自分と同じような境遇の人がww

自分も、JavaScript、ASPの勉強を始めたばかりの初心者っすww
初心者同士、よろしく~ ̄▽ ̄


んーと。。。
その関数を渡せればいいわけっすね。。。???




<Script language ="JavaScript">
function Go_child(send){
document.form.sendchild.value = send;
win_style = "";(ウインドウの構成要素(ツールバーの有無とか。
win_name = " ";(ウインドウの名前?
window.open("child.asp",win_name,win_style);
}
</script>
<body>
...続きを読む

QGridViewを自動的にスクロールするには

Aクライアントはデータをサーバーに送信し、サーバーは蓄積します。
Bクライアントはサーバーに蓄積されたデータに変化があれば,
その都度GridViewで常時表示しています。
GridViewには新しいデータを下の行に、古いデータを上の行にという順序で表示しています。
GridViewにはスクローバーを付けています。
GridViewではいつも最新のデータを表示させたいので、いつも最下行を表示させるようにしたい。
つまり、新しい情報を1行表示させるたびに、1行スクロールアップさせたいのですが、スクロールの方法がわかりません。
言語はJavaScriptを使用しています。よろしくお願いします。

Aベストアンサー

JavaScriptを記述している(クライアント・コールバックの関数)の最後に、
var ctrl = document.getElementById("スクロールバーを出しているコントロールのID");
ctrl.scrollTop=ctrl.clientHeight;
のように書けば…うまくいくような…気がします。(気のせいかも)

QASP.NET 2.0(C#) GridViewのソート機能をデフォルトで降順にしたい

GridViewコントロールで「並べ替えを有効」にすると、各フィールドごとに、ヘッダーのリンクをクリックするたびに昇順→降順でソートできるようになりますが、これをあるフィールドだけ、降順→昇順にすることはできないでしょうか?

GridView1のSortingイベントで

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
//hogeフィールドだけデフォルトで降順にしたい
if (e.SortExpression == "hoge")
{
if (e.SortDirection == SortDirection.Ascending)
e.SortDirection = SortDirection.Descending;
else
e.SortDirection = SortDirection.Ascending;
}
}

などとしてみたのですが、これでは常に降順になってしまいます。

よろしくお願いします。

GridViewコントロールで「並べ替えを有効」にすると、各フィールドごとに、ヘッダーのリンクをクリックするたびに昇順→降順でソートできるようになりますが、これをあるフィールドだけ、降順→昇順にすることはできないでしょうか?

GridView1のSortingイベントで

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
//hogeフィールドだけデフォルトで降順にしたい
if (e.SortExpression == "hoge")
{
if (e.SortDirection == SortDirection.Ascending)...続きを読む

Aベストアンサー

たぶん DataGridViewのSortDirectionプロパティを参照して
GridViewSortEventArgsを組み立てているのだろうと思います

Sessionなどでそのソートを制御したい列のSortDirectionを保存しておかないといけないように思います

GridViewのDataBoundイベントで初期状態を保存します
  if ( Session["mySort"] == null )
  {
    Session["mySort"] = GridView1.SortDirection;
  }

Sortingイベントで
  // 判定用の変数に現在の状態を取り込む
  SortDirection mySort = (SortDirection)Session["mySort"];
  if ( e.SortExpression == "hoge" )
  {
    if ( mySort == SortDirection.Ascending )
    {
      mySort = SortDirection.Descending;
    }
    else
    {
      mySort = SortDirection.Ascending;
    }
    e.SortDirection = mySort;
    // 次回用にセッションに保存
    Session["mySort"] = mySort;
  }

といった具合でどうでしょう
# 字下げは全角スペースです

たぶん DataGridViewのSortDirectionプロパティを参照して
GridViewSortEventArgsを組み立てているのだろうと思います

Sessionなどでそのソートを制御したい列のSortDirectionを保存しておかないといけないように思います

GridViewのDataBoundイベントで初期状態を保存します
  if ( Session["mySort"] == null )
  {
    Session["mySort"] = GridView1.SortDirection;
  }

Sortingイベントで
  // 判定用の変数に現在の状態を取り込む
  SortDirection mySort = (SortDirection)S...続きを読む

Q「関数が定義されていない」とのエラーが出る

こんにちは,よろしくお願いします。
何が何だか分からなくて困っています。
IEでは問題なく動くのに,Firefoxだと関数が定義されていないとのエラーが出ます。「<関数名> is not defined 」

スクリプトは,外部ファイル化してあります。キータイプの間違いもありません。何度も確認しました。

function aaa(){
 (スクリプト)
}

<body onload="aaa()">
のようにして呼び出しています。
いったい,何が悪いのでしょうか?

また,Operaだと,「リンク先のスクリプトを読み込むことができません」とのエラーが出ます。
元になるPHPファイルでは,
<script type="text/javascript" language="javascript" src="../javascript/AAAAA.js"></script>
のようにして呼び出しています。
もちろん,ファイルネームのタイプミスはありません。

ちなみに,スクリプトの内容は,日付関連のコードを記述しています。
試行錯誤している時に,他の日付関連のコードを実行したときに,
dayoption is not defined
というエラーが出たことがあります。
関数が存在しているのに,定義されていないと出るのは,もしかすると,日付関連の関数等の使い間違いではないかとも考えています。
使っているものは,Date()とgetYear()です。これらのうちのどちらかがFirefoxやOperaだとサポートされていないのでしょうか?

どうか御指導ください。よろしくお願いします。

こんにちは,よろしくお願いします。
何が何だか分からなくて困っています。
IEでは問題なく動くのに,Firefoxだと関数が定義されていないとのエラーが出ます。「<関数名> is not defined 」

スクリプトは,外部ファイル化してあります。キータイプの間違いもありません。何度も確認しました。

function aaa(){
 (スクリプト)
}

<body onload="aaa()">
のようにして呼び出しています。
いったい,何が悪いのでしょうか?

また,Operaだと,「リンク先のスクリプトを読み込むことが...続きを読む

Aベストアンサー

たぶんなんらかの凡ミスでしょうけど・・・・
firefoxでだめなら、firefoxのアドオンのfirebugで検証するのが一番です

QGridViewからチェックボックスでデータを選択し、次のページへ送信する動作について

現在VisualWebDeveloper2005にて、セミナーの申し込みページを作成しています。
動作は、コース一覧(GridView)からチェックボックスで受けたいコースを選択し、GridViewの下にある[申し込む]ボタンを押すとGridViewからチェックがついている行のデータ(コースID)を取得し、次ページに送信→次ページでそのIDをもとにGridViewで詳細情報を表示する確認ページを作成したいと思っています。
GridViewの中にチェックボックスを作成し、チェックボックスがオンになっているもののみ、という部分まではプログラムが完成しているのですが、取得したデータを送信→次ページで受け取り表示の部分がわからずに困っています。

チェックした行のデータをSessionに入れようと考えたのですが

'チェックボックスがオンになっている時、その行のIDを取得してテキストボックスに表示
Protected Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs)
For Each row As GridViewRow In GridView1.Rows
Dim cb As CheckBox = CType(row.FindControl("cbSelect"), CheckBox)
If cb.Checked Then
Session("test") = row.Cells(1).Text
Response.Redirect("kakunin.aspx")
End If
Next
End Sub

このプログラムだと複数の項目をチェックしても1つしかデータが送信されないのでどうすればいいかわからない状態です。
3日ほどどうすればいいかを検索してみたのですが、良い答えが見つからなかったので質問させていただきます。よろしくお願いします。

現在VisualWebDeveloper2005にて、セミナーの申し込みページを作成しています。
動作は、コース一覧(GridView)からチェックボックスで受けたいコースを選択し、GridViewの下にある[申し込む]ボタンを押すとGridViewからチェックがついている行のデータ(コースID)を取得し、次ページに送信→次ページでそのIDをもとにGridViewで詳細情報を表示する確認ページを作成したいと思っています。
GridViewの中にチェックボックスを作成し、チェックボックスがオンになっているもののみ、という部分まではプログラムが完成...続きを読む

Aベストアンサー

検索してもでてこないでしょう。
仕組みを考えて対応してください。

GridView1.Rows は、GridView1 のすべての行を返します。つまり、For ~ Next ループは 行数分繰り返されるわけですから、cb.Checked を判断したら、配列やリストなどに row.Cells(1).Text の値を貯めていって、ループが終わってから、セッション変数に格納します。

Qポストバック時のDatasourceバインド処理について

いつもお世話になっております。
VS2005 FrameWork2.0にて
ASPポストバックのDatasourceの挙動について質問させて下さい。

使用コントロールはDatasourceプロパティを持っていればなんでもいいのですが、例えばデザイナで、

DropDownList.DatasourceIdに SqlDatasourceを指定し、
SqlDatasourceのSelectQueryに" Select * from Table1 "
なんて指定しておけば、いくらポストバックが発生しても
常にDropDownList.DatasourceがNullでない状態で
、なおかつSQLサーバーをプロファイルしていても
Select文の発行は初回の1回だけでした。

でも、
手動で
DropDownList.DataSource = GetDataSource1()
DropDownList.DataBind()

※GetDataSource1()は、データベースをOpenしてDataTableを返すメソッド

みたいにコード上でバインドしておくと、
次のポストバック時にDataSourceがNULLになっています。

毎ポストバック時にDataBind()を書くと、
毎回Open~Select処理が走ってしまい嬉しくありません。

手動バインドさせる場合のスタンダードな書き方ってあるのでしょうか?

こういったことがナンセンスで、
本来は
[DataObjectMethod(DataObjectMethodType.Select)]属性をつけたメソッドを用意してObjectDatasourceのSelectメソッド等でやるのがスタンダードなんだよ
といったご指摘もあれば全てお聞きしたいと思っております。

よろしくお願い致します。

いつもお世話になっております。
VS2005 FrameWork2.0にて
ASPポストバックのDatasourceの挙動について質問させて下さい。

使用コントロールはDatasourceプロパティを持っていればなんでもいいのですが、例えばデザイナで、

DropDownList.DatasourceIdに SqlDatasourceを指定し、
SqlDatasourceのSelectQueryに" Select * from Table1 "
なんて指定しておけば、いくらポストバックが発生しても
常にDropDownList.DatasourceがNullでない状態で
、なおかつSQLサーバーをプロファイルしていても
Select...続きを読む

Aベストアンサー

いくつかの条件がからんでいますが、一般的にということで。。

ポストバック時、BindControlのDataSourceプロパティはnullになっていますが、通常、ViewStateをonにしていれば、BindControl自身の値(RepeaterであればItemTemplate生成のテキストボックスなど)がViewStateにドカンと保持されて、自動的に再表示されますので、再度DataBindする必要はないと思います。

自分は、ASP.NET 2.0 Web Formであれば、
初回時:データソースから読込み、DataBind実行
ポストバック時:追加・削除・更新の場合のみ、DB操作を行ってから読込み、DataBind実行
といった感じで統一しています。

ただ、毎回DBから読み込む方式と、ViewStateに値を埋めておいて送信する方法の比較ですが、DBドライバ側のキャッシュ機能などを考えれば、デカいViewStateより再SELECTのほうが早いような感じがします。

また、新しいASP.NET MVCではもはやViewStateもPostBackも使っていません(やっぱり)。
SQL DataSourceもObject DataSourceもキレイサッパリなくなって、「LINQかEntity Frameworkを使え」ということのようです。

いくつかの条件がからんでいますが、一般的にということで。。

ポストバック時、BindControlのDataSourceプロパティはnullになっていますが、通常、ViewStateをonにしていれば、BindControl自身の値(RepeaterであればItemTemplate生成のテキストボックスなど)がViewStateにドカンと保持されて、自動的に再表示されますので、再度DataBindする必要はないと思います。

自分は、ASP.NET 2.0 Web Formであれば、
初回時:データソースから読込み、DataBind実行
ポストバック時:追加・削除・更新の場合のみ...続きを読む


人気Q&Aランキング