SyntaxHighlighter

2013年1月10日木曜日

ブログにソースコードを掲載する方法 (2/2)

前回からの続きで、実際にブログに張り付ける方法です。

1.貼り付けるソースを”< pre class="brush: 言語; " >”と”< /pre >”で挟みます。
  言語は、cとかjavaとかまさにソース言語です。


<pre class="brush: c; ">
void main() {
              printf("Hello world!\n");
}
</pre>

 ソース上に”<”、”>”、”&”を含んで入る場合は、”<script class="brush: 言語"   type="syntaxhighlighter"><![CDATA[”と”]]></script>”で挟みます。
言語は、phpとかhtmlのようになると思います。


<script class="brush: php" type="syntaxhighlighter"><![CDATA[
       <h1>Sample Source</h1>
    <?php echo "HELLO PHP!"; ?>
]]></script>



【注意】上の例では”<>”を全角にしてあります。コピーして使用する場合は、注意してください。


2.上記の手順で事前に貼り付けるソースを用意しておきます。(任意ですが)
3.記事の中に【ここに張り付け】といった目印を書いておきます。

4.編集モードを”作成”から”HTML”に変更します。

5.HTML表示の【ここに張り付け】に掲載したいソースをコピーします。


6.プレビュー等で結果を確認してください。うまくいったでしょうか?
  見栄えを良くするオプションもいろいろあるので、試してみてください。
  (オプションの参考:「SyntaxHighlighterの使い方編」)

void main() {
 printf("Hello world!\n");
}



2012年12月28日金曜日

ブログにソースコードを掲載する方法(1/2)

Bloggerにサンプルソースを載せる方法について調べてみた。

 手順として

 1.Syntax Highlighter Scripts Generatorからスクリプトを生成する。
   「Select Brushes」は、複数指定が可能です。


2.できあがったスクリプトを画面上で右クリックしてコピーをします。
  「Copy To ClipBoard」をクリックしてもコピーされなかった。

3.Bloggerダッシュボードから「レイアウト」→「ガジェットを追加」をクリックします。


4.追加するガジェットの一覧画面からHTML/JavaScriptをクリックします。


5.タイトルに適当な名前をつけて、コンテンツに2.でコピーした内容を貼り付けます。
  最後に保存をクリックして完了です。



6.では、試してみましょう。

できた!
実際に張り付けるまでの手順の詳細については次回報告します。

2012年12月12日水曜日

スクレイピング

最近、WEBのまとめ記事が多いので、どのように収集しているのか、調べてみた。
その中で、「スクレイピング」というキーワードがあったので、ちょっと深入りしてみた。

参考にしたのは「phpによるスクレイピング処理入門


そもそも、スクレイピングとは、WebサイトからWebページのHTMLデータを収集して、特定のデータを抽出、整形し直すことだそうです。

この技術を使えば、車の画像だけを集めるとか、いろいろ応用ができそうです。

この入門で苦労した点を整理しておきます。

1.PHP: Tidy 関数の設定
 phpinfo();で見たときに存在しなかったため、設定の必要がありました。

 C:\xampp\phpにあるPHP.INIから「;extension=php_tidy.dll」を探して「extension=php_tidy.dll」
 と修正して保存します。(先頭の「;」をとるだけ)
 次にXAMPPのApacheを再起動(下図の赤枠「STOP」をクリック後「START」をクリック)します。
 

 この後、phpinfo();で見ると出来上がっています。



2.サンプルソースの不具合
 「4. Webサイトの情報取得方法」に記載のソースを一部修正
 07.<title>phpによるスクレイピング処理入門:はてなブックマークの情報を取得
→</title>を追加
 07.<title>phpによるスクレイピング処理入門:はてなブックマークの情報を取得 </title>phpによるスクレイピング処理入門:はてなブックマークの情報を取得  
注”<”は、わざと全角にしてあります。

 11.define(INIT_URL , "http://b.hatena.ne.jp/");
→INIT_URLをダブルコーテーションではさむ
 11.define("INIT_URL" , "http://b.hatena.ne.jp/");

以上です。
ちなみにPHPのバージョンは5.3.1です。



2012年11月30日金曜日

突然 クイズ です。

Q:まったく同じ名前のファイルがデスクトップ上にあります。
  どうしてこのようなことができたのでしょう?




A:ユーザーのデスクトップとパブリックのデスクトップにファイルが存在しているからです。
  初め見たときには、ドキリとしましたが、理由が分かればなるほどですね。

2012年11月16日金曜日

Googleドライブ インストール時の日本語化について

Google ドライブという5Gまで無料で利用できるオンラインストレージサービスがあるとのことで、
早速インストールをしてみた。
インストールガイドは検索すればいろいろ出てくるので、お好きなもので良いと思う。
ちなみに私は「Googleドライブ(Google Drive)」の使い方 - nanapi Webを参考にしました。

このときに、不安だったのが説明用画面が日本語なのに、自分の画面が英文であったこと。

いったん、作業を中断して日本語化から始めた。
そのときの設定方法を画像で貼っておきます。(すでに日本語化したあとですが)


2012年11月15日木曜日

PHPからのPDF出力 日本語対応

PHPからPDF出力を行うと文字化けしてしまう。

解決策としてまずはarialunicid0-japanese.phpをダウンロードします。
このリンクに行くと勝手にダウンロードが始まりますのでご注意ください。

今回はtcPDFを使用するため、ダウンロードしたファイルをC:\xampp\htdocs\tcpdf\fontsにコピーします。


これで、日本語のPDFができるはずです。



ちなみにmPDFとdomPDFは、この方法でもだめでした。


2012年11月14日水曜日

PHPEXCELでPDF出力に挑戦

帳票設計をエクセルで行って、そのまま書式オーバーレイのように使えないかと思い挑戦してみた。
まずは、PHPExcel 1.7.8をダウンロード。適当な場所で展開後、C:\xampp\htdocs\配下にフォルダー毎配置。
次にPDF出力は、C:\xampp\htdocs\PHPExcel\Testsにあるサンプルソース21pdf.phpにあった3種類(tcPDF5.9mPDF5.4domPDF0.6.0beta3)をダウンロード。PHPExcelと同じように展開後、C:\xampp\htdocs\配下にフォルダー毎配置。

これで、環境は完了。
21pdf.phpを参考にしながら、以下の2か所を修正
あと、私はソースをC:\xampp\htdocs\sampleにおいているためパスを変更した
set_include_path(get_include_path() . PATH_SEPARATOR . '../PHPEXCEL/Classes/');
$rendererLibraryPath = '../' . $rendererLibrary;



※使用するPDF変換ツールの設定
// Change these values to select the Rendering library that you wish to use
// and its directory location on your server
//$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF;
//$rendererLibrary = 'MPDF54';
$rendererName = PHPExcel_Settings::PDF_RENDERER_TCPDF;
$rendererLibrary = 'tcpdf';
//$rendererName = PHPExcel_Settings::PDF_RENDERER_DOMPDF;
//$rendererLibrary = 'dompdf';


※PDF出力時に日本語フォントを設定

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');
$objWriter->setSheetIndex(0);
$objWriter->setFont('arialunicid0-japanese');
$objWriter->save(str_replace('.php', '_'.$rendererName.'.pdf', __FILE__));


なんとか、入力したエクセルに値をセットしPDFとして出力することはできたが
レイアウトはぼろぼろだった(悲しい)
次の課題としたい。

また、”arialunicid0-japanese”で苦しむ人がいるかも知れないので、
こちらの設定方法は2012/11/15投稿分に記載しています。