私は Web アプリケーションを作成しました。そのユーザーは、PDF ドキュメントを読んで自分のコースを実行できます。そのためには、その PDF ファイルを新しい aspx ページで開く必要があります。
PDFを開くためのコントロールはありますか? または、PDF を開く他の方法はありますか?
ご存知でしたらお助けください。
よろしくお願いします、 k.kavya
これを試すことができます
private void ReadPdfFile()
{
string path = @"C:\Swift3D.pdf";
WebClient client = new WebClient();
Byte[] buffer = client.DownloadData(path);
if (buffer != null)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-length",buffer.Length.ToString());
Response.BinaryWrite(buffer);
}
}
詳細については、 http: //geekswithblogs.net/azamsharp/archive/2005/09/18/54294.aspxを参照してください。
ここでの要件は、基本的に iTextSharp などの優れたライブラリを使用できる pdf ファイルを読みたいということです。 http://sourceforge.net/projects/itextsharp/
次に、それを使用してpdfからデータを文字列に抽出します
public string ReadPdfFile(string fileName)
{
StringBuilder text = new StringBuilder();
if (File.Exists(fileName))
{
PdfReader pdfReader = new PdfReader(fileName);
for (int page = 1; page <= pdfReader.NumberOfPages; page++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);
currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
text.Append(currentText);
}
pdfReader.Close();
}
return text.ToString();
}
次に、その文字列を Web ページに表示します....今は難しくないはずです..お役に立てば幸いです。
PDF ファイルをブラウザーで (ダウンロードせずに) 表示するには、クライアントのブラウザーにアドオンが必要です。たとえば、Google Chrome には組み込みの PDF ビューアーがあり、ファイルを直接開くことができますが、IE と Firefox ではプラグイン (Adobe Reader に付属のプラグイン) をインストールする必要があります。
他に 2 つの方法があります。
ファイルを、ブラウザで直接表示できる HTML、画像、またはその他の形式に変換します。この変換は、サーバー側 (PHP、Python、ASP、任意の言語で記述) を使用してオンザフライで行うことも、すべてのファイルを読み取り可能なファイルに事前に変換することもできます。
もう 1 つの最適な方法は、Flash ベースの PDF ビューア ( http://flexpaper.devaldi.com/など) を使用することです。これは簡単で柔軟性があり、サーバー側のコードを記述する必要はありません。このアプローチは、多くのドキュメント共有サイト (例: http://www.scribd.com/、http://www.slideshare.net/、http://www.docstoc.com/ )で使用されています。
この種の動作はブラウザー自体によって処理されます。PDF ドキュメントをブラウザーにフラッシュするだけで (GeekyCoder で提案されているように)、ブラウザーに応じてドキュメントが表示されるか、[名前を付けて保存] ダイアログが表示されます。
PDF を表示するネイティブ コントロールはありません。pdf が常にページに表示されるようにしたい場合は、独自にコントロールを作成する必要があります (または、無料/有料のカスタム 1 を検索することもできます)。