タグ別アーカイブ : PDF

PDF Viewer SDK で簡単PDFビューア作成(8)

前回までで、印刷や保存やコピーを禁止したPDFビューアができました。
本日は、さらにユーザーが他のファイルをオープンできないようにして、指定したファイルだけ表示するようにしてみたいと思います。

●ファイルのオープンを禁止する

ファイルのオープンを禁止するには、まずオープンボタンを用意しないようにします。
下の画面は第5回までの記事で作成したPDFビューアからオープンボタンを削除したPDFビューアです。

これでボタンからオープンはできないのですが、SDKの2つのコントロールPDFPageViewCtrlとPDFThumbnailCtrl は、標準でファイルのドラッグ&ドロップを受け付けPDFをオープンするようになっています。

ドラッグ&ドロップでのオープンを禁止するには、第5回で紹介したドラッグ&ドロップ用のイベントハンドラを実装することで行います。

ここでは、DragDropFilesイベントのイベントハンドラを実装します。
Visual StudioのフォームデザイナーでPDFPageViewCtrlのプロパティを開き、イベントの画面で「DragDropFiles」を探して、右の空欄部分をダブルクリックします。

イベントハンドラの雛形コードが生成されますので、以下のように実装します。

    private int pdfPageViewCtrl1_DragDropFiles(string[] files)
    {
        return 0;
    }

このコードは、既定の動作(PDFファイルのオープン)を上書きし、何も処理を行わないようにします。これでアプリケーションにファイルがドラッグ&ドロップされてもオープンできなくなります。

PDFThumbnailCtrl もドラッグ&ドロップが可能ですので、DragDropFilesイベントのイベントハンドラを同じように実装してオープンできないようにします。

あとは、コントロールのOpenDocumentメソッドで、アプリケーションの起動時などに、表示したいPDFファイルをオープンするようにすれば、特定のファイルしかオープンできない閲覧専用のPDFビューアを作成することができます。

以上、「Antenna House PDF Viewer SDK」を利用した閲覧専用のPDFビューアの作り方のご紹介でした。

詳しい機能についてぜひ製品ページをご覧ください。

製品ページ:
https://www.antenna.co.jp/pdfviewersdk/
評価版ダウンロードページ:
https://www.antenna.co.jp/pdfviewersdk/trial.html

PDF Viewer SDK で簡単PDFビューア作成(7)

前回に続いて、印刷や保存やコピーを禁止したPDFビューアの作り方を紹介していきます。
本日はPDFの編集(注釈やページの入れ替え)や内容のコピーを禁止する方法を紹介します。

●PDFの編集やコピーを禁止する

PDF Viewer SDK で提供しているコントロールは、PDFファイルで制限されていなければ、注釈やページの編集、テキストのコピーができます。

保存ボタンを用意しなければ保存はできないのですが、編集もできないように制限したいところです。この動作はコントロールのCtrlStyleプロパティで変更できます。

〇読み取り専用モード

コントロールを読み取り専用にするには、CtrlStyleプロパティにAGCS_READONLYを指定します。

public Form1()
{
      InitializeComponent();

      pdfPageViewCtrl1.CtrlStyle |= (int)AvsCtrlStyle.AGCS_READONLY;
      pdfThumbnailCtrl1.CtrlStyle |= (int)AvsCtrlStyle.AGCS_READONLY;
}

PDFPageViewCtrl では、注釈の移動や削除、注釈の属性の編集などができなくなります。注釈を選択して右クリックメニューから開くプロパティダイアログでは、通常は線のスタイルや色を編集できますが、読み取り専用時にはプロパティが編集できません。

右クリックメニューから注釈のプロパティを開く
プロパティダイアログ

また、PDFThumbnailCtrl では、右クリックメニューでカット&ペーストや新規ページ挿入などのページ編集ができなくなります。

〇プレビューモード

読み取り専用モードにすることで編集はできないようになりました。しかし、読み取り専用モードでは PDFPageViewCtrl でのテキストはコピーできます。

テキストをコピーできないようにするには、AGCS_PREVIEWMODEを指定します。

      pdfPageViewCtrl1.CtrlStyle |= (int)AvsCtrlStyle.AGCS_PREVIEWMODE;
      pdfThumbnailCtrl1.CtrlStyle |= (int)AvsCtrlStyle.AGCS_READONLY;

プレビューモードでは注釈も選択できなくなりポップアップ注釈も開きません。
これで編集やコピーを禁止することができました。

CtrlStyleプロパティを使うと、この他にも注釈を非表示にしたり、オープンアクションを実行しない等の制御ができます。

次回は、ユーザが他のファイルはオープンできないようにしてみたいと思います。

詳しい機能についてぜひ製品ページをご覧ください。

製品ページ:
https://www.antenna.co.jp/pdfviewersdk/
評価版ダウンロードページ:
https://www.antenna.co.jp/pdfviewersdk/trial.html

PDF Viewer SDK で簡単PDFビューア作成(6)

PDFは表示させたいけれど、その内容は印刷されたり保存されたりコピーされたくない、という場合は多いようです。

今回は、印刷や保存やコピーを禁止したPDFビューアの作成方法をご紹介したいと思います。
「Antenna House PDF Viewer SDK」を利用したPDFビューアの作成方法は、以下の記事を参考にしてください。

●印刷や保存を禁止する

次の画面はSDKに付属するサンプルビューアAvsDotNetGuiCtlSampleのソースコードをVisual Studioのフォームデザイナーで開いたところです。

赤枠部分がSDKで提供しているWindows Formコントロールです。それ以外のメニューやボタンはサンプルビューア側で用意しています。

その動作もサンプルビューア側で実装されています。たとえば、印刷メニューが選択された場合はそのイベントハンドラで印刷メソッドPrintDocumentを呼び出します。

private void printMenuItem_Click(object sender, EventArgs e)
{
      pdfPageViewCtrl1.PrintDocument(true, "", 0, 0, 0, 0, 0, 
           AvsPrintOrientation.APO_AUTO, AvsPrintPageScaleMode.APS_SHRINKTOPAPER, 
           true, 1, false, "", 0);
}

最初の引数では、コントロール側で実装ずみの印刷ダイアログを表示するようtrueを指定しています。

実は、印刷や保存を禁止するのは簡単で、単にこのようなメニューやボタンなどのGUIを用意せず、印刷などの処理を呼び出さなければよいのです。そうすればアプリケーションのユーザは操作を行うことができません。実際、第5回までの記事で作成したPDFビューアは、印刷や保存ボタンを用意していませんので、印刷や保存ができません。

では、ショートカット・キーはどうでしょうか。

ショートカット・キーもサンプルビューア側でメニュー項目に割り当てています。以下はForm1.cs ファイルのForm1コンストラクタの冒頭付近のコードです。

printMenuItem.ShortcutKeyDisplayString = "Ctrl+P";
printMenuItem.ShortcutKeys = Keys.Control | Keys.P;

ショートカット・キーもこのような割当を行わなければアプリケーションのユーザは操作ができません。

以上のように、コントロールの機能をアプリケーションから呼び出せないようにすることで、印刷や保存の制限は簡単にできます。

それでは、PDFの編集(注釈やページの入れ替え)や内容のコピーを禁止するにはどうすればよいでしょうか。これはまた次回にご紹介したいと思います。

詳しい機能についてぜひ製品ページをご覧ください。

製品ページ:
https://www.antenna.co.jp/pdfviewersdk/
評価版ダウンロードページ:
https://www.antenna.co.jp/pdfviewersdk/trial.html

【SODEC2020春】第29回ソフトウェア&アプリ開発展 に出展【2020/03/23追記 開催延期のお知らせ】


2020年4月8日(水)〜10日(金)に東京ビッグサイトにて開催予定でした「第29回 Japan IT Week春」は、開催延期となりました。

「第29回Japan IT Week春」開催延期のご連絡 – Japan IT Week 事務局
以上2020/03/23追記


2020年4月8日から開催される「第29回 ソフトウェア&アプリ開発展【SODEC2020春】」にアンテナハウス株式会社は出展致します。

例年は5月開催のところですが、オリンピックの関係で開催時期が1か月早まりました。
今年は春の訪れも早いようなので、いつもより少しだけ厚着でと出展の準備をしてきましたが、ご存じのような事態となっています。
「自粛」「辞退」と気持ちは揺れるところですが、ひと月先は誰にも予測できない状況であれば、
予定通りの開催を前提に粛々と準備を進めるだけと決め、出展のご案内をいたします。

今年も目玉は「PDF技術」。
PDFの作成から閲覧や加工・編集、そしてPDFの再利用を目的としたツールをご紹介いたします。
PDFは様々なドキュメントから変換して閲覧できることで普及してきましたが、それだけではありません。
くっつけたり離したり、書き込んだり取り出したりとお望み通りの加工・編集が可能です。
こんなことが出来ないかなとか、出来たらいいなといったご要望があればご相談に乗ります。
また、もうひとつの目玉として、ドキュメント作成の「省力化による働き方改革」を目的とした「自動組版」の提案です。
XMLなどの構造化文書の作成や大量の文書変換などのお手伝いをいたします。
ぜひともアンテナハウスブースへお立ち寄りください。

■ ご紹介製品

  • PDF Tool API
    ページ結合・分割、しおり・注釈編集などのPDF 加工機能を行うAPIです。
    ブラウザからの呼び出しで利用できるデモを会場で実施します。
  • AH Formatter
    今年20周年を迎え、2月に新バージョンを発売したXML自動組版エンジンのパイオニアです。
    日本語組版など多くの拡張機能により商品レベルの書籍組版ができます。
    また、多言語のドキュメントを大量に高速処理することで、組版の省力化を実現します。
  • Office Server Document Converter
    Microsoft Officeがインストールされていない環境でも、Word/Excel/PowerPoint等の文書をPDFや各種画像ファイルへダイレクト変換するライブラリです。
    パブリッククラウドでオフィス文書の変換を検討している皆さん、ライセンス問題はこれで解決です。
  • PDF Driver
    GDI 型の仮想プリンタドライバと、これを制御する付属APIのセット製品です。
  • PDF Server
    サーバ上で画像データやMSOffice文書からPDFを生成し、イントラネットで配信したり、各種グループウェアへ自動登録を行う開発不要のサーバソリューションです。
  • PDF Viewer SDK
    PDFの表示と編集の専用アプリケーション開発用ライブラリです。

■ 展示会詳細とアンテナハウスブース

会期: 2020年4月8日(水)~4月10日(金)
10:00~18:00(10日のみ17:00終了)
場所: 東京ビッグサイト 西展示棟
★アンテナハウスブース: 西 9-31

さて、新型コロナウイルス関連肺炎について、主催事務局ではWHO(世界保健機関)および厚生労働省のガイドラインに沿って対策を実施します。

3月3日現在予定している会期中の対策は、以下の通りとなります。

  • 出展社及び来場者に対してマスク着用のお願い
  • 全入口ゲートに手指消毒液を設置
  • 全入口ゲートでサーモグラフィーによる体温測定を実施
    37.5度以上の場合、問診票への記入を実施し、医師または看護師との面談の上、入場をお断りする場合がございます。
  • 咳エチケットと頻繁な手洗いを奨励する看板の設置
  • セミナー会場の入口を常時開放し、換気を実施
  • 医師・看護師の常駐および救護室の設置

予断を許さない状況ですが、皆様のご来場をお待ちいたします。

瞬簡PDF 書けまっせ 8の新機能 データトレー機能

前バージョンまでも搭載されていたデータトレー機能が刷新されました。

今まではデータトレーを別ウィンドウで表示した上で挿入していましたが、
今バージョンよりサイドバーにデータトレーを表示してドラッグ&ドロップで任意の場所に挿入するようになっています。

  1. 「表示」メニューでデータトレーにチェックを入れる

    データトレーにチェックを入れる

    データトレーにチェックを入れる

  2. 左サイドのメニューにデータトレーの登録内容が表示されたら本文内へドラッグ&ドロップ

    オブジェクトを挿入する

    オブジェクトを挿入する

サイドメニューの下にあるタブでサムネイル表示との切り替えも可能です。

オブジェクトを挿入する

オブジェクトを挿入する

もちろんデータトレーへのオブジェクトの追加も今まで通り、右クリックから簡単に行う事ができます。
より手軽になったデータトレー機能を使うことで編集の効率もアップします。

是非お試し下さい。

瞬簡PDF 書けまっせ 8 製品情報はこちら

瞬簡PDF 書けまっせ 8の新機能 オブジェクトの回転

次にご紹介するのはオブジェクトの回転機能です。
テキストボックスや矩形などのオブジェクトを挿入した後、
オブジェクトのみを任意の角度に回転できる機能となります。

  1. オブジェクトの一覧を開き入力したい図形を選択。

    オブジェクトを挿入する

    オブジェクトを挿入する

  2. 手動で回転する場合、オブジェクトの回転。

    手動で回転する

    手動で回転する

  3. 角度を指定する場合「書式」メニューの「回転」で角度を指定。

    角度を指定する

    角度を指定する

テーブルや修正テープなどは回転することができませんが、
テキストボックスなどは回転可能となるため、PDFに合わせて文字を挿入することができます。

是非お試し下さい。

瞬簡PDF 書けまっせ 8 製品情報はこちら

瞬簡PDF 書けまっせ 8の新機能 テーブルの挿入

先日、発売された「瞬簡PDF 書けまっせ 8」について、
新たに追加された便利な機能をご紹介したいと思います。

まずは、テーブルの挿入機能。
今までは元のPDFに表があった場合、
表のセルごとにテキストボックスを配置する必要がありました。
しかし、今バージョンで追加されたテーブル機能により、
行と列数を指定して表状のテキストボックスを作成することができるようになりました。
これにより、PDF内の表内に手軽に文字を入力することができます。

  1. オブジェクトの一覧を開き「その他」欄から「テーブル」を選択。

    テーブルを選択する

    テーブルを選択する

  2. 行数と列数を指定。

    行と列を指定する

    行と列を指定する

  3. 挿入範囲を選択。

    挿入範囲を指定する

    挿入範囲を指定する

以上の操作で表を作成することができます。もちろん作成した表の各セルには個別に文字や数値を入力することができます。

各セルに文字や数値を入力

各セルに文字や数値を入力

是非お試し下さい。

瞬簡PDF 書けまっせ 8 製品情報はこちら

「自動組版エンジン【AH Formatter V7】セミナー 」を3/6に開催します【2/27追記:中止のお知らせ】

2/27追記:3/6日に開催を予定しておりました「自動組版エンジン【AH Formatter V7】セミナー 」は新型コロナウイルス感染症に関わる状況の急激な変化を鑑み、開催を中止いたします。

概要

大容量・多言語データに最適な自動組版ソフト【AH Formatter】が、8年振りのメジャーバージョンアップを行いました。その新機能の説明と最新の海外動向、事例紹介、及びDITAに関する簡単なセミナーを行います。

【AH Formatter】は、独自開発した PDF出力エンジンで、
アクセシブルなタグ付きPDF や印刷用の PDF/X、長期保存用の PDF/A などさまざまな PDF形式の出力ができます。

 セミナー内容

AH Formatter 20年の歩み
アンテナハウス 小林 徳滋

AH Formatter V7.0 新機能紹介
 アンテナハウス 額賀 正彦
PDFもDTPデータもハイブリッドで提供可能 自動組版クラウドサービス「DOT3」でのFormatter利用事例
株式会社 ニューキャスト 川原 正隆 様
求人・クーポン・住宅などの情報誌からメーカーや商社発行のカタログなど様々な商業印刷物をクラウド上のFormatter(ASPライセンス)でPDF生成しています。
また、同じデータをInDesignで編集可能なIDMLにも変換してハイブリッドな提供を実現している事例をご紹介します。

AH Formatter 海外動向
アンテナハウス 平出 桂子
Tangeloは企業用レポートを作成するためのソリューションを西ヨーロッパ、北米、アジア太平洋地域のクライアントに提供しているアンテナハウスのパートナーです。TangeloがAH Formatter を使ってどのようなサービスを提供しているかをお伝えします。
DITAの「コンテンツ再利用」について
 アンテナハウス 小林 具典
DITAの大きな目標のひとつである「コンテンツ再利用」の仕組みを説明します。
またこの仕組みを上手に利用することにどういうメリットがあるのかにも触れます。

タイムテーブル

 開始  終了
13:15 13:30 受付開始
13:30 13:35 ご挨
13:35 14:05 AH Formatter 20年の歩み
14:05 14:35 AH Formatter V7.0 新機能紹介
14:35 15:15 事例紹介 ニューキャスト様
15:25 15:55 AH Formatter 海外動向
15:55 16:25 DITAの「コンテンツ再利用」について
16:25 16:45 質疑応答

会場

日時 2020年3月6日(金)13:15~16:45
 会場  関東ITソフトウェア健康保険組合 1FA
 住所 東京都新宿区百人町2丁目27-6

参加登録は次のページで受け付けております。

「こくちーず」で参加登録

AH Formatterのページはこちら

『アウトライナー 3.0』鋭意開発中(2)

『アウトライナー』の基本コンセプトは、デジタル納品・デジタル配信などのデジタル形式で利用するPDFの制作支援ツールです。現在開発中である次バージョンV3.0で追加された「リンク注釈の編集機能」について書いてみたいと思います。

読み込んだPDFに、リンク注釈が存在する場合、その外観がプレビュー上に表示されます。
この矩形をダブルクリックすると、リンク注釈の設定ダイアログを開きます。

リンク注釈の設定ダイアログでは、外観の変更が行えます。
アクションの設定ボタンをクリックすると、アクションの設定ダイアログを開きます。

この例では、編集中のPDFの2ページ上の矩形領域を、飛び先に設定します。

この例では、外部PDFの13ページ上の矩形領域を、飛び先に設定します。

しおりのプロパティに追加されたボタンをクリックすると、アクションの設定ダイアログを開きます。
リンク注釈と同じように、しおりのアクションが設定できます。

ページモード時の、サムネイルビューにあるツールバーに、リンク注釈の外部ファイル入出力用のボタンが増えています。
リンク注釈及び、アクションの情報を、CSVファイル、XMLファイル、JSONファイルに書き出したり、取り込むことができます。

リンク注釈の外部ファイルのXML形式の中をみてみます。
開発中のため、仕様は変更される可能性があります。

2020年4月リリースに向けて鋭意開発中です。2020年3月中旬にはβ版を評価用にリリースする予定です。

製品に関するご質問は
outliner@antenna.co.jp(アウトライナーサポート) まで、お気軽にお問い合わせください。

評価版のお申込 評価版のお申し込み

Webページ http://www.antenna.co.jp/mpd/

『アウトライナー 3.0』鋭意開発中(1)

『アウトライナー』の基本コンセプトは、デジタル納品・デジタル配信などのデジタル形式で利用するPDFの制作支援ツールです。現在開発中である次バージョンV3.0について書いてみたいと思います。

『アウトライナー3.0』の主な変更点

  • 64bit版アプリケーション
    V2.6までは、32bit版アプリケーションです。
    V3.0では、64bit版アプリケーションになります。よりサイズの大きなPDFの編集が可能になります。
  • 文書構造解析ライブラリV2
    V2.6までは、文書構造解析ライブラリV1を搭載しています。
    V3.0では、文書構造解析ライブラリV2を搭載します。しおりの自動解析精度が向上します。
  • リンク注釈の編集機能
    リンク注釈の外観、位置、サイズ変更が、対話的に行えます。
    リンク注釈のアクションの設定も、対話的に行えます。
    アクションの設定機能は、しおりのアクションの設定でも、呼び出せるようになります。
    例えば、外部PDFの指定したページをプレビューしながら、マウスで表示したい座標をドラッグして、飛び先として設定できます。
  • リンク注釈の外部ファイル入出力
    リンク注釈及び、アクションの情報を、CSVファイル、XMLファイル、JSONファイルに書き出したり、取り込むことができます。
    コマンドライン版からの指定も可能です。bat処理で、一括してリンク注釈を設定するなどが可能です。

2020年4月リリースに向けて鋭意開発中です。2020年3月中旬にはβ版を評価用にリリースする予定です。

製品に関するご質問は
outliner@antenna.co.jp(アウトライナーサポート) まで、お気軽にお問い合わせください。

評価版のお申込 評価版のお申し込み

Webページ http://www.antenna.co.jp/mpd/