約 239,389 件
https://w.atwiki.jp/genkiarg/pages/53.html
【黒猫探偵団機密資料/out of game】 11doors.pdf 11doors.pdf
https://w.atwiki.jp/gandharva/pages/10.html
ここに公開されている資料は公式として公開されている資料ではありません。ご注意下さい。 Internet Archivehttp //archive.org/インターネットアーカイブ、版権の切れたテキストのPDFを公開。 シャーストリ http //api.ning.com/files/Ct4BimYh7MjIsK4s*z9L2yls0SA9ydPboGQ1ecpMA9U*J*-w1JFZOtc0SsPpn*WDcghKnheZeDF06ITLBQTjSRIaSvY4Zjy1/buddhist_txt.htm 仏教の論典の原典のPDFを公開。 SCRIBD http //ja.scribd.com/ 最新のPDFも公開されているPDF共有サイト、一部のファイルのダウンロードには登録と何らかのファイルの提供が必要。 和書は少ないが洋書の公開は多い。 Lirs http //www.lirs.ru/lib/ ロシアの仏教学のサイト。龍樹関係資料、唯識御三家(弥勒・無著・世親)関係資料などのPDFが公開されている。
https://w.atwiki.jp/merry_san/pages/23.html
ダウンロード方法 1:お湯を用意する 2:最下層にある欲しいファイルにカーソルを合わせ右クリック 3:せっかくお湯を用意したのでカップ焼きそばをつくる 4:PCに戻り[対象をファイルに保存(A)]を選択 5:カップ焼きそばにお湯を入れ、しばらく待つ 6:保存先を指定してダウンロードされるまで待つ 7:その間、暇なのでお湯を切る 8:麺がすべて流れる ダウンロード
https://w.atwiki.jp/astrophysics_kyoto/pages/25.html
PDF のサイズ変更をする場合は、acroread から PDFを出力する印刷ドライバへ投げれば OK。 linux だとcups-pdf という印刷ドライバをインストールして、 acroread から普通にプリンタで印刷する時と同じように 印刷設定画面でpdfドライバを選択 ページサイズを設定 印刷ボタンを押す ホームディレクトリに PDF/ が作られて、その中に保存される。 出力ファイルの名前は決められない。 ppt から PDF を作るときに縮小しようとすると 一部の文字や図の大きさが変えられないことがあり きたなくなる。 トップページ
https://w.atwiki.jp/duchida/pages/36.html
http //www.atmarkit.co.jp/flinux/rensai/linuxtips/902linuxdepdf.html cups-pdfを入れる。 設定ページ:http //localhost 631/ PDF出力先: /etc/cups/cups-pdf.conf の以下の行 Out ${HOME}/Desktop ←デスクトップにPDFファイルを作成
https://w.atwiki.jp/wiki1_test/pages/2805.html
https://w.atwiki.jp/sevenlives/pages/515.html
Adobe? PostScript Evince Popper? GhostScript? ANSI?CGATS?
https://w.atwiki.jp/prepress-tips/pages/142.html
最終更新日時: 2008/06/30 pdfを調べるツール 使い方の例 Edit pdfを調べるツール 私が現在利用しているものです。 PDF Analyst pdfのオブジェクトに関する情報を すばやく見ることができます。 PDF FontDecoder pdfのフォントに関する情報を すばやく見ることができます。 TSXBIN シンボル表示のできる驚異的なバイナリエディタです。 pdfに限らず ほとんどすべてのデータを シンボリックに見ることができます。 pdfを見るときは 下のマクロを使います。 ※スピードが遅かったり ときどきハングアップしたりもしますが それなりに使えます。 利用は無保証ですが ご自由にどうぞ。 pdf.sym // 初期設定 // 詳細 // --- maxloop #maxloop -1 // --- typedef.h typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned int UINT; typedef unsigned long DWORD; typedef unsigned long ULONG; typedef long LONG; typedef int BOOL; const BOOL TRUE=1; const BOOL FALSE=0; // --- 定数・変数の宣言 unsigned long FileSize, pos, pos_xref, pos_obj; unsigned long o_num, o_cnt, o_off, o_bck, l, o_i, o_j, o_k; unsigned long x_i; unsigned char c, eol_c; unsigned char st; string str, TmpStr; unsigned short OBJ_max = 1000; unsigned long OBJ_top[ OBJ_max ]; unsigned short OBJ_cnt; unsigned long OBJ_srt[ OBJ_max ]; unsigned long OBJ_num[ OBJ_max ]; // --- objectオフセットを初期化 for( o_i = 0; o_i OBJ_max; o_i++ ) { OBJ_top[ o_i ] = 0; OBJ_num[ o_i ] = o_i; } // --- シンボル表示するかどうかを確認 if( MessageBox( シンボル表示します(多少時間がかかります。) , TSXBIN , 1 ) == 2 ) { return; } // pdfの構造を調べる // 詳細 // 最新の相互参照表のオフセットを調べる // 詳細 // --- ファイルサイズを読む FileSize = GetFileSize(); // --- ファイルの終わりから s を探す pos = FileSize; c = \0 ; while( c != s ) { c = GetByte( --pos ); } // --- startxref を探す // ( 見つからないときは中止 ) while( FStrCmp( pos, 0, startxref ) != 0 ) { pos++; if( pos == FileSize ) { pos = 0; MessageBox( startxrefが見つかりません。 , TSXBIN , 0 ); return; } } // --- 数字以外を読み飛ばして c = GetByte( pos++ ); while( c 0 || 9 c ) { c = GetByte( pos++ ); } // --- xrefオフセットを読み pos_xref = 0; while( 0 = c && c = 9 ) { pos_xref = 10 * pos_xref + c - 0 ; c = GetByte( pos++ ); } // --- object配列に格納する x_i = OBJ_max - 1; OBJ_top[ x_i ] = pos_xref; OBJ_num[ x_i ] = OBJ_max; // 注 // object番号をOBJ_maxにしておく // (あとで相互参照表であることを判別するため) // --- xrefオフセットが oでなければ繰り返す { while( pos_xref != 0 ) { // 詳細 // 相互参照表のオブジェクトの一覧を読む // --- 行末文字の判別 // xrefオフセットの位置に移動して // 行末文字まで読み飛ばし pos = pos_xref; c = GetByte( pos++ ); while( ! ( c == 0x0d || c == 0x0a ) ) { c = GetByte( pos++ ); } // 行末文字を読み取る eol_c = c; c = GetByte( pos ); if( c == 0x0a ) { pos++; eol_c = c; } // --- objectオフセットの取得 // while // trailer で始まる箇所まで 繰り返す while( FStrCmp( pos, 0, trailer ) != 0 ) { // { // --- object番号の始まりとobjectの個数を読む // --- 詳細 // 1文字目を読む c = GetByte( pos++ ); // 空白と行末文字を読み飛ばし while( c == 0x20 || c == 0x0d || c == 0x0a ) { c = GetByte( pos++ ); } // object番号の始まりを読む o_num = 0; while( 0 = c && c = 9 ) { o_num = 10 * o_num + c - 0 ; c = GetByte( pos++ ); } // 空白と行末文字を読み飛ばし while( c == 0x20 || c == 0x0d || c == 0x0a ) { c = GetByte( pos++ ); } // objectの個数を読む o_cnt = 0; while( 0 = c && c = 9 ) { o_cnt = 10 * o_cnt + c - 0 ; c = GetByte( pos++ ); } // 空白と行末文字を読み飛ばし while( c == 0x20 || c == 0x0d || c == 0x0a ) { c = GetByte( pos++ ); } // 1文字戻す pos--; if( 0 o_cnt ) { // for // objectの個数分繰り返す for( o_i = 0; o_i o_cnt; o_i++ ) { // { // --- objectオフセットを読み OBJ_topに格納する // --- 詳細 // 文字位置を記憶 pos_obj = pos; // if // 使用中のエントリなら if( GetByte( pos + 17 ) == n ) { // { // 1文字目を読む c = GetByte( pos++ ); // 空白を読み飛ばして while( c == 0x20 ) { c = GetByte( pos++ ); } // objectオフセットを読み o_off = 0; while( 0 = c && c = 9 ) { o_off = 10 * o_off + c - 0 ; c = GetByte( pos++ ); } // objectオフセットの配列に格納する OBJ_top[ o_num + o_i ] = o_off; } // 文字位置を復元し 20進める pos = pos_obj + 20; } } } // --- startxrefの検索と // --- xrefオフセットの取得 // xrefオフセットをクリア pos_xref = 0; // while // startxref で始まる箇所まで 繰り返す while( FStrCmp( pos, 0, startxref ) != 0 ) { // { // --- prevエントリを読む // --- 詳細 // if // prevエントリなら if( FStrCmp( pos, 0, /prev , 1 ) == 0 ) { // { // 数字以外を読み飛ばして c = GetByte( pos++ ); while( c 0 || 9 c ) { c = GetByte( pos++ ); } // xrefオフセットを読み pos_xref = 0; while( 0 = c && c = 9 ) { pos_xref = 10 * pos_xref + c - 0 ; c = GetByte( pos++ ); } if( OBJ_top[ x_i ] != pos_xref ) { // object配列に格納する OBJ_top[-- x_i ] = pos_xref; OBJ_num[ x_i ] = OBJ_max; } else { pos_xref = 0; } // 1文字戻す pos--; } // 次の文字位置へ pos++; // ファイルの終わりだったら中止 if( pos == FileSize ) { MessageBox( startxrefが見つかりません。 , TSXBIN , 0 ); pos = 0; return; } } // --- } } // --- ソート // --- objectオフセットのソート // for // OBJ_topの最後まで繰り返し OBJ_cnt = 0; for( o_i = 0; o_i OBJ_max; o_i++ ) { // { // if // objectオフセットが 0でないとき if( OBJ_top[ o_i ] != 0 ) { // { // objectオフセットとobject番号を読む o_off = OBJ_top[ o_i ]; o_num = OBJ_num[ o_i ]; // if // 1つ目でなく if( 0 OBJ_cnt ) { // { // if // OBJ_srtの最終オフセットより小さいとき if( ( 0 OBJ_cnt ) && ( o_off OBJ_srt[ OBJ_cnt - 1 ] ) ) { // { // 格納場所をサーチ for( o_k = 0; o_k OBJ_cnt; o_k++ ) { if( o_off OBJ_srt[ o_k ] ) { o_j = o_k; break; } } // 格納場所を空ける for( o_k = o_j; o_k OBJ_cnt; o_k++ ) { o_bck = OBJ_srt[ o_k ]; OBJ_srt[ o_k ] = o_off; o_off = o_bck; o_bck = OBJ_num[ o_k ]; OBJ_num[ o_k ] = o_num; o_num = o_bck; } // } } // } } // objectオフセットとobject番号をOBJ_srtに格納 OBJ_srt[ OBJ_cnt ] = o_off; OBJ_num[ OBJ_cnt ] = o_num; OBJ_cnt++; // } } // } } // ファイル末オフセットも格納 OBJ_srt[ OBJ_cnt ] = FileSize; OBJ_num[ OBJ_cnt++ ] = OBJ_max; // オブジェクト数の確認 if( MessageBox( オブジェクト数は + tostr( OBJ_cnt - ( OBJ_max - x_i ) ) + です。 , TSXBIN , 1 ) == 2 ) { return; } // --- オブジェクトを表示 // hedderの表示 TmpStr = header ; pos = 0; while( pos OBJ_srt[ 0 ] ) { pos_obj = pos; while( pos OBJ_srt[ 0 ] ) { c = GetByte( pos++ ); if( c == 0x0d ) { c = GetByte( pos++ ); if( c != 0x0a ) { pos--; } break; } if( c == 0x0a ) { break; } } l = pos - pos_obj; $BYTE TmpStr[ l ]; } // --- objectsの表示 // for // objectの個数分繰り返し for( o_j = 1; o_j OBJ_cnt; o_j++ ) { // { // 位置の確認( デバグ用 ) if( ( o_j - 1 ) == OBJ_cnt ) { if( MessageBox( OBJ_srt[ + tostr( o_j - 1 ) + ] + tostr( OBJ_srt[ o_j - 1 ] ) + pos + tostr( pos ), TSXBIN , 1 ) == 2 ) { return; } } // if // objectのとき if( OBJ_num[ o_j - 1 ] OBJ_max ) { // { // --- obectを表示する // obj の表示 TmpStr = obj + tostr( OBJ_num[ o_j - 1 ] ); // objectの表示 st = 0; while( pos OBJ_srt[ o_j ] ) { pos_obj = pos; if( st == 2 ) { while( pos OBJ_srt[ o_j ] ) { l = FindByteOffset( e , pos ); l++; pos += l; if( OBJ_srt[ o_j ] pos ) { pos = OBJ_srt[ o_j ]; } if( FStrCmp( pos - 1, 0, endstream ) == 0 ) { pos--; break; } } st = 0; } else { if( st == 1 ) { st = 2; } while( pos OBJ_srt[ o_j ] ) { c = GetByte( pos++ ); if( c == ) { if( FStrCmp( pos, 0, stream ) == 0 ) { break; } } if( c == 0x0d ) { c = GetByte( pos++ ); if( c != 0x0a ) { pos--; } break; } if( c == 0x0a ) { break; } } if( FStrCmp( pos, 0, stream ) == 0 ) { st = 1; } } l = pos - pos_obj; $BYTE TmpStr[ l ]; } // } else { } else { // --- xrefを表示する // --- 詳細 // xref の表示 TmpStr = xref ; l = FindByte( eol_c ); l++; pos += l; $BYTE TmpStr[ l ]; // for // trailer まで繰り返す while( FStrCmp( pos, 0, trailer ) != 0 ) { // { // --- object番号の始まりとobjectの個数を読んで表示する // --- 詳細 // 文字位置を記憶 pos_obj = pos; // 1文字目を読む c = GetByte( pos++ ); // 空白を読み飛ばし while( c == 0x20 ) { c = GetByte( pos++ ); } // object番号の始まりを読む o_num = 0; while( 0 = c && c = 9 ) { o_num = 10 * o_num + c - 0 ; c = GetByte( pos++ ); } // 空白を読み飛ばし while( c == 0x20 ) { c = GetByte( pos++ ); } // objectの個数を読む o_cnt = 0; while( 0 = c && c = 9 ) { o_cnt = 10 * o_cnt + c - 0 ; c = GetByte( pos++ ); } // 空白と行末文字を読み飛ばし while( c == 0x20 || c == 0x0d || c == 0x0a ) { c = GetByte( pos++ ); } // 1文字戻す pos--; // 文字数を計算 l = pos - pos_obj; // object番号の始まりとobjectの個数を表示 $BYTE TmpStr[ l ]; // for // objectの個数分繰り返す for( o_i = 0; o_i o_cnt; o_i++ ) { // { // 20バイト表示 TmpStr = xref + tostr( o_num + o_i ); l = 20; pos += l; $BYTE TmpStr[ l ]; } // } } // --- trailerを表示する // trailer の表示 TmpStr = trailer ; // trailerの表示 while( pos OBJ_srt[ o_j ] ) { pos_obj = pos; while( pos OBJ_srt[ o_j ] ) { c = GetByte( pos++ ); if( c == 0x0d ) { if( pos OBJ_srt[ o_j ] ) { c = GetByte( pos++ ); if( c != 0x0a ) { pos--; } } break; } if( c == 0x0a ) { break; } } l = pos - pos_obj; $BYTE TmpStr[ l ]; } // } } // } } 使い方の例 たとえば pdfから cmapを取り出すときは 次のようにします。 PDF FontDecoderで フォントのオブジェクト番号を調べる。 PDF Analystで そのオブジェクトを調べて エンコーディングを知る。/Encoding/Identity-H のときは /BaseFontエントリで サブフォントの名前がわかり /ToUnicodeエントリで Cmapのオブジェクト番号がわかる。 TSXBINで そのオブジェクトを取り出す。 inflate.plで それをインフレートする。 ※ inflate.plは perlのDocumentationのCompress Zlibのところに記載されています。 inflate.pl use strict ; use warnings ; use Compress Zlib ; my $x = inflateInit() or die Cannot create a inflation stream\x0a ; my $input = ; binmode STDIN; binmode STDOUT; my ($output, $status) ; while (read(STDIN, $input, 4096)) { ($output, $status) = $x- inflate(\$input) ; print $output if $status == Z_OK or $status == Z_STREAM_END ; last if $status != Z_OK ; } die inflation failed\x0a unless $status == Z_STREAM_END ; Edit
https://w.atwiki.jp/ssfs/pages/136.html
http //www46.atwiki.jp/ssfs?cmd=upload act=open pageid=8 file=ATM%E3%82%AB%E3%83%BC%E3%83%89%E5%86%8D%E7%99%BA%E8%A1%8C.pdf
https://w.atwiki.jp/kelaf/pages/43.html
Foxit PDF Reader adobeより軽快なPDFビューア ■参考