diff --git a/ConcatPDF-Doc/ConcatPDF-Help.html b/ConcatPDF-Doc/ConcatPDF-Help.html new file mode 100644 index 0000000..a2349ee --- /dev/null +++ b/ConcatPDF-Doc/ConcatPDF-Help.html @@ -0,0 +1,33 @@ + + + + + + + +iTextFront Help File + + + + + + + +

+Japanese
+

+

+English
+

+ + + + \ No newline at end of file diff --git a/ConcatPDF-Doc/ConcatPDF-Helpen.html b/ConcatPDF-Doc/ConcatPDF-Helpen.html new file mode 100644 index 0000000..a19c091 --- /dev/null +++ b/ConcatPDF-Doc/ConcatPDF-Helpen.html @@ -0,0 +1,299 @@ + + + + ConcatPDF + + + + + + + +

Japanese English

+

ConcatPDF help file.

+

What is ConcatPDF ?

+

ConcatPDF is the tool to concatenate PDF files. It can do the + followings in one operation.

+ +

GUI version and CUI version are both available./p> +

+

How to Use it ?

+ +

CUI version

+

ConcatPDF [option]... {input-file}[#[n]-[m]]...

+

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{input-file}[#[[B]{n}]-[[B]{m}]]Extract page n to page m in the + input-file. Count from last page when a prefix B is opted + before n or m. URI is acceptable.
Options
/outfile {file-name}Save concatenated PDF file as file-name.
/security {128|40} {user-password|""} + {master-password|""} {permission}... +

+ permissions := ( printing | modify-contents | copy | + modify-annotations | fill-in | screen-readers | assembly | + degraded-printing )

+
Security setting.
+ 128 --- 128-bit RC4
+ 40 --- 40-bit RC4
+ printing --- Allow to print.
+ modify-contents ---  Allow to modify.
+ copy --- Allow to copy or extract.
+ modify-annotations --- Allow to add or modify + annotations or form fields.
+ fill-in --- Allow to input form field and + signature. (128-bit RC4 only)
+ screen-readers --- Allow to enable + accessibility. (128-bit RC4 only)
+ assembly --- Allow to modify document assembly. + (128-bit RC4 only)
+ degraded-printing --- Allow to print degraded + mode. (128-bit RC4 only)
+

+ /viewer {preference}...

+

preference + := ( page-layout-single-page | page-layout-continuous | + page-layout-continuous-facing-left | + page-layout-continuous-facing-right | page-mode-use-none | + page-mode-use-outlines | page-mode-use-thumbs | + page-mode-full-screen | hide-toolbar hide-menubar | + hide-window-UI | fit-window | center-window )

+
page-layout-single-page --- Display one page at + a time.
+ page-layout-continuous --- Display the pages in + one column.
+ page-layout-continuous-facing-left --- Display + the pages in two columns, with odd numbered pages on the left.
+ page-layout-continuous-facing-right --- Display + the pages in two columns, with odd numbered pages on the right.
+ page-mode-use-none --- Neither document outline + nor thumbnail images visible.
+ page-mode-use-outlines --- Document outline + visible.
+ page-mode-use-thumbs --- Thumbnail images + visible.
+ page-mode-full-screen --- Full-screen mode, + with no menu bar, window controls, or any other window visible.
+ hide-toolbar --- A flag specifying whether to + hide the viewer application's toolbars when the document is + active.
+ hide-menubar --- A flag specifying whether to + hide the viewer application's menu bar when the document is + active.
+ hide-window-UI --- A flag specifying whether to + hide user interface elements in the document's window (such as + scroll bars and navigation controls), leaving only the + document's contents displayed.
+ fit-window --- A flag specifying whether to + resize the document's window to fit the size of the first + displayed page.
+ center-window --- A flag specifying whether to + position the document's window in the center of the screen.
/add-outlinesAdd file names as outlines.
/fitting {location}

+ location := ( XZY | Fit | FitH | FitV | ... )

+
Specify the location of the document window on a destination + page if /add-outlines is opted.
+ XZY
--- Retains.
+ Fit --- Fit the entire page.
+ FitH --- Fit the entire width of the page.
+ FitV --- Fit the entire height of the page.
+ See PDF Reference: Interactive Features > Document-Level + Navigation > Destinations to know the details.
/copy-outlinesCopy bookmarks from the original files.
The following options can not be + described in @file-name file.
/charset {charset-name}Specify character set.
/helpShow help.
@{file-name}Specify options in plain text. Options are split by line + feed.
+

 

+

Notice that the installed directory of ConcatPDF.exe is included in + the environment variable PATH. +

+

Examples

+ +

GUI version

+

How to Use

+

It's quite easy. Drag and drop PDF files you want to concatenate and + save as the concatenated file.

+

File -- Add

+

Add files you want to concatenate.

+

File -- Save as

+

Save the concatenated file.

+

File -- Outlines +

+
File -- Outlines -- Add Outlines +
+

Flag to add file names to the document as outlines.

+
File -- Outlines -- Location and Zoom
+

Specify the location of the document window on a destination page.

+
File -- Outlines -- Copy Outlines
+

Flag to copy bookmarks including the original files.

+

File -- Viewer Preferences

+

Set options for viewer preferences.

+

File -- Document Security

+

Set options for document securities.

+

File -- Exit

+

Close this application.

+

Edit -- Split

+

Split selected files to page-by-page.

+

Edit -- Remove

+

Remove selected files from a list.

+

Edit -- Select All

+

Select all items in a list.

+

Edit -- Up, Down/h4> +

+

Move selected files up or down in a list.

+

View--View by Acrobat/h4> +

+

View a concatenated file.

+

View--View This Item/h4> +

+

View a focused file.

+

DecryptPDF

DecryptPDF [option]... {input-file} {output-file}

+ + + + Edit -- Up, Down +

Move selected files up or down in a list.sword} +

View a concatenated file.e. + View--View This Item + +

View a focused file.elp. +

+ +
+

SplitPDF

+

SplitPDF [option]... {input-file}...

+ + + + + + + + + + + + + + +
Options
/outdir {output-directory}A directory name to store splitted PDF files.
/helpShow help.
+

License etc.

+

This library is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published + by the Free Software Foundation; either version 2.1 of the License, or + (at your option) any later version.

+

This library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser + General Public License for more details.

+

You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

+

+

This application uses the following libraries.

+
+

iTextSharp + --- This library is distributed under AGPL.

+
+

Contact

+

+ mailto:ujihara@aurora.dti.ne.jp?subject=ConcatPDF

+

Include 'ConcatPDF' in subject, please.

+

+

CCopyright(c) 2004-2012 Kazuya Ujihara <ujihara.jp>. All rights reserved.

+ + \ No newline at end of file diff --git a/ConcatPDF-Doc/ConcatPDF-Helpja.html b/ConcatPDF-Doc/ConcatPDF-Helpja.html new file mode 100644 index 0000000..898bbf5 --- /dev/null +++ b/ConcatPDF-Doc/ConcatPDF-Helpja.html @@ -0,0 +1,259 @@ + + + + ConcatPDF ヘルプファイル + + + + + + + +

Japanese + English

+

ConcatPDF ヘルプファイル

+

ConcatPDF とは?

+

PDF ファイルを結合するアプリケーションです。次の操作ができます。

+ +

CUI、GUI 両方のバージョンがあります。しおりも保持することができます。

+

使い方

+ +

CUI版

+

ConcatPDF [option]... {input-file}[#[n]-[m]]...

+

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{input-file}[#[[B]{n}]-[[B]{m}]]input-file の中の n ページから m ページを抽出します。n, + m に、Bのプレフィックスついているときは、最後のページから数えたページです。 URI も指定可能です。
Options
/outfile {file-name}結合した PDF ファイルを file-name というファイル名で保存します。
/security {128|40} {user-password|""} {master-password|""} + {permission}... +

permissions := ( printing | + modify-contents | copy | modify-annotations | fill-in | screen-readers | + assembly | degraded-printing )

+
文書のセキュリティ設定。
+ 128 --- 128-bit RC4
+ 40 --- 40-bit RC4
+ printing --- 印刷の許可
+ modify-contents ---  文書の変更の許可
+ copy --- コピー、抽出の許可
+ modify-annotations --- 注釈、フォームフィードの作成の許可
+ fill-in --- フォームフィールドの入力または署名の許可 (Acrobat 5 以降)
+ screen-readers --- アクセシビリティを有効にすることの許可 (Acrobat 5 以降)
+ assembly --- 文書アセンブリの変更の許可 (Acrobat 5 以降)
+ degraded-printing --- 低解像度での印刷の許可 (Acrobat 5  以降)
/viewer {preference}... +

preference := ( + page-layout-single-page | page-layout-continuous | + page-layout-continuous-facing-left | page-layout-continuous-facing-right | + page-mode-use-none | page-mode-use-outlines | page-mode-use-thumbs | + page-mode-full-screen | hide-toolbar hide-menubar | hide-window-UI | fit-window + | center-window )

+
page-layout-single-page --- 単一ページ表示。
+ page-layout-continuous --- 連続ページ表示。
+ page-layout-continuous-facing-left --- 見開き。偶数ページは左。
+ page-layout-continuous-facing-right --- 見開き。偶数ページは右。
+ page-mode-use-none --- しおり、サムネールの非表示。
+ page-mode-use-outlines --- しおりの表示。
+ page-mode-use-thumbs --- サムネールの表示。
+ page-mode-full-screen --- 全画面表示。
+ hide-toolbar --- ツールバーの非表示。
+ hide-menubar --- メニューの非表示。
+ hide-window-UI --- UIに関するコントロール(スクロールバー、ナビゲーションコントロールなど)の非表示。
+ fit-window --- 全体表示。
+ center-window --- 文書をスクリーンの中央に表示。
/add-outlinesファイル名をしおりとして使用します。
/fitting {location}

+ location := ( XYZ | Fit | FitH | FitV | その他 )

+
/add-outlines が指定されている場合、その行き先のページの表示位置を指定します。
+ XYZ --- 変更しません。
+ Fit --- ページ全体が表示されます。
+ FitH --- ページの高さに合せます。
+ FitV --- ページの幅に合せます。
+ 詳しくは、PDF Reference の Interactive Features > Document-Level Navigation > + Destinations をご覧ください。
/copy-outlinesもとのファイルから、しおりをコピーします。
これ以下のオプションは、@file-name の中には記述することはできません。
/charset {charset-name}使用する文字コード。
/helpコマンドラインオプションを表示する。
@{file-name}file-name の中のテキストを改行で区切り、オプションを指定します。非ANK文字を利用するときには、これより先に、/charset + オプションを指定してください。
+

 

+

コマンドラインで使う場合には、ConcatPDF をインストールしたディレクトリを Path に追加するか、ConcatPDF.exe + をフルパスで指定する必要があります。

+

+ +

GUI版

+

基本的には、結合したいファイルをドロップして、File→Save + Asで保存します。リストのヘッダをクリックするとその列の要素にしたがって並び替えます。

+

File -- Add

+

結合したいファイルを加えます。

+

File -- Save as

+

ファイルを結合し保存します。

+

File -- Outlines

+
File -- Outlines -- Add Outlines +
+

ファイル名をしおりとして使用します。

+
File -- Outlines -- Location and Zoom
+

しおりをクリックしたときの、行き先のページの表示位置を指定します。

+
File -- Outlines -- Copy Outlines
+

もとのファイルのしおりをコピーします。

+

File -- Viewer Preferences

+

文書の表示方法に関する設定をします。

+

File -- Document Security

+

暗号化に対する設定をします。

+

File -- Exit

+

終了します。

+

Edit -- Split

+

選択されたファイルをページごとに分割します。

+

Edit -- Remove

+

選択されたファイルをリストから除きます。

+

Edit -- Select All

+

すべてのファイルを選択します。

+

Edit -- Up, Down

+

選択されたファイルの順序を変更します。

+

View -- View by Acrobat

+

結合されたファイルを表示します。

+

View -- View This Item

+

フォーカスを持ったファイルを表示します。

+

DecryptPDF

+

DecryptPDF [option]... {input-file} {output-file}

+

 

+ + + + + + + + + + + + + + +
Options
/password {password}password --- 文書のマスターパスワード
/helpコマンドラインオプションを表示する
+

SplitPDF

+

SplitPDF [option]... {input-file}...

+ + + + + + + + + + + + + + +
Options
/outdir {output-directory}分割したファイルを格納するディレクトリ(デフォルトは、デスクトップ+ファイル名)
/helpコマンドラインオプションを表示する
+

その他

+

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

+

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

+

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

+

+

このアプリケーションは、次のライブラリを利用しています。

+
+

iTextSharp --- This library is distributed under AGPL.

+
+

連絡先

+

mailto:ujihara@aurora.dti.ne.jp?subject=ConcatPDF

+

'ConcatPDF' をメールのタイトルに含めてください。

+

 

+

Copyright(c) 2004-2008 Kazuya Ujihara <ujihara.jp>. All + rights reserved.

+ + \ No newline at end of file diff --git a/ConcatPDF-Doc/ConcatPDF-History.txt b/ConcatPDF-Doc/ConcatPDF-History.txt new file mode 100644 index 0000000..0664885 --- /dev/null +++ b/ConcatPDF-Doc/ConcatPDF-History.txt @@ -0,0 +1,84 @@ +ConcatPDF history + +1.2.5 (2012-06-30) + GUI version + Preview window. + +1.2.4 (2012-06-21) + TIFF as output format is supported. + Fixed outline dialog. + +1.2.3 (2012-06-16) + Multi-apge-TIFF is supported. + +1.2.2 (2012-06-13) + This version works on .NET Framework 3.5 and J# runtime is no longer required. + for both versions + Converting image to PDF feature. + +1.1.11 (2008-12-09) + for GUI version + Japanese captions were added. + +1.1.10 (2006-10-17) + for CUI version + SplitPDF is added. + +1.1.9 (2006-10-09) + for both versions + Fixed master password setting. + +1.1.8 (2006-09-08) + for both versions + Fixed an error regarding network. + +1.1.7 (2006-08-15) + This version is based on iText.NET 1.4.1 and fixed minor problems. + for window version + Fixed 'Remove All' feature. + +1.1.6 (2006-04-21) + This version is based on iText.NET 1.4 and fixed minor problems. + for command line version + GNU.Classpath.JAXP.dll and LibPDF.dll are moved to GAC. Now, you can store ConcatPDF.exe in any place. + for window version + ConcatPDFUI separated. It is no point for users. + Sorting files is supported. It can do by clicking header of file. + +1.1.4 (2005-04-23) + This version is based on iText .NET 1.3.0-3 + for command line version + DecryptPDF is added. + for both versions + This version fixes to read 128-bits encrypted PDF. + An option fitting is added to specify how to fit at the destination page of outlines. + +1.1.3 (2004-10-04) + for command line version + Viewer Preference setting of 1.1.2 does not work. This version fixes it. + +1.1.2 (2004-10-02) + This version is based on iText .NET 1.02-7. + for command line version + URI input is supported. + Specifying a page number from the last page is supported. + for both versions + Viewer preferences are supported. + +1.1.1 (2004-08-08) + This version is based on iText .NET 1.02-6. + +1.1.0 (2004-06-13) + for window version + Fixed a delete icon is not valid. + Delete temporary files at exit. + File dropping to an application icon is supported. + Keep window states in a registry. + Query owner password when encrypted files are added. + for both versions + Include file names as outline. + +1.0.1 + The first release. + +Copyright(c) 2004-2012 Kazuya Ujihara . All rights reserved. diff --git a/ConcatPDF-Doc/ConcatPDF-readme.txt b/ConcatPDF-Doc/ConcatPDF-readme.txt new file mode 100644 index 0000000..0e52a92 --- /dev/null +++ b/ConcatPDF-Doc/ConcatPDF-readme.txt @@ -0,0 +1,54 @@ +Sorry this file is written in Japanese. English summary is written in the following page. Please check it. + + http://www.ujihara.jp/ConcatPDF/en/ + + + \tg FConcatPDF + @\ FPDFt@Č +t@CFConcatPDF-1.2.4.zip + ΉOS FWindows XP/Vista/7 +K{\tgFMicrosoft .NET Framework Version 3.5 for Windows XP + mF FWindows 7 Professional + 쐬 F@Ɓ@(Kazuya UJIHARA) + J F2004-01-14 + XV F2012-06-21 +\tgʁFt[\tg + E-Mail Fmailto:ujihara@aurora.dti.ne.jp?subject=ConcatPDF + HP Fhttp://www.ujihara.jp/ConcatPDF/ + T|[g F҈Ƀ[ + ]ڏ F҂ɘA +CZXFLGPL + + + +PDF 𑀍삷AvP[VłB̑삪ł܂B + +PDF ̌ +PDF ̈ꕔy[W̒o +PDF ̈Í +PDF ̃r[̐ݒ +PDF ̈Í iDecryptPDFj +PDF 1y[WƂւ̕ iSplitPDFj +摜t@CPDFւ̕ϊ + +CUI o[W GUI o[W܂B + +K{\tg̓ + +Microsoft .NET Framework Version 3.5 ĔЕz”\pbP[W --- http://www.microsoft.com/downloads/details.aspx?familyid=333325FD-AE52-4E35-B531-508D977D32A6 + +CXg[@ + +@1. ConcatPDF-???.zip 𕜍B +@2. Setup.exe sB + +Ɛ + +@ۏ؂łB + +̑ + +@ӌ́Amailto:ujihara@aurora.dti.ne.jp?subject=ConcatPDF ܂ŁB(”\ȃ[AhX(Hotmail, Yahoo, GmailȂ)̃[́AIɃXpƂȂ܂) +@ + +Copyright(c) UJIHARA Kazuya 2004-2012. All rights reserved. diff --git a/ConcatPDF-Doc/ConcatPDF.css b/ConcatPDF-Doc/ConcatPDF.css new file mode 100644 index 0000000..60a45cf --- /dev/null +++ b/ConcatPDF-Doc/ConcatPDF.css @@ -0,0 +1,15 @@ +p { + text-indent: 1em; + margin-top:0; + margin-bottom:0; +} +.style1 { + text-align: right; +} +.style2 { + text-align: center; +} +.style3 { + border-width: 1px; + width: 40%; +} diff --git a/ConcatPDF.sln b/ConcatPDF.sln new file mode 100644 index 0000000..423f81f --- /dev/null +++ b/ConcatPDF.sln @@ -0,0 +1,84 @@ + +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConcatPDF", "ConcatPDF\ConcatPDF.csproj", "{A43D8B80-8D7C-4C71-AFD0-D77B9D777300}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibPDF", "LibPDF\LibPDF.csproj", "{3E32649E-4D1E-47F6-AAB3-00D5D773D2E5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DecryptPDF", "DecryptPDF\DecryptPDF.csproj", "{B407ACB7-333B-48EA-AAE0-7B5D8735D3F0}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SplitPDF", "SplitPDF\SplitPDF.csproj", "{07604FBD-ED61-4FF8-902D-C3ABEEE4C8E7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConcatPDFUI", "ConcatPDFUI\ConcatPDFUI.csproj", "{2B695FC2-64BF-4D21-9867-E63C8B000EE9}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConcatPDFW", "ConcatPDFW\ConcatPDFW.csproj", "{96C7AD13-98B8-43F5-BD12-75EF54A8DE19}" +EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "ConcatPDFDeploy", "ConcatPDFDeploy\ConcatPDFDeploy.vdproj", "{93ED7A1C-F06C-4F6D-8830-33CDC5AF916B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A43D8B80-8D7C-4C71-AFD0-D77B9D777300}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A43D8B80-8D7C-4C71-AFD0-D77B9D777300}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A43D8B80-8D7C-4C71-AFD0-D77B9D777300}.Debug|x86.ActiveCfg = Debug|x86 + {A43D8B80-8D7C-4C71-AFD0-D77B9D777300}.Debug|x86.Build.0 = Debug|x86 + {A43D8B80-8D7C-4C71-AFD0-D77B9D777300}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A43D8B80-8D7C-4C71-AFD0-D77B9D777300}.Release|Any CPU.Build.0 = Release|Any CPU + {A43D8B80-8D7C-4C71-AFD0-D77B9D777300}.Release|x86.ActiveCfg = Release|x86 + {A43D8B80-8D7C-4C71-AFD0-D77B9D777300}.Release|x86.Build.0 = Release|x86 + {3E32649E-4D1E-47F6-AAB3-00D5D773D2E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3E32649E-4D1E-47F6-AAB3-00D5D773D2E5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3E32649E-4D1E-47F6-AAB3-00D5D773D2E5}.Debug|x86.ActiveCfg = Debug|x86 + {3E32649E-4D1E-47F6-AAB3-00D5D773D2E5}.Debug|x86.Build.0 = Debug|x86 + {3E32649E-4D1E-47F6-AAB3-00D5D773D2E5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3E32649E-4D1E-47F6-AAB3-00D5D773D2E5}.Release|Any CPU.Build.0 = Release|Any CPU + {3E32649E-4D1E-47F6-AAB3-00D5D773D2E5}.Release|x86.ActiveCfg = Release|x86 + {3E32649E-4D1E-47F6-AAB3-00D5D773D2E5}.Release|x86.Build.0 = Release|x86 + {B407ACB7-333B-48EA-AAE0-7B5D8735D3F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B407ACB7-333B-48EA-AAE0-7B5D8735D3F0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B407ACB7-333B-48EA-AAE0-7B5D8735D3F0}.Debug|x86.ActiveCfg = Debug|x86 + {B407ACB7-333B-48EA-AAE0-7B5D8735D3F0}.Debug|x86.Build.0 = Debug|x86 + {B407ACB7-333B-48EA-AAE0-7B5D8735D3F0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B407ACB7-333B-48EA-AAE0-7B5D8735D3F0}.Release|Any CPU.Build.0 = Release|Any CPU + {B407ACB7-333B-48EA-AAE0-7B5D8735D3F0}.Release|x86.ActiveCfg = Release|x86 + {B407ACB7-333B-48EA-AAE0-7B5D8735D3F0}.Release|x86.Build.0 = Release|x86 + {07604FBD-ED61-4FF8-902D-C3ABEEE4C8E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {07604FBD-ED61-4FF8-902D-C3ABEEE4C8E7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {07604FBD-ED61-4FF8-902D-C3ABEEE4C8E7}.Debug|x86.ActiveCfg = Debug|x86 + {07604FBD-ED61-4FF8-902D-C3ABEEE4C8E7}.Debug|x86.Build.0 = Debug|x86 + {07604FBD-ED61-4FF8-902D-C3ABEEE4C8E7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {07604FBD-ED61-4FF8-902D-C3ABEEE4C8E7}.Release|Any CPU.Build.0 = Release|Any CPU + {07604FBD-ED61-4FF8-902D-C3ABEEE4C8E7}.Release|x86.ActiveCfg = Release|x86 + {07604FBD-ED61-4FF8-902D-C3ABEEE4C8E7}.Release|x86.Build.0 = Release|x86 + {2B695FC2-64BF-4D21-9867-E63C8B000EE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2B695FC2-64BF-4D21-9867-E63C8B000EE9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2B695FC2-64BF-4D21-9867-E63C8B000EE9}.Debug|x86.ActiveCfg = Debug|x86 + {2B695FC2-64BF-4D21-9867-E63C8B000EE9}.Debug|x86.Build.0 = Debug|x86 + {2B695FC2-64BF-4D21-9867-E63C8B000EE9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2B695FC2-64BF-4D21-9867-E63C8B000EE9}.Release|Any CPU.Build.0 = Release|Any CPU + {2B695FC2-64BF-4D21-9867-E63C8B000EE9}.Release|x86.ActiveCfg = Release|x86 + {2B695FC2-64BF-4D21-9867-E63C8B000EE9}.Release|x86.Build.0 = Release|x86 + {96C7AD13-98B8-43F5-BD12-75EF54A8DE19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {96C7AD13-98B8-43F5-BD12-75EF54A8DE19}.Debug|Any CPU.Build.0 = Debug|Any CPU + {96C7AD13-98B8-43F5-BD12-75EF54A8DE19}.Debug|x86.ActiveCfg = Debug|x86 + {96C7AD13-98B8-43F5-BD12-75EF54A8DE19}.Debug|x86.Build.0 = Debug|x86 + {96C7AD13-98B8-43F5-BD12-75EF54A8DE19}.Release|Any CPU.ActiveCfg = Release|Any CPU + {96C7AD13-98B8-43F5-BD12-75EF54A8DE19}.Release|Any CPU.Build.0 = Release|Any CPU + {96C7AD13-98B8-43F5-BD12-75EF54A8DE19}.Release|x86.ActiveCfg = Release|x86 + {96C7AD13-98B8-43F5-BD12-75EF54A8DE19}.Release|x86.Build.0 = Release|x86 + {93ED7A1C-F06C-4F6D-8830-33CDC5AF916B}.Debug|Any CPU.ActiveCfg = Debug + {93ED7A1C-F06C-4F6D-8830-33CDC5AF916B}.Debug|x86.ActiveCfg = Debug + {93ED7A1C-F06C-4F6D-8830-33CDC5AF916B}.Release|Any CPU.ActiveCfg = Release + {93ED7A1C-F06C-4F6D-8830-33CDC5AF916B}.Release|Any CPU.Build.0 = Release + {93ED7A1C-F06C-4F6D-8830-33CDC5AF916B}.Release|x86.ActiveCfg = Release + {93ED7A1C-F06C-4F6D-8830-33CDC5AF916B}.Release|x86.Build.0 = Release + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ConcatPDF/ConcatPDF.csproj b/ConcatPDF/ConcatPDF.csproj new file mode 100644 index 0000000..831ee37 --- /dev/null +++ b/ConcatPDF/ConcatPDF.csproj @@ -0,0 +1,89 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {A43D8B80-8D7C-4C71-AFD0-D77B9D777300} + Exe + Properties + ConcatPDF + ConcatPDF + v3.5 + 512 + true + Develop.snk + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\x86\Debug\ + DEBUG;TRACE + full + x86 + true + GlobalSuppressions.cs + prompt + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + true + GlobalSuppressions.cs + prompt + + + + False + ..\dll\itextsharp.dll + + + + 3.5 + + + + + Properties\VersionInfo.cs + + + + + + + + + + {3E32649E-4D1E-47F6-AAB3-00D5D773D2E5} + LibPDF + + + + + \ No newline at end of file diff --git a/ConcatPDF/ConcatPDFMain.cs b/ConcatPDF/ConcatPDFMain.cs new file mode 100644 index 0000000..08e89d5 --- /dev/null +++ b/ConcatPDF/ConcatPDFMain.cs @@ -0,0 +1,300 @@ +/* + Copyright 2003, 2004, 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +using System; +using System.Collections; +using System.IO; +using System.Text; + +using iTextSharp.text.pdf; +using Ujihara.PDF; + +namespace Ujihara.ConcatPDF +{ + class MainModule + { + static Encoding encoding = Encoding.UTF8; + static PdfEncryptInfo encryptInfo = null; + static PdfConcatenatorOption appendOption = new PdfConcatenatorOption(); + static int viewerPreference = 0; + + private static string CommandLineExample = "ConcatPDF [switches] {input-file}..."; + + static void ShowUsage() + { + Console.Write( + CommandLineExample + "\n" + + "Switches:\n" + + " /outfile {file-name} Specify concatenated PDF file name.\n" + + " /add-outlines Add file names as outline.\n" + + " /fitting ( XYZ | Fit | FitB ) Set how to fit on a destination page.\n" + + " /copy-outlines Copy bookmarks from the original file.\n" + + " /security {128|40} {user-password|\"} {master-password|\"} {permission}...\n" + + " permission := ( printing | modify-contents | copy | modify-annotations | fill-in | screen-readers | assembly | degraded-printing\n" + + " /viewer {preference}... Set viewer preferences.\n" + + " preference := ( page-layout-single-page | page-layout-continuous | page-layout-continuous-facing-left | page-layout-continuous-facing-right | page-mode-use-none | page-mode-use-outlines | page-mode-use-thumbs | page-mode-full-screen | hide-toolbar hide-menubar | hide-window-UI | fit-window | center-window )\n" + + " @{file-name} Read options from file. Options are splited by line feed.\n" + + " /charset Character set for @{file-name}.\n" + + " /help Show this message.\n" + + ""); + } + + [STAThread] + static int Main(string[] args) + { + ArrayList argArray = new ArrayList(args.Length); + int i; + + try + { + for (i = 0; i < args.Length; ) + { + string parm = args[i++]; + + if (parm == null) + { + break; + } + else if (parm == "/charset") + { + parm = args[i++]; + encoding = Encoding.GetEncoding(parm); + } + else if (parm == "/?" || parm == "/help") + { + ShowUsage(); + return 0; + } + else + { + if (parm.Length == 0) + { + argArray.Add(parm); + } + else if (parm.Substring(0, 1) == "@") + { + string fileName = parm.Substring(1); + StreamReader reader = new StreamReader(fileName, encoding); + string opt = reader.ReadToEnd(); + string[] opts = opt.Split('\n'); + for (int j = 0; j < opts.Length; j++) + { + string o = opts[j].Trim(); + if (!(o == "")) argArray.Add(o); + } + } + else + { + argArray.Add(parm); + } + } + } /*GetOptLoop*/ + + args = new string[argArray.Count]; + for (i = 0; i < argArray.Count; i++) + { + args[i] = (string)argArray[i]; + } + + Stream concatenatedFileStream = null; + + for (i = 0; i < args.Length; ) + { + string parm = args[i++]; + + if (false) + { + } + else if (parm == "/outfile") + { + string s = args[i++]; + if (s == "-") + concatenatedFileStream = System.Console.OpenStandardOutput(); + else + concatenatedFileStream = new FileStream(Path.GetFullPath(s), FileMode.Create, FileAccess.Write); + } + else if (parm == "/security") + { + string len = args[i++]; + string userPass = args[i++]; + string ownerPass = args[i++]; + encryptInfo = new PdfEncryptInfo(int.Parse(len), userPass, ownerPass, 0); + for (; i < args.Length; i++) + { + string p = args[i].ToLower(); + if (false) {} + else if (p == "printing") encryptInfo.permissions |= PdfWriter.AllowPrinting; + else if (p == "modify-contents") encryptInfo.permissions |= PdfWriter.AllowModifyContents; + else if (p == "copy") encryptInfo.permissions |= PdfWriter.AllowCopy; + else if (p == "modify-annotations") encryptInfo.permissions |= PdfWriter.AllowModifyAnnotations; + else if (p == "fill-in") encryptInfo.permissions |= PdfWriter.AllowFillIn; + else if (p == "screen-readers") encryptInfo.permissions |= PdfWriter.AllowScreenReaders; + else if (p == "assembly") encryptInfo.permissions |= PdfWriter.AllowAssembly; + else if (p == "degraded-printing") encryptInfo.permissions |= PdfWriter.AllowDegradedPrinting; + else + { + break; + } + } + } + else if (parm == "/viewer") + { + for (; i < args.Length; i++) + { + string p = args[i].ToLower(); + if (false) {} + else if (p == "page-layout-single-page") viewerPreference |= PdfWriter.PageLayoutSinglePage; //Display one page at a time. + else if (p == "page-layout-continuous") viewerPreference |= PdfWriter.PageLayoutOneColumn; // Display the pages in one column. + else if (p == "page-layout-continuous-facing-left") viewerPreference |= PdfWriter.PageLayoutTwoColumnLeft; //Display the pages in two columns, with oddnumbered pages on the left. + else if (p == "page-layout-continuous-facing" || p == "page-layout-continuous-facing-right") viewerPreference |= PdfWriter.PageLayoutTwoColumnRight; //Display the pages in two columns, with oddnumbered pages on the right. + else if (p == "page-mode-use-none") viewerPreference |= PdfWriter.PageModeUseNone; // Neither document outline nor thumbnail images visible. + else if (p == "page-mode-use-outlines") viewerPreference |= PdfWriter.PageModeUseOutlines; // Document outline visible. + else if (p == "page-mode-use-thumbs") viewerPreference |= PdfWriter.PageModeUseThumbs; // Thumbnail images visible. + else if (p == "page-mode-full-screen") viewerPreference |= PdfWriter.PageModeFullScreen; // Full-screen mode, with no menu bar, window controls, or any other window visible. + else if (p == "hide-toolbar") viewerPreference |= PdfWriter.HideToolbar; // A flag specifying whether to hide the viewer application's toolbars when the document is active. + else if (p == "hide-menubar") viewerPreference |= PdfWriter.HideMenubar; // A flag specifying whether to hide the viewer application's menu bar when the document is active. + else if (p == "hide-window-ui") viewerPreference |= PdfWriter.HideWindowUI; // A flag specifying whether to hide user interface elements in the document's window (such as scroll bars and navigation controls), leaving only the document's contents displayed. + else if (p == "fit-window") viewerPreference |= PdfWriter.FitWindow; // A flag specifying whether to resize the document's window to fit the size of the first displayed page. + else if (p == "center-window" || p == "centre-window") viewerPreference |= PdfWriter.CenterWindow; // A flag specifying whether to position the document's window in the center of the screen. + else + { + break; + } + } + if ((viewerPreference & PdfWriter.PageModeFullScreen) != 0) + { + if ((viewerPreference & PdfWriter.PageModeUseNone) != 0) viewerPreference |= PdfWriter.NonFullScreenPageModeUseNone; // Neither document outline nor thumbnail images visible. + if ((viewerPreference & PdfWriter.PageModeUseOutlines) != 0) viewerPreference |= PdfWriter.NonFullScreenPageModeUseOutlines; // Document outline visible. + if ((viewerPreference & PdfWriter.PageModeUseThumbs) != 0) viewerPreference |= PdfWriter.NonFullScreenPageModeUseThumbs; // Thumbnail images visible. + } + } + else if (parm == "/add-outlines") + { + appendOption.AddOutlines = true; + } + else if (parm == "/fitting") + { + string s = args[i++]; + if (false) { } + else if (s.Equals("XYZ")) + s = "/" + s + " null null null"; + else if (s.Equals("Fit") || s.Equals("FitB")) + s = "/" + s; + else if (s.Equals("FitH") || s.Equals("FitV") || s.Equals("FitBH") || s.Equals("FitBV")) + s = "/" + s + " null"; + else if (s.Equals("FitR")) + s = "/" + s + " null null null null"; + else + if (s[0] != '/') + s = "/" + s; + appendOption.FittingStyle = s; + } + else if (parm == "/copy-outlines") + { + appendOption.CopyOutlines = true; + } + else + { + if (concatenatedFileStream == null) + throw new Exception("Missing outfile."); + PdfConcatenator con = new PdfConcatenator(concatenatedFileStream, encryptInfo, viewerPreference); + try + { + --i; + int fileCount = args.Length - i; + for (int j = 0; j < fileCount; j++) + { + PageRange[] pageRanges = null; + string fileName = args[i + j].Trim(); + + int cp = fileName.LastIndexOf('#'); + if (cp >= 0) + { + string pageRange = fileName.Substring(cp + 1).Trim(); + fileName = fileName.Substring(0, cp).Trim(); + + char[] spt = new char[1]; + spt[0] = ','; + string[] ranges = pageRange.Split(spt); + pageRanges = new PageRange[ranges.Length]; + + for (int k = 0; k < ranges.Length; k++) + { + string pageSpec = ranges[k]; + int start = 1; + int end = int.MaxValue; + int indxedOfH = pageSpec.IndexOf('-'); + if (indxedOfH < 0) + { + start = end = IntXParse(pageSpec); + } + else + { + string begin = pageSpec.Substring(0, indxedOfH).Trim(); + string last = pageSpec.Substring(indxedOfH + 1).Trim(); + if (begin != "") + start = IntXParse(begin); + if (last != "") + end = IntXParse(last); + } + pageRanges[k] = new PageRange(start, end); + } + } + con.Append(UriGetFullPath(fileName), pageRanges, appendOption); + } + } + finally + { + con.Close(); + concatenatedFileStream.Close(); + } + return 0; + } + } + } + catch (Exception ee) + { + Console.Write(ee.Message); + System.Diagnostics.Debug.WriteLine(ee.StackTrace); + return 1; + } + + //no imput files. + Console.Write(CommandLineExample + "\n" + "\"ConcatPDF /help\" for details.\n"); + return 0; + } + + private static string UriGetFullPath(string fileName) + { + try + { + return Path.GetFullPath(fileName); + } + catch + { + } + return fileName; + } + + private static int IntXParse(string str) + { + if (str.Substring(0, 1) == "B") + str = "-" + str.Substring(1); + return int.Parse(str); + } + } +} diff --git a/ConcatPDF/Develop.snk b/ConcatPDF/Develop.snk new file mode 100644 index 0000000..53d5cd3 Binary files /dev/null and b/ConcatPDF/Develop.snk differ diff --git a/ConcatPDF/Properties/AssemblyInfo.cs b/ConcatPDF/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7fbc6e2 --- /dev/null +++ b/ConcatPDF/Properties/AssemblyInfo.cs @@ -0,0 +1,12 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("ConcatPDF")] +[assembly: AssemblyDescription("PDF concatenation tool.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Kazuya Ujihara ")] +[assembly: AssemblyProduct("ConcatPDF")] +[assembly: AssemblyCopyright("Copyright (c) 2004-2006 UJIHARA Kazuya. All rights reserved.")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] diff --git a/ConcatPDFDeploy/ConcatPDFDeploy.vdproj b/ConcatPDFDeploy/ConcatPDFDeploy.vdproj new file mode 100644 index 0000000..ee8eb75 --- /dev/null +++ b/ConcatPDFDeploy/ConcatPDFDeploy.vdproj @@ -0,0 +1,1396 @@ +"DeployProject" +{ +"VSVersion" = "3:800" +"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" +"IsWebType" = "8:FALSE" +"ProjectName" = "8:ConcatPDFDeploy" +"LanguageId" = "3:0" +"CodePage" = "3:1252" +"UILanguageId" = "3:0" +"SccProjectName" = "8:" +"SccLocalPath" = "8:" +"SccAuxPath" = "8:" +"SccProvider" = "8:" + "Hierarchy" + { + "Entry" + { + "MsmKey" = "8:_28D21D071C824436A517F28F56C441DD" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_429759AE42C245109C73F9CAC7B2CAC5" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_522B1048AE6A4759999BBDD76A941C2B" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6D68824D2EAB8B3067EAB57C4934FA02" + "OwnerKey" = "8:_522B1048AE6A4759999BBDD76A941C2B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6D68824D2EAB8B3067EAB57C4934FA02" + "OwnerKey" = "8:_B0DBD6B24A0E4DBC958B549822910E1C" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6D68824D2EAB8B3067EAB57C4934FA02" + "OwnerKey" = "8:_AD7B26E0C5F94FC8953BAA473A61A875" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6D68824D2EAB8B3067EAB57C4934FA02" + "OwnerKey" = "8:_B41325F6FCAC340251DCD52DC6A1C2FA" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6D68824D2EAB8B3067EAB57C4934FA02" + "OwnerKey" = "8:_7029DC6FFC454F4E9F3C355601EFA5B5" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6D68824D2EAB8B3067EAB57C4934FA02" + "OwnerKey" = "8:_DB7EDF86D46E9B719FCFB4EB60F7DF2B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_7029DC6FFC454F4E9F3C355601EFA5B5" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_9C8705FE729BF856938F105BC9F83B5C" + "OwnerKey" = "8:_DB7EDF86D46E9B719FCFB4EB60F7DF2B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_9C8705FE729BF856938F105BC9F83B5C" + "OwnerKey" = "8:_B0DBD6B24A0E4DBC958B549822910E1C" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_9C8705FE729BF856938F105BC9F83B5C" + "OwnerKey" = "8:_AD7B26E0C5F94FC8953BAA473A61A875" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_9C8705FE729BF856938F105BC9F83B5C" + "OwnerKey" = "8:_7029DC6FFC454F4E9F3C355601EFA5B5" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_9C8705FE729BF856938F105BC9F83B5C" + "OwnerKey" = "8:_522B1048AE6A4759999BBDD76A941C2B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_A5C7F6A5FCCC46089F90BB6297C76488" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_AD7B26E0C5F94FC8953BAA473A61A875" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_B0DBD6B24A0E4DBC958B549822910E1C" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_B41325F6FCAC340251DCD52DC6A1C2FA" + "OwnerKey" = "8:_AD7B26E0C5F94FC8953BAA473A61A875" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_BAF964C51B44453FA6DC85A091806E40" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_C325279A156C45779008079AB4881BD4" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_DB7EDF86D46E9B719FCFB4EB60F7DF2B" + "OwnerKey" = "8:_522B1048AE6A4759999BBDD76A941C2B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_DB7EDF86D46E9B719FCFB4EB60F7DF2B" + "OwnerKey" = "8:_B0DBD6B24A0E4DBC958B549822910E1C" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_DB7EDF86D46E9B719FCFB4EB60F7DF2B" + "OwnerKey" = "8:_AD7B26E0C5F94FC8953BAA473A61A875" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_DB7EDF86D46E9B719FCFB4EB60F7DF2B" + "OwnerKey" = "8:_B41325F6FCAC340251DCD52DC6A1C2FA" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_DB7EDF86D46E9B719FCFB4EB60F7DF2B" + "OwnerKey" = "8:_7029DC6FFC454F4E9F3C355601EFA5B5" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_DF10F2F02C9845DDA5F970F5D6BBA3FC" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_FC711A944765458DAC4CE4445B5156EF" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_7029DC6FFC454F4E9F3C355601EFA5B5" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_B0DBD6B24A0E4DBC958B549822910E1C" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_AD7B26E0C5F94FC8953BAA473A61A875" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_B41325F6FCAC340251DCD52DC6A1C2FA" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_522B1048AE6A4759999BBDD76A941C2B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_DB7EDF86D46E9B719FCFB4EB60F7DF2B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_9C8705FE729BF856938F105BC9F83B5C" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_6D68824D2EAB8B3067EAB57C4934FA02" + "MsmSig" = "8:_UNDEFINED" + } + } + "Configurations" + { + "Debug" + { + "DisplayName" = "8:Debug" + "IsDebugOnly" = "11:TRUE" + "IsReleaseOnly" = "11:FALSE" + "OutputFilename" = "8:Debug\\ConcatPDFDeploy.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + "Items" + { + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5" + { + "Name" = "8:.NET Framework 3.5" + "ProductCode" = "8:Microsoft.Net.Framework.3.5" + } + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1" + { + "Name" = "8:Windows Installer 3.1" + "ProductCode" = "8:Microsoft.Windows.Installer.3.1" + } + } + } + } + "Release" + { + "DisplayName" = "8:Release" + "IsDebugOnly" = "11:FALSE" + "IsReleaseOnly" = "11:TRUE" + "OutputFilename" = "8:Release\\ConcatPDFDeploy.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + "Items" + { + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5" + { + "Name" = "8:.NET Framework 3.5" + "ProductCode" = "8:Microsoft.Net.Framework.3.5" + } + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1" + { + "Name" = "8:Windows Installer 3.1" + "ProductCode" = "8:Microsoft.Windows.Installer.3.1" + } + } + } + } + } + "Deployable" + { + "CustomAction" + { + } + "DefaultFeature" + { + "Name" = "8:DefaultFeature" + "Title" = "8:" + "Description" = "8:" + } + "ExternalPersistence" + { + "LaunchCondition" + { + "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_D41F96E12E2C412E9902D759A9D626AC" + { + "Name" = "8:.NET Framework" + "Message" = "8:[VSDNETMSG]" + "Version" = "8:3.5.21022" + "AllowLaterVersions" = "11:FALSE" + "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=76617" + } + } + } + "File" + { + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_28D21D071C824436A517F28F56C441DD" + { + "SourcePath" = "8:..\\ConcatPDF-Doc\\ConcatPDF-Helpen.html" + "TargetName" = "8:ConcatPDF-Helpen.html" + "Tag" = "8:" + "Folder" = "8:_8C18412F955C4C4F8667EF5BDFE9AB30" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_429759AE42C245109C73F9CAC7B2CAC5" + { + "SourcePath" = "8:..\\ConcatPDF-Doc\\ConcatPDF.css" + "TargetName" = "8:ConcatPDF.css" + "Tag" = "8:" + "Folder" = "8:_8C18412F955C4C4F8667EF5BDFE9AB30" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6D68824D2EAB8B3067EAB57C4934FA02" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:itextsharp, Version=5.2.1.0, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_6D68824D2EAB8B3067EAB57C4934FA02" + { + "Name" = "8:itextsharp.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:itextsharp.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_BA8C64C140644496B7536D2D0C9A9670" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_9C8705FE729BF856938F105BC9F83B5C" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:PDFLibNet, Version=1.0.6.6, Culture=neutral, PublicKeyToken=26d87f7d66fb2aee, processorArchitecture=x86" + "ScatterAssemblies" + { + "_9C8705FE729BF856938F105BC9F83B5C" + { + "Name" = "8:PDFLibNet.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:PDFLibNet.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_BA8C64C140644496B7536D2D0C9A9670" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A5C7F6A5FCCC46089F90BB6297C76488" + { + "SourcePath" = "8:..\\ConcatPDF-Doc\\ConcatPDF-readme.txt" + "TargetName" = "8:ConcatPDF-readme.txt" + "Tag" = "8:" + "Folder" = "8:_8C18412F955C4C4F8667EF5BDFE9AB30" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B41325F6FCAC340251DCD52DC6A1C2FA" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:ConcatPDFUI, Version=1.0.4564.28307, Culture=neutral, PublicKeyToken=bd3736a929f259c3, processorArchitecture=x86" + "ScatterAssemblies" + { + "_B41325F6FCAC340251DCD52DC6A1C2FA" + { + "Name" = "8:ConcatPDFUI.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:ConcatPDFUI.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_BA8C64C140644496B7536D2D0C9A9670" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BAF964C51B44453FA6DC85A091806E40" + { + "SourcePath" = "8:..\\ConcatPDF-Doc\\ConcatPDF-Help.html" + "TargetName" = "8:ConcatPDF-Help.html" + "Tag" = "8:" + "Folder" = "8:_8C18412F955C4C4F8667EF5BDFE9AB30" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C325279A156C45779008079AB4881BD4" + { + "SourcePath" = "8:..\\ConcatPDF-Doc\\ConcatPDF-Helpja.html" + "TargetName" = "8:ConcatPDF-Helpja.html" + "Tag" = "8:" + "Folder" = "8:_8C18412F955C4C4F8667EF5BDFE9AB30" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DB7EDF86D46E9B719FCFB4EB60F7DF2B" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:LibPDF, Version=1.2.4564.28306, Culture=neutral, PublicKeyToken=bd3736a929f259c3, processorArchitecture=x86" + "ScatterAssemblies" + { + "_DB7EDF86D46E9B719FCFB4EB60F7DF2B" + { + "Name" = "8:LibPDF.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:LibPDF.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_BA8C64C140644496B7536D2D0C9A9670" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DF10F2F02C9845DDA5F970F5D6BBA3FC" + { + "SourcePath" = "8:..\\ConcatPDF-Doc\\ConcatPDF-History.txt" + "TargetName" = "8:ConcatPDF-History.txt" + "Tag" = "8:" + "Folder" = "8:_8C18412F955C4C4F8667EF5BDFE9AB30" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_FC711A944765458DAC4CE4445B5156EF" + { + "SourcePath" = "8:..\\ConcatPDFW\\images\\ConcatPDF.ico" + "TargetName" = "8:ConcatPDF.ico" + "Tag" = "8:" + "Folder" = "8:_8C18412F955C4C4F8667EF5BDFE9AB30" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + } + "FileType" + { + } + "Folder" + { + "{1525181F-901A-416C-8A58-119130FE478E}:_1CB478A4F2C24F16820E40F0773A6C05" + { + "Name" = "8:#1916" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:DesktopFolder" + "Folders" + { + } + } + "{3C67513D-01DD-4637-8A68-80971EB9504F}:_8C18412F955C4C4F8667EF5BDFE9AB30" + { + "DefaultLocation" = "8:[ProgramFilesFolder]\\ConcatPDF" + "Name" = "8:#1925" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:TARGETDIR" + "Folders" + { + } + } + "{C7E34266-2C30-44B9-A9A3-4E394ABD6E18}:_BA8C64C140644496B7536D2D0C9A9670" + { + "Name" = "8:#1927" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:GAC" + "Folders" + { + } + } + "{1525181F-901A-416C-8A58-119130FE478E}:_DB042D11A10646C8BAD9F922C708724E" + { + "Name" = "8:#1919" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:ProgramMenuFolder" + "Folders" + { + "{9EF0B969-E518-4E46-987F-47570745A589}:_BC36BE93958A4BA685CCE485AF8D2D1B" + { + "Name" = "8:ConcatPDF" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:_F2E4951FE3954312A42E003A2CAAFAE0" + "Folders" + { + } + } + } + } + } + "LaunchCondition" + { + } + "Locator" + { + } + "MsiBootstrapper" + { + "LangId" = "3:0" + "RequiresElevation" = "11:FALSE" + } + "Product" + { + "Name" = "8:Microsoft Visual Studio" + "ProductName" = "8:ConcatPDF 1.2.5" + "ProductCode" = "8:{25E96E7C-439F-48A5-A4FB-55AF5B2E650F}" + "PackageCode" = "8:{ABF6189E-C028-48A8-AD85-104CCF8A412E}" + "UpgradeCode" = "8:{C8E7126C-B0CA-46C5-AD79-61AC6C913738}" + "RestartWWWService" = "11:FALSE" + "RemovePreviousVersions" = "11:TRUE" + "DetectNewerInstalledVersion" = "11:TRUE" + "InstallAllUsers" = "11:TRUE" + "ProductVersion" = "8:1.2.5" + "Manufacturer" = "8:Ujihara" + "ARPHELPTELEPHONE" = "8:" + "ARPHELPLINK" = "8:http://www.ujihara.jp/ConcatPDF/" + "Title" = "8:ConcatPDF Installer File" + "Subject" = "8:PDF file concatenation tool." + "ARPCONTACT" = "8:Kazuya Ujihara" + "Keywords" = "8:" + "ARPCOMMENTS" = "8:" + "ARPURLINFOABOUT" = "8:http://www.ujihara.jp/" + "ARPPRODUCTICON" = "8:_FC711A944765458DAC4CE4445B5156EF" + "ARPIconIndex" = "3:0" + "SearchPath" = "8:" + "UseSystemSearchPath" = "11:TRUE" + "TargetPlatform" = "3:0" + "PreBuildEvent" = "8:" + "PostBuildEvent" = "8:" + "RunPostBuildEvent" = "3:0" + } + "Registry" + { + "HKLM" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_94C12E464F3244F190F8C15526121E0B" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_CBF184FBD4544DD1A31A7DBAF78B2D88" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCU" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_2338BE2528DA472AB9349905F4CD76B0" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_0719D268F04649C49738DCD3A8A1BE5B" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCR" + { + "Keys" + { + } + } + "HKU" + { + "Keys" + { + } + } + "HKPU" + { + "Keys" + { + } + } + } + "Sequences" + { + } + "Shortcut" + { + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_86B4AA7554324FCE9F928B1B3BC9366A" + { + "Name" = "8:Help" + "Arguments" = "8:" + "Description" = "8:" + "ShowCmd" = "3:1" + "IconIndex" = "3:0" + "Transitive" = "11:FALSE" + "Target" = "8:_BAF964C51B44453FA6DC85A091806E40" + "Folder" = "8:_BC36BE93958A4BA685CCE485AF8D2D1B" + "WorkingFolder" = "8:_8C18412F955C4C4F8667EF5BDFE9AB30" + "Icon" = "8:" + "Feature" = "8:" + } + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_F55641315DFE401E8BF83CBC97C4C094" + { + "Name" = "8:ConcatPDF (GUI)" + "Arguments" = "8:" + "Description" = "8:" + "ShowCmd" = "3:1" + "IconIndex" = "3:0" + "Transitive" = "11:FALSE" + "Target" = "8:_AD7B26E0C5F94FC8953BAA473A61A875" + "Folder" = "8:_BC36BE93958A4BA685CCE485AF8D2D1B" + "WorkingFolder" = "8:_8C18412F955C4C4F8667EF5BDFE9AB30" + "Icon" = "8:_FC711A944765458DAC4CE4445B5156EF" + "Feature" = "8:" + } + } + "UserInterface" + { + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_1FAEAE6F3D3F4932A8879F7FD0BC9528" + { + "Name" = "8:#1900" + "Sequence" = "3:2" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_29DD1BD57C7540399491C4D70DEEB77D" + { + "Sequence" = "3:300" + "DisplayName" = "8:インストールの確認" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_66DE1915947B475B86AF98090A04E0DB" + { + "Sequence" = "3:200" + "DisplayName" = "8:インストール フォルダ" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_86238A160FEE4BA297ABE080A082F5A8" + { + "Sequence" = "3:100" + "DisplayName" = "8:ようこそ" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_37FC86BBA1F64F95BD71D59BFB390722" + { + "Name" = "8:#1902" + "Sequence" = "3:1" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_89123E35FAAE41F48271FBA165EE0F52" + { + "Sequence" = "3:100" + "DisplayName" = "8:完了" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "UpdateText" + { + "Name" = "8:UpdateText" + "DisplayName" = "8:#1058" + "Description" = "8:#1158" + "Type" = "3:15" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1258" + "DefaultValue" = "8:#1258" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_7BA77004E222457D92A475836AFE29A3" + { + "Name" = "8:#1902" + "Sequence" = "3:2" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_82E6F4575B124D0E9B8F1D846ADC666F" + { + "Sequence" = "3:100" + "DisplayName" = "8:完了" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_8D0CB942849B4890947E90EB1BC15FD4" + { + "Name" = "8:#1901" + "Sequence" = "3:1" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2FC8FD38B19A4850A4622513DD1A65F7" + { + "Sequence" = "3:100" + "DisplayName" = "8:進行状況" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_92A0957184704557BD81E203854AC5EA" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdUserInterface.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_96240E1F19FA405EBCE5E49016ECC65C" + { + "Name" = "8:#1900" + "Sequence" = "3:1" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_76EED7A385934771BD3574AD5277D4E4" + { + "Sequence" = "3:200" + "DisplayName" = "8:インストール フォルダ" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "InstallAllUsersVisible" + { + "Name" = "8:InstallAllUsersVisible" + "DisplayName" = "8:#1059" + "Description" = "8:#1159" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_C35D46499552461799E53B36B32DF829" + { + "Sequence" = "3:300" + "DisplayName" = "8:インストールの確認" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E42548F10F7A4E168406C769E61EE228" + { + "Sequence" = "3:100" + "DisplayName" = "8:ようこそ" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_C1FA098781374B6AB4562A41B0EA763E" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdBasicDialogs.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_FF5D3FDA0B104CE3A5098A3D4E7AFD1D" + { + "Name" = "8:#1901" + "Sequence" = "3:2" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9E1082B2C1634FDAA0C4A9E6E0A314C7" + { + "Sequence" = "3:100" + "DisplayName" = "8:進行状況" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + } + "MergeModule" + { + } + "ProjectOutput" + { + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_4014E079C03141F6A9DB075C2640AD71" + { + "SourcePath" = "8:" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_8C18412F955C4C4F8667EF5BDFE9AB30" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:LocalizedResourceDlls" + "OutputProjectGuid" = "8:{2B695FC2-64BF-4D21-9867-E63C8B000EE9}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_522B1048AE6A4759999BBDD76A941C2B" + { + "SourcePath" = "8:..\\SplitPDF\\obj\\x86\\Release\\SplitPDF.exe" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_8C18412F955C4C4F8667EF5BDFE9AB30" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{07604FBD-ED61-4FF8-902D-C3ABEEE4C8E7}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_58CEDEA38F2947FC84CB362A61B6EAFF" + { + "SourcePath" = "8:" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_8C18412F955C4C4F8667EF5BDFE9AB30" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:LocalizedResourceDlls" + "OutputProjectGuid" = "8:{96C7AD13-98B8-43F5-BD12-75EF54A8DE19}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_7029DC6FFC454F4E9F3C355601EFA5B5" + { + "SourcePath" = "8:..\\ConcatPDF\\obj\\x86\\Release\\ConcatPDF.exe" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_8C18412F955C4C4F8667EF5BDFE9AB30" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{A43D8B80-8D7C-4C71-AFD0-D77B9D777300}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_AD7B26E0C5F94FC8953BAA473A61A875" + { + "SourcePath" = "8:..\\ConcatPDFW\\obj\\x86\\Release\\ConcatPDFW.exe" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_8C18412F955C4C4F8667EF5BDFE9AB30" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{96C7AD13-98B8-43F5-BD12-75EF54A8DE19}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_B0DBD6B24A0E4DBC958B549822910E1C" + { + "SourcePath" = "8:..\\DecryptPDF\\obj\\x86\\Release\\DecryptPDF.exe" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_8C18412F955C4C4F8667EF5BDFE9AB30" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{B407ACB7-333B-48EA-AAE0-7B5D8735D3F0}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + } + } +} diff --git a/ConcatPDFUI/ConcatPDFUI.csproj b/ConcatPDFUI/ConcatPDFUI.csproj new file mode 100644 index 0000000..939ef17 --- /dev/null +++ b/ConcatPDFUI/ConcatPDFUI.csproj @@ -0,0 +1,176 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {2B695FC2-64BF-4D21-9867-E63C8B000EE9} + Library + Properties + Ujihara.ConcatPDF + ConcatPDFUI + v3.5 + 512 + true + Develop.snk + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\x86\Debug\ + DEBUG;TRACE + full + x86 + true + GlobalSuppressions.cs + prompt + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + true + GlobalSuppressions.cs + prompt + + + + False + ..\dll\itextsharp.dll + + + + 3.5 + + + + + + + + + Properties\VersionInfo.cs + + + Form + + + Form + + + UserControl + + + + Form + + + ImageSettingDialog.cs + + + Form + + + + Form + + + Form + + + + + + DlgOutlineSetting.cs + Designer + + + DlgOutlineSetting.cs + Designer + + + EncryptOptionDialog.cs + Designer + + + EncryptOptionDialog.cs + Designer + + + FileListBox.cs + Designer + + + FileListBox.cs + Designer + + + ImageSettingDialog.cs + Designer + + + ImageSettingDialog.cs + Designer + + + PageSetting.cs + Designer + + + PageSetting.cs + Designer + + + PwdQueryDlg.cs + Designer + + + PwdQueryDlg.cs + Designer + + + ViewerOptionDialog.cs + Designer + + + ViewerOptionDialog.cs + Designer + + + + + + + + {3E32649E-4D1E-47F6-AAB3-00D5D773D2E5} + LibPDF + + + + + \ No newline at end of file diff --git a/ConcatPDFUI/Develop.snk b/ConcatPDFUI/Develop.snk new file mode 100644 index 0000000..53d5cd3 Binary files /dev/null and b/ConcatPDFUI/Develop.snk differ diff --git a/ConcatPDFUI/DlgOutlineSetting.cs b/ConcatPDFUI/DlgOutlineSetting.cs new file mode 100644 index 0000000..4e2a257 --- /dev/null +++ b/ConcatPDFUI/DlgOutlineSetting.cs @@ -0,0 +1,187 @@ +using System; +using System.Drawing; +using System.Collections; +using System.ComponentModel; +using System.Windows.Forms; + +using System.Collections.Specialized; +using Ujihara.PDF; + +namespace Ujihara.ConcatPDF +{ + public class DlgOutlineSetting : System.Windows.Forms.Form + { + private System.Windows.Forms.Label label1; + private System.Windows.Forms.ComboBox comboLocZoom; + private System.Windows.Forms.CheckBox checkAddOutlines; + private System.Windows.Forms.CheckBox checkCopyOutlines; + private System.Windows.Forms.Button buttonOK; + private System.Windows.Forms.Button buttonCancel; + private System.ComponentModel.Container components = null; + + public DlgOutlineSetting() + { + InitializeComponent(); + + // + // Constructor Codes after InitializeComponent + // + + Init(); + } + + protected override void Dispose( bool disposing ) + { + if( disposing ) + { + if(components != null) + { + components.Dispose(); + } + } + base.Dispose( disposing ); + } + + #region Codes generated by Windows Form Designer + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DlgOutlineSetting)); + this.comboLocZoom = new System.Windows.Forms.ComboBox(); + this.label1 = new System.Windows.Forms.Label(); + this.checkAddOutlines = new System.Windows.Forms.CheckBox(); + this.checkCopyOutlines = new System.Windows.Forms.CheckBox(); + this.buttonOK = new System.Windows.Forms.Button(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // comboLocZoom + // + resources.ApplyResources(this.comboLocZoom, "comboLocZoom"); + this.comboLocZoom.Name = "comboLocZoom"; + this.comboLocZoom.Validated += new System.EventHandler(this.comboLocZoom_Validated); + // + // label1 + // + resources.ApplyResources(this.label1, "label1"); + this.label1.Name = "label1"; + // + // checkAddOutlines + // + resources.ApplyResources(this.checkAddOutlines, "checkAddOutlines"); + this.checkAddOutlines.Name = "checkAddOutlines"; + // + // checkCopyOutlines + // + resources.ApplyResources(this.checkCopyOutlines, "checkCopyOutlines"); + this.checkCopyOutlines.Name = "checkCopyOutlines"; + // + // buttonOK + // + this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK; + resources.ApplyResources(this.buttonOK, "buttonOK"); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // buttonCancel + // + this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + resources.ApplyResources(this.buttonCancel, "buttonCancel"); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click); + // + // DlgOutlineSetting + // + this.AcceptButton = this.buttonOK; + resources.ApplyResources(this, "$this"); + this.CancelButton = this.buttonCancel; + this.ControlBox = false; + this.Controls.Add(this.buttonCancel); + this.Controls.Add(this.buttonOK); + this.Controls.Add(this.checkCopyOutlines); + this.Controls.Add(this.checkAddOutlines); + this.Controls.Add(this.label1); + this.Controls.Add(this.comboLocZoom); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Name = "DlgOutlineSetting"; + this.ShowInTaskbar = false; + this.ResumeLayout(false); + + } + #endregion + + private ArrayList destTags = new ArrayList(); + private ArrayList destDisps = new ArrayList(); + + private void Init() + { + AddDestTag("/XYZ null null null", "Retain."); + AddDestTag("/Fit", "Fit the entire page."); + AddDestTag("/FitB", "Fit the bounding box."); + AddDestTag("/FitH null", "Fit the entire width of the page."); + AddDestTag("/FitV null", "Fit the entire height of the page."); + //AddDestTag("/FitR null null null null", "Fit the rectangle specified by the coordinates."); + AddDestTag("/FitBH null", "Fit the entire width of its bounding box."); + AddDestTag("/FitBV null", "Fit the entire height of its bounding box."); + } + + private void AddDestTag(string tag, string display) + { + destTags.Add(tag); + destDisps.Add(display); + comboLocZoom.Items.Add(display); + } + + private void buttonOK_Click(object sender, System.EventArgs e) + { + this.DialogResult = DialogResult.OK; + } + + private string PDFTagToDisplay(string text) + { + if (destTags.Contains(text)) + { + int idx = destTags.IndexOf(text); + return (string)destDisps[idx]; + } + return text; + } + + private string PDFDisplayToTag(string text) + { + if (destDisps.Contains(text)) + { + int idx = destDisps.IndexOf(text); + return (string)destTags[idx]; + } + return text; + } + + private void comboLocZoom_Validated(object sender, System.EventArgs e) + { + string original = comboLocZoom.Text.Trim(); + string evaluted = PDFTagToDisplay(original); + if (evaluted != comboLocZoom.Text) + comboLocZoom.Text = evaluted; + } + + public void GetSetting(PdfConcatenatorOption setting) + { + setting.AddOutlines = this.checkAddOutlines.Checked; + setting.CopyOutlines = this.checkCopyOutlines.Checked; + setting.FittingStyle = PDFDisplayToTag(this.comboLocZoom.Text); + } + + public void SetSetting(PdfConcatenatorOption value) + { + this.checkAddOutlines.Checked = value.AddOutlines; + this.checkCopyOutlines.Checked = value.CopyOutlines; + this.comboLocZoom.Text = PDFTagToDisplay(value.FittingStyle); + } + + private void buttonCancel_Click(object sender, EventArgs e) + { + this.DialogResult = DialogResult.Cancel; + this.Close(); + } + } +} diff --git a/ConcatPDFUI/DlgOutlineSetting.ja.resx b/ConcatPDFUI/DlgOutlineSetting.ja.resx new file mode 100644 index 0000000..4cb5e64 --- /dev/null +++ b/ConcatPDFUI/DlgOutlineSetting.ja.resx @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NoControl + + + 位置と拡大率: + + + NoControl + + + &アウトラインの追加(&A) + + + NoControl + + + アウトラインをコピーする(&C) + + + NoControl + + + NoControl + + + NoControl + + + アウトラインの設定 + + \ No newline at end of file diff --git a/ConcatPDFUI/DlgOutlineSetting.resx b/ConcatPDFUI/DlgOutlineSetting.resx new file mode 100644 index 0000000..5e32a4e --- /dev/null +++ b/ConcatPDFUI/DlgOutlineSetting.resx @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 12 + + + + 40, 64 + + + 272, 20 + + + 0 + + + comboLocZoom + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + + NoControl + + + 24, 48 + + + 120, 16 + + + 1 + + + Location and Zoom: + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + NoControl + + + 24, 24 + + + 184, 16 + + + 2 + + + &Add Outlines + + + checkAddOutlines + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + NoControl + + + 24, 104 + + + 168, 16 + + + 3 + + + &Copy Outlines + + + checkCopyOutlines + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + NoControl + + + 152, 136 + + + 72, 24 + + + 4 + + + OK + + + buttonOK + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + NoControl + + + 240, 136 + + + 72, 24 + + + 5 + + + Cancel + + + buttonCancel + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + 5, 12 + + + 330, 176 + + + NoControl + + + Outline Setting + + + DlgOutlineSetting + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ConcatPDFUI/EncryptOptionDialog.cs b/ConcatPDFUI/EncryptOptionDialog.cs new file mode 100644 index 0000000..e7db3dc --- /dev/null +++ b/ConcatPDFUI/EncryptOptionDialog.cs @@ -0,0 +1,690 @@ +using System; +using System.Drawing; +using System.Collections; +using System.ComponentModel; +using System.Windows.Forms; + +using iTextSharp.text.pdf; + +namespace Ujihara.ConcatPDF +{ + /// + /// EncryptOptionDialog ̊Tv̐łB + /// + public class EncryptOptionDialog : System.Windows.Forms.Form + { + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.TextBox editUserPassword; + private System.Windows.Forms.TextBox editMasterPassword; + private System.Windows.Forms.RadioButton radioNoSecurity; + private System.Windows.Forms.RadioButton radio40bitRC4; + private System.Windows.Forms.RadioButton radio128bitRC4; + private System.Windows.Forms.CheckBox checkPrinting; + private System.Windows.Forms.CheckBox checkModifyContent; + private System.Windows.Forms.CheckBox checkCopy; + private System.Windows.Forms.CheckBox checkModifyAnnotations; + private System.Windows.Forms.CheckBox checkDocumentAssembly; + private System.Windows.Forms.CheckBox checkFillIn; + private System.Windows.Forms.CheckBox checkScreenReaders; + private System.Windows.Forms.CheckBox checkLowPrint; + private System.Windows.Forms.Button buttonOK; + private System.Windows.Forms.Button buttonCancel; + /// + /// KvȃfUCiϐłB + /// + private System.ComponentModel.Container components = null; + + public EncryptOptionDialog() + { + // + // Windows tH[ fUCi T|[gɕKvłB + // + InitializeComponent(); + + // + // TODO: InitializeComponent ĂяǒɁARXgN^ R[hljĂB + // + } + + /// + /// gpĂ郊\[XɌ㏈s܂B + /// + protected override void Dispose( bool disposing ) + { + if( disposing ) + { + if(components != null) + { + components.Dispose(); + } + } + base.Dispose( disposing ); + } + + #region Windows tH[ fUCiŐꂽR[h + /// + /// fUCi T|[gɕKvȃ\bhłB̃\bh̓e + /// R[h GfB^ŕύXȂłB + /// + private void InitializeComponent() + { + System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(EncryptOptionDialog)); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.editUserPassword = new System.Windows.Forms.TextBox(); + this.editMasterPassword = new System.Windows.Forms.TextBox(); + this.radioNoSecurity = new System.Windows.Forms.RadioButton(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.radio128bitRC4 = new System.Windows.Forms.RadioButton(); + this.radio40bitRC4 = new System.Windows.Forms.RadioButton(); + this.checkPrinting = new System.Windows.Forms.CheckBox(); + this.checkModifyContent = new System.Windows.Forms.CheckBox(); + this.checkCopy = new System.Windows.Forms.CheckBox(); + this.checkModifyAnnotations = new System.Windows.Forms.CheckBox(); + this.checkDocumentAssembly = new System.Windows.Forms.CheckBox(); + this.checkFillIn = new System.Windows.Forms.CheckBox(); + this.checkScreenReaders = new System.Windows.Forms.CheckBox(); + this.checkLowPrint = new System.Windows.Forms.CheckBox(); + this.buttonOK = new System.Windows.Forms.Button(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AccessibleDescription = resources.GetString("label1.AccessibleDescription"); + this.label1.AccessibleName = resources.GetString("label1.AccessibleName"); + this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("label1.Anchor"))); + this.label1.AutoSize = ((bool)(resources.GetObject("label1.AutoSize"))); + this.label1.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("label1.Dock"))); + this.label1.Enabled = ((bool)(resources.GetObject("label1.Enabled"))); + this.label1.Font = ((System.Drawing.Font)(resources.GetObject("label1.Font"))); + this.label1.Image = ((System.Drawing.Image)(resources.GetObject("label1.Image"))); + this.label1.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label1.ImageAlign"))); + this.label1.ImageIndex = ((int)(resources.GetObject("label1.ImageIndex"))); + this.label1.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("label1.ImeMode"))); + this.label1.Location = ((System.Drawing.Point)(resources.GetObject("label1.Location"))); + this.label1.Name = "label1"; + this.label1.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("label1.RightToLeft"))); + this.label1.Size = ((System.Drawing.Size)(resources.GetObject("label1.Size"))); + this.label1.TabIndex = ((int)(resources.GetObject("label1.TabIndex"))); + this.label1.Text = resources.GetString("label1.Text"); + this.label1.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label1.TextAlign"))); + this.label1.Visible = ((bool)(resources.GetObject("label1.Visible"))); + // + // label2 + // + this.label2.AccessibleDescription = resources.GetString("label2.AccessibleDescription"); + this.label2.AccessibleName = resources.GetString("label2.AccessibleName"); + this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("label2.Anchor"))); + this.label2.AutoSize = ((bool)(resources.GetObject("label2.AutoSize"))); + this.label2.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("label2.Dock"))); + this.label2.Enabled = ((bool)(resources.GetObject("label2.Enabled"))); + this.label2.Font = ((System.Drawing.Font)(resources.GetObject("label2.Font"))); + this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image"))); + this.label2.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label2.ImageAlign"))); + this.label2.ImageIndex = ((int)(resources.GetObject("label2.ImageIndex"))); + this.label2.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("label2.ImeMode"))); + this.label2.Location = ((System.Drawing.Point)(resources.GetObject("label2.Location"))); + this.label2.Name = "label2"; + this.label2.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("label2.RightToLeft"))); + this.label2.Size = ((System.Drawing.Size)(resources.GetObject("label2.Size"))); + this.label2.TabIndex = ((int)(resources.GetObject("label2.TabIndex"))); + this.label2.Text = resources.GetString("label2.Text"); + this.label2.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label2.TextAlign"))); + this.label2.Visible = ((bool)(resources.GetObject("label2.Visible"))); + // + // editUserPassword + // + this.editUserPassword.AccessibleDescription = resources.GetString("editUserPassword.AccessibleDescription"); + this.editUserPassword.AccessibleName = resources.GetString("editUserPassword.AccessibleName"); + this.editUserPassword.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("editUserPassword.Anchor"))); + this.editUserPassword.AutoSize = ((bool)(resources.GetObject("editUserPassword.AutoSize"))); + this.editUserPassword.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("editUserPassword.BackgroundImage"))); + this.editUserPassword.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("editUserPassword.Dock"))); + this.editUserPassword.Enabled = ((bool)(resources.GetObject("editUserPassword.Enabled"))); + this.editUserPassword.Font = ((System.Drawing.Font)(resources.GetObject("editUserPassword.Font"))); + this.editUserPassword.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("editUserPassword.ImeMode"))); + this.editUserPassword.Location = ((System.Drawing.Point)(resources.GetObject("editUserPassword.Location"))); + this.editUserPassword.MaxLength = ((int)(resources.GetObject("editUserPassword.MaxLength"))); + this.editUserPassword.Multiline = ((bool)(resources.GetObject("editUserPassword.Multiline"))); + this.editUserPassword.Name = "editUserPassword"; + this.editUserPassword.PasswordChar = ((char)(resources.GetObject("editUserPassword.PasswordChar"))); + this.editUserPassword.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("editUserPassword.RightToLeft"))); + this.editUserPassword.ScrollBars = ((System.Windows.Forms.ScrollBars)(resources.GetObject("editUserPassword.ScrollBars"))); + this.editUserPassword.Size = ((System.Drawing.Size)(resources.GetObject("editUserPassword.Size"))); + this.editUserPassword.TabIndex = ((int)(resources.GetObject("editUserPassword.TabIndex"))); + this.editUserPassword.Text = resources.GetString("editUserPassword.Text"); + this.editUserPassword.TextAlign = ((System.Windows.Forms.HorizontalAlignment)(resources.GetObject("editUserPassword.TextAlign"))); + this.editUserPassword.Visible = ((bool)(resources.GetObject("editUserPassword.Visible"))); + this.editUserPassword.WordWrap = ((bool)(resources.GetObject("editUserPassword.WordWrap"))); + // + // editMasterPassword + // + this.editMasterPassword.AccessibleDescription = resources.GetString("editMasterPassword.AccessibleDescription"); + this.editMasterPassword.AccessibleName = resources.GetString("editMasterPassword.AccessibleName"); + this.editMasterPassword.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("editMasterPassword.Anchor"))); + this.editMasterPassword.AutoSize = ((bool)(resources.GetObject("editMasterPassword.AutoSize"))); + this.editMasterPassword.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("editMasterPassword.BackgroundImage"))); + this.editMasterPassword.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("editMasterPassword.Dock"))); + this.editMasterPassword.Enabled = ((bool)(resources.GetObject("editMasterPassword.Enabled"))); + this.editMasterPassword.Font = ((System.Drawing.Font)(resources.GetObject("editMasterPassword.Font"))); + this.editMasterPassword.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("editMasterPassword.ImeMode"))); + this.editMasterPassword.Location = ((System.Drawing.Point)(resources.GetObject("editMasterPassword.Location"))); + this.editMasterPassword.MaxLength = ((int)(resources.GetObject("editMasterPassword.MaxLength"))); + this.editMasterPassword.Multiline = ((bool)(resources.GetObject("editMasterPassword.Multiline"))); + this.editMasterPassword.Name = "editMasterPassword"; + this.editMasterPassword.PasswordChar = ((char)(resources.GetObject("editMasterPassword.PasswordChar"))); + this.editMasterPassword.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("editMasterPassword.RightToLeft"))); + this.editMasterPassword.ScrollBars = ((System.Windows.Forms.ScrollBars)(resources.GetObject("editMasterPassword.ScrollBars"))); + this.editMasterPassword.Size = ((System.Drawing.Size)(resources.GetObject("editMasterPassword.Size"))); + this.editMasterPassword.TabIndex = ((int)(resources.GetObject("editMasterPassword.TabIndex"))); + this.editMasterPassword.Text = resources.GetString("editMasterPassword.Text"); + this.editMasterPassword.TextAlign = ((System.Windows.Forms.HorizontalAlignment)(resources.GetObject("editMasterPassword.TextAlign"))); + this.editMasterPassword.Visible = ((bool)(resources.GetObject("editMasterPassword.Visible"))); + this.editMasterPassword.WordWrap = ((bool)(resources.GetObject("editMasterPassword.WordWrap"))); + // + // radioNoSecurity + // + this.radioNoSecurity.AccessibleDescription = resources.GetString("radioNoSecurity.AccessibleDescription"); + this.radioNoSecurity.AccessibleName = resources.GetString("radioNoSecurity.AccessibleName"); + this.radioNoSecurity.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("radioNoSecurity.Anchor"))); + this.radioNoSecurity.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("radioNoSecurity.Appearance"))); + this.radioNoSecurity.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("radioNoSecurity.BackgroundImage"))); + this.radioNoSecurity.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioNoSecurity.CheckAlign"))); + this.radioNoSecurity.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("radioNoSecurity.Dock"))); + this.radioNoSecurity.Enabled = ((bool)(resources.GetObject("radioNoSecurity.Enabled"))); + this.radioNoSecurity.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("radioNoSecurity.FlatStyle"))); + this.radioNoSecurity.Font = ((System.Drawing.Font)(resources.GetObject("radioNoSecurity.Font"))); + this.radioNoSecurity.Image = ((System.Drawing.Image)(resources.GetObject("radioNoSecurity.Image"))); + this.radioNoSecurity.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioNoSecurity.ImageAlign"))); + this.radioNoSecurity.ImageIndex = ((int)(resources.GetObject("radioNoSecurity.ImageIndex"))); + this.radioNoSecurity.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("radioNoSecurity.ImeMode"))); + this.radioNoSecurity.Location = ((System.Drawing.Point)(resources.GetObject("radioNoSecurity.Location"))); + this.radioNoSecurity.Name = "radioNoSecurity"; + this.radioNoSecurity.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("radioNoSecurity.RightToLeft"))); + this.radioNoSecurity.Size = ((System.Drawing.Size)(resources.GetObject("radioNoSecurity.Size"))); + this.radioNoSecurity.TabIndex = ((int)(resources.GetObject("radioNoSecurity.TabIndex"))); + this.radioNoSecurity.Text = resources.GetString("radioNoSecurity.Text"); + this.radioNoSecurity.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioNoSecurity.TextAlign"))); + this.radioNoSecurity.Visible = ((bool)(resources.GetObject("radioNoSecurity.Visible"))); + this.radioNoSecurity.CheckedChanged += new System.EventHandler(this.radioSecurityRC4_CheckedChanged); + // + // groupBox1 + // + this.groupBox1.AccessibleDescription = resources.GetString("groupBox1.AccessibleDescription"); + this.groupBox1.AccessibleName = resources.GetString("groupBox1.AccessibleName"); + this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("groupBox1.Anchor"))); + this.groupBox1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("groupBox1.BackgroundImage"))); + this.groupBox1.Controls.Add(this.radio128bitRC4); + this.groupBox1.Controls.Add(this.radio40bitRC4); + this.groupBox1.Controls.Add(this.radioNoSecurity); + this.groupBox1.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("groupBox1.Dock"))); + this.groupBox1.Enabled = ((bool)(resources.GetObject("groupBox1.Enabled"))); + this.groupBox1.Font = ((System.Drawing.Font)(resources.GetObject("groupBox1.Font"))); + this.groupBox1.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("groupBox1.ImeMode"))); + this.groupBox1.Location = ((System.Drawing.Point)(resources.GetObject("groupBox1.Location"))); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("groupBox1.RightToLeft"))); + this.groupBox1.Size = ((System.Drawing.Size)(resources.GetObject("groupBox1.Size"))); + this.groupBox1.TabIndex = ((int)(resources.GetObject("groupBox1.TabIndex"))); + this.groupBox1.TabStop = false; + this.groupBox1.Text = resources.GetString("groupBox1.Text"); + this.groupBox1.Visible = ((bool)(resources.GetObject("groupBox1.Visible"))); + // + // radio128bitRC4 + // + this.radio128bitRC4.AccessibleDescription = resources.GetString("radio128bitRC4.AccessibleDescription"); + this.radio128bitRC4.AccessibleName = resources.GetString("radio128bitRC4.AccessibleName"); + this.radio128bitRC4.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("radio128bitRC4.Anchor"))); + this.radio128bitRC4.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("radio128bitRC4.Appearance"))); + this.radio128bitRC4.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("radio128bitRC4.BackgroundImage"))); + this.radio128bitRC4.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radio128bitRC4.CheckAlign"))); + this.radio128bitRC4.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("radio128bitRC4.Dock"))); + this.radio128bitRC4.Enabled = ((bool)(resources.GetObject("radio128bitRC4.Enabled"))); + this.radio128bitRC4.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("radio128bitRC4.FlatStyle"))); + this.radio128bitRC4.Font = ((System.Drawing.Font)(resources.GetObject("radio128bitRC4.Font"))); + this.radio128bitRC4.Image = ((System.Drawing.Image)(resources.GetObject("radio128bitRC4.Image"))); + this.radio128bitRC4.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radio128bitRC4.ImageAlign"))); + this.radio128bitRC4.ImageIndex = ((int)(resources.GetObject("radio128bitRC4.ImageIndex"))); + this.radio128bitRC4.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("radio128bitRC4.ImeMode"))); + this.radio128bitRC4.Location = ((System.Drawing.Point)(resources.GetObject("radio128bitRC4.Location"))); + this.radio128bitRC4.Name = "radio128bitRC4"; + this.radio128bitRC4.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("radio128bitRC4.RightToLeft"))); + this.radio128bitRC4.Size = ((System.Drawing.Size)(resources.GetObject("radio128bitRC4.Size"))); + this.radio128bitRC4.TabIndex = ((int)(resources.GetObject("radio128bitRC4.TabIndex"))); + this.radio128bitRC4.Text = resources.GetString("radio128bitRC4.Text"); + this.radio128bitRC4.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radio128bitRC4.TextAlign"))); + this.radio128bitRC4.Visible = ((bool)(resources.GetObject("radio128bitRC4.Visible"))); + this.radio128bitRC4.CheckedChanged += new System.EventHandler(this.radioSecurityRC4_CheckedChanged); + // + // radio40bitRC4 + // + this.radio40bitRC4.AccessibleDescription = resources.GetString("radio40bitRC4.AccessibleDescription"); + this.radio40bitRC4.AccessibleName = resources.GetString("radio40bitRC4.AccessibleName"); + this.radio40bitRC4.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("radio40bitRC4.Anchor"))); + this.radio40bitRC4.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("radio40bitRC4.Appearance"))); + this.radio40bitRC4.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("radio40bitRC4.BackgroundImage"))); + this.radio40bitRC4.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radio40bitRC4.CheckAlign"))); + this.radio40bitRC4.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("radio40bitRC4.Dock"))); + this.radio40bitRC4.Enabled = ((bool)(resources.GetObject("radio40bitRC4.Enabled"))); + this.radio40bitRC4.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("radio40bitRC4.FlatStyle"))); + this.radio40bitRC4.Font = ((System.Drawing.Font)(resources.GetObject("radio40bitRC4.Font"))); + this.radio40bitRC4.Image = ((System.Drawing.Image)(resources.GetObject("radio40bitRC4.Image"))); + this.radio40bitRC4.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radio40bitRC4.ImageAlign"))); + this.radio40bitRC4.ImageIndex = ((int)(resources.GetObject("radio40bitRC4.ImageIndex"))); + this.radio40bitRC4.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("radio40bitRC4.ImeMode"))); + this.radio40bitRC4.Location = ((System.Drawing.Point)(resources.GetObject("radio40bitRC4.Location"))); + this.radio40bitRC4.Name = "radio40bitRC4"; + this.radio40bitRC4.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("radio40bitRC4.RightToLeft"))); + this.radio40bitRC4.Size = ((System.Drawing.Size)(resources.GetObject("radio40bitRC4.Size"))); + this.radio40bitRC4.TabIndex = ((int)(resources.GetObject("radio40bitRC4.TabIndex"))); + this.radio40bitRC4.Text = resources.GetString("radio40bitRC4.Text"); + this.radio40bitRC4.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radio40bitRC4.TextAlign"))); + this.radio40bitRC4.Visible = ((bool)(resources.GetObject("radio40bitRC4.Visible"))); + this.radio40bitRC4.CheckedChanged += new System.EventHandler(this.radioSecurityRC4_CheckedChanged); + // + // checkPrinting + // + this.checkPrinting.AccessibleDescription = resources.GetString("checkPrinting.AccessibleDescription"); + this.checkPrinting.AccessibleName = resources.GetString("checkPrinting.AccessibleName"); + this.checkPrinting.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkPrinting.Anchor"))); + this.checkPrinting.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkPrinting.Appearance"))); + this.checkPrinting.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkPrinting.BackgroundImage"))); + this.checkPrinting.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkPrinting.CheckAlign"))); + this.checkPrinting.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkPrinting.Dock"))); + this.checkPrinting.Enabled = ((bool)(resources.GetObject("checkPrinting.Enabled"))); + this.checkPrinting.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkPrinting.FlatStyle"))); + this.checkPrinting.Font = ((System.Drawing.Font)(resources.GetObject("checkPrinting.Font"))); + this.checkPrinting.Image = ((System.Drawing.Image)(resources.GetObject("checkPrinting.Image"))); + this.checkPrinting.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkPrinting.ImageAlign"))); + this.checkPrinting.ImageIndex = ((int)(resources.GetObject("checkPrinting.ImageIndex"))); + this.checkPrinting.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkPrinting.ImeMode"))); + this.checkPrinting.Location = ((System.Drawing.Point)(resources.GetObject("checkPrinting.Location"))); + this.checkPrinting.Name = "checkPrinting"; + this.checkPrinting.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkPrinting.RightToLeft"))); + this.checkPrinting.Size = ((System.Drawing.Size)(resources.GetObject("checkPrinting.Size"))); + this.checkPrinting.TabIndex = ((int)(resources.GetObject("checkPrinting.TabIndex"))); + this.checkPrinting.Text = resources.GetString("checkPrinting.Text"); + this.checkPrinting.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkPrinting.TextAlign"))); + this.checkPrinting.Visible = ((bool)(resources.GetObject("checkPrinting.Visible"))); + // + // checkModifyContent + // + this.checkModifyContent.AccessibleDescription = resources.GetString("checkModifyContent.AccessibleDescription"); + this.checkModifyContent.AccessibleName = resources.GetString("checkModifyContent.AccessibleName"); + this.checkModifyContent.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkModifyContent.Anchor"))); + this.checkModifyContent.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkModifyContent.Appearance"))); + this.checkModifyContent.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkModifyContent.BackgroundImage"))); + this.checkModifyContent.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkModifyContent.CheckAlign"))); + this.checkModifyContent.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkModifyContent.Dock"))); + this.checkModifyContent.Enabled = ((bool)(resources.GetObject("checkModifyContent.Enabled"))); + this.checkModifyContent.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkModifyContent.FlatStyle"))); + this.checkModifyContent.Font = ((System.Drawing.Font)(resources.GetObject("checkModifyContent.Font"))); + this.checkModifyContent.Image = ((System.Drawing.Image)(resources.GetObject("checkModifyContent.Image"))); + this.checkModifyContent.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkModifyContent.ImageAlign"))); + this.checkModifyContent.ImageIndex = ((int)(resources.GetObject("checkModifyContent.ImageIndex"))); + this.checkModifyContent.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkModifyContent.ImeMode"))); + this.checkModifyContent.Location = ((System.Drawing.Point)(resources.GetObject("checkModifyContent.Location"))); + this.checkModifyContent.Name = "checkModifyContent"; + this.checkModifyContent.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkModifyContent.RightToLeft"))); + this.checkModifyContent.Size = ((System.Drawing.Size)(resources.GetObject("checkModifyContent.Size"))); + this.checkModifyContent.TabIndex = ((int)(resources.GetObject("checkModifyContent.TabIndex"))); + this.checkModifyContent.Text = resources.GetString("checkModifyContent.Text"); + this.checkModifyContent.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkModifyContent.TextAlign"))); + this.checkModifyContent.Visible = ((bool)(resources.GetObject("checkModifyContent.Visible"))); + // + // checkCopy + // + this.checkCopy.AccessibleDescription = resources.GetString("checkCopy.AccessibleDescription"); + this.checkCopy.AccessibleName = resources.GetString("checkCopy.AccessibleName"); + this.checkCopy.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkCopy.Anchor"))); + this.checkCopy.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkCopy.Appearance"))); + this.checkCopy.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkCopy.BackgroundImage"))); + this.checkCopy.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkCopy.CheckAlign"))); + this.checkCopy.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkCopy.Dock"))); + this.checkCopy.Enabled = ((bool)(resources.GetObject("checkCopy.Enabled"))); + this.checkCopy.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkCopy.FlatStyle"))); + this.checkCopy.Font = ((System.Drawing.Font)(resources.GetObject("checkCopy.Font"))); + this.checkCopy.Image = ((System.Drawing.Image)(resources.GetObject("checkCopy.Image"))); + this.checkCopy.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkCopy.ImageAlign"))); + this.checkCopy.ImageIndex = ((int)(resources.GetObject("checkCopy.ImageIndex"))); + this.checkCopy.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkCopy.ImeMode"))); + this.checkCopy.Location = ((System.Drawing.Point)(resources.GetObject("checkCopy.Location"))); + this.checkCopy.Name = "checkCopy"; + this.checkCopy.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkCopy.RightToLeft"))); + this.checkCopy.Size = ((System.Drawing.Size)(resources.GetObject("checkCopy.Size"))); + this.checkCopy.TabIndex = ((int)(resources.GetObject("checkCopy.TabIndex"))); + this.checkCopy.Text = resources.GetString("checkCopy.Text"); + this.checkCopy.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkCopy.TextAlign"))); + this.checkCopy.Visible = ((bool)(resources.GetObject("checkCopy.Visible"))); + // + // checkModifyAnnotations + // + this.checkModifyAnnotations.AccessibleDescription = resources.GetString("checkModifyAnnotations.AccessibleDescription"); + this.checkModifyAnnotations.AccessibleName = resources.GetString("checkModifyAnnotations.AccessibleName"); + this.checkModifyAnnotations.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkModifyAnnotations.Anchor"))); + this.checkModifyAnnotations.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkModifyAnnotations.Appearance"))); + this.checkModifyAnnotations.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkModifyAnnotations.BackgroundImage"))); + this.checkModifyAnnotations.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkModifyAnnotations.CheckAlign"))); + this.checkModifyAnnotations.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkModifyAnnotations.Dock"))); + this.checkModifyAnnotations.Enabled = ((bool)(resources.GetObject("checkModifyAnnotations.Enabled"))); + this.checkModifyAnnotations.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkModifyAnnotations.FlatStyle"))); + this.checkModifyAnnotations.Font = ((System.Drawing.Font)(resources.GetObject("checkModifyAnnotations.Font"))); + this.checkModifyAnnotations.Image = ((System.Drawing.Image)(resources.GetObject("checkModifyAnnotations.Image"))); + this.checkModifyAnnotations.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkModifyAnnotations.ImageAlign"))); + this.checkModifyAnnotations.ImageIndex = ((int)(resources.GetObject("checkModifyAnnotations.ImageIndex"))); + this.checkModifyAnnotations.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkModifyAnnotations.ImeMode"))); + this.checkModifyAnnotations.Location = ((System.Drawing.Point)(resources.GetObject("checkModifyAnnotations.Location"))); + this.checkModifyAnnotations.Name = "checkModifyAnnotations"; + this.checkModifyAnnotations.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkModifyAnnotations.RightToLeft"))); + this.checkModifyAnnotations.Size = ((System.Drawing.Size)(resources.GetObject("checkModifyAnnotations.Size"))); + this.checkModifyAnnotations.TabIndex = ((int)(resources.GetObject("checkModifyAnnotations.TabIndex"))); + this.checkModifyAnnotations.Text = resources.GetString("checkModifyAnnotations.Text"); + this.checkModifyAnnotations.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkModifyAnnotations.TextAlign"))); + this.checkModifyAnnotations.Visible = ((bool)(resources.GetObject("checkModifyAnnotations.Visible"))); + // + // checkDocumentAssembly + // + this.checkDocumentAssembly.AccessibleDescription = resources.GetString("checkDocumentAssembly.AccessibleDescription"); + this.checkDocumentAssembly.AccessibleName = resources.GetString("checkDocumentAssembly.AccessibleName"); + this.checkDocumentAssembly.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkDocumentAssembly.Anchor"))); + this.checkDocumentAssembly.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkDocumentAssembly.Appearance"))); + this.checkDocumentAssembly.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkDocumentAssembly.BackgroundImage"))); + this.checkDocumentAssembly.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkDocumentAssembly.CheckAlign"))); + this.checkDocumentAssembly.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkDocumentAssembly.Dock"))); + this.checkDocumentAssembly.Enabled = ((bool)(resources.GetObject("checkDocumentAssembly.Enabled"))); + this.checkDocumentAssembly.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkDocumentAssembly.FlatStyle"))); + this.checkDocumentAssembly.Font = ((System.Drawing.Font)(resources.GetObject("checkDocumentAssembly.Font"))); + this.checkDocumentAssembly.Image = ((System.Drawing.Image)(resources.GetObject("checkDocumentAssembly.Image"))); + this.checkDocumentAssembly.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkDocumentAssembly.ImageAlign"))); + this.checkDocumentAssembly.ImageIndex = ((int)(resources.GetObject("checkDocumentAssembly.ImageIndex"))); + this.checkDocumentAssembly.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkDocumentAssembly.ImeMode"))); + this.checkDocumentAssembly.Location = ((System.Drawing.Point)(resources.GetObject("checkDocumentAssembly.Location"))); + this.checkDocumentAssembly.Name = "checkDocumentAssembly"; + this.checkDocumentAssembly.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkDocumentAssembly.RightToLeft"))); + this.checkDocumentAssembly.Size = ((System.Drawing.Size)(resources.GetObject("checkDocumentAssembly.Size"))); + this.checkDocumentAssembly.TabIndex = ((int)(resources.GetObject("checkDocumentAssembly.TabIndex"))); + this.checkDocumentAssembly.Text = resources.GetString("checkDocumentAssembly.Text"); + this.checkDocumentAssembly.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkDocumentAssembly.TextAlign"))); + this.checkDocumentAssembly.Visible = ((bool)(resources.GetObject("checkDocumentAssembly.Visible"))); + // + // checkFillIn + // + this.checkFillIn.AccessibleDescription = resources.GetString("checkFillIn.AccessibleDescription"); + this.checkFillIn.AccessibleName = resources.GetString("checkFillIn.AccessibleName"); + this.checkFillIn.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkFillIn.Anchor"))); + this.checkFillIn.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkFillIn.Appearance"))); + this.checkFillIn.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkFillIn.BackgroundImage"))); + this.checkFillIn.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkFillIn.CheckAlign"))); + this.checkFillIn.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkFillIn.Dock"))); + this.checkFillIn.Enabled = ((bool)(resources.GetObject("checkFillIn.Enabled"))); + this.checkFillIn.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkFillIn.FlatStyle"))); + this.checkFillIn.Font = ((System.Drawing.Font)(resources.GetObject("checkFillIn.Font"))); + this.checkFillIn.Image = ((System.Drawing.Image)(resources.GetObject("checkFillIn.Image"))); + this.checkFillIn.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkFillIn.ImageAlign"))); + this.checkFillIn.ImageIndex = ((int)(resources.GetObject("checkFillIn.ImageIndex"))); + this.checkFillIn.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkFillIn.ImeMode"))); + this.checkFillIn.Location = ((System.Drawing.Point)(resources.GetObject("checkFillIn.Location"))); + this.checkFillIn.Name = "checkFillIn"; + this.checkFillIn.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkFillIn.RightToLeft"))); + this.checkFillIn.Size = ((System.Drawing.Size)(resources.GetObject("checkFillIn.Size"))); + this.checkFillIn.TabIndex = ((int)(resources.GetObject("checkFillIn.TabIndex"))); + this.checkFillIn.Text = resources.GetString("checkFillIn.Text"); + this.checkFillIn.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkFillIn.TextAlign"))); + this.checkFillIn.Visible = ((bool)(resources.GetObject("checkFillIn.Visible"))); + // + // checkScreenReaders + // + this.checkScreenReaders.AccessibleDescription = resources.GetString("checkScreenReaders.AccessibleDescription"); + this.checkScreenReaders.AccessibleName = resources.GetString("checkScreenReaders.AccessibleName"); + this.checkScreenReaders.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkScreenReaders.Anchor"))); + this.checkScreenReaders.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkScreenReaders.Appearance"))); + this.checkScreenReaders.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkScreenReaders.BackgroundImage"))); + this.checkScreenReaders.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkScreenReaders.CheckAlign"))); + this.checkScreenReaders.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkScreenReaders.Dock"))); + this.checkScreenReaders.Enabled = ((bool)(resources.GetObject("checkScreenReaders.Enabled"))); + this.checkScreenReaders.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkScreenReaders.FlatStyle"))); + this.checkScreenReaders.Font = ((System.Drawing.Font)(resources.GetObject("checkScreenReaders.Font"))); + this.checkScreenReaders.Image = ((System.Drawing.Image)(resources.GetObject("checkScreenReaders.Image"))); + this.checkScreenReaders.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkScreenReaders.ImageAlign"))); + this.checkScreenReaders.ImageIndex = ((int)(resources.GetObject("checkScreenReaders.ImageIndex"))); + this.checkScreenReaders.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkScreenReaders.ImeMode"))); + this.checkScreenReaders.Location = ((System.Drawing.Point)(resources.GetObject("checkScreenReaders.Location"))); + this.checkScreenReaders.Name = "checkScreenReaders"; + this.checkScreenReaders.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkScreenReaders.RightToLeft"))); + this.checkScreenReaders.Size = ((System.Drawing.Size)(resources.GetObject("checkScreenReaders.Size"))); + this.checkScreenReaders.TabIndex = ((int)(resources.GetObject("checkScreenReaders.TabIndex"))); + this.checkScreenReaders.Text = resources.GetString("checkScreenReaders.Text"); + this.checkScreenReaders.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkScreenReaders.TextAlign"))); + this.checkScreenReaders.Visible = ((bool)(resources.GetObject("checkScreenReaders.Visible"))); + // + // checkLowPrint + // + this.checkLowPrint.AccessibleDescription = resources.GetString("checkLowPrint.AccessibleDescription"); + this.checkLowPrint.AccessibleName = resources.GetString("checkLowPrint.AccessibleName"); + this.checkLowPrint.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkLowPrint.Anchor"))); + this.checkLowPrint.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkLowPrint.Appearance"))); + this.checkLowPrint.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkLowPrint.BackgroundImage"))); + this.checkLowPrint.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkLowPrint.CheckAlign"))); + this.checkLowPrint.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkLowPrint.Dock"))); + this.checkLowPrint.Enabled = ((bool)(resources.GetObject("checkLowPrint.Enabled"))); + this.checkLowPrint.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkLowPrint.FlatStyle"))); + this.checkLowPrint.Font = ((System.Drawing.Font)(resources.GetObject("checkLowPrint.Font"))); + this.checkLowPrint.Image = ((System.Drawing.Image)(resources.GetObject("checkLowPrint.Image"))); + this.checkLowPrint.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkLowPrint.ImageAlign"))); + this.checkLowPrint.ImageIndex = ((int)(resources.GetObject("checkLowPrint.ImageIndex"))); + this.checkLowPrint.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkLowPrint.ImeMode"))); + this.checkLowPrint.Location = ((System.Drawing.Point)(resources.GetObject("checkLowPrint.Location"))); + this.checkLowPrint.Name = "checkLowPrint"; + this.checkLowPrint.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkLowPrint.RightToLeft"))); + this.checkLowPrint.Size = ((System.Drawing.Size)(resources.GetObject("checkLowPrint.Size"))); + this.checkLowPrint.TabIndex = ((int)(resources.GetObject("checkLowPrint.TabIndex"))); + this.checkLowPrint.Text = resources.GetString("checkLowPrint.Text"); + this.checkLowPrint.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkLowPrint.TextAlign"))); + this.checkLowPrint.Visible = ((bool)(resources.GetObject("checkLowPrint.Visible"))); + // + // buttonOK + // + this.buttonOK.AccessibleDescription = resources.GetString("buttonOK.AccessibleDescription"); + this.buttonOK.AccessibleName = resources.GetString("buttonOK.AccessibleName"); + this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("buttonOK.Anchor"))); + this.buttonOK.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonOK.BackgroundImage"))); + this.buttonOK.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("buttonOK.Dock"))); + this.buttonOK.Enabled = ((bool)(resources.GetObject("buttonOK.Enabled"))); + this.buttonOK.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("buttonOK.FlatStyle"))); + this.buttonOK.Font = ((System.Drawing.Font)(resources.GetObject("buttonOK.Font"))); + this.buttonOK.Image = ((System.Drawing.Image)(resources.GetObject("buttonOK.Image"))); + this.buttonOK.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("buttonOK.ImageAlign"))); + this.buttonOK.ImageIndex = ((int)(resources.GetObject("buttonOK.ImageIndex"))); + this.buttonOK.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("buttonOK.ImeMode"))); + this.buttonOK.Location = ((System.Drawing.Point)(resources.GetObject("buttonOK.Location"))); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("buttonOK.RightToLeft"))); + this.buttonOK.Size = ((System.Drawing.Size)(resources.GetObject("buttonOK.Size"))); + this.buttonOK.TabIndex = ((int)(resources.GetObject("buttonOK.TabIndex"))); + this.buttonOK.Text = resources.GetString("buttonOK.Text"); + this.buttonOK.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("buttonOK.TextAlign"))); + this.buttonOK.Visible = ((bool)(resources.GetObject("buttonOK.Visible"))); + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // buttonCancel + // + this.buttonCancel.AccessibleDescription = resources.GetString("buttonCancel.AccessibleDescription"); + this.buttonCancel.AccessibleName = resources.GetString("buttonCancel.AccessibleName"); + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("buttonCancel.Anchor"))); + this.buttonCancel.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonCancel.BackgroundImage"))); + this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.buttonCancel.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("buttonCancel.Dock"))); + this.buttonCancel.Enabled = ((bool)(resources.GetObject("buttonCancel.Enabled"))); + this.buttonCancel.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("buttonCancel.FlatStyle"))); + this.buttonCancel.Font = ((System.Drawing.Font)(resources.GetObject("buttonCancel.Font"))); + this.buttonCancel.Image = ((System.Drawing.Image)(resources.GetObject("buttonCancel.Image"))); + this.buttonCancel.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("buttonCancel.ImageAlign"))); + this.buttonCancel.ImageIndex = ((int)(resources.GetObject("buttonCancel.ImageIndex"))); + this.buttonCancel.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("buttonCancel.ImeMode"))); + this.buttonCancel.Location = ((System.Drawing.Point)(resources.GetObject("buttonCancel.Location"))); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("buttonCancel.RightToLeft"))); + this.buttonCancel.Size = ((System.Drawing.Size)(resources.GetObject("buttonCancel.Size"))); + this.buttonCancel.TabIndex = ((int)(resources.GetObject("buttonCancel.TabIndex"))); + this.buttonCancel.Text = resources.GetString("buttonCancel.Text"); + this.buttonCancel.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("buttonCancel.TextAlign"))); + this.buttonCancel.Visible = ((bool)(resources.GetObject("buttonCancel.Visible"))); + // + // EncryptOptionDialog + // + this.AcceptButton = this.buttonOK; + this.AccessibleDescription = resources.GetString("$this.AccessibleDescription"); + this.AccessibleName = resources.GetString("$this.AccessibleName"); + this.AutoScaleBaseSize = ((System.Drawing.Size)(resources.GetObject("$this.AutoScaleBaseSize"))); + this.AutoScroll = ((bool)(resources.GetObject("$this.AutoScroll"))); + this.AutoScrollMargin = ((System.Drawing.Size)(resources.GetObject("$this.AutoScrollMargin"))); + this.AutoScrollMinSize = ((System.Drawing.Size)(resources.GetObject("$this.AutoScrollMinSize"))); + this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage"))); + this.CancelButton = this.buttonCancel; + this.ClientSize = ((System.Drawing.Size)(resources.GetObject("$this.ClientSize"))); + this.ControlBox = false; + this.Controls.Add(this.buttonCancel); + this.Controls.Add(this.buttonOK); + this.Controls.Add(this.checkDocumentAssembly); + this.Controls.Add(this.checkFillIn); + this.Controls.Add(this.checkScreenReaders); + this.Controls.Add(this.checkLowPrint); + this.Controls.Add(this.checkCopy); + this.Controls.Add(this.checkModifyAnnotations); + this.Controls.Add(this.checkModifyContent); + this.Controls.Add(this.checkPrinting); + this.Controls.Add(this.groupBox1); + this.Controls.Add(this.editMasterPassword); + this.Controls.Add(this.editUserPassword); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Enabled = ((bool)(resources.GetObject("$this.Enabled"))); + this.Font = ((System.Drawing.Font)(resources.GetObject("$this.Font"))); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("$this.ImeMode"))); + this.Location = ((System.Drawing.Point)(resources.GetObject("$this.Location"))); + this.MaximumSize = ((System.Drawing.Size)(resources.GetObject("$this.MaximumSize"))); + this.MinimumSize = ((System.Drawing.Size)(resources.GetObject("$this.MinimumSize"))); + this.Name = "EncryptOptionDialog"; + this.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("$this.RightToLeft"))); + this.ShowInTaskbar = false; + this.StartPosition = ((System.Windows.Forms.FormStartPosition)(resources.GetObject("$this.StartPosition"))); + this.Text = resources.GetString("$this.Text"); + this.groupBox1.ResumeLayout(false); + this.ResumeLayout(false); + + } + #endregion + + private void buttonOK_Click(object sender, System.EventArgs e) + { + if (EncryptionLength > 0 && editMasterPassword.Text == "") + { + MessageBox.Show("Master password is required."); + editMasterPassword.Focus(); + } + else + { + this.DialogResult = DialogResult.OK; + } + } + + private void radioSecurityRC4_CheckedChanged(object sender, System.EventArgs e) + { + bool b = !radioNoSecurity.Checked; + checkDocumentAssembly.Visible= b; + checkFillIn.Visible= b; + checkScreenReaders.Visible= b; + checkLowPrint.Visible= b; + checkPrinting.Visible= b; + checkModifyContent.Visible= b; + checkCopy.Visible= b; + checkModifyAnnotations.Visible= b; + } + + public String UserPassword + { + get + { + return editUserPassword.Text; + } + set + { + editUserPassword.Text = (value == null ? "" : value); + } + } + + public String MasterPassword + { + get + { + return editMasterPassword.Text; + } + set + { + editMasterPassword.Text = (value == null ? "" : value); + } + } + + public int EncryptionLength + { + get + { + if (radio40bitRC4.Checked) return 40; + if (radio128bitRC4.Checked) return 128; + return 0; + } + set + { + switch (value) + { + case 0: + radioNoSecurity.Checked = true; + break; + case 40: + radio40bitRC4.Checked = true; + break; + case 128: + radio128bitRC4.Checked = true; + break; + default: + throw new ArgumentException(); + } + } + } + + public int Permissions + { + get + { + int perm = 0; + if (checkPrinting.Checked) perm |= PdfWriter.AllowPrinting; + if (checkModifyContent.Checked) perm |= PdfWriter.AllowModifyContents; + if (checkCopy.Checked) perm |= PdfWriter.AllowCopy; + if (checkModifyAnnotations.Checked) perm |= PdfWriter.AllowModifyAnnotations; + if (checkDocumentAssembly.Checked) perm |= PdfWriter.AllowAssembly; + if (checkFillIn.Checked) perm |= PdfWriter.AllowFillIn; + if (checkScreenReaders.Checked) perm |= PdfWriter.AllowScreenReaders; + if (checkLowPrint.Checked) perm |= PdfWriter.AllowDegradedPrinting; + return perm; + } + set + { + checkPrinting.Checked = ((value & PdfWriter.AllowPrinting) == PdfWriter.AllowPrinting); + checkModifyContent.Checked = ((value & PdfWriter.AllowModifyContents) == PdfWriter.AllowModifyContents); + checkCopy.Checked = ((value & PdfWriter.AllowCopy) == PdfWriter.AllowCopy); + checkModifyAnnotations.Checked = ((value & PdfWriter.AllowModifyAnnotations) == PdfWriter.AllowModifyAnnotations); + checkDocumentAssembly.Checked = ((value & PdfWriter.AllowAssembly) == PdfWriter.AllowAssembly); + checkFillIn.Checked = ((value & PdfWriter.AllowFillIn) == PdfWriter.AllowFillIn); + checkScreenReaders.Checked = ((value & PdfWriter.AllowScreenReaders) == PdfWriter.AllowScreenReaders); + checkLowPrint.Checked = ((value & PdfWriter.AllowDegradedPrinting) == PdfWriter.AllowDegradedPrinting); + } + } + + } +} diff --git a/ConcatPDFUI/EncryptOptionDialog.ja.resx b/ConcatPDFUI/EncryptOptionDialog.ja.resx new file mode 100644 index 0000000..ef3251c --- /dev/null +++ b/ConcatPDFUI/EncryptOptionDialog.ja.resx @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 文書を開くためのパスワード(&P) + + + 権限やパスワードの変更をするためのパスワード(&R) + + + セキュリティなし + + + セキュリティ + + + 印刷(&T) + + + 文書の変更(&C) + + + 内容のコピー、抽出・アクセシビリティの停止(&D) + + + 注釈、フォームフィールドの追加と変更(&F) + + + ページの挿入、削除、回転(&M) + + + フォームフィールドの入力、署名(&I) + + + スクリーンリーダーのテキストアクセス(&A) + + + 低解像度印刷(&L) + + + Inherit + + + 暗号化オプション + + \ No newline at end of file diff --git a/ConcatPDFUI/EncryptOptionDialog.resx b/ConcatPDFUI/EncryptOptionDialog.resx new file mode 100644 index 0000000..bf97b22 --- /dev/null +++ b/ConcatPDFUI/EncryptOptionDialog.resx @@ -0,0 +1,1465 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MiddleLeft + + + True + + + MiddleLeft + + + 16, 240 + + + 16, 336 + + + + + + + + + + + + 8, 32 + + + + + + False + + + True + + + Normal + + + MiddleCenter + + + Security + + + label2 + + + Top, Left + + + + + + True + + + MiddleLeft + + + + + + True + + + 14 + + + Standard + + + $this + + + 48, 24 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Normal + + + + + + + + + + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 362, 432 + + + No Security + + + Top, Left + + + 4 + + + + + + Standard + + + Normal + + + groupBox1 + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NoControl + + + + + + + + + 8 + + + True + + + + + + + + + MiddleCenter + + + Left + + + Inherit + + + MiddleLeft + + + MiddleLeft + + + Left + + + Normal + + + $this + + + None + + + 12 + + + Top, Left + + + + + + None + + + + + + True + + + 9 + + + 16, 192 + + + 10 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + Standard + + + $this + + + None + + + MiddleLeft + + + + + + $this + + + 11 + + + 15 + + + None + + + 336, 16 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + 8, 16 + + + Standard + + + + + + + + + + + + True + + + 5, 12 + + + + + + + + + True + + + + + + -1 + + + True + + + MiddleCenter + + + 16, 312 + + + 32767 + + + + + + + + + 80, 24 + + + + + + 3 + + + Top, Left + + + 152, 19 + + + Inherit + + + MiddleCenter + + + + + + Normal + + + + + + checkLowPrint + + + True + + + None + + + NoControl + + + + + + MiddleLeft + + + 10 + + + 1 + + + TopLeft + + + Top, Left + + + True + + + 0 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + MiddleCenter + + + 4 + + + NoControl + + + 80, 24 + + + MiddleCenter + + + 3 + + + $this + + + MiddleLeft + + + 200, 72 + + + None + + + + + + Inherit + + + Top, Left + + + 152, 19 + + + Normal + + + None + + + + + + Inherit + + + System.Windows.Forms.Label, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + Top, Left + + + Normal + + + 336, 16 + + + True + + + + + + NoControl + + + NoControl + + + + + + 32767 + + + + + + MiddleCenter + + + editMasterPassword + + + Standard + + + -1 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NoControl + + + + + + -1 + + + + + + True + + + MiddleCenter + + + Standard + + + 13 + + + 176, 392 + + + 13 + + + 0, 0 + + + + + + * + + + Normal + + + 0, 0 + + + + + + TopLeft + + + True + + + Changing Document Asse&mbly + + + 12 + + + + + + + + + &Changing the Document + + + + + + label1 + + + + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Inherit + + + + + + $this + + + 2 + + + 8, 48 + + + -1 + + + + + + + + + WindowsDefaultLocation + + + + + + groupBox1 + + + Inherit + + + None + + + NoControl + + + + + + checkCopy + + + Inherit + + + * + + + True + + + MiddleLeft + + + None + + + 312, 16 + + + OK + + + Inherit + + + True + + + NoControl + + + True + + + NoControl + + + MiddleLeft + + + True + + + 48, 72 + + + 336, 16 + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 16, 288 + + + None + + + Normal + + + checkPrinting + + + MiddleLeft + + + NoControl + + + checkScreenReaders + + + + + + groupBox1 + + + + + + Standard + + + MiddleLeft + + + MiddleCenter + + + checkFillIn + + + buttonCancel + + + -1 + + + False + + + Inherit + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + + &Password Required to Open Document + + + NoControl + + + $this + + + MiddleLeft + + + 336, 16 + + + True + + + 336, 16 + + + Inherit + + + 1 + + + True + + + MiddleCenter + + + MiddleCenter + + + Standard + + + 5 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 16, 104 + + + MiddleCenter + + + + + + + + + $this + + + + + + Inherit + + + True + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + checkModifyContent + + + None + + + 11 + + + Top, Left + + + Top, Left + + + NoControl + + + + + + Top, Left + + + + + + groupBox1 + + + 8, 56 + + + 184, 16 + + + True + + + Encrypt Options + + + + + + + + + 6 + + + Top, Left + + + Inherit + + + + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 7 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 2 + + + None + + + editUserPassword + + + $this + + + + + + Top, Left + + + None + + + + + + Inherit + + + $this + + + Standard + + + False + + + None + + + NoControl + + + -1 + + + -1 + + + + + + 7 + + + Standard + + + True + + + Top, Left + + + -1 + + + MiddleLeft + + + -1 + + + Inherit + + + None + + + Adding or Changing Comments and &Form Fields + + + 14 + + + -1 + + + $this + + + Cancel + + + + + + + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + + + + 8, 8 + + + MiddleCenter + + + True + + + + + + MiddleCenter + + + NoControl + + + -1 + + + None + + + 6 + + + $this + + + System.Windows.Forms.Button, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NoControl + + + radioNoSecurity + + + Enable Content &Access for Visually Impaired + + + Standard + + + Top, Left + + + + + + + + + + + + + + + MiddleLeft + + + buttonOK + + + -1 + + + + + + + + + None + + + System.Windows.Forms.Label, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + radio40bitRC4 + + + 336, 16 + + + Inherit + + + + + + + + + 0, 0 + + + True + + + True + + + True + + + 0 + + + Inherit + + + 0 + + + 336, 16 + + + True + + + + + + Top, Left + + + + + + radio128bitRC4 + + + EncryptOptionDialog + + + None + + + False + + + Prin&ting + + + 40-bit RC4 (Acrobat 3.x, 4.x) + + + Top, Left + + + 128-bit RC4 (Acrobat 5.x, 6.x) + + + MiddleLeft + + + Inherit + + + &Low Resolution Printing + + + 184, 16 + + + MiddleCenter + + + True + + + 0, 0 + + + 16, 360 + + + + + + -1 + + + EncryptOptionDialog + + + MiddleCenter + + + True + + + + + + Changing Form Field Fill-&In or Signing + + + True + + + 2 + + + + + + 104, 16 + + + True + + + + + + Standard + + + 6 + + + MiddleLeft + + + + + + + + + 16, 216 + + + MiddleLeft + + + MiddleLeft + + + True + + + + + + True + + + MiddleLeft + + + $this + + + NoControl + + + 5 + + + + + + $this + + + checkDocumentAssembly + + + None + + + 9 + + + + + + 16, 264 + + + + + + + + + Standard + + + MiddleLeft + + + False + + + 8 + + + True + + + None + + + Content Copying or Extraction, &Disable Accessibility + + + NoControl + + + 336, 16 + + + checkModifyAnnotations + + + + + + Normal + + + + + + Inherit + + + -1 + + + Password &Required to Change Permissions and Password + + + 0, 0 + + + 5 + + + + + + 208, 16 + + + System.Windows.Forms.Form, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 272, 392 + + + True + + + -1 + + + True + + + Top, Left + + + True + + + + + + NoControl + + + Inherit + + + + + + MiddleCenter + + + Normal + + + + + + Top, Left + + + 1 + + + Inherit + + + MiddleLeft + + \ No newline at end of file diff --git a/ConcatPDFUI/FileListBox.cs b/ConcatPDFUI/FileListBox.cs new file mode 100644 index 0000000..ca56856 --- /dev/null +++ b/ConcatPDFUI/FileListBox.cs @@ -0,0 +1,526 @@ +/* + Copyright 2004, 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +using System; +using System.Collections; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Windows.Forms; + +using System.IO; +using System.Collections.Generic; + +namespace Ujihara.ConcatPDF +{ + public delegate int PagesCounter(string filename); + + public class FileListBox : System.Windows.Forms.UserControl + { + private System.ComponentModel.Container components = null; + + public FileListBox() + { + InitializeComponent(); + + // + // + // + + ClearSortMode(); + } + + protected override void Dispose( bool disposing ) + { + if( disposing ) + { + if(components != null) + { + components.Dispose(); + } + } + base.Dispose( disposing ); + } + + #region R|[lg fUCiŐꂽR[h + /// + /// fUCi T|[gɕKvȃ\bhłB̃\bh̓e + /// R[h GfB^ŕύXȂłB + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FileListBox)); + this.listView = new System.Windows.Forms.ListView(); + this.headerFileName = new System.Windows.Forms.ColumnHeader(); + this.headerPages = new System.Windows.Forms.ColumnHeader(); + this.headerDir = new System.Windows.Forms.ColumnHeader(); + this.SuspendLayout(); + // + // listView + // + this.listView.AccessibleDescription = null; + this.listView.AccessibleName = null; + resources.ApplyResources(this.listView, "listView"); + this.listView.AllowDrop = true; + this.listView.BackgroundImage = null; + this.listView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.headerFileName, + this.headerPages, + this.headerDir}); + this.listView.Font = null; + this.listView.Name = "listView"; + this.listView.UseCompatibleStateImageBehavior = false; + this.listView.View = System.Windows.Forms.View.Details; + this.listView.SelectedIndexChanged += new System.EventHandler(this.listView_SelectedIndexChanged); + this.listView.DragDrop += new System.Windows.Forms.DragEventHandler(this.listView_DragDrop); + this.listView.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listView_ColumnClick); + this.listView.DragOver += new System.Windows.Forms.DragEventHandler(this.listView_DragOver); + // + // headerFileName + // + resources.ApplyResources(this.headerFileName, "headerFileName"); + // + // headerPages + // + resources.ApplyResources(this.headerPages, "headerPages"); + // + // headerDir + // + resources.ApplyResources(this.headerDir, "headerDir"); + // + // FileListBox + // + this.AccessibleDescription = null; + this.AccessibleName = null; + resources.ApplyResources(this, "$this"); + this.BackgroundImage = null; + this.Controls.Add(this.listView); + this.Font = null; + this.Name = "FileListBox"; + this.ResumeLayout(false); + + } + #endregion + + private System.Windows.Forms.ListView listView; + private System.Windows.Forms.ColumnHeader headerFileName; + private System.Windows.Forms.ColumnHeader headerPages; + private System.Windows.Forms.ColumnHeader headerDir; + + public event EventHandler OnTouchContents; + public event EventHandler SelectedIndexChanged; + protected IDictionary pagesCounters = new Dictionary(); + + private const int NO_COLUMN_SELECTED = -1; + private int sortColumn; + private bool isAssent; + + private void ClearSortMode() + { + sortColumn = NO_COLUMN_SELECTED; + isAssent = false; + } + + private void TouchContents(object sender, EventArgs e) + { + ClearSortMode(); + if (OnTouchContents != null) + OnTouchContents(sender, e); + } + + /// + /// Move selected items up or down. + /// + /// -1:Up
1:Down
+ public void MoveSelectedItems(int direction) + { + if (direction != 1 && direction != -1) + throw new ArgumentException(); + + int ItemsCount = this.listView.Items.Count; + ListViewItem item = null; + for (int x = 0; x < this.listView.SelectedItems.Count; x++) + { + int nl = 0; + int nh = ItemsCount; + if (direction > 0) + { + item = this.listView.SelectedItems[this.listView.SelectedItems.Count - 1 - x]; + nh = nh - x; + } + else + { + item = this.listView.SelectedItems[x]; + nl = x; + } + int index = item.Index; + int newIndex = index + direction; + if (nl <= newIndex && newIndex < nh) + { + TouchContents(this, EventArgs.Empty); + + item.Remove(); + this.listView.Items.Insert(newIndex, item); + item.Selected = true; + } + } + if (item != null) + item.Focused = true; + } + + private void SwapItem(int indexA, int indexB) + { + if (indexA == indexB) + return; + if (indexA > indexB) + { + int temp = indexA; + indexA = indexB; + indexB = temp; + } + + ListViewItem itemA = this.listView.Items[indexA]; + ListViewItem itemB = this.listView.Items[indexB]; + } + + public virtual ListView.ListViewItemCollection Items + { + get + { + return this.listView.Items; + } + } + + public class FileListItemCollection : IEnumerable + { + ListView.ListViewItemCollection collection; + + internal FileListItemCollection(ListView.ListViewItemCollection collection) + { + this.collection = collection; + } + + public IEnumerator GetEnumerator() + { + return new FileListItemEnumerator(collection.GetEnumerator()); + } + } + + public virtual SelectedFileListItemCollection SelectedItems + { + get + { + return new SelectedFileListItemCollection(this.listView.SelectedItems); + } + } + + public class SelectedFileListItemCollection : IEnumerable + { + ListView.SelectedListViewItemCollection collection; + + internal SelectedFileListItemCollection(ListView.SelectedListViewItemCollection collection) + { + this.collection = collection; + } + + IEnumerator IEnumerable.GetEnumerator() + { + return new FileListItemEnumerator(collection.GetEnumerator()); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return ((IEnumerable)this).GetEnumerator(); + } + } + + private class FileListItemEnumerator : IEnumerator + { + IEnumerator enumerator; + + public FileListItemEnumerator(IEnumerator enumerator) + { + this.enumerator = enumerator; + } + + public void Reset() + { + enumerator.Reset(); + } + + public FileListItem Current + { + get + { + return FileListItem.Get((ListViewItem)enumerator.Current); + } + } + + public bool MoveNext() + { + return enumerator.MoveNext(); + } + + public void Dispose() + { + } + + object IEnumerator.Current + { + get { return this.Current; } + } + } + + private void listBox_DragOver(object sender, System.Windows.Forms.DragEventArgs e) + { + if (e.Data.GetDataPresent(DataFormats.FileDrop)) + { + e.Effect = DragDropEffects.Copy; + } + else + { + e.Effect = DragDropEffects.None; + } + } + + private void listBox_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) + { + object o = e.Data.GetData(DataFormats.FileDrop); + if (o == null) + { + //do nothing + } + else + { + string[] files = o as string[]; + if (files != null) + AddFiles(files); + } + } + + public virtual void AddFiles(string[] filenames) + { + foreach (string filename in filenames) + { + AddFile(filename); + } + } + + public virtual void RegisterPagesCounter(string extension, PagesCounter counter) + { + pagesCounters.Add(extension, counter); + } + + public virtual void AddFile(string filename) + { + TouchContents(this, EventArgs.Empty); + var item = MakeItemFromPath(filename); + this.listView.Items.Add(item.ListViewItem); + } + + private FileListItem MakeItemFromPath(string path) + { + var fileListItem = FileListItem.Create(path); + var fullpath = fileListItem.FullPath; + var counter = pagesCounters[Path.GetExtension(fullpath).ToLower()]; + if (counter != null) + { + Cursor cursor = this.Cursor; + this.Cursor = Cursors.WaitCursor; + + try + { + fileListItem.NumberOfPages = counter(fullpath); + } + catch (Exception ee) + { + throw ee; + } + finally + { + this.Cursor = cursor; + } + } + + return fileListItem; + } + + public IList Files + { + get + { + var files = new List(); + foreach (ListViewItem item in listView.Items) + { + files.Add(FileListItem.Get(item).FullPath); + } + return files; + } + } + + public virtual void Insert(int index, string path) + { + var item = MakeItemFromPath(path); + listView.Items.Insert(index, item.ListViewItem); + } + + public virtual void Remove(FileListItem item) + { + listView.Items.Remove(item.ListViewItem); + } + + public virtual void RemoveSelectedItems() + { + IList items = listView.SelectedItems; + foreach (ListViewItem item in items) + { + this.TouchContents(this, EventArgs.Empty); + item.Remove(); + } + } + + private void RemoveItems(IList items) + { + foreach (ListViewItem item in items) + { + this.TouchContents(this, EventArgs.Empty); + item.Remove(); + } + } + + public virtual void Clear() + { + RemoveItems(listView.Items); + } + + private void listView_DragOver(object sender, System.Windows.Forms.DragEventArgs e) + { + if (e.Data.GetDataPresent(System.Windows.Forms.DataFormats.FileDrop)) + { + e.Effect = DragDropEffects.Link; + } + else + { + e.Effect = DragDropEffects.None; + } + } + + private void listView_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) + { + object o = e.Data.GetData(System.Windows.Forms.DataFormats.FileDrop); + if (o == null) + { + //do nothing + } + else + { + AddFiles((String[])o); + } + } + + private void listView_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e) + { + if (this.listView.Columns.Count <= e.Column) + return; + if (this.sortColumn != e.Column) + { + this.ClearSortMode(); + } + this.sortColumn = e.Column; + this.isAssent = !this.isAssent; + this.listView.ListViewItemSorter = new ListViewItemComparer(this, e.Column, this.isAssent); + this.listView.ListViewItemSorter = null; + } + + private class ListViewItemComparer : IComparer + { + private FileListBox box; + private int column; + private bool isAssent; + public ListViewItemComparer(FileListBox box, int column, bool isAssent) + { + this.box = box; + this.column = column; + this.isAssent = isAssent; + } + public int Compare(object x, object y) + { + string p0 = ((ListViewItem)x).SubItems[column].Text; + string p1 = ((ListViewItem)y).SubItems[column].Text; + int b; + if (column == box.HeaderPages.Index) + { + try + { + int a0 = System.Convert.ToInt32(p0); + int a1 = System.Convert.ToInt32(p1); + b = a0 - a1; + } + catch (Exception) + { + b = 0; + } + } + else + { + b = String.Compare(p0, p1); + } + if (!isAssent) + b = -b; + return b; + } + } + + public virtual ColumnHeader HeaderFileName + { + get + { + return this.headerFileName; + } + } + + public virtual ColumnHeader HeaderPages + { + get + { + return this.headerPages; + } + } + + public virtual ColumnHeader HeaderDirectory + { + get + { + return this.headerDir; + } + } + + public virtual FileListItem FocusedItem + { + get + { + return FileListItem.Get(listView.FocusedItem); + } + } + + private void listView_SelectedIndexChanged(object sender, EventArgs e) + { + if (SelectedIndexChanged != null) + SelectedIndexChanged(sender, e); + } + } +} diff --git a/ConcatPDFUI/FileListBox.ja.resx b/ConcatPDFUI/FileListBox.ja.resx new file mode 100644 index 0000000..24a39b1 --- /dev/null +++ b/ConcatPDFUI/FileListBox.ja.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ファイル名 + + + ページ数 + + + フォルダ名 + + \ No newline at end of file diff --git a/ConcatPDFUI/FileListBox.resx b/ConcatPDFUI/FileListBox.resx new file mode 100644 index 0000000..ce7b7a3 --- /dev/null +++ b/ConcatPDFUI/FileListBox.resx @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 320, 208 + + + System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + headerPages + + + FileListBox + + + + 100 + + + File Name + + + headerFileName + + + 0 + + + listView + + + System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + + + Directory + + + headerDir + + + 0, 0 + + + System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + + Top, Bottom, Left, Right + + + 120 + + + Pages + + + 320, 208 + + + System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + Japanese + + \ No newline at end of file diff --git a/ConcatPDFUI/FileListItem.cs b/ConcatPDFUI/FileListItem.cs new file mode 100644 index 0000000..65b6f10 --- /dev/null +++ b/ConcatPDFUI/FileListItem.cs @@ -0,0 +1,127 @@ +/* + Copyright 2003, 2004, 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using System.Runtime.Serialization; +using System.Diagnostics; +using System.IO; + +namespace Ujihara.ConcatPDF +{ + public class FileListItem : IDisposable + { + private const int ITEM_INDEX_FILENAME = 0; + private const int ITEM_INDEX_NUMBER_OF_PAGES = 1; + private const int ITEM_INDEX_DIRECTORY_NAME = 2; + + internal static FileListItem Create(string path) + { + string fullPath = Path.GetFullPath(path); + + ListViewItem item = new ListViewItem(Path.GetFileName(fullPath)); + item.SubItems.Add(string.Empty); // number of pages + item.SubItems.Add(Path.GetDirectoryName(fullPath)); // directory name + + var fileListItem = new FileListItem(item); + + return fileListItem; + } + + /// + /// Get or set of the number of pages. + /// -1 means the number of pages is unknown. + /// + public int NumberOfPages + { + get + { + var str = this.ListViewItem.SubItems[ITEM_INDEX_NUMBER_OF_PAGES].Text; + if (str == null || str == string.Empty) + return -1; + + try + { + return int.Parse(str); + } + catch (FormatException) + { + return -1; // unknown + } + } + + internal set + { + this.ListViewItem.SubItems[ITEM_INDEX_NUMBER_OF_PAGES].Text = value.ToString(); + } + } + + internal static FileListItem Get(ListViewItem listViewItem) + { + if (listViewItem == null) + return null; + if (listViewItem.Tag == null) + { + Trace.Assert(false, "FileListItem.Get(ListViewItem)"); + listViewItem.Tag = new FileListItem(listViewItem); + } + return (FileListItem)listViewItem.Tag; + } + + internal ListViewItem ListViewItem + { + get; + private set; + } + + private FileListItem(ListViewItem listViewItem) + { + this.ListViewItem = listViewItem; + listViewItem.Tag = this; + } + + public string FullPath + { + get + { + return System.IO.Path.Combine( + this.ListViewItem.SubItems[ITEM_INDEX_DIRECTORY_NAME].Text, + this.ListViewItem.SubItems[ITEM_INDEX_FILENAME].Text); + } + } + + public int Index + { + get + { + return this.ListViewItem.Index; + } + } + + public byte[] Password + { + get; + set; + } + + public void Dispose() + { + throw new NotImplementedException(); + } + } +} diff --git a/ConcatPDFUI/ImageSettingDialog.Designer.cs b/ConcatPDFUI/ImageSettingDialog.Designer.cs new file mode 100644 index 0000000..fc682c8 --- /dev/null +++ b/ConcatPDFUI/ImageSettingDialog.Designer.cs @@ -0,0 +1,102 @@ +namespace Ujihara.ConcatPDF +{ + partial class ImageSettingDialog + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ImageSettingDialog)); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.textResolution = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.floatErrorProvider = new System.Windows.Forms.ErrorProvider(this.components); + ((System.ComponentModel.ISupportInitialize)(this.floatErrorProvider)).BeginInit(); + this.SuspendLayout(); + // + // buttonCancel + // + this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + resources.ApplyResources(this.buttonCancel, "buttonCancel"); + this.buttonCancel.Name = "buttonCancel"; + // + // buttonOK + // + this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK; + resources.ApplyResources(this.buttonOK, "buttonOK"); + this.buttonOK.Name = "buttonOK"; + // + // textResolution + // + resources.ApplyResources(this.textResolution, "textResolution"); + this.textResolution.Name = "textResolution"; + this.textResolution.TextChanged += new System.EventHandler(this.textResolution_TextChanged); + // + // label1 + // + resources.ApplyResources(this.label1, "label1"); + this.label1.Name = "label1"; + // + // label2 + // + resources.ApplyResources(this.label2, "label2"); + this.label2.Name = "label2"; + // + // floatErrorProvider + // + this.floatErrorProvider.ContainerControl = this; + // + // ImageSettingDialog + // + this.AcceptButton = this.buttonOK; + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.buttonCancel; + this.ControlBox = false; + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.textResolution); + this.Controls.Add(this.buttonCancel); + this.Controls.Add(this.buttonOK); + this.Name = "ImageSettingDialog"; + ((System.ComponentModel.ISupportInitialize)(this.floatErrorProvider)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonOK; + private System.Windows.Forms.TextBox textResolution; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.ErrorProvider floatErrorProvider; + } +} \ No newline at end of file diff --git a/ConcatPDFUI/ImageSettingDialog.cs b/ConcatPDFUI/ImageSettingDialog.cs new file mode 100644 index 0000000..a6d5e59 --- /dev/null +++ b/ConcatPDFUI/ImageSettingDialog.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace Ujihara.ConcatPDF +{ + public partial class ImageSettingDialog : Form + { + public ImageSettingDialog() + { + InitializeComponent(); + } + + public float DPI + { + get + { + return float.Parse(textResolution.Text); + } + + set + { + textResolution.Text = value.ToString(); + } + } + + private void textResolution_TextChanged(object sender, EventArgs e) + { + var textBox = (TextBox)sender; + var text = textBox.Text.Trim(); + float v; + if (float.TryParse(text, out v) && v > 1f) + { + textBox.Text = v.ToString(); + floatErrorProvider.SetError((Control)sender, string.Empty); + } + else + { + this.floatErrorProvider.SetError(textBox, "Illegal value."); + } + } + } +} diff --git a/ConcatPDFUI/ImageSettingDialog.ja.resx b/ConcatPDFUI/ImageSettingDialog.ja.resx new file mode 100644 index 0000000..b66db84 --- /dev/null +++ b/ConcatPDFUI/ImageSettingDialog.ja.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 41, 12 + + + 解像度 + + \ No newline at end of file diff --git a/ConcatPDFUI/ImageSettingDialog.resx b/ConcatPDFUI/ImageSettingDialog.resx new file mode 100644 index 0000000..c30d9f1 --- /dev/null +++ b/ConcatPDFUI/ImageSettingDialog.resx @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + NoControl + + + + 128, 54 + + + 80, 24 + + + + 19 + + + Cancel + + + buttonCancel + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + NoControl + + + 32, 54 + + + 80, 24 + + + 18 + + + OK + + + buttonOK + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + 77, 19 + + + 110, 19 + + + 20 + + + textResolution + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + True + + + 12, 22 + + + 59, 12 + + + 21 + + + Resolution + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + True + + + 193, 22 + + + 20, 12 + + + 22 + + + dpi + + + label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + 17, 17 + + + True + + + 6, 12 + + + 227, 98 + + + Image Setting + + + floatErrorProvider + + + System.Windows.Forms.ErrorProvider, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ImageSettingDialog + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ConcatPDFUI/PageSetting.cs b/ConcatPDFUI/PageSetting.cs new file mode 100644 index 0000000..f886b25 --- /dev/null +++ b/ConcatPDFUI/PageSetting.cs @@ -0,0 +1,278 @@ +/* + * Copyright (C) 2012 Kazuya Ujihara + * This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. + * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +using System; +using System.Drawing; +using System.Collections; +using System.ComponentModel; +using System.Windows.Forms; +using Ujihara.PDF; +using iTextSharp.text; + +namespace Ujihara.ConcatPDF +{ + /// + /// + public class PageSetting : System.Windows.Forms.Form + { + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonOK; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox textMBottom; + private System.Windows.Forms.TextBox textMRight; + private System.Windows.Forms.TextBox textMLeft; + private System.Windows.Forms.TextBox textMTop; + private System.Windows.Forms.ComboBox comboPageSize; + private System.Windows.Forms.CheckBox checkLandscape; + private ErrorProvider floatErrorProvider; + private ErrorProvider pagesizeErrorProvider; + private IContainer components; + + public PageSetting() + { + InitializeComponent(); + } + + /// + /// + protected override void Dispose( bool disposing ) + { + if( disposing ) + { + if(components != null) + { + components.Dispose(); + } + } + base.Dispose( disposing ); + } + + #region Windows tH[ fUCiŐꂽR[h + /// + /// fUCi T|[gɕKvȃ\bhłB̃\bh̓e + /// R[h GfB^ŕύXȂłB + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PageSetting)); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.textMBottom = new System.Windows.Forms.TextBox(); + this.textMRight = new System.Windows.Forms.TextBox(); + this.textMLeft = new System.Windows.Forms.TextBox(); + this.textMTop = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonOK = new System.Windows.Forms.Button(); + this.label2 = new System.Windows.Forms.Label(); + this.comboPageSize = new System.Windows.Forms.ComboBox(); + this.checkLandscape = new System.Windows.Forms.CheckBox(); + this.floatErrorProvider = new System.Windows.Forms.ErrorProvider(this.components); + this.pagesizeErrorProvider = new System.Windows.Forms.ErrorProvider(this.components); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.floatErrorProvider)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pagesizeErrorProvider)).BeginInit(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.textMBottom); + this.groupBox1.Controls.Add(this.textMRight); + this.groupBox1.Controls.Add(this.textMLeft); + this.groupBox1.Controls.Add(this.textMTop); + resources.ApplyResources(this.groupBox1, "groupBox1"); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.TabStop = false; + // + // textMBottom + // + resources.ApplyResources(this.textMBottom, "textMBottom"); + this.textMBottom.Name = "textMBottom"; + this.textMBottom.Validated += new System.EventHandler(this.textMerginValue_Validated); + // + // textMRight + // + resources.ApplyResources(this.textMRight, "textMRight"); + this.textMRight.Name = "textMRight"; + this.textMRight.Validated += new System.EventHandler(this.textMerginValue_Validated); + // + // textMLeft + // + resources.ApplyResources(this.textMLeft, "textMLeft"); + this.textMLeft.Name = "textMLeft"; + this.textMLeft.Validated += new System.EventHandler(this.textMerginValue_Validated); + // + // textMTop + // + resources.ApplyResources(this.textMTop, "textMTop"); + this.textMTop.Name = "textMTop"; + this.textMTop.Validated += new System.EventHandler(this.textMerginValue_Validated); + // + // label1 + // + resources.ApplyResources(this.label1, "label1"); + this.label1.Name = "label1"; + // + // buttonCancel + // + this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + resources.ApplyResources(this.buttonCancel, "buttonCancel"); + this.buttonCancel.Name = "buttonCancel"; + // + // buttonOK + // + this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK; + resources.ApplyResources(this.buttonOK, "buttonOK"); + this.buttonOK.Name = "buttonOK"; + // + // label2 + // + resources.ApplyResources(this.label2, "label2"); + this.label2.Name = "label2"; + // + // comboPageSize + // + resources.ApplyResources(this.comboPageSize, "comboPageSize"); + this.comboPageSize.Items.AddRange(new object[] { + resources.GetString("comboPageSize.Items"), + resources.GetString("comboPageSize.Items1"), + resources.GetString("comboPageSize.Items2"), + resources.GetString("comboPageSize.Items3"), + resources.GetString("comboPageSize.Items4"), + resources.GetString("comboPageSize.Items5"), + resources.GetString("comboPageSize.Items6"), + resources.GetString("comboPageSize.Items7"), + resources.GetString("comboPageSize.Items8"), + resources.GetString("comboPageSize.Items9"), + resources.GetString("comboPageSize.Items10"), + resources.GetString("comboPageSize.Items11"), + resources.GetString("comboPageSize.Items12"), + resources.GetString("comboPageSize.Items13"), + resources.GetString("comboPageSize.Items14"), + resources.GetString("comboPageSize.Items15"), + resources.GetString("comboPageSize.Items16"), + resources.GetString("comboPageSize.Items17")}); + this.comboPageSize.Name = "comboPageSize"; + this.comboPageSize.Validated += new System.EventHandler(this.comboPageSize_Validated); + // + // checkLandscape + // + resources.ApplyResources(this.checkLandscape, "checkLandscape"); + this.checkLandscape.Name = "checkLandscape"; + // + // floatErrorProvider + // + this.floatErrorProvider.ContainerControl = this; + // + // pagesizeErrorProvider + // + this.pagesizeErrorProvider.ContainerControl = this; + // + // PageSetting + // + this.AcceptButton = this.buttonOK; + resources.ApplyResources(this, "$this"); + this.CancelButton = this.buttonCancel; + this.ControlBox = false; + this.Controls.Add(this.checkLandscape); + this.Controls.Add(this.comboPageSize); + this.Controls.Add(this.label2); + this.Controls.Add(this.buttonCancel); + this.Controls.Add(this.buttonOK); + this.Controls.Add(this.label1); + this.Controls.Add(this.groupBox1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Name = "PageSetting"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.PageSetting_FormClosing); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.floatErrorProvider)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pagesizeErrorProvider)).EndInit(); + this.ResumeLayout(false); + + } + #endregion + + + public void GetSetting(PdfConcatenatorOption setting) + { + setting.Margins.Left = float.Parse(this.textMLeft.Text); + setting.Margins.Right = float.Parse(this.textMRight.Text); + setting.Margins.Top = float.Parse(this.textMTop.Text); + setting.Margins.Bottom = float.Parse(this.textMBottom.Text); + var pageSize = ToPageSize(this.comboPageSize.Text); + setting.SetPageSize(this.comboPageSize.Text, pageSize); + setting.Landscape = checkLandscape.Checked; + } + + public void SetSetting(PdfConcatenatorOption value) + { + this.textMLeft.Text = value.Margins.Left.ToString(); + this.textMRight.Text = value.Margins.Right.ToString(); + this.textMTop.Text = value.Margins.Top.ToString(); + this.textMBottom.Text = value.Margins.Bottom.ToString(); + this.comboPageSize.Text = value.PaperName; + this.checkLandscape.Checked = value.Landscape; + } + + private void textMerginValue_Validated(object sender, EventArgs e) + { + var textBox = (TextBox)sender; + var text = textBox.Text.Trim(); + float v; + if (float.TryParse(text, out v)) + { + textBox.Text = v.ToString(); + floatErrorProvider.SetError((Control)sender, string.Empty); + } + else + { + this.floatErrorProvider.SetError(textBox, "Illegal value."); + } + } + + private iTextSharp.text.Rectangle ToPageSize(string text) + { + if (text == null || text == string.Empty) + return null; + return PageSize.GetRectangle(text); + } + + private void comboPageSize_Validated(object sender, EventArgs e) + { + var errorMessage = string.Empty; + try + { + var text = ((Control)sender).Text.Trim(); + ToPageSize(text); + } + catch (ArgumentException) + { + errorMessage = "Illegal page size. \"width\" height\" for free size."; + } + pagesizeErrorProvider.SetError((Control)sender, errorMessage); + } + + private void PageSetting_FormClosing(object sender, FormClosingEventArgs e) + { + if (e.CloseReason == CloseReason.None && this.DialogResult == DialogResult.OK) + { + var dummy = new PdfConcatenatorOption(); + try + { + GetSetting(dummy); // check all values are correct. + } + catch (Exception) + { + e.Cancel = true; + } + } + } + } +} diff --git a/ConcatPDFUI/PageSetting.ja.resx b/ConcatPDFUI/PageSetting.ja.resx new file mode 100644 index 0000000..956f13f --- /dev/null +++ b/ConcatPDFUI/PageSetting.ja.resx @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + マージン(&M) + + + NoControl + + + 長さの単位はポイントです + + + NoControl + + + NoControl + + + NoControl + + + 104, 16 + + + ページサイズ(&S) + + + NoControl + + + 横置き + + + NoControl + + + ページ設定 + + \ No newline at end of file diff --git a/ConcatPDFUI/PageSetting.resx b/ConcatPDFUI/PageSetting.resx new file mode 100644 index 0000000..85e9abf --- /dev/null +++ b/ConcatPDFUI/PageSetting.resx @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 72, 88 + + + 60, 19 + + + + 3 + + + textMBottom + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 0 + + + 136, 56 + + + 60, 19 + + + 2 + + + textMRight + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 1 + + + 8, 56 + + + 60, 19 + + + 1 + + + textMLeft + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 2 + + + 72, 24 + + + 60, 19 + + + 0 + + + textMTop + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 3 + + + 16, 32 + + + 208, 120 + + + 0 + + + &Margin + + + groupBox1 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + + NoControl + + + 96, 8 + + + 128, 16 + + + 1 + + + The length unit is point. + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + NoControl + + + 148, 224 + + + 80, 24 + + + 17 + + + Cancel + + + buttonCancel + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + NoControl + + + 52, 224 + + + 80, 24 + + + 16 + + + OK + + + buttonOK + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + NoControl + + + 16, 160 + + + 72, 16 + + + 19 + + + Page &Size + + + label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + 12 + + + A0 + + + A1 + + + A2 + + + A3 + + + A4 + + + A5 + + + A6 + + + A7 + + + B0 + + + B1 + + + B2 + + + B3 + + + B4 + + + B5 + + + B6 + + + B7 + + + Letter + + + Legal + + + 16, 182 + + + 88, 20 + + + 20 + + + comboPageSize + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + NoControl + + + 120, 184 + + + 100, 16 + + + 21 + + + Landscape + + + checkLandscape + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + 17, 17 + + + True + + + 5, 12 + + + 242, 266 + + + Page Setting + + + floatErrorProvider + + + System.Windows.Forms.ErrorProvider, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pagesizeErrorProvider + + + System.Windows.Forms.ErrorProvider, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PageSetting + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 175, 17 + + \ No newline at end of file diff --git a/ConcatPDFUI/Properties/AssemblyInfo.cs b/ConcatPDFUI/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..90871f3 --- /dev/null +++ b/ConcatPDFUI/Properties/AssemblyInfo.cs @@ -0,0 +1,12 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("ConcatPDFUI")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ConcatPDFUI")] +[assembly: AssemblyCopyright("Copyright © 2012")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] diff --git a/ConcatPDFUI/PwdQueryDlg.cs b/ConcatPDFUI/PwdQueryDlg.cs new file mode 100644 index 0000000..fba858f --- /dev/null +++ b/ConcatPDFUI/PwdQueryDlg.cs @@ -0,0 +1,183 @@ +using System; +using System.Drawing; +using System.Collections; +using System.ComponentModel; +using System.Windows.Forms; + +using System.IO; + +namespace Ujihara.ConcatPDF +{ + public class PwdQueryDlg : System.Windows.Forms.Form + { + private System.Windows.Forms.Button buttonOK; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox textFileDirectory; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox textFileName; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox textPassword; + + private System.ComponentModel.Container components = null; + + public PwdQueryDlg() + { + InitializeComponent(); + } + + protected override void Dispose( bool disposing ) + { + if( disposing ) + { + if(components != null) + { + components.Dispose(); + } + } + base.Dispose( disposing ); + } + + #region + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PwdQueryDlg)); + this.buttonOK = new System.Windows.Forms.Button(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.textFileDirectory = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.textFileName = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.textPassword = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // buttonOK + // + resources.ApplyResources(this.buttonOK, "buttonOK"); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // buttonCancel + // + resources.ApplyResources(this.buttonCancel, "buttonCancel"); + this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click); + // + // textFileDirectory + // + resources.ApplyResources(this.textFileDirectory, "textFileDirectory"); + this.textFileDirectory.BackColor = System.Drawing.SystemColors.Control; + this.textFileDirectory.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textFileDirectory.Name = "textFileDirectory"; + this.textFileDirectory.ReadOnly = true; + this.textFileDirectory.TabStop = false; + // + // label1 + // + resources.ApplyResources(this.label1, "label1"); + this.label1.Name = "label1"; + // + // label2 + // + resources.ApplyResources(this.label2, "label2"); + this.label2.Name = "label2"; + // + // label3 + // + resources.ApplyResources(this.label3, "label3"); + this.label3.Name = "label3"; + // + // textFileName + // + resources.ApplyResources(this.textFileName, "textFileName"); + this.textFileName.BackColor = System.Drawing.SystemColors.Control; + this.textFileName.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textFileName.Name = "textFileName"; + this.textFileName.ReadOnly = true; + this.textFileName.TabStop = false; + // + // label4 + // + resources.ApplyResources(this.label4, "label4"); + this.label4.Name = "label4"; + // + // textPassword + // + resources.ApplyResources(this.textPassword, "textPassword"); + this.textPassword.Name = "textPassword"; + // + // PwdQueryDlg + // + this.AcceptButton = this.buttonOK; + resources.ApplyResources(this, "$this"); + this.CancelButton = this.buttonCancel; + this.ControlBox = false; + this.Controls.Add(this.textPassword); + this.Controls.Add(this.label4); + this.Controls.Add(this.label3); + this.Controls.Add(this.textFileName); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.textFileDirectory); + this.Controls.Add(this.buttonCancel); + this.Controls.Add(this.buttonOK); + this.Name = "PwdQueryDlg"; + this.Load += new System.EventHandler(this.PwdQueryDlg_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + #endregion + + private void buttonOK_Click(object sender, System.EventArgs e) + { + DialogResult = DialogResult.OK; + } + + private void buttonCancel_Click(object sender, System.EventArgs e) + { + DialogResult = DialogResult.Cancel; + } + + public string FullName + { + get + { + return Path.Combine(textFileDirectory.Text, textFileName.Text); + } + + set + { + if (string.IsNullOrEmpty(value)) + { + textFileName.Text = string.Empty; + textFileDirectory.Text = string.Empty; + } + + textFileName.Text = Path.GetFileName(value); + textFileDirectory.Text = Path.GetDirectoryName(value); + } + } + + public string Password + { + get + { + return textPassword.Text; + } + set + { + textPassword.Text = value; + } + } + + private void PwdQueryDlg_Load(object sender, EventArgs e) + { + + } + } +} diff --git a/ConcatPDFUI/PwdQueryDlg.ja.resx b/ConcatPDFUI/PwdQueryDlg.ja.resx new file mode 100644 index 0000000..89e2a41 --- /dev/null +++ b/ConcatPDFUI/PwdQueryDlg.ja.resx @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + NoControl + + + NoControl + + + NoControl + + + フォルダ: + + + NoControl + + + 次のファイルの権限パスワードを入力「してください + + + NoControl + + + 名前: + + + NoControl + + + 権限パスワード: + + + NoControl + + \ No newline at end of file diff --git a/ConcatPDFUI/PwdQueryDlg.resx b/ConcatPDFUI/PwdQueryDlg.resx new file mode 100644 index 0000000..4d4226a --- /dev/null +++ b/ConcatPDFUI/PwdQueryDlg.resx @@ -0,0 +1,408 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + Top, Right + + + NoControl + + + + 192, 168 + + + 80, 24 + + + + 1 + + + OK + + + buttonOK + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 8 + + + Top, Right + + + NoControl + + + 288, 168 + + + 80, 24 + + + 2 + + + Cancel + + + buttonCancel + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 7 + + + Top, Left, Right + + + MS UI Gothic, 10.5pt + + + 104, 56 + + + 264, 14 + + + 2 + + + textFileDirectory + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + MS UI Gothic, 10.5pt + + + NoControl + + + 16, 56 + + + 64, 16 + + + 3 + + + Directory: + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + MS UI Gothic, 10.5pt + + + NoControl + + + 16, 16 + + + 352, 16 + + + 4 + + + Input owner password of the following file. + + + label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + MS UI Gothic, 10.5pt + + + NoControl + + + 16, 88 + + + 64, 16 + + + 6 + + + Name: + + + label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + Top, Left, Right + + + MS UI Gothic, 10.5pt + + + 104, 88 + + + 264, 14 + + + 5 + + + textFileName + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + MS UI Gothic, 10.5pt + + + NoControl + + + 16, 120 + + + 112, 16 + + + 7 + + + Owner Password: + + + label4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + Top, Left, Right + + + MS UI Gothic, 10.5pt + + + 136, 120 + + + * + + + 232, 21 + + + 0 + + + textPassword + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + 5, 12 + + + 384, 214 + + + NoControl + + + ConcatPDF + + + PwdQueryDlg + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ConcatPDFUI/ViewerOptionDialog.cs b/ConcatPDFUI/ViewerOptionDialog.cs new file mode 100644 index 0000000..7525d60 --- /dev/null +++ b/ConcatPDFUI/ViewerOptionDialog.cs @@ -0,0 +1,678 @@ +using System; +using System.Drawing; +using System.Collections; +using System.ComponentModel; +using System.Windows.Forms; + +using iTextSharp.text.pdf; + +namespace Ujihara.ConcatPDF +{ + /// + /// ViewerOptionDialog ̊Tv̐łB + /// + public class ViewerOptionDialog : System.Windows.Forms.Form + { + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.RadioButton radioSinglePage; + private System.Windows.Forms.RadioButton radioContinuous; + private System.Windows.Forms.RadioButton radioContinuousLeft; + private System.Windows.Forms.RadioButton radioContinuousRight; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.Button buttonOK; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.CheckBox checkPMShowNone; + private System.Windows.Forms.CheckBox checkShowOutlines; + private System.Windows.Forms.CheckBox checkShowThumbs; + private System.Windows.Forms.CheckBox checkFullScreen; + private System.Windows.Forms.CheckBox checkHideToolbar; + private System.Windows.Forms.CheckBox checkHideMenubar; + private System.Windows.Forms.CheckBox checkHideWindowUI; + private System.Windows.Forms.CheckBox checkFitWindow; + private System.Windows.Forms.CheckBox checkCenterWindow; + private System.Windows.Forms.RadioButton radioDontTouch; + /// + /// KvȃfUCiϐłB + /// + private System.ComponentModel.Container components = null; + + public ViewerOptionDialog() + { + // + // Windows tH[ fUCi T|[gɕKvłB + // + InitializeComponent(); + + // + // TODO: InitializeComponent ĂяǒɁARXgN^ R[hljĂB + // + } + + /// + /// gpĂ郊\[XɌ㏈s܂B + /// + protected override void Dispose( bool disposing ) + { + if( disposing ) + { + if(components != null) + { + components.Dispose(); + } + } + base.Dispose( disposing ); + } + + #region Windows tH[ fUCiŐꂽR[h + /// + /// fUCi T|[gɕKvȃ\bhłB̃\bh̓e + /// R[h GfB^ŕύXȂłB + /// + private void InitializeComponent() + { + System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(ViewerOptionDialog)); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.radioDontTouch = new System.Windows.Forms.RadioButton(); + this.radioContinuousRight = new System.Windows.Forms.RadioButton(); + this.radioContinuousLeft = new System.Windows.Forms.RadioButton(); + this.radioContinuous = new System.Windows.Forms.RadioButton(); + this.radioSinglePage = new System.Windows.Forms.RadioButton(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.checkFullScreen = new System.Windows.Forms.CheckBox(); + this.checkShowThumbs = new System.Windows.Forms.CheckBox(); + this.checkShowOutlines = new System.Windows.Forms.CheckBox(); + this.checkPMShowNone = new System.Windows.Forms.CheckBox(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.checkHideWindowUI = new System.Windows.Forms.CheckBox(); + this.checkHideMenubar = new System.Windows.Forms.CheckBox(); + this.checkHideToolbar = new System.Windows.Forms.CheckBox(); + this.checkFitWindow = new System.Windows.Forms.CheckBox(); + this.checkCenterWindow = new System.Windows.Forms.CheckBox(); + this.buttonOK = new System.Windows.Forms.Button(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.groupBox1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.AccessibleDescription = resources.GetString("groupBox1.AccessibleDescription"); + this.groupBox1.AccessibleName = resources.GetString("groupBox1.AccessibleName"); + this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("groupBox1.Anchor"))); + this.groupBox1.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("groupBox1.BackgroundImage"))); + this.groupBox1.Controls.Add(this.radioDontTouch); + this.groupBox1.Controls.Add(this.radioContinuousRight); + this.groupBox1.Controls.Add(this.radioContinuousLeft); + this.groupBox1.Controls.Add(this.radioContinuous); + this.groupBox1.Controls.Add(this.radioSinglePage); + this.groupBox1.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("groupBox1.Dock"))); + this.groupBox1.Enabled = ((bool)(resources.GetObject("groupBox1.Enabled"))); + this.groupBox1.Font = ((System.Drawing.Font)(resources.GetObject("groupBox1.Font"))); + this.groupBox1.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("groupBox1.ImeMode"))); + this.groupBox1.Location = ((System.Drawing.Point)(resources.GetObject("groupBox1.Location"))); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("groupBox1.RightToLeft"))); + this.groupBox1.Size = ((System.Drawing.Size)(resources.GetObject("groupBox1.Size"))); + this.groupBox1.TabIndex = ((int)(resources.GetObject("groupBox1.TabIndex"))); + this.groupBox1.TabStop = false; + this.groupBox1.Text = resources.GetString("groupBox1.Text"); + this.groupBox1.Visible = ((bool)(resources.GetObject("groupBox1.Visible"))); + // + // radioDontTouch + // + this.radioDontTouch.AccessibleDescription = resources.GetString("radioDontTouch.AccessibleDescription"); + this.radioDontTouch.AccessibleName = resources.GetString("radioDontTouch.AccessibleName"); + this.radioDontTouch.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("radioDontTouch.Anchor"))); + this.radioDontTouch.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("radioDontTouch.Appearance"))); + this.radioDontTouch.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("radioDontTouch.BackgroundImage"))); + this.radioDontTouch.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioDontTouch.CheckAlign"))); + this.radioDontTouch.Checked = true; + this.radioDontTouch.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("radioDontTouch.Dock"))); + this.radioDontTouch.Enabled = ((bool)(resources.GetObject("radioDontTouch.Enabled"))); + this.radioDontTouch.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("radioDontTouch.FlatStyle"))); + this.radioDontTouch.Font = ((System.Drawing.Font)(resources.GetObject("radioDontTouch.Font"))); + this.radioDontTouch.Image = ((System.Drawing.Image)(resources.GetObject("radioDontTouch.Image"))); + this.radioDontTouch.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioDontTouch.ImageAlign"))); + this.radioDontTouch.ImageIndex = ((int)(resources.GetObject("radioDontTouch.ImageIndex"))); + this.radioDontTouch.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("radioDontTouch.ImeMode"))); + this.radioDontTouch.Location = ((System.Drawing.Point)(resources.GetObject("radioDontTouch.Location"))); + this.radioDontTouch.Name = "radioDontTouch"; + this.radioDontTouch.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("radioDontTouch.RightToLeft"))); + this.radioDontTouch.Size = ((System.Drawing.Size)(resources.GetObject("radioDontTouch.Size"))); + this.radioDontTouch.TabIndex = ((int)(resources.GetObject("radioDontTouch.TabIndex"))); + this.radioDontTouch.TabStop = true; + this.radioDontTouch.Text = resources.GetString("radioDontTouch.Text"); + this.radioDontTouch.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioDontTouch.TextAlign"))); + this.radioDontTouch.Visible = ((bool)(resources.GetObject("radioDontTouch.Visible"))); + // + // radioContinuousRight + // + this.radioContinuousRight.AccessibleDescription = resources.GetString("radioContinuousRight.AccessibleDescription"); + this.radioContinuousRight.AccessibleName = resources.GetString("radioContinuousRight.AccessibleName"); + this.radioContinuousRight.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("radioContinuousRight.Anchor"))); + this.radioContinuousRight.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("radioContinuousRight.Appearance"))); + this.radioContinuousRight.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("radioContinuousRight.BackgroundImage"))); + this.radioContinuousRight.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioContinuousRight.CheckAlign"))); + this.radioContinuousRight.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("radioContinuousRight.Dock"))); + this.radioContinuousRight.Enabled = ((bool)(resources.GetObject("radioContinuousRight.Enabled"))); + this.radioContinuousRight.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("radioContinuousRight.FlatStyle"))); + this.radioContinuousRight.Font = ((System.Drawing.Font)(resources.GetObject("radioContinuousRight.Font"))); + this.radioContinuousRight.Image = ((System.Drawing.Image)(resources.GetObject("radioContinuousRight.Image"))); + this.radioContinuousRight.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioContinuousRight.ImageAlign"))); + this.radioContinuousRight.ImageIndex = ((int)(resources.GetObject("radioContinuousRight.ImageIndex"))); + this.radioContinuousRight.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("radioContinuousRight.ImeMode"))); + this.radioContinuousRight.Location = ((System.Drawing.Point)(resources.GetObject("radioContinuousRight.Location"))); + this.radioContinuousRight.Name = "radioContinuousRight"; + this.radioContinuousRight.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("radioContinuousRight.RightToLeft"))); + this.radioContinuousRight.Size = ((System.Drawing.Size)(resources.GetObject("radioContinuousRight.Size"))); + this.radioContinuousRight.TabIndex = ((int)(resources.GetObject("radioContinuousRight.TabIndex"))); + this.radioContinuousRight.Text = resources.GetString("radioContinuousRight.Text"); + this.radioContinuousRight.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioContinuousRight.TextAlign"))); + this.radioContinuousRight.Visible = ((bool)(resources.GetObject("radioContinuousRight.Visible"))); + // + // radioContinuousLeft + // + this.radioContinuousLeft.AccessibleDescription = resources.GetString("radioContinuousLeft.AccessibleDescription"); + this.radioContinuousLeft.AccessibleName = resources.GetString("radioContinuousLeft.AccessibleName"); + this.radioContinuousLeft.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("radioContinuousLeft.Anchor"))); + this.radioContinuousLeft.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("radioContinuousLeft.Appearance"))); + this.radioContinuousLeft.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("radioContinuousLeft.BackgroundImage"))); + this.radioContinuousLeft.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioContinuousLeft.CheckAlign"))); + this.radioContinuousLeft.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("radioContinuousLeft.Dock"))); + this.radioContinuousLeft.Enabled = ((bool)(resources.GetObject("radioContinuousLeft.Enabled"))); + this.radioContinuousLeft.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("radioContinuousLeft.FlatStyle"))); + this.radioContinuousLeft.Font = ((System.Drawing.Font)(resources.GetObject("radioContinuousLeft.Font"))); + this.radioContinuousLeft.Image = ((System.Drawing.Image)(resources.GetObject("radioContinuousLeft.Image"))); + this.radioContinuousLeft.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioContinuousLeft.ImageAlign"))); + this.radioContinuousLeft.ImageIndex = ((int)(resources.GetObject("radioContinuousLeft.ImageIndex"))); + this.radioContinuousLeft.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("radioContinuousLeft.ImeMode"))); + this.radioContinuousLeft.Location = ((System.Drawing.Point)(resources.GetObject("radioContinuousLeft.Location"))); + this.radioContinuousLeft.Name = "radioContinuousLeft"; + this.radioContinuousLeft.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("radioContinuousLeft.RightToLeft"))); + this.radioContinuousLeft.Size = ((System.Drawing.Size)(resources.GetObject("radioContinuousLeft.Size"))); + this.radioContinuousLeft.TabIndex = ((int)(resources.GetObject("radioContinuousLeft.TabIndex"))); + this.radioContinuousLeft.Text = resources.GetString("radioContinuousLeft.Text"); + this.radioContinuousLeft.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioContinuousLeft.TextAlign"))); + this.radioContinuousLeft.Visible = ((bool)(resources.GetObject("radioContinuousLeft.Visible"))); + // + // radioContinuous + // + this.radioContinuous.AccessibleDescription = resources.GetString("radioContinuous.AccessibleDescription"); + this.radioContinuous.AccessibleName = resources.GetString("radioContinuous.AccessibleName"); + this.radioContinuous.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("radioContinuous.Anchor"))); + this.radioContinuous.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("radioContinuous.Appearance"))); + this.radioContinuous.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("radioContinuous.BackgroundImage"))); + this.radioContinuous.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioContinuous.CheckAlign"))); + this.radioContinuous.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("radioContinuous.Dock"))); + this.radioContinuous.Enabled = ((bool)(resources.GetObject("radioContinuous.Enabled"))); + this.radioContinuous.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("radioContinuous.FlatStyle"))); + this.radioContinuous.Font = ((System.Drawing.Font)(resources.GetObject("radioContinuous.Font"))); + this.radioContinuous.Image = ((System.Drawing.Image)(resources.GetObject("radioContinuous.Image"))); + this.radioContinuous.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioContinuous.ImageAlign"))); + this.radioContinuous.ImageIndex = ((int)(resources.GetObject("radioContinuous.ImageIndex"))); + this.radioContinuous.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("radioContinuous.ImeMode"))); + this.radioContinuous.Location = ((System.Drawing.Point)(resources.GetObject("radioContinuous.Location"))); + this.radioContinuous.Name = "radioContinuous"; + this.radioContinuous.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("radioContinuous.RightToLeft"))); + this.radioContinuous.Size = ((System.Drawing.Size)(resources.GetObject("radioContinuous.Size"))); + this.radioContinuous.TabIndex = ((int)(resources.GetObject("radioContinuous.TabIndex"))); + this.radioContinuous.Text = resources.GetString("radioContinuous.Text"); + this.radioContinuous.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioContinuous.TextAlign"))); + this.radioContinuous.Visible = ((bool)(resources.GetObject("radioContinuous.Visible"))); + // + // radioSinglePage + // + this.radioSinglePage.AccessibleDescription = resources.GetString("radioSinglePage.AccessibleDescription"); + this.radioSinglePage.AccessibleName = resources.GetString("radioSinglePage.AccessibleName"); + this.radioSinglePage.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("radioSinglePage.Anchor"))); + this.radioSinglePage.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("radioSinglePage.Appearance"))); + this.radioSinglePage.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("radioSinglePage.BackgroundImage"))); + this.radioSinglePage.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioSinglePage.CheckAlign"))); + this.radioSinglePage.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("radioSinglePage.Dock"))); + this.radioSinglePage.Enabled = ((bool)(resources.GetObject("radioSinglePage.Enabled"))); + this.radioSinglePage.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("radioSinglePage.FlatStyle"))); + this.radioSinglePage.Font = ((System.Drawing.Font)(resources.GetObject("radioSinglePage.Font"))); + this.radioSinglePage.Image = ((System.Drawing.Image)(resources.GetObject("radioSinglePage.Image"))); + this.radioSinglePage.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioSinglePage.ImageAlign"))); + this.radioSinglePage.ImageIndex = ((int)(resources.GetObject("radioSinglePage.ImageIndex"))); + this.radioSinglePage.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("radioSinglePage.ImeMode"))); + this.radioSinglePage.Location = ((System.Drawing.Point)(resources.GetObject("radioSinglePage.Location"))); + this.radioSinglePage.Name = "radioSinglePage"; + this.radioSinglePage.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("radioSinglePage.RightToLeft"))); + this.radioSinglePage.Size = ((System.Drawing.Size)(resources.GetObject("radioSinglePage.Size"))); + this.radioSinglePage.TabIndex = ((int)(resources.GetObject("radioSinglePage.TabIndex"))); + this.radioSinglePage.Text = resources.GetString("radioSinglePage.Text"); + this.radioSinglePage.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("radioSinglePage.TextAlign"))); + this.radioSinglePage.Visible = ((bool)(resources.GetObject("radioSinglePage.Visible"))); + // + // groupBox2 + // + this.groupBox2.AccessibleDescription = resources.GetString("groupBox2.AccessibleDescription"); + this.groupBox2.AccessibleName = resources.GetString("groupBox2.AccessibleName"); + this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("groupBox2.Anchor"))); + this.groupBox2.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("groupBox2.BackgroundImage"))); + this.groupBox2.Controls.Add(this.checkFullScreen); + this.groupBox2.Controls.Add(this.checkShowThumbs); + this.groupBox2.Controls.Add(this.checkShowOutlines); + this.groupBox2.Controls.Add(this.checkPMShowNone); + this.groupBox2.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("groupBox2.Dock"))); + this.groupBox2.Enabled = ((bool)(resources.GetObject("groupBox2.Enabled"))); + this.groupBox2.Font = ((System.Drawing.Font)(resources.GetObject("groupBox2.Font"))); + this.groupBox2.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("groupBox2.ImeMode"))); + this.groupBox2.Location = ((System.Drawing.Point)(resources.GetObject("groupBox2.Location"))); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("groupBox2.RightToLeft"))); + this.groupBox2.Size = ((System.Drawing.Size)(resources.GetObject("groupBox2.Size"))); + this.groupBox2.TabIndex = ((int)(resources.GetObject("groupBox2.TabIndex"))); + this.groupBox2.TabStop = false; + this.groupBox2.Text = resources.GetString("groupBox2.Text"); + this.groupBox2.Visible = ((bool)(resources.GetObject("groupBox2.Visible"))); + // + // checkFullScreen + // + this.checkFullScreen.AccessibleDescription = resources.GetString("checkFullScreen.AccessibleDescription"); + this.checkFullScreen.AccessibleName = resources.GetString("checkFullScreen.AccessibleName"); + this.checkFullScreen.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkFullScreen.Anchor"))); + this.checkFullScreen.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkFullScreen.Appearance"))); + this.checkFullScreen.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkFullScreen.BackgroundImage"))); + this.checkFullScreen.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkFullScreen.CheckAlign"))); + this.checkFullScreen.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkFullScreen.Dock"))); + this.checkFullScreen.Enabled = ((bool)(resources.GetObject("checkFullScreen.Enabled"))); + this.checkFullScreen.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkFullScreen.FlatStyle"))); + this.checkFullScreen.Font = ((System.Drawing.Font)(resources.GetObject("checkFullScreen.Font"))); + this.checkFullScreen.Image = ((System.Drawing.Image)(resources.GetObject("checkFullScreen.Image"))); + this.checkFullScreen.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkFullScreen.ImageAlign"))); + this.checkFullScreen.ImageIndex = ((int)(resources.GetObject("checkFullScreen.ImageIndex"))); + this.checkFullScreen.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkFullScreen.ImeMode"))); + this.checkFullScreen.Location = ((System.Drawing.Point)(resources.GetObject("checkFullScreen.Location"))); + this.checkFullScreen.Name = "checkFullScreen"; + this.checkFullScreen.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkFullScreen.RightToLeft"))); + this.checkFullScreen.Size = ((System.Drawing.Size)(resources.GetObject("checkFullScreen.Size"))); + this.checkFullScreen.TabIndex = ((int)(resources.GetObject("checkFullScreen.TabIndex"))); + this.checkFullScreen.Text = resources.GetString("checkFullScreen.Text"); + this.checkFullScreen.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkFullScreen.TextAlign"))); + this.checkFullScreen.Visible = ((bool)(resources.GetObject("checkFullScreen.Visible"))); + // + // checkShowThumbs + // + this.checkShowThumbs.AccessibleDescription = resources.GetString("checkShowThumbs.AccessibleDescription"); + this.checkShowThumbs.AccessibleName = resources.GetString("checkShowThumbs.AccessibleName"); + this.checkShowThumbs.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkShowThumbs.Anchor"))); + this.checkShowThumbs.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkShowThumbs.Appearance"))); + this.checkShowThumbs.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkShowThumbs.BackgroundImage"))); + this.checkShowThumbs.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkShowThumbs.CheckAlign"))); + this.checkShowThumbs.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkShowThumbs.Dock"))); + this.checkShowThumbs.Enabled = ((bool)(resources.GetObject("checkShowThumbs.Enabled"))); + this.checkShowThumbs.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkShowThumbs.FlatStyle"))); + this.checkShowThumbs.Font = ((System.Drawing.Font)(resources.GetObject("checkShowThumbs.Font"))); + this.checkShowThumbs.Image = ((System.Drawing.Image)(resources.GetObject("checkShowThumbs.Image"))); + this.checkShowThumbs.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkShowThumbs.ImageAlign"))); + this.checkShowThumbs.ImageIndex = ((int)(resources.GetObject("checkShowThumbs.ImageIndex"))); + this.checkShowThumbs.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkShowThumbs.ImeMode"))); + this.checkShowThumbs.Location = ((System.Drawing.Point)(resources.GetObject("checkShowThumbs.Location"))); + this.checkShowThumbs.Name = "checkShowThumbs"; + this.checkShowThumbs.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkShowThumbs.RightToLeft"))); + this.checkShowThumbs.Size = ((System.Drawing.Size)(resources.GetObject("checkShowThumbs.Size"))); + this.checkShowThumbs.TabIndex = ((int)(resources.GetObject("checkShowThumbs.TabIndex"))); + this.checkShowThumbs.Text = resources.GetString("checkShowThumbs.Text"); + this.checkShowThumbs.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkShowThumbs.TextAlign"))); + this.checkShowThumbs.Visible = ((bool)(resources.GetObject("checkShowThumbs.Visible"))); + // + // checkShowOutlines + // + this.checkShowOutlines.AccessibleDescription = resources.GetString("checkShowOutlines.AccessibleDescription"); + this.checkShowOutlines.AccessibleName = resources.GetString("checkShowOutlines.AccessibleName"); + this.checkShowOutlines.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkShowOutlines.Anchor"))); + this.checkShowOutlines.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkShowOutlines.Appearance"))); + this.checkShowOutlines.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkShowOutlines.BackgroundImage"))); + this.checkShowOutlines.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkShowOutlines.CheckAlign"))); + this.checkShowOutlines.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkShowOutlines.Dock"))); + this.checkShowOutlines.Enabled = ((bool)(resources.GetObject("checkShowOutlines.Enabled"))); + this.checkShowOutlines.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkShowOutlines.FlatStyle"))); + this.checkShowOutlines.Font = ((System.Drawing.Font)(resources.GetObject("checkShowOutlines.Font"))); + this.checkShowOutlines.Image = ((System.Drawing.Image)(resources.GetObject("checkShowOutlines.Image"))); + this.checkShowOutlines.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkShowOutlines.ImageAlign"))); + this.checkShowOutlines.ImageIndex = ((int)(resources.GetObject("checkShowOutlines.ImageIndex"))); + this.checkShowOutlines.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkShowOutlines.ImeMode"))); + this.checkShowOutlines.Location = ((System.Drawing.Point)(resources.GetObject("checkShowOutlines.Location"))); + this.checkShowOutlines.Name = "checkShowOutlines"; + this.checkShowOutlines.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkShowOutlines.RightToLeft"))); + this.checkShowOutlines.Size = ((System.Drawing.Size)(resources.GetObject("checkShowOutlines.Size"))); + this.checkShowOutlines.TabIndex = ((int)(resources.GetObject("checkShowOutlines.TabIndex"))); + this.checkShowOutlines.Text = resources.GetString("checkShowOutlines.Text"); + this.checkShowOutlines.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkShowOutlines.TextAlign"))); + this.checkShowOutlines.Visible = ((bool)(resources.GetObject("checkShowOutlines.Visible"))); + // + // checkPMShowNone + // + this.checkPMShowNone.AccessibleDescription = resources.GetString("checkPMShowNone.AccessibleDescription"); + this.checkPMShowNone.AccessibleName = resources.GetString("checkPMShowNone.AccessibleName"); + this.checkPMShowNone.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkPMShowNone.Anchor"))); + this.checkPMShowNone.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkPMShowNone.Appearance"))); + this.checkPMShowNone.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkPMShowNone.BackgroundImage"))); + this.checkPMShowNone.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkPMShowNone.CheckAlign"))); + this.checkPMShowNone.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkPMShowNone.Dock"))); + this.checkPMShowNone.Enabled = ((bool)(resources.GetObject("checkPMShowNone.Enabled"))); + this.checkPMShowNone.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkPMShowNone.FlatStyle"))); + this.checkPMShowNone.Font = ((System.Drawing.Font)(resources.GetObject("checkPMShowNone.Font"))); + this.checkPMShowNone.Image = ((System.Drawing.Image)(resources.GetObject("checkPMShowNone.Image"))); + this.checkPMShowNone.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkPMShowNone.ImageAlign"))); + this.checkPMShowNone.ImageIndex = ((int)(resources.GetObject("checkPMShowNone.ImageIndex"))); + this.checkPMShowNone.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkPMShowNone.ImeMode"))); + this.checkPMShowNone.Location = ((System.Drawing.Point)(resources.GetObject("checkPMShowNone.Location"))); + this.checkPMShowNone.Name = "checkPMShowNone"; + this.checkPMShowNone.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkPMShowNone.RightToLeft"))); + this.checkPMShowNone.Size = ((System.Drawing.Size)(resources.GetObject("checkPMShowNone.Size"))); + this.checkPMShowNone.TabIndex = ((int)(resources.GetObject("checkPMShowNone.TabIndex"))); + this.checkPMShowNone.Text = resources.GetString("checkPMShowNone.Text"); + this.checkPMShowNone.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkPMShowNone.TextAlign"))); + this.checkPMShowNone.Visible = ((bool)(resources.GetObject("checkPMShowNone.Visible"))); + // + // groupBox3 + // + this.groupBox3.AccessibleDescription = resources.GetString("groupBox3.AccessibleDescription"); + this.groupBox3.AccessibleName = resources.GetString("groupBox3.AccessibleName"); + this.groupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("groupBox3.Anchor"))); + this.groupBox3.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("groupBox3.BackgroundImage"))); + this.groupBox3.Controls.Add(this.checkHideWindowUI); + this.groupBox3.Controls.Add(this.checkHideMenubar); + this.groupBox3.Controls.Add(this.checkHideToolbar); + this.groupBox3.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("groupBox3.Dock"))); + this.groupBox3.Enabled = ((bool)(resources.GetObject("groupBox3.Enabled"))); + this.groupBox3.Font = ((System.Drawing.Font)(resources.GetObject("groupBox3.Font"))); + this.groupBox3.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("groupBox3.ImeMode"))); + this.groupBox3.Location = ((System.Drawing.Point)(resources.GetObject("groupBox3.Location"))); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("groupBox3.RightToLeft"))); + this.groupBox3.Size = ((System.Drawing.Size)(resources.GetObject("groupBox3.Size"))); + this.groupBox3.TabIndex = ((int)(resources.GetObject("groupBox3.TabIndex"))); + this.groupBox3.TabStop = false; + this.groupBox3.Text = resources.GetString("groupBox3.Text"); + this.groupBox3.Visible = ((bool)(resources.GetObject("groupBox3.Visible"))); + // + // checkHideWindowUI + // + this.checkHideWindowUI.AccessibleDescription = resources.GetString("checkHideWindowUI.AccessibleDescription"); + this.checkHideWindowUI.AccessibleName = resources.GetString("checkHideWindowUI.AccessibleName"); + this.checkHideWindowUI.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkHideWindowUI.Anchor"))); + this.checkHideWindowUI.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkHideWindowUI.Appearance"))); + this.checkHideWindowUI.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkHideWindowUI.BackgroundImage"))); + this.checkHideWindowUI.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkHideWindowUI.CheckAlign"))); + this.checkHideWindowUI.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkHideWindowUI.Dock"))); + this.checkHideWindowUI.Enabled = ((bool)(resources.GetObject("checkHideWindowUI.Enabled"))); + this.checkHideWindowUI.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkHideWindowUI.FlatStyle"))); + this.checkHideWindowUI.Font = ((System.Drawing.Font)(resources.GetObject("checkHideWindowUI.Font"))); + this.checkHideWindowUI.Image = ((System.Drawing.Image)(resources.GetObject("checkHideWindowUI.Image"))); + this.checkHideWindowUI.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkHideWindowUI.ImageAlign"))); + this.checkHideWindowUI.ImageIndex = ((int)(resources.GetObject("checkHideWindowUI.ImageIndex"))); + this.checkHideWindowUI.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkHideWindowUI.ImeMode"))); + this.checkHideWindowUI.Location = ((System.Drawing.Point)(resources.GetObject("checkHideWindowUI.Location"))); + this.checkHideWindowUI.Name = "checkHideWindowUI"; + this.checkHideWindowUI.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkHideWindowUI.RightToLeft"))); + this.checkHideWindowUI.Size = ((System.Drawing.Size)(resources.GetObject("checkHideWindowUI.Size"))); + this.checkHideWindowUI.TabIndex = ((int)(resources.GetObject("checkHideWindowUI.TabIndex"))); + this.checkHideWindowUI.Text = resources.GetString("checkHideWindowUI.Text"); + this.checkHideWindowUI.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkHideWindowUI.TextAlign"))); + this.checkHideWindowUI.Visible = ((bool)(resources.GetObject("checkHideWindowUI.Visible"))); + // + // checkHideMenubar + // + this.checkHideMenubar.AccessibleDescription = resources.GetString("checkHideMenubar.AccessibleDescription"); + this.checkHideMenubar.AccessibleName = resources.GetString("checkHideMenubar.AccessibleName"); + this.checkHideMenubar.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkHideMenubar.Anchor"))); + this.checkHideMenubar.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkHideMenubar.Appearance"))); + this.checkHideMenubar.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkHideMenubar.BackgroundImage"))); + this.checkHideMenubar.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkHideMenubar.CheckAlign"))); + this.checkHideMenubar.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkHideMenubar.Dock"))); + this.checkHideMenubar.Enabled = ((bool)(resources.GetObject("checkHideMenubar.Enabled"))); + this.checkHideMenubar.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkHideMenubar.FlatStyle"))); + this.checkHideMenubar.Font = ((System.Drawing.Font)(resources.GetObject("checkHideMenubar.Font"))); + this.checkHideMenubar.Image = ((System.Drawing.Image)(resources.GetObject("checkHideMenubar.Image"))); + this.checkHideMenubar.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkHideMenubar.ImageAlign"))); + this.checkHideMenubar.ImageIndex = ((int)(resources.GetObject("checkHideMenubar.ImageIndex"))); + this.checkHideMenubar.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkHideMenubar.ImeMode"))); + this.checkHideMenubar.Location = ((System.Drawing.Point)(resources.GetObject("checkHideMenubar.Location"))); + this.checkHideMenubar.Name = "checkHideMenubar"; + this.checkHideMenubar.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkHideMenubar.RightToLeft"))); + this.checkHideMenubar.Size = ((System.Drawing.Size)(resources.GetObject("checkHideMenubar.Size"))); + this.checkHideMenubar.TabIndex = ((int)(resources.GetObject("checkHideMenubar.TabIndex"))); + this.checkHideMenubar.Text = resources.GetString("checkHideMenubar.Text"); + this.checkHideMenubar.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkHideMenubar.TextAlign"))); + this.checkHideMenubar.Visible = ((bool)(resources.GetObject("checkHideMenubar.Visible"))); + // + // checkHideToolbar + // + this.checkHideToolbar.AccessibleDescription = resources.GetString("checkHideToolbar.AccessibleDescription"); + this.checkHideToolbar.AccessibleName = resources.GetString("checkHideToolbar.AccessibleName"); + this.checkHideToolbar.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkHideToolbar.Anchor"))); + this.checkHideToolbar.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkHideToolbar.Appearance"))); + this.checkHideToolbar.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkHideToolbar.BackgroundImage"))); + this.checkHideToolbar.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkHideToolbar.CheckAlign"))); + this.checkHideToolbar.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkHideToolbar.Dock"))); + this.checkHideToolbar.Enabled = ((bool)(resources.GetObject("checkHideToolbar.Enabled"))); + this.checkHideToolbar.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkHideToolbar.FlatStyle"))); + this.checkHideToolbar.Font = ((System.Drawing.Font)(resources.GetObject("checkHideToolbar.Font"))); + this.checkHideToolbar.Image = ((System.Drawing.Image)(resources.GetObject("checkHideToolbar.Image"))); + this.checkHideToolbar.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkHideToolbar.ImageAlign"))); + this.checkHideToolbar.ImageIndex = ((int)(resources.GetObject("checkHideToolbar.ImageIndex"))); + this.checkHideToolbar.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkHideToolbar.ImeMode"))); + this.checkHideToolbar.Location = ((System.Drawing.Point)(resources.GetObject("checkHideToolbar.Location"))); + this.checkHideToolbar.Name = "checkHideToolbar"; + this.checkHideToolbar.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkHideToolbar.RightToLeft"))); + this.checkHideToolbar.Size = ((System.Drawing.Size)(resources.GetObject("checkHideToolbar.Size"))); + this.checkHideToolbar.TabIndex = ((int)(resources.GetObject("checkHideToolbar.TabIndex"))); + this.checkHideToolbar.Text = resources.GetString("checkHideToolbar.Text"); + this.checkHideToolbar.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkHideToolbar.TextAlign"))); + this.checkHideToolbar.Visible = ((bool)(resources.GetObject("checkHideToolbar.Visible"))); + // + // checkFitWindow + // + this.checkFitWindow.AccessibleDescription = resources.GetString("checkFitWindow.AccessibleDescription"); + this.checkFitWindow.AccessibleName = resources.GetString("checkFitWindow.AccessibleName"); + this.checkFitWindow.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkFitWindow.Anchor"))); + this.checkFitWindow.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkFitWindow.Appearance"))); + this.checkFitWindow.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkFitWindow.BackgroundImage"))); + this.checkFitWindow.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkFitWindow.CheckAlign"))); + this.checkFitWindow.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkFitWindow.Dock"))); + this.checkFitWindow.Enabled = ((bool)(resources.GetObject("checkFitWindow.Enabled"))); + this.checkFitWindow.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkFitWindow.FlatStyle"))); + this.checkFitWindow.Font = ((System.Drawing.Font)(resources.GetObject("checkFitWindow.Font"))); + this.checkFitWindow.Image = ((System.Drawing.Image)(resources.GetObject("checkFitWindow.Image"))); + this.checkFitWindow.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkFitWindow.ImageAlign"))); + this.checkFitWindow.ImageIndex = ((int)(resources.GetObject("checkFitWindow.ImageIndex"))); + this.checkFitWindow.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkFitWindow.ImeMode"))); + this.checkFitWindow.Location = ((System.Drawing.Point)(resources.GetObject("checkFitWindow.Location"))); + this.checkFitWindow.Name = "checkFitWindow"; + this.checkFitWindow.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkFitWindow.RightToLeft"))); + this.checkFitWindow.Size = ((System.Drawing.Size)(resources.GetObject("checkFitWindow.Size"))); + this.checkFitWindow.TabIndex = ((int)(resources.GetObject("checkFitWindow.TabIndex"))); + this.checkFitWindow.Text = resources.GetString("checkFitWindow.Text"); + this.checkFitWindow.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkFitWindow.TextAlign"))); + this.checkFitWindow.Visible = ((bool)(resources.GetObject("checkFitWindow.Visible"))); + this.checkFitWindow.CheckedChanged += new System.EventHandler(this.checkFitWindow_CheckedChanged); + // + // checkCenterWindow + // + this.checkCenterWindow.AccessibleDescription = resources.GetString("checkCenterWindow.AccessibleDescription"); + this.checkCenterWindow.AccessibleName = resources.GetString("checkCenterWindow.AccessibleName"); + this.checkCenterWindow.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("checkCenterWindow.Anchor"))); + this.checkCenterWindow.Appearance = ((System.Windows.Forms.Appearance)(resources.GetObject("checkCenterWindow.Appearance"))); + this.checkCenterWindow.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("checkCenterWindow.BackgroundImage"))); + this.checkCenterWindow.CheckAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkCenterWindow.CheckAlign"))); + this.checkCenterWindow.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("checkCenterWindow.Dock"))); + this.checkCenterWindow.Enabled = ((bool)(resources.GetObject("checkCenterWindow.Enabled"))); + this.checkCenterWindow.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("checkCenterWindow.FlatStyle"))); + this.checkCenterWindow.Font = ((System.Drawing.Font)(resources.GetObject("checkCenterWindow.Font"))); + this.checkCenterWindow.Image = ((System.Drawing.Image)(resources.GetObject("checkCenterWindow.Image"))); + this.checkCenterWindow.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkCenterWindow.ImageAlign"))); + this.checkCenterWindow.ImageIndex = ((int)(resources.GetObject("checkCenterWindow.ImageIndex"))); + this.checkCenterWindow.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("checkCenterWindow.ImeMode"))); + this.checkCenterWindow.Location = ((System.Drawing.Point)(resources.GetObject("checkCenterWindow.Location"))); + this.checkCenterWindow.Name = "checkCenterWindow"; + this.checkCenterWindow.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("checkCenterWindow.RightToLeft"))); + this.checkCenterWindow.Size = ((System.Drawing.Size)(resources.GetObject("checkCenterWindow.Size"))); + this.checkCenterWindow.TabIndex = ((int)(resources.GetObject("checkCenterWindow.TabIndex"))); + this.checkCenterWindow.Text = resources.GetString("checkCenterWindow.Text"); + this.checkCenterWindow.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("checkCenterWindow.TextAlign"))); + this.checkCenterWindow.Visible = ((bool)(resources.GetObject("checkCenterWindow.Visible"))); + // + // buttonOK + // + this.buttonOK.AccessibleDescription = resources.GetString("buttonOK.AccessibleDescription"); + this.buttonOK.AccessibleName = resources.GetString("buttonOK.AccessibleName"); + this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("buttonOK.Anchor"))); + this.buttonOK.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonOK.BackgroundImage"))); + this.buttonOK.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("buttonOK.Dock"))); + this.buttonOK.Enabled = ((bool)(resources.GetObject("buttonOK.Enabled"))); + this.buttonOK.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("buttonOK.FlatStyle"))); + this.buttonOK.Font = ((System.Drawing.Font)(resources.GetObject("buttonOK.Font"))); + this.buttonOK.Image = ((System.Drawing.Image)(resources.GetObject("buttonOK.Image"))); + this.buttonOK.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("buttonOK.ImageAlign"))); + this.buttonOK.ImageIndex = ((int)(resources.GetObject("buttonOK.ImageIndex"))); + this.buttonOK.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("buttonOK.ImeMode"))); + this.buttonOK.Location = ((System.Drawing.Point)(resources.GetObject("buttonOK.Location"))); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("buttonOK.RightToLeft"))); + this.buttonOK.Size = ((System.Drawing.Size)(resources.GetObject("buttonOK.Size"))); + this.buttonOK.TabIndex = ((int)(resources.GetObject("buttonOK.TabIndex"))); + this.buttonOK.Text = resources.GetString("buttonOK.Text"); + this.buttonOK.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("buttonOK.TextAlign"))); + this.buttonOK.Visible = ((bool)(resources.GetObject("buttonOK.Visible"))); + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // buttonCancel + // + this.buttonCancel.AccessibleDescription = resources.GetString("buttonCancel.AccessibleDescription"); + this.buttonCancel.AccessibleName = resources.GetString("buttonCancel.AccessibleName"); + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("buttonCancel.Anchor"))); + this.buttonCancel.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonCancel.BackgroundImage"))); + this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.buttonCancel.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("buttonCancel.Dock"))); + this.buttonCancel.Enabled = ((bool)(resources.GetObject("buttonCancel.Enabled"))); + this.buttonCancel.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("buttonCancel.FlatStyle"))); + this.buttonCancel.Font = ((System.Drawing.Font)(resources.GetObject("buttonCancel.Font"))); + this.buttonCancel.Image = ((System.Drawing.Image)(resources.GetObject("buttonCancel.Image"))); + this.buttonCancel.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("buttonCancel.ImageAlign"))); + this.buttonCancel.ImageIndex = ((int)(resources.GetObject("buttonCancel.ImageIndex"))); + this.buttonCancel.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("buttonCancel.ImeMode"))); + this.buttonCancel.Location = ((System.Drawing.Point)(resources.GetObject("buttonCancel.Location"))); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("buttonCancel.RightToLeft"))); + this.buttonCancel.Size = ((System.Drawing.Size)(resources.GetObject("buttonCancel.Size"))); + this.buttonCancel.TabIndex = ((int)(resources.GetObject("buttonCancel.TabIndex"))); + this.buttonCancel.Text = resources.GetString("buttonCancel.Text"); + this.buttonCancel.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("buttonCancel.TextAlign"))); + this.buttonCancel.Visible = ((bool)(resources.GetObject("buttonCancel.Visible"))); + this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click); + // + // ViewerOptionDialog + // + this.AcceptButton = this.buttonOK; + this.AccessibleDescription = resources.GetString("$this.AccessibleDescription"); + this.AccessibleName = resources.GetString("$this.AccessibleName"); + this.AutoScaleBaseSize = ((System.Drawing.Size)(resources.GetObject("$this.AutoScaleBaseSize"))); + this.AutoScroll = ((bool)(resources.GetObject("$this.AutoScroll"))); + this.AutoScrollMargin = ((System.Drawing.Size)(resources.GetObject("$this.AutoScrollMargin"))); + this.AutoScrollMinSize = ((System.Drawing.Size)(resources.GetObject("$this.AutoScrollMinSize"))); + this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage"))); + this.CancelButton = this.buttonCancel; + this.ClientSize = ((System.Drawing.Size)(resources.GetObject("$this.ClientSize"))); + this.ControlBox = false; + this.Controls.Add(this.buttonCancel); + this.Controls.Add(this.buttonOK); + this.Controls.Add(this.checkCenterWindow); + this.Controls.Add(this.checkFitWindow); + this.Controls.Add(this.groupBox3); + this.Controls.Add(this.groupBox2); + this.Controls.Add(this.groupBox1); + this.Enabled = ((bool)(resources.GetObject("$this.Enabled"))); + this.Font = ((System.Drawing.Font)(resources.GetObject("$this.Font"))); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("$this.ImeMode"))); + this.Location = ((System.Drawing.Point)(resources.GetObject("$this.Location"))); + this.MaximumSize = ((System.Drawing.Size)(resources.GetObject("$this.MaximumSize"))); + this.MinimumSize = ((System.Drawing.Size)(resources.GetObject("$this.MinimumSize"))); + this.Name = "ViewerOptionDialog"; + this.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("$this.RightToLeft"))); + this.ShowInTaskbar = false; + this.StartPosition = ((System.Windows.Forms.FormStartPosition)(resources.GetObject("$this.StartPosition"))); + this.Text = resources.GetString("$this.Text"); + this.groupBox1.ResumeLayout(false); + this.groupBox2.ResumeLayout(false); + this.groupBox3.ResumeLayout(false); + this.ResumeLayout(false); + + } + #endregion + + private void buttonOK_Click(object sender, System.EventArgs e) + { + this.DialogResult = DialogResult.OK; + } + + private void buttonCancel_Click(object sender, System.EventArgs e) + { + + } + + private void checkFitWindow_CheckedChanged(object sender, System.EventArgs e) + { + + } + + public int ViewerPreference + { + get + { + int pref = 0; + if (radioSinglePage.Checked) pref |= PdfWriter.PageLayoutSinglePage; + if (radioContinuous.Checked) pref |= PdfWriter.PageLayoutOneColumn; + if (radioContinuousLeft.Checked) pref |= PdfWriter.PageLayoutTwoColumnLeft; + if (radioContinuousRight.Checked) pref |= PdfWriter.PageLayoutTwoColumnRight; + if (checkPMShowNone.Checked) pref |= PdfWriter.PageModeUseNone; + if (checkShowOutlines.Checked) pref |= PdfWriter.PageModeUseOutlines; + if (checkShowThumbs.Checked) pref |= PdfWriter.PageModeUseThumbs; + if (checkFullScreen.Checked) + { + pref |= PdfWriter.PageModeFullScreen; + if (checkPMShowNone.Checked) pref |= PdfWriter.NonFullScreenPageModeUseNone; + if (checkShowOutlines.Checked) pref |= PdfWriter.NonFullScreenPageModeUseOutlines; + if (checkShowThumbs.Checked) pref |= PdfWriter.NonFullScreenPageModeUseThumbs; + } + if (checkHideToolbar.Checked) pref |= PdfWriter.HideToolbar; + if (checkHideMenubar.Checked) pref |= PdfWriter.HideMenubar; + if (checkHideWindowUI.Checked) pref |= PdfWriter.HideWindowUI; + if (checkFitWindow.Checked) pref |= PdfWriter.FitWindow; + if (checkCenterWindow.Checked) pref |= PdfWriter.CenterWindow; + + return pref; + } + set + { + radioDontTouch.Checked = true; + radioSinglePage.Checked = (value & PdfWriter.PageLayoutSinglePage) != 0; + radioContinuous.Checked = (value & PdfWriter.PageLayoutOneColumn) != 0; + radioContinuousLeft.Checked = (value & PdfWriter.PageLayoutTwoColumnLeft) != 0; + radioContinuousRight.Checked = (value & PdfWriter.PageLayoutTwoColumnRight) != 0; + checkPMShowNone.Checked = (value & PdfWriter.PageModeUseNone) != 0; + checkShowOutlines.Checked = (value & PdfWriter.PageModeUseOutlines) != 0; + checkShowThumbs.Checked = (value & PdfWriter.PageModeUseThumbs) != 0; + if ((value & PdfWriter.PageModeFullScreen) != 0) + { + checkFullScreen.Checked = true; + checkPMShowNone.Checked |= (value & PdfWriter.NonFullScreenPageModeUseNone) != 0; + checkShowOutlines.Checked |= (value & PdfWriter.NonFullScreenPageModeUseOutlines) != 0; + checkShowThumbs.Checked |= (value & PdfWriter.NonFullScreenPageModeUseThumbs) != 0; + } + checkHideToolbar.Checked = (value & PdfWriter.HideToolbar) != 0; + checkHideMenubar.Checked = (value & PdfWriter.HideMenubar) != 0; + checkHideWindowUI.Checked = (value & PdfWriter.HideWindowUI) != 0; + checkFitWindow.Checked = (value & PdfWriter.FitWindow) != 0; + checkCenterWindow.Checked = (value & PdfWriter.CenterWindow) != 0; + } + } + } +} diff --git a/ConcatPDFUI/ViewerOptionDialog.ja.resx b/ConcatPDFUI/ViewerOptionDialog.ja.resx new file mode 100644 index 0000000..f35eb0d --- /dev/null +++ b/ConcatPDFUI/ViewerOptionDialog.ja.resx @@ -0,0 +1,223 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + NoControl + + + 変更しない + + + NoControl + + + 見開きページ - Facing (Right) + + + NoControl + + + 見開きページ - Facing (Left) + + + NoControl + + + 連続ページ + + + NoControl + + + 単一ページ + + + ページのレイアウト + + + NoControl + + + 全画面表示 + + + NoControl + + + サムネールを表示する + + + NoControl + + + アウトラインを表示する + + + NoControl + + + アウトラインとサムネイルを隠す + + + ナビゲーションタブの表示 + + + NoControl + + + ウインドウの UI を隠す + + + NoControl + + + メニューを隠す + + + NoControl + + + ツールバーを隠す + + + ユーザインターフェース + + + NoControl + + + 描画領域の幅に合わせる + + + NoControl + + + 中央に表示する + + + NoControl + + + NoControl + + + 表示方法の設定 + + \ No newline at end of file diff --git a/ConcatPDFUI/ViewerOptionDialog.resx b/ConcatPDFUI/ViewerOptionDialog.resx new file mode 100644 index 0000000..87c9b0b --- /dev/null +++ b/ConcatPDFUI/ViewerOptionDialog.resx @@ -0,0 +1,1519 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + + MiddleLeft + + + 0 + + + None + + + -1 + + + + + + groupBox2 + + + + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + 16, 24 + + + + + + + + + False + + + Hide Menubar + + + Page Layout + + + True + + + checkFitWindow + + + 200, 16 + + + 3 + + + 2 + + + $this + + + + + + Top, Left + + + Standard + + + groupBox3 + + + 2 + + + + + + 3 + + + + + + 2 + + + True + + + MiddleCenter + + + + + + groupBox1 + + + + + + Inherit + + + True + + + Normal + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 522, 312 + + + 2 + + + True + + + 200, 16 + + + True + + + + + + True + + + + + + Standard + + + radioContinuousRight + + + Normal + + + True + + + + + + + + + Normal + + + Inherit + + + Normal + + + True + + + Continuous - Facing (Right) + + + + + + None + + + Center Window + + + MiddleLeft + + + radioSinglePage + + + 200, 16 + + + 0 + + + Inherit + + + None + + + Inherit + + + MiddleCenter + + + + + + Inherit + + + + + + 16, 48 + + + True + + + groupBox2 + + + Inherit + + + + + + -1 + + + 1 + + + + + + MiddleCenter + + + Top, Left + + + True + + + + + + + + + + + + + + + Normal + + + 7 + + + Inherit + + + Top, Left + + + Top, Left + + + Inherit + + + 288, 136 + + + 2 + + + Normal + + + + + + Inherit + + + Inherit + + + 5, 12 + + + + + + -1 + + + + + + + + + groupBox2 + + + 200, 16 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MiddleCenter + + + + + + Inherit + + + Standard + + + + + + groupBox3 + + + + + + Standard + + + MiddleCenter + + + -1 + + + Standard + + + + + + 320, 272 + + + Inherit + + + Standard + + + $this + + + Inherit + + + 6 + + + -1 + + + -1 + + + 5 + + + Single Page + + + radioContinuousLeft + + + 0 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 0 + + + True + + + Inherit + + + + + + Inherit + + + MiddleLeft + + + + + + 200, 16 + + + None + + + 232, 144 + + + + + + None + + + Inherit + + + Top, Left + + + None + + + Viewer Options + + + MiddleCenter + + + Top, Left + + + Full Screen + + + MiddleCenter + + + -1 + + + + + + 16, 48 + + + MiddleLeft + + + + + + Standard + + + 16, 24 + + + 16, 96 + + + Normal + + + + + + Inherit + + + Top, Left + + + 3 + + + True + + + 4 + + + + + + True + + + + + + True + + + + + + Don't Change + + + True + + + Hide Window UI + + + True + + + Inherit + + + + + + 80, 24 + + + + + + MiddleLeft + + + Standard + + + 4 + + + 5 + + + 0, 0 + + + -1 + + + checkHideWindowUI + + + None + + + + + + None + + + -1 + + + 200, 16 + + + True + + + Top, Left + + + + + + + + + -1 + + + + + + Top, Left + + + True + + + True + + + 200, 16 + + + 1 + + + Inherit + + + None + + + Inherit + + + groupBox1 + + + Top, Left + + + MiddleCenter + + + groupBox2 + + + 200, 16 + + + + + + 3 + + + Page Mode + + + OK + + + 2 + + + + + + None + + + 16, 72 + + + 200, 16 + + + + + + 16, 72 + + + MiddleLeft + + + 200, 16 + + + -1 + + + checkFullScreen + + + MiddleLeft + + + Continuous - Facing (Left) + + + Hide Toolbar + + + $this + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Inherit + + + + + + Inherit + + + True + + + None + + + None + + + Top, Left + + + buttonCancel + + + + + + True + + + ViewerOptionDialog + + + True + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + + Inherit + + + True + + + MiddleLeft + + + radioContinuous + + + + + + + + + True + + + User Interface + + + + + + -1 + + + Normal + + + Inherit + + + 1 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 16, 16 + + + MiddleCenter + + + 1 + + + + + + MiddleLeft + + + Inherit + + + + + + MiddleLeft + + + WindowsDefaultLocation + + + None + + + MiddleCenter + + + -1 + + + 0, 0 + + + + + + MiddleCenter + + + -1 + + + Top, Left + + + Top, Left + + + None + + + 2 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + + Continuous + + + True + + + Inherit + + + MiddleLeft + + + Top, Left + + + groupBox1 + + + 2 + + + + + + Normal + + + groupBox1 + + + Inherit + + + 4 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + + + + + Normal + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Standard + + + Top, Left + + + + + + 0 + + + Normal + + + Top, Left + + + Japanese + + + + + + 272, 16 + + + 16, 48 + + + checkPMShowNone + + + True + + + 16, 72 + + + True + + + None + + + + + + 6 + + + + + + 0, 0 + + + MiddleLeft + + + $this + + + Cancel + + + checkShowThumbs + + + + + + Standard + + + $this + + + radioDontTouch + + + True + + + 16, 176 + + + 1 + + + 200, 16 + + + MiddleLeft + + + checkCenterWindow + + + Hide Outlines and Thumbs + + + 16, 120 + + + + + + + + + Show Thumbs + + + Inherit + + + + + + Standard + + + MiddleLeft + + + + + + None + + + Standard + + + Fit Window + + + MiddleCenter + + + buttonOK + + + 232, 120 + + + Inherit + + + Standard + + + 200, 16 + + + + + + 288, 160 + + + groupBox1 + + + MiddleLeft + + + MiddleLeft + + + Inherit + + + + + + -1 + + + + + + MiddleLeft + + + 1 + + + 1 + + + Inherit + + + Inherit + + + None + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + + 232, 96 + + + Normal + + + Standard + + + 200, 16 + + + Top, Left + + + None + + + True + + + + + + Inherit + + + + + + MiddleLeft + + + MiddleLeft + + + Standard + + + 4 + + + True + + + 0, 0 + + + MiddleLeft + + + 16, 24 + + + True + + + + + + MiddleLeft + + + True + + + + + + MiddleLeft + + + MiddleLeft + + + groupBox1 + + + 3 + + + groupBox2 + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + True + + + Show Outlines + + + Inherit + + + MiddleCenter + + + + + + Top, Left + + + + + + Inherit + + + Top, Left + + + True + + + MiddleLeft + + + + + + True + + + + + + + + + MiddleLeft + + + $this + + + + + + Normal + + + None + + + + + + MiddleLeft + + + Standard + + + + + + + + + + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 80, 24 + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + checkShowOutlines + + + -1 + + + + + + + + + 0 + + + ViewerOptionDialog + + + $this + + + MiddleCenter + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + + + + + + + + Inherit + + + 0, 0 + + + Inherit + + + 0 + + + True + + + MiddleCenter + + + System.Windows.Forms.Form, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 424, 272 + + + MiddleCenter + + + groupBox3 + + + Inherit + + + + + + 16, 96 + + + checkHideMenubar + + + + + + Inherit + + + MiddleCenter + + + Normal + + + MiddleCenter + + + + + + True + + + True + + + MiddleLeft + + + checkHideToolbar + + + 1 + + + 3 + + + 200, 16 + + + MiddleLeft + + + Inherit + + \ No newline at end of file diff --git a/ConcatPDFW/About.cs b/ConcatPDFW/About.cs new file mode 100644 index 0000000..ed11b64 --- /dev/null +++ b/ConcatPDFW/About.cs @@ -0,0 +1,236 @@ +using System; +using System.Drawing; +using System.Collections; +using System.ComponentModel; +using System.Windows.Forms; + +using Ujihara.Lib; + +namespace Ujihara.ConcatPDF +{ + /// + /// About ̊Tv̐łB + /// + public class About : System.Windows.Forms.Form + { + private System.Windows.Forms.Button buttonOK; + private System.Windows.Forms.Label labelProductName; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.LinkLabel linkWebSite; + /// + /// KvȃfUCiϐłB + /// + private System.ComponentModel.Container components = null; + + public About() + { + // + // Windows tH[ fUCi T|[gɕKvłB + // + InitializeComponent(); + + // + // TODO: InitializeComponent ĂяǒɁARXgN^ R[hljĂB + // + } + + /// + /// gpĂ郊\[XɌ㏈s܂B + /// + protected override void Dispose( bool disposing ) + { + if( disposing ) + { + if(components != null) + { + components.Dispose(); + } + } + base.Dispose( disposing ); + } + + #region Windows tH[ fUCiŐꂽR[h + /// + /// fUCi T|[gɕKvȃ\bhłB̃\bh̓e + /// R[h GfB^ŕύXȂłB + /// + private void InitializeComponent() + { + System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(About)); + this.buttonOK = new System.Windows.Forms.Button(); + this.labelProductName = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.linkWebSite = new System.Windows.Forms.LinkLabel(); + this.SuspendLayout(); + // + // buttonOK + // + this.buttonOK.AccessibleDescription = resources.GetString("buttonOK.AccessibleDescription"); + this.buttonOK.AccessibleName = resources.GetString("buttonOK.AccessibleName"); + this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("buttonOK.Anchor"))); + this.buttonOK.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("buttonOK.BackgroundImage"))); + this.buttonOK.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("buttonOK.Dock"))); + this.buttonOK.Enabled = ((bool)(resources.GetObject("buttonOK.Enabled"))); + this.buttonOK.FlatStyle = ((System.Windows.Forms.FlatStyle)(resources.GetObject("buttonOK.FlatStyle"))); + this.buttonOK.Font = ((System.Drawing.Font)(resources.GetObject("buttonOK.Font"))); + this.buttonOK.Image = ((System.Drawing.Image)(resources.GetObject("buttonOK.Image"))); + this.buttonOK.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("buttonOK.ImageAlign"))); + this.buttonOK.ImageIndex = ((int)(resources.GetObject("buttonOK.ImageIndex"))); + this.buttonOK.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("buttonOK.ImeMode"))); + this.buttonOK.Location = ((System.Drawing.Point)(resources.GetObject("buttonOK.Location"))); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("buttonOK.RightToLeft"))); + this.buttonOK.Size = ((System.Drawing.Size)(resources.GetObject("buttonOK.Size"))); + this.buttonOK.TabIndex = ((int)(resources.GetObject("buttonOK.TabIndex"))); + this.buttonOK.Text = resources.GetString("buttonOK.Text"); + this.buttonOK.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("buttonOK.TextAlign"))); + this.buttonOK.Visible = ((bool)(resources.GetObject("buttonOK.Visible"))); + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // labelProductName + // + this.labelProductName.AccessibleDescription = resources.GetString("labelProductName.AccessibleDescription"); + this.labelProductName.AccessibleName = resources.GetString("labelProductName.AccessibleName"); + this.labelProductName.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("labelProductName.Anchor"))); + this.labelProductName.AutoSize = ((bool)(resources.GetObject("labelProductName.AutoSize"))); + this.labelProductName.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("labelProductName.Dock"))); + this.labelProductName.Enabled = ((bool)(resources.GetObject("labelProductName.Enabled"))); + this.labelProductName.Font = ((System.Drawing.Font)(resources.GetObject("labelProductName.Font"))); + this.labelProductName.Image = ((System.Drawing.Image)(resources.GetObject("labelProductName.Image"))); + this.labelProductName.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("labelProductName.ImageAlign"))); + this.labelProductName.ImageIndex = ((int)(resources.GetObject("labelProductName.ImageIndex"))); + this.labelProductName.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("labelProductName.ImeMode"))); + this.labelProductName.Location = ((System.Drawing.Point)(resources.GetObject("labelProductName.Location"))); + this.labelProductName.Name = "labelProductName"; + this.labelProductName.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("labelProductName.RightToLeft"))); + this.labelProductName.Size = ((System.Drawing.Size)(resources.GetObject("labelProductName.Size"))); + this.labelProductName.TabIndex = ((int)(resources.GetObject("labelProductName.TabIndex"))); + this.labelProductName.Text = resources.GetString("labelProductName.Text"); + this.labelProductName.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("labelProductName.TextAlign"))); + this.labelProductName.Visible = ((bool)(resources.GetObject("labelProductName.Visible"))); + // + // label1 + // + this.label1.AccessibleDescription = resources.GetString("label1.AccessibleDescription"); + this.label1.AccessibleName = resources.GetString("label1.AccessibleName"); + this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("label1.Anchor"))); + this.label1.AutoSize = ((bool)(resources.GetObject("label1.AutoSize"))); + this.label1.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("label1.Dock"))); + this.label1.Enabled = ((bool)(resources.GetObject("label1.Enabled"))); + this.label1.Font = ((System.Drawing.Font)(resources.GetObject("label1.Font"))); + this.label1.Image = ((System.Drawing.Image)(resources.GetObject("label1.Image"))); + this.label1.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label1.ImageAlign"))); + this.label1.ImageIndex = ((int)(resources.GetObject("label1.ImageIndex"))); + this.label1.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("label1.ImeMode"))); + this.label1.Location = ((System.Drawing.Point)(resources.GetObject("label1.Location"))); + this.label1.Name = "label1"; + this.label1.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("label1.RightToLeft"))); + this.label1.Size = ((System.Drawing.Size)(resources.GetObject("label1.Size"))); + this.label1.TabIndex = ((int)(resources.GetObject("label1.TabIndex"))); + this.label1.Text = resources.GetString("label1.Text"); + this.label1.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label1.TextAlign"))); + this.label1.Visible = ((bool)(resources.GetObject("label1.Visible"))); + // + // label2 + // + this.label2.AccessibleDescription = resources.GetString("label2.AccessibleDescription"); + this.label2.AccessibleName = resources.GetString("label2.AccessibleName"); + this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("label2.Anchor"))); + this.label2.AutoSize = ((bool)(resources.GetObject("label2.AutoSize"))); + this.label2.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("label2.Dock"))); + this.label2.Enabled = ((bool)(resources.GetObject("label2.Enabled"))); + this.label2.Font = ((System.Drawing.Font)(resources.GetObject("label2.Font"))); + this.label2.Image = ((System.Drawing.Image)(resources.GetObject("label2.Image"))); + this.label2.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label2.ImageAlign"))); + this.label2.ImageIndex = ((int)(resources.GetObject("label2.ImageIndex"))); + this.label2.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("label2.ImeMode"))); + this.label2.Location = ((System.Drawing.Point)(resources.GetObject("label2.Location"))); + this.label2.Name = "label2"; + this.label2.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("label2.RightToLeft"))); + this.label2.Size = ((System.Drawing.Size)(resources.GetObject("label2.Size"))); + this.label2.TabIndex = ((int)(resources.GetObject("label2.TabIndex"))); + this.label2.Text = resources.GetString("label2.Text"); + this.label2.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("label2.TextAlign"))); + this.label2.Visible = ((bool)(resources.GetObject("label2.Visible"))); + // + // linkWebSite + // + this.linkWebSite.AccessibleDescription = resources.GetString("linkWebSite.AccessibleDescription"); + this.linkWebSite.AccessibleName = resources.GetString("linkWebSite.AccessibleName"); + this.linkWebSite.Anchor = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("linkWebSite.Anchor"))); + this.linkWebSite.AutoSize = ((bool)(resources.GetObject("linkWebSite.AutoSize"))); + this.linkWebSite.Dock = ((System.Windows.Forms.DockStyle)(resources.GetObject("linkWebSite.Dock"))); + this.linkWebSite.Enabled = ((bool)(resources.GetObject("linkWebSite.Enabled"))); + this.linkWebSite.Font = ((System.Drawing.Font)(resources.GetObject("linkWebSite.Font"))); + this.linkWebSite.Image = ((System.Drawing.Image)(resources.GetObject("linkWebSite.Image"))); + this.linkWebSite.ImageAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("linkWebSite.ImageAlign"))); + this.linkWebSite.ImageIndex = ((int)(resources.GetObject("linkWebSite.ImageIndex"))); + this.linkWebSite.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("linkWebSite.ImeMode"))); + this.linkWebSite.LinkArea = ((System.Windows.Forms.LinkArea)(resources.GetObject("linkWebSite.LinkArea"))); + this.linkWebSite.Location = ((System.Drawing.Point)(resources.GetObject("linkWebSite.Location"))); + this.linkWebSite.Name = "linkWebSite"; + this.linkWebSite.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("linkWebSite.RightToLeft"))); + this.linkWebSite.Size = ((System.Drawing.Size)(resources.GetObject("linkWebSite.Size"))); + this.linkWebSite.TabIndex = ((int)(resources.GetObject("linkWebSite.TabIndex"))); + this.linkWebSite.TabStop = true; + this.linkWebSite.Text = resources.GetString("linkWebSite.Text"); + this.linkWebSite.TextAlign = ((System.Drawing.ContentAlignment)(resources.GetObject("linkWebSite.TextAlign"))); + this.linkWebSite.Visible = ((bool)(resources.GetObject("linkWebSite.Visible"))); + this.linkWebSite.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkWebSite_LinkClicked); + // + // About + // + this.AcceptButton = this.buttonOK; + this.AccessibleDescription = resources.GetString("$this.AccessibleDescription"); + this.AccessibleName = resources.GetString("$this.AccessibleName"); + this.AutoScaleBaseSize = ((System.Drawing.Size)(resources.GetObject("$this.AutoScaleBaseSize"))); + this.AutoScroll = ((bool)(resources.GetObject("$this.AutoScroll"))); + this.AutoScrollMargin = ((System.Drawing.Size)(resources.GetObject("$this.AutoScrollMargin"))); + this.AutoScrollMinSize = ((System.Drawing.Size)(resources.GetObject("$this.AutoScrollMinSize"))); + this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage"))); + this.ClientSize = ((System.Drawing.Size)(resources.GetObject("$this.ClientSize"))); + this.ControlBox = false; + this.Controls.Add(this.linkWebSite); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.labelProductName); + this.Controls.Add(this.buttonOK); + this.Enabled = ((bool)(resources.GetObject("$this.Enabled"))); + this.Font = ((System.Drawing.Font)(resources.GetObject("$this.Font"))); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.ImeMode = ((System.Windows.Forms.ImeMode)(resources.GetObject("$this.ImeMode"))); + this.Location = ((System.Drawing.Point)(resources.GetObject("$this.Location"))); + this.MaximumSize = ((System.Drawing.Size)(resources.GetObject("$this.MaximumSize"))); + this.MinimumSize = ((System.Drawing.Size)(resources.GetObject("$this.MinimumSize"))); + this.Name = "About"; + this.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("$this.RightToLeft"))); + this.ShowInTaskbar = false; + this.StartPosition = ((System.Windows.Forms.FormStartPosition)(resources.GetObject("$this.StartPosition"))); + this.Text = resources.GetString("$this.Text"); + this.Load += new System.EventHandler(this.About_Load); + this.ResumeLayout(false); + + } + #endregion + + private void buttonOK_Click(object sender, System.EventArgs e) + { + this.Close(); + } + + private void About_Load(object sender, System.EventArgs e) + { + System.Reflection.Assembly a = System.Reflection.Assembly.GetExecutingAssembly(); + System.Reflection.AssemblyName an = a.GetName(); + Version v = an.Version; + labelProductName.Text = Application.ProductName + " " + an.Version.ToString(); + } + + private void linkWebSite_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e) + { + FileOperation.ExecuteFile(linkWebSite.Text); + } + } +} diff --git a/ConcatPDFW/About.ja.resx b/ConcatPDFW/About.ja.resx new file mode 100644 index 0000000..fa3bf1a --- /dev/null +++ b/ConcatPDFW/About.ja.resx @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + NoControl + + + NoControl + + + NoControl + + + PDF 結合ツール + + + NoControl + + + NoControl + + \ No newline at end of file diff --git a/ConcatPDFW/About.resx b/ConcatPDFW/About.resx new file mode 100644 index 0000000..0c4fada --- /dev/null +++ b/ConcatPDFW/About.resx @@ -0,0 +1,502 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Inherit + + + ConcatPDF + + + Top, Left + + + Top, Left + + + Inherit + + + About + + + + + + None + + + + + + + + + MiddleCenter + + + 0, 0 + + + $this + + + Top, Left + + + Inherit + + + + + + + + + 0, 0 + + + 256, 16 + + + MiddleCenter + + + 292, 150 + + + $this + + + MiddleCenter + + + $this + + + 232, 16 + + + + + + + + + System.Windows.Forms.Label, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + About ConcatPDF + + + + + + 2 + + + + + + None + + + False + + + True + + + 17 + + + + + + + + + linkWebSite + + + buttonOK + + + 0, 0 + + + 72, 64 + + + Inherit + + + About + + + label1 + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + True + + + label2 + + + 4 + + + 56, 16 + + + + + + None + + + 0, 0 + + + 16, 40 + + + True + + + + + + None + + + + + + 19 + + + -1 + + + TopLeft + + + True + + + System.Windows.Forms.Label, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 184, 16 + + + 0 + + + 3 + + + Inherit + + + 16, 64 + + + TopLeft + + + -1 + + + True + + + System.Windows.Forms.Label, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 15 + + + MiddleCenter + + + 16, 16 + + + True + + + 16 + + + + + + + + + True + + + + + + + + + + + + labelProductName + + + + + + Top, Left + + + Web site: + + + False + + + -1 + + + System.Windows.Forms.Form, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + 18 + + + + + + + + + + + + 1 + + + None + + + Inherit + + + True + + + True + + + Inherit + + + 0, 0 + + + False + + + + + + True + + + Inherit + + + Top, Left + + + Inherit + + + $this + + + Inherit + + + + + + 0, 32 + + + WindowsDefaultLocation + + + 5, 12 + + + + + + False + + + Inherit + + + 80, 24 + + + http://www.ujihara.jp/ConcatPDF/ + + + System.Windows.Forms.Button, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 192, 104 + + + Inherit + + + MiddleCenter + + + OK + + + Standard + + + Tool for concatenation of PDF files. + + + False + + + -1 + + + TopLeft + + + TopLeft + + + -1 + + + MiddleCenter + + \ No newline at end of file diff --git a/ConcatPDFW/ConcatPDFW.csproj b/ConcatPDFW/ConcatPDFW.csproj new file mode 100644 index 0000000..d3855ed --- /dev/null +++ b/ConcatPDFW/ConcatPDFW.csproj @@ -0,0 +1,166 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {96C7AD13-98B8-43F5-BD12-75EF54A8DE19} + WinExe + Properties + Ujihara.ConcatPDF + ConcatPDFW + v3.5 + 512 + true + Develop.snk + images\ConcatPDF.ico + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\x86\Debug\ + DEBUG;TRACE + full + x86 + true + GlobalSuppressions.cs + prompt + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + true + GlobalSuppressions.cs + prompt + + + + False + ..\dll\itextsharp.dll + + + False + ..\dll\PDFLibNet.dll + + + + 3.5 + + + + + + + + + Properties\VersionInfo.cs + + + Form + + + Form + + + + + Form + + + PreviewForm.cs + + + + About.cs + Designer + + + About.cs + Designer + + + ConcatPDFWMain.cs + Designer + + + ConcatPDFWMain.cs + Designer + + + ConcatPDFWMain.cs + Designer + + + PreviewForm.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + {2B695FC2-64BF-4D21-9867-E63C8B000EE9} + ConcatPDFUI + + + {3E32649E-4D1E-47F6-AAB3-00D5D773D2E5} + LibPDF + + + + + \ No newline at end of file diff --git a/ConcatPDFW/ConcatPDFWMain.cs b/ConcatPDFW/ConcatPDFWMain.cs new file mode 100644 index 0000000..c153d13 --- /dev/null +++ b/ConcatPDFW/ConcatPDFWMain.cs @@ -0,0 +1,1103 @@ +/* + Copyright (C) 2003, 2012 Kazuya Ujihara + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +using System; +using System.Drawing; +using System.Collections; +using System.ComponentModel; +using System.Windows.Forms; +using System.Data; +using System.Diagnostics; + +using System.Linq; +using System.IO; +using System.Text; +using Microsoft.Win32; + +using iTextSharp.text; +using iTextSharp.text.pdf; +using Ujihara.PDF; +using Ujihara.Lib; +using iTextSharp.text.pdf.codec; +using iTextSharp.text.exceptions; +using System.Drawing.Imaging; + +namespace Ujihara.ConcatPDF +{ + public class MainWindow : System.Windows.Forms.Form + { + private System.Windows.Forms.MainMenu mainMenu1; + private System.Windows.Forms.MenuItem menuItemFileAdd; + private System.Windows.Forms.MenuItem menuItem4; + private System.Windows.Forms.MenuItem menuItemFile; + private System.Windows.Forms.MenuItem menuItemExit; + private System.Windows.Forms.StatusBar statusBar1; + private System.Windows.Forms.OpenFileDialog openFileDialog; + private System.Windows.Forms.MenuItem menuItemSaveAs; + private System.Windows.Forms.SaveFileDialog saveFileDialog; + private System.Windows.Forms.StatusBarPanel statusBarPanel1; + private System.Windows.Forms.StatusBarPanel statusBarPanel2; + private System.Windows.Forms.ToolBar toolBar1; + private System.Windows.Forms.MenuItem menuItem2; + private System.Windows.Forms.MenuItem menuItemDocumentSecurity; + private System.Windows.Forms.MenuItem menuItem1; + private System.Windows.Forms.MenuItem menuItemViewByAcrobat; + private System.Windows.Forms.MenuItem menuItemViewThisItem; + private System.Windows.Forms.ImageList imageListToolBar; + private System.Windows.Forms.ToolBarButton toolBarButtonViewThisItem; + private System.Windows.Forms.ToolBarButton toolBarButtonViewByAcrobat; + private System.Windows.Forms.ToolBarButton toolBarButtonUp; + private System.Windows.Forms.ToolBarButton toolBarButtonDown; + private System.Windows.Forms.ToolBarButton toolBarButton1; + private System.Windows.Forms.MenuItem menuItemEdit; + private System.Windows.Forms.MenuItem menuItemUp; + private System.Windows.Forms.MenuItem menuItemDown; + private System.Windows.Forms.MenuItem menuItem3; + private System.Windows.Forms.MenuItem menuItemRemove; + private System.Windows.Forms.MenuItem menuItemSelectAll; + private System.Windows.Forms.MenuItem menuItem5; + private System.Windows.Forms.ToolBarButton toolBarButton2; + private System.Windows.Forms.ToolBarButton toolBarButtonOpen; + private System.Windows.Forms.ToolBarButton toolBarButtonRemove; + private System.Windows.Forms.ToolBarButton toolBarButtonSave; + private System.Windows.Forms.ToolBarButton toolBarButton3; + private System.Windows.Forms.MenuItem menuItemSplit; + private System.Windows.Forms.MenuItem menuItem8; + private System.ComponentModel.IContainer components; + private System.Windows.Forms.MenuItem menuItemAbout; + private System.Windows.Forms.MenuItem menuItemContents; + private System.Windows.Forms.MenuItem menuItem7; + private System.Windows.Forms.MenuItem menuItemViewerPref; + private Ujihara.ConcatPDF.FileListBox fileListBox1; + private MenuItem menuItemPageSetting; + private MenuItem menuItemImageSetting; + private MenuItem menuItemPreviewWindow; + private System.Windows.Forms.MenuItem menuItemOutline; + + public MainWindow() : this(new string[] {} ) + { + } + + public MainWindow(string[] args) + { + // + // Windows tH[ fUCi T|[gɕKvłB + // + InitializeComponent(); + + Arguments = args; + } + + private static void DeleteFSO(string objectName) + { + try + { + if (System.IO.File.Exists(objectName)) + System.IO.File.Delete(objectName); + else if (System.IO.Directory.Exists(objectName)) + System.IO.Directory.Delete(objectName, true); + } + catch + { + } + } + + protected override void Dispose(bool disposing) + { + RegistryKey software = Registry.CurrentUser.OpenSubKey("Software", true); + RegistryKey ujihara = software.CreateSubKey("Ujihara"); + RegistryKey concatpdf = ujihara.CreateSubKey("ConcatPDF"); + concatpdf.SetValue("FileNameColumnWidth", this.fileListBox1.HeaderFileName.Width); + concatpdf.SetValue("PagesColumnWidth", this.fileListBox1.HeaderPages.Width); + concatpdf.SetValue("DirColumnWidth", this.fileListBox1.HeaderDirectory.Width); + concatpdf.SetValue("WindowWidth", this.Width); + concatpdf.SetValue("WindowHeight", this.Height); + concatpdf.SetValue("AddOutlinesOption", this.concatenatorOption.AddOutlines); + concatpdf.SetValue("CopyOutlinesOption", this.concatenatorOption.CopyOutlines); + concatpdf.SetValue("OutlineDestinationStyle", this.concatenatorOption.FittingStyle); + + while (tempFSCol.Count > 0) + { + object fs = tempFSCol.Pop(); + if (fs is string) + { + DeleteFSO((string)fs); + } + else if (fs is string[]) + { + string[] fss = (string[])fs; + for (int i = 0; i < fss.Length; i++) + { + DeleteFSO(fss[i]); + } + } + } + + if( disposing ) + { + if (components != null) + { + components.Dispose(); + } + } + base.Dispose( disposing ); + } + + #region Windows Form Designer generated code + /// + /// fUCi T|[gɕKvȃ\bhłB̃\bh̓e + /// R[h GfB^ŕύXȂłB + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainWindow)); + this.mainMenu1 = new System.Windows.Forms.MainMenu(this.components); + this.menuItemFile = new System.Windows.Forms.MenuItem(); + this.menuItemFileAdd = new System.Windows.Forms.MenuItem(); + this.menuItemSaveAs = new System.Windows.Forms.MenuItem(); + this.menuItem2 = new System.Windows.Forms.MenuItem(); + this.menuItemOutline = new System.Windows.Forms.MenuItem(); + this.menuItemDocumentSecurity = new System.Windows.Forms.MenuItem(); + this.menuItemViewerPref = new System.Windows.Forms.MenuItem(); + this.menuItemPageSetting = new System.Windows.Forms.MenuItem(); + this.menuItemImageSetting = new System.Windows.Forms.MenuItem(); + this.menuItem4 = new System.Windows.Forms.MenuItem(); + this.menuItemExit = new System.Windows.Forms.MenuItem(); + this.menuItemEdit = new System.Windows.Forms.MenuItem(); + this.menuItemSplit = new System.Windows.Forms.MenuItem(); + this.menuItem8 = new System.Windows.Forms.MenuItem(); + this.menuItemRemove = new System.Windows.Forms.MenuItem(); + this.menuItem3 = new System.Windows.Forms.MenuItem(); + this.menuItemUp = new System.Windows.Forms.MenuItem(); + this.menuItemDown = new System.Windows.Forms.MenuItem(); + this.menuItemSelectAll = new System.Windows.Forms.MenuItem(); + this.menuItem1 = new System.Windows.Forms.MenuItem(); + this.menuItemViewByAcrobat = new System.Windows.Forms.MenuItem(); + this.menuItemViewThisItem = new System.Windows.Forms.MenuItem(); + this.menuItemPreviewWindow = new System.Windows.Forms.MenuItem(); + this.menuItem5 = new System.Windows.Forms.MenuItem(); + this.menuItemContents = new System.Windows.Forms.MenuItem(); + this.menuItem7 = new System.Windows.Forms.MenuItem(); + this.menuItemAbout = new System.Windows.Forms.MenuItem(); + this.statusBar1 = new System.Windows.Forms.StatusBar(); + this.statusBarPanel1 = new System.Windows.Forms.StatusBarPanel(); + this.statusBarPanel2 = new System.Windows.Forms.StatusBarPanel(); + this.openFileDialog = new System.Windows.Forms.OpenFileDialog(); + this.saveFileDialog = new System.Windows.Forms.SaveFileDialog(); + this.toolBar1 = new System.Windows.Forms.ToolBar(); + this.toolBarButtonUp = new System.Windows.Forms.ToolBarButton(); + this.toolBarButtonDown = new System.Windows.Forms.ToolBarButton(); + this.toolBarButton1 = new System.Windows.Forms.ToolBarButton(); + this.toolBarButtonViewThisItem = new System.Windows.Forms.ToolBarButton(); + this.toolBarButtonViewByAcrobat = new System.Windows.Forms.ToolBarButton(); + this.toolBarButton2 = new System.Windows.Forms.ToolBarButton(); + this.toolBarButtonOpen = new System.Windows.Forms.ToolBarButton(); + this.toolBarButtonSave = new System.Windows.Forms.ToolBarButton(); + this.toolBarButton3 = new System.Windows.Forms.ToolBarButton(); + this.toolBarButtonRemove = new System.Windows.Forms.ToolBarButton(); + this.imageListToolBar = new System.Windows.Forms.ImageList(this.components); + this.fileListBox1 = new Ujihara.ConcatPDF.FileListBox(); + ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel2)).BeginInit(); + this.SuspendLayout(); + // + // mainMenu1 + // + this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuItemFile, + this.menuItemEdit, + this.menuItem1, + this.menuItem5}); + // + // menuItemFile + // + this.menuItemFile.Index = 0; + this.menuItemFile.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuItemFileAdd, + this.menuItemSaveAs, + this.menuItem2, + this.menuItemOutline, + this.menuItemDocumentSecurity, + this.menuItemViewerPref, + this.menuItemPageSetting, + this.menuItemImageSetting, + this.menuItem4, + this.menuItemExit}); + resources.ApplyResources(this.menuItemFile, "menuItemFile"); + // + // menuItemFileAdd + // + this.menuItemFileAdd.Index = 0; + resources.ApplyResources(this.menuItemFileAdd, "menuItemFileAdd"); + this.menuItemFileAdd.Click += new System.EventHandler(this.menuItemFileAdd_Click); + // + // menuItemSaveAs + // + this.menuItemSaveAs.Index = 1; + resources.ApplyResources(this.menuItemSaveAs, "menuItemSaveAs"); + this.menuItemSaveAs.Click += new System.EventHandler(this.menuItemSaveAs_Click); + // + // menuItem2 + // + this.menuItem2.Index = 2; + resources.ApplyResources(this.menuItem2, "menuItem2"); + // + // menuItemOutline + // + this.menuItemOutline.Index = 3; + resources.ApplyResources(this.menuItemOutline, "menuItemOutline"); + this.menuItemOutline.Click += new System.EventHandler(this.menuItemOutline_Click); + // + // menuItemDocumentSecurity + // + this.menuItemDocumentSecurity.Index = 4; + resources.ApplyResources(this.menuItemDocumentSecurity, "menuItemDocumentSecurity"); + this.menuItemDocumentSecurity.Click += new System.EventHandler(this.menuItemDocumentSecurity_Click); + // + // menuItemViewerPref + // + this.menuItemViewerPref.Index = 5; + resources.ApplyResources(this.menuItemViewerPref, "menuItemViewerPref"); + this.menuItemViewerPref.Click += new System.EventHandler(this.menuItemViewerPref_Click); + // + // menuItemPageSetting + // + this.menuItemPageSetting.Index = 6; + resources.ApplyResources(this.menuItemPageSetting, "menuItemPageSetting"); + this.menuItemPageSetting.Click += new System.EventHandler(this.menuItemPageSetting_Click); + // + // menuItemImageSetting + // + this.menuItemImageSetting.Index = 7; + resources.ApplyResources(this.menuItemImageSetting, "menuItemImageSetting"); + this.menuItemImageSetting.Click += new System.EventHandler(this.menuItemImageSetting_Click); + // + // menuItem4 + // + this.menuItem4.Index = 8; + resources.ApplyResources(this.menuItem4, "menuItem4"); + // + // menuItemExit + // + this.menuItemExit.Index = 9; + resources.ApplyResources(this.menuItemExit, "menuItemExit"); + this.menuItemExit.Click += new System.EventHandler(this.menuItemExit_Click); + // + // menuItemEdit + // + this.menuItemEdit.Index = 1; + this.menuItemEdit.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuItemSplit, + this.menuItem8, + this.menuItemRemove, + this.menuItem3, + this.menuItemUp, + this.menuItemDown, + this.menuItemSelectAll}); + resources.ApplyResources(this.menuItemEdit, "menuItemEdit"); + // + // menuItemSplit + // + this.menuItemSplit.Index = 0; + resources.ApplyResources(this.menuItemSplit, "menuItemSplit"); + this.menuItemSplit.Click += new System.EventHandler(this.menuItemSplit_Click); + // + // menuItem8 + // + this.menuItem8.Index = 1; + resources.ApplyResources(this.menuItem8, "menuItem8"); + // + // menuItemRemove + // + this.menuItemRemove.Index = 2; + resources.ApplyResources(this.menuItemRemove, "menuItemRemove"); + this.menuItemRemove.Click += new System.EventHandler(this.menuItemRemove_Click); + // + // menuItem3 + // + this.menuItem3.Index = 3; + resources.ApplyResources(this.menuItem3, "menuItem3"); + // + // menuItemUp + // + this.menuItemUp.Index = 4; + resources.ApplyResources(this.menuItemUp, "menuItemUp"); + this.menuItemUp.Click += new System.EventHandler(this.menuItemUpOrDown_Click); + // + // menuItemDown + // + this.menuItemDown.Index = 5; + resources.ApplyResources(this.menuItemDown, "menuItemDown"); + this.menuItemDown.Click += new System.EventHandler(this.menuItemUpOrDown_Click); + // + // menuItemSelectAll + // + this.menuItemSelectAll.Index = 6; + resources.ApplyResources(this.menuItemSelectAll, "menuItemSelectAll"); + this.menuItemSelectAll.Click += new System.EventHandler(this.menuItemSelectAll_Click); + // + // menuItem1 + // + this.menuItem1.Index = 2; + this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuItemViewByAcrobat, + this.menuItemViewThisItem, + this.menuItemPreviewWindow}); + resources.ApplyResources(this.menuItem1, "menuItem1"); + // + // menuItemViewByAcrobat + // + this.menuItemViewByAcrobat.Index = 0; + resources.ApplyResources(this.menuItemViewByAcrobat, "menuItemViewByAcrobat"); + this.menuItemViewByAcrobat.Click += new System.EventHandler(this.menuItemViewByAcrobat_Click); + // + // menuItemViewThisItem + // + this.menuItemViewThisItem.Index = 1; + resources.ApplyResources(this.menuItemViewThisItem, "menuItemViewThisItem"); + this.menuItemViewThisItem.Click += new System.EventHandler(this.menuItemViewThisItem_Click); + // + // menuItemPreviewWindow + // + this.menuItemPreviewWindow.Index = 2; + resources.ApplyResources(this.menuItemPreviewWindow, "menuItemPreviewWindow"); + this.menuItemPreviewWindow.Click += new System.EventHandler(this.menuItemPreviewWindow_Click); + // + // menuItem5 + // + this.menuItem5.Index = 3; + this.menuItem5.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuItemContents, + this.menuItem7, + this.menuItemAbout}); + resources.ApplyResources(this.menuItem5, "menuItem5"); + // + // menuItemContents + // + this.menuItemContents.Index = 0; + resources.ApplyResources(this.menuItemContents, "menuItemContents"); + this.menuItemContents.Click += new System.EventHandler(this.menuItemContents_Click); + // + // menuItem7 + // + this.menuItem7.Index = 1; + resources.ApplyResources(this.menuItem7, "menuItem7"); + // + // menuItemAbout + // + this.menuItemAbout.Index = 2; + resources.ApplyResources(this.menuItemAbout, "menuItemAbout"); + this.menuItemAbout.Click += new System.EventHandler(this.menuItemAbout_Click); + // + // statusBar1 + // + resources.ApplyResources(this.statusBar1, "statusBar1"); + this.statusBar1.Name = "statusBar1"; + this.statusBar1.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] { + this.statusBarPanel1, + this.statusBarPanel2}); + this.statusBar1.ShowPanels = true; + // + // statusBarPanel1 + // + this.statusBarPanel1.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Spring; + resources.ApplyResources(this.statusBarPanel1, "statusBarPanel1"); + // + // statusBarPanel2 + // + resources.ApplyResources(this.statusBarPanel2, "statusBarPanel2"); + this.statusBarPanel2.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Contents; + // + // openFileDialog + // + resources.ApplyResources(this.openFileDialog, "openFileDialog"); + this.openFileDialog.Multiselect = true; + this.openFileDialog.RestoreDirectory = true; + // + // saveFileDialog + // + this.saveFileDialog.DefaultExt = "pdf"; + resources.ApplyResources(this.saveFileDialog, "saveFileDialog"); + this.saveFileDialog.RestoreDirectory = true; + // + // toolBar1 + // + this.toolBar1.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] { + this.toolBarButtonUp, + this.toolBarButtonDown, + this.toolBarButton1, + this.toolBarButtonViewThisItem, + this.toolBarButtonViewByAcrobat, + this.toolBarButton2, + this.toolBarButtonOpen, + this.toolBarButtonSave, + this.toolBarButton3, + this.toolBarButtonRemove}); + resources.ApplyResources(this.toolBar1, "toolBar1"); + this.toolBar1.ImageList = this.imageListToolBar; + this.toolBar1.Name = "toolBar1"; + this.toolBar1.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBar1_ButtonClick); + // + // toolBarButtonUp + // + resources.ApplyResources(this.toolBarButtonUp, "toolBarButtonUp"); + this.toolBarButtonUp.Name = "toolBarButtonUp"; + // + // toolBarButtonDown + // + resources.ApplyResources(this.toolBarButtonDown, "toolBarButtonDown"); + this.toolBarButtonDown.Name = "toolBarButtonDown"; + // + // toolBarButton1 + // + this.toolBarButton1.Name = "toolBarButton1"; + this.toolBarButton1.Style = System.Windows.Forms.ToolBarButtonStyle.Separator; + // + // toolBarButtonViewThisItem + // + resources.ApplyResources(this.toolBarButtonViewThisItem, "toolBarButtonViewThisItem"); + this.toolBarButtonViewThisItem.Name = "toolBarButtonViewThisItem"; + // + // toolBarButtonViewByAcrobat + // + resources.ApplyResources(this.toolBarButtonViewByAcrobat, "toolBarButtonViewByAcrobat"); + this.toolBarButtonViewByAcrobat.Name = "toolBarButtonViewByAcrobat"; + // + // toolBarButton2 + // + this.toolBarButton2.Name = "toolBarButton2"; + this.toolBarButton2.Style = System.Windows.Forms.ToolBarButtonStyle.Separator; + // + // toolBarButtonOpen + // + resources.ApplyResources(this.toolBarButtonOpen, "toolBarButtonOpen"); + this.toolBarButtonOpen.Name = "toolBarButtonOpen"; + // + // toolBarButtonSave + // + resources.ApplyResources(this.toolBarButtonSave, "toolBarButtonSave"); + this.toolBarButtonSave.Name = "toolBarButtonSave"; + // + // toolBarButton3 + // + this.toolBarButton3.Name = "toolBarButton3"; + this.toolBarButton3.Style = System.Windows.Forms.ToolBarButtonStyle.Separator; + // + // toolBarButtonRemove + // + resources.ApplyResources(this.toolBarButtonRemove, "toolBarButtonRemove"); + this.toolBarButtonRemove.Name = "toolBarButtonRemove"; + // + // imageListToolBar + // + this.imageListToolBar.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListToolBar.ImageStream"))); + this.imageListToolBar.TransparentColor = System.Drawing.Color.Transparent; + this.imageListToolBar.Images.SetKeyName(0, ""); + this.imageListToolBar.Images.SetKeyName(1, ""); + this.imageListToolBar.Images.SetKeyName(2, ""); + this.imageListToolBar.Images.SetKeyName(3, ""); + this.imageListToolBar.Images.SetKeyName(4, ""); + this.imageListToolBar.Images.SetKeyName(5, ""); + this.imageListToolBar.Images.SetKeyName(6, ""); + // + // fileListBox1 + // + resources.ApplyResources(this.fileListBox1, "fileListBox1"); + this.fileListBox1.Name = "fileListBox1"; + this.fileListBox1.OnTouchContents += new System.EventHandler(this.fileListBox1_TouchContents); + this.fileListBox1.SelectedIndexChanged += new System.EventHandler(this.fileListBox1_SelectedIndexChanged); + // + // MainWindow + // + resources.ApplyResources(this, "$this"); + this.CausesValidation = false; + this.Controls.Add(this.fileListBox1); + this.Controls.Add(this.toolBar1); + this.Controls.Add(this.statusBar1); + this.Menu = this.mainMenu1; + this.Name = "MainWindow"; + this.Load += new System.EventHandler(this.MainWindow_Load); + this.Resize += new System.EventHandler(this.MainWindow_Resize); + ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.statusBarPanel2)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + #endregion + + [STAThread] + static void Main(string[] args) + { + + Application.Run(new MainWindow(args)); + } + + private string[] Arguments = null; + private PdfEncryptInfo encryptInfo = new PdfEncryptInfo(); + private int viewerPreference = 0; + private Stack tempFSCol = new Stack(); + private PdfConcatenatorOption concatenatorOption = new PdfConcatenatorOption(); + private float DPI = 300f; + + private void MainWindow_Load(object sender, System.EventArgs e) + { + RegistryKey software = Registry.CurrentUser.OpenSubKey("Software", true); + RegistryKey ujihara = software.CreateSubKey("Ujihara"); + RegistryKey concatpdf = ujihara.CreateSubKey("ConcatPDF"); + try + { + this.fileListBox1.HeaderFileName.Width = (int)concatpdf.GetValue("FileNameColumnWidth"); + this.fileListBox1.HeaderPages.Width = (int)concatpdf.GetValue("PagesColumnWidth"); + this.fileListBox1.HeaderDirectory.Width = (int)concatpdf.GetValue("DirColumnWidth"); + } + catch (Exception) + { + this.fileListBox1.HeaderFileName.Width = 100; + this.fileListBox1.HeaderPages.Width = 60; + this.fileListBox1.HeaderDirectory.Width = 120; + } + + try + { + this.Width = (int)concatpdf.GetValue("WindowWidth"); + this.Height = (int)concatpdf.GetValue("WindowHeight"); + } + catch (Exception) + { + } + + try + { + concatenatorOption.AddOutlines = bool.Parse((string)concatpdf.GetValue("AddOutlinesOption", false)); + concatenatorOption.CopyOutlines = (bool.Parse((string)concatpdf.GetValue("CopyOutlinesOption", true))); + concatenatorOption.FittingStyle = ((string)concatpdf.GetValue("OutlineDestinationStyle", "/XYZ null null null")); + } + catch (Exception) + { + } + + foreach (var arg in Arguments) + { + this.fileListBox1.AddFile(arg.Trim()); + } + + openFileDialog.InitialDirectory = + saveFileDialog.InitialDirectory = + Environment.GetFolderPath(Environment.SpecialFolder.Personal); + + SetupFileListBox(); + } + + static private string[] imageExts = new string[] + { + "PDF", ".pdf", + "Bitmap", ".bmp;.dib", + "JPEG", ".jpg;.jpeg;.jpe;.jfif", + "GIF", ".gif", + "TIFF", ".tif;.tiff", + "PNG", ".png", + "WMF", ".wmf", + "JPEG 2000", ".jp2;.j2c", + }; + private static void RegisterFileExtensions(StringBuilder sb, string name, string exts) + { + sb.Append(name).Append(" ").Append("|").Append(exts.Replace(".", "*.")).Append("|"); + } + private void SetupFileListBox() + { + var pdfCounter = new PagesCounter(PdfPagesCounter); + var onePagesCounter = new PagesCounter(OnePagesCounter); + var tiffPagesCounter = new PagesCounter(TiffPagesCouter); + + var sb = new StringBuilder(); + for (int i = 0; i < imageExts.Length; i += 2) + { + var name = imageExts[i]; + var exts = imageExts[i + 1]; + RegisterFileExtensions(sb, name, exts); + + PagesCounter counter; + switch (name) + { + case "PDF": + counter = pdfCounter; + break; + case "TIFF": + counter = tiffPagesCounter; + break; + default: + counter = onePagesCounter; + break; + } + + foreach (var ext in exts.Split(';')) + { + fileListBox1.RegisterPagesCounter(ext, counter); + } + } + sb.Append("All files|*.*"); + openFileDialog.Filter = sb.ToString(); + } + + private static int OnePagesCounter(string filename) + { + return 1; + } + + private static int TiffPagesCouter(string filename) + { + var ra = new RandomAccessFileOrArray(filename); + var n = TiffImage.GetNumberOfPages(ra); + ra.Close(); + return n; + } + + private static int PdfPagesCounter(string filename) + { + var r = LibPDFTools.CreatePdfReader(filename, new PasswordListener(filename).QueryPassword, false); + return r.NumberOfPages; + } + + private void menuItemExit_Click(object sender, System.EventArgs e) + { + this.Close(); + } + + private void menuItemFileAdd_Click(object sender, System.EventArgs e) + { + if (openFileDialog.ShowDialog() == DialogResult.OK) + this.fileListBox1.AddFiles(openFileDialog.FileNames); + } + + private void menuItemSaveAs_Click(object sender, System.EventArgs e) + { + try + { + saveFileDialog.Filter = "PDF files|*.pdf|TIFF files|*.tif;*.tiff"; + if (saveFileDialog.ShowDialog() != DialogResult.OK) + return; + + Cursor cursor = this.Cursor; + this.Cursor = Cursors.WaitCursor; + try + { + switch (saveFileDialog.FilterIndex) + { + case 2: + ConcatenateAndSaveAsTiff(this.DPI); + File.Copy(concatTempFile, saveFileDialog.FileName, true); + break; + default: + Concatenate(); + File.Copy(concatTempFile, saveFileDialog.FileName, true); + dirty = false; + break; + } + } + catch (Exception ee) + { + throw ee; + } + finally + { + this.Cursor = cursor; + } + } + catch (Exception ee) + { + ErrorMessage.Show(ee); + } + } + + private void ConcatenateAndSaveAsTiff(float resolution) + { + if (concatTempFile != null) return; + + var files = this.fileListBox1.Files; + if (files.Count < 1) + throw new Exception("No files are added."); + string tempFilename = FileOperation.GetTempFile("", ".tif"); + + tempFSCol.Push(tempFilename); + + using (var outStream = new FileStream(tempFilename, FileMode.Create, FileAccess.Write)) + { + using (var con = new TiffConcatenator(outStream, this.DPI)) + { + foreach (string filename in files) + { + con.Append(filename); + } + } + } + + concatTempFile = tempFilename; + } + + private void Concatenate() + { + if (concatTempFile != null) return; + + var files = this.fileListBox1.Files; + if (files.Count < 1) + throw new Exception("No files are added."); + string fileName = FileOperation.GetTempFile("", ".pdf"); + + tempFSCol.Push(fileName); + + var outStream = new FileStream(fileName, FileMode.Create, FileAccess.Write); + PdfConcatenator con = new PdfConcatenator(outStream, encryptInfo, viewerPreference); + try + { + foreach (string filename in files) + { + con.QueryPassword = new PasswordListener(filename).QueryPassword; + var reader = con.CreatePdfReader(filename, concatenatorOption); + try + { + con.Append(reader, Path.GetFileNameWithoutExtension(filename), new[] { new PageRange(1, int.MaxValue) }, concatenatorOption); + } + finally + { + reader.Close(); + } + } + } + finally + { + con.Close(); + outStream.Close(); + } + + concatTempFile = fileName; + } + + private string concatTempFile = null; + private bool dirty = false; + + private void notifyTouch() + { + if (concatTempFile != null && System.IO.File.Exists(concatTempFile)) + { + try + { + System.IO.File.Delete(concatTempFile); + } + catch (Exception) + { + } + } + concatTempFile = null; + dirty = true; + } + + private void menuItemDocumentSecurity_Click(object sender, System.EventArgs e) + { + EncryptOptionDialog dlg = new EncryptOptionDialog(); + dlg.EncryptionLength = encryptInfo.encryptionLength; + dlg.UserPassword = encryptInfo.userPassword; + dlg.MasterPassword = encryptInfo.ownerPassword; + dlg.Permissions = encryptInfo.permissions; + if (dlg.ShowDialog() == DialogResult.OK) + { + notifyTouch(); + + encryptInfo.ownerPassword = dlg.MasterPassword; + encryptInfo.userPassword = dlg.UserPassword; + encryptInfo.encryptionLength = dlg.EncryptionLength; + encryptInfo.permissions = dlg.Permissions; + } + } + + private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e) + { + if (false) {} + else if (e.Button == this.toolBarButtonUp) + this.menuItemUpOrDown_Click(menuItemUp, e); + else if (e.Button == this.toolBarButtonDown) + this.menuItemUpOrDown_Click(menuItemDown, e); + else if (e.Button == this.toolBarButtonViewByAcrobat) + this.menuItemViewByAcrobat_Click(sender, e); + else if (e.Button == this.toolBarButtonViewByAcrobat) + this.menuItemViewThisItem_Click(sender, e); + else if (e.Button == this.toolBarButtonViewThisItem) + this.menuItemViewThisItem_Click(sender, e); + else if (e.Button == this.toolBarButtonOpen) + this.menuItemFileAdd_Click(sender, e); + else if (e.Button == this.toolBarButtonSave) + this.menuItemSaveAs_Click(sender, e); + else if (e.Button == this.toolBarButtonRemove) + this.menuItemRemove_Click(sender, e); + else {} + } + + private void menuItemViewByAcrobat_Click(object sender, System.EventArgs e) + { + try + { + Concatenate(); + FileOperation.ExecuteFile(concatTempFile); + } + catch (Exception ee) + { + ErrorMessage.Show(ee); + } + + } + + private void menuItemViewThisItem_Click(object sender, System.EventArgs e) + { + try + { + if (this.fileListBox1.FocusedItem != null) + FileOperation.ExecuteFile(this.fileListBox1.FocusedItem.FullPath); + } + catch (Exception ee) + { + ErrorMessage.Show(ee); + } + } + + private void MainWindow_Resize(object sender, System.EventArgs e) + { + this.fileListBox1.Width = this.ClientSize.Width - this.fileListBox1.Left; + this.fileListBox1.Height = statusBar1.Top - this.fileListBox1.Top; + } + + private void menuItemUpOrDown_Click(object sender, System.EventArgs e) + { + try + { + int direct = 0; + if (sender == menuItemUp) + { + direct = -1; + } + else if (sender == menuItemDown) + { + direct = +1; + } + + Debug.Assert(direct != 0, "Assertion failed."); + + this.fileListBox1.MoveSelectedItems(direct); + } + catch (Exception ee) + { + ErrorMessage.Show(ee); + } + } + + private void menuItemSplit_Click(object sender, System.EventArgs e) + { + try + { + PdfSplitter spliter = new PdfSplitter(); + foreach (FileListItem item in this.fileListBox1.SelectedItems) + { + int itemIndex = item.Index; + string fullPath = item.FullPath; + + spliter.QueryPassword = new PasswordListener(fullPath).QueryPassword; + string storeFolder = FileOperation.GetTempFile(); + string[] splited = null; + try + { + splited = spliter.Split(fullPath, storeFolder, Path.GetFileName(fullPath) + "."); + } + catch (Exception) + { + // ignore + } + if (splited != null) + { +#if true + tempFSCol.Push(storeFolder); + tempFSCol.Push(splited); +#endif + for (int j = 0; j < splited.Length; j++) + { + this.fileListBox1.Insert(itemIndex + j + 1, splited[j]); + } + this.fileListBox1.Remove(item); + } + } + } + catch (Exception ee) + { + ErrorMessage.Show(ee); + } + finally + { + notifyTouch(); + } + } + + private void menuItemRemove_Click(object sender, System.EventArgs e) + { + fileListBox1.RemoveSelectedItems(); + } + + private void menuItemSelectAll_Click(object sender, System.EventArgs e) + { + foreach (ListViewItem item in fileListBox1.Items) + item.Selected = true; + } + + private void menuItemAbout_Click(object sender, System.EventArgs e) + { + About dlg = new About(); + dlg.Show(); + } + + private void menuItemContents_Click(object sender, System.EventArgs e) + { + FileOperation.ExecuteFile(Path.Combine(Application.StartupPath, "ConcatPDF-Help.html")); + } + + private void menuItemViewerPref_Click(object sender, System.EventArgs e) + { + ViewerOptionDialog dlg = new ViewerOptionDialog(); + dlg.ViewerPreference = this.viewerPreference; + if (dlg.ShowDialog() == DialogResult.OK) + { + this.viewerPreference = dlg.ViewerPreference; + notifyTouch(); + } + } + + private void menuItemOutline_Click(object sender, System.EventArgs e) + { + DlgOutlineSetting dlg = new DlgOutlineSetting(); + dlg.SetSetting(concatenatorOption); + if (dlg.ShowDialog() == DialogResult.OK) + { + dlg.GetSetting(concatenatorOption); + notifyTouch(); + } + } + + private void fileListBox1_TouchContents(object sender, System.EventArgs e) + { + notifyTouch(); + } + + private void fileListBox1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) + { + System.Diagnostics.Debug.WriteLine("fileListBox1_DragDrop"); + + } + + private void fileListBox1_DragOver(object sender, System.Windows.Forms.DragEventArgs e) + { + System.Diagnostics.Debug.WriteLine("fileListBox1_DragOver"); + } + + private void menuItemPageSetting_Click(object sender, EventArgs e) + { + var dlg = new PageSetting(); + dlg.SetSetting(this.concatenatorOption); + if (dlg.ShowDialog() == DialogResult.OK) + { + dlg.GetSetting(this.concatenatorOption); + notifyTouch(); + } + } + + private void menuItemImageSetting_Click(object sender, EventArgs e) + { + var dlg = new ImageSettingDialog(); + dlg.DPI = DPI; + if (dlg.ShowDialog() == DialogResult.OK) + { + DPI = dlg.DPI; + notifyTouch(); + } + } + + private PreviewForm currentPreviewForm = null; + + private void menuItemPreviewWindow_Click(object sender, EventArgs e) + { + if (currentPreviewForm == null) + { + var preview = new PreviewForm(); + preview.QueryPassword = QueryPassword; + preview.FormClosed += new FormClosedEventHandler(preview_FormClosed); + preview.Show(); + currentPreviewForm = preview; + } + else + { + currentPreviewForm.Close(); + } + } + + void preview_FormClosed(object sender, FormClosedEventArgs e) + { + if (currentPreviewForm != null) + { + currentPreviewForm = null; + } + } + + private void fileListBox1_SelectedIndexChanged(object sender, EventArgs e) + { + var focusedItem = fileListBox1.FocusedItem; + if (focusedItem != null) + { + if (currentPreviewForm != null) + { + byte[] password = focusedItem.Password; + try + { + currentPreviewForm.LoadImage(focusedItem.FullPath, ref password); + focusedItem.Password = password; + } + catch (Exception) + { + } + } + } + } + + static public byte[] QueryPassword(string filename) + { + PwdQueryDlg dlg = new PwdQueryDlg(); + dlg.FullName = Path.GetFullPath(filename); + if (dlg.ShowDialog() != DialogResult.OK) + return null; + return Encoding.ASCII.GetBytes(dlg.Password); + } + } + + class PasswordListener + { + string fullName; + + public PasswordListener(string filename) + { + this.fullName = Path.GetFullPath(filename); + } + + public byte[] QueryPassword() + { + return MainWindow.QueryPassword(fullName); + } + } +} diff --git a/ConcatPDFW/ConcatPDFWMain.ja-JP.resx b/ConcatPDFW/ConcatPDFWMain.ja-JP.resx new file mode 100644 index 0000000..a1df57c --- /dev/null +++ b/ConcatPDFW/ConcatPDFWMain.ja-JP.resx @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Inherit + + \ No newline at end of file diff --git a/ConcatPDFW/ConcatPDFWMain.ja.resx b/ConcatPDFW/ConcatPDFWMain.ja.resx new file mode 100644 index 0000000..8576e1e --- /dev/null +++ b/ConcatPDFW/ConcatPDFWMain.ja.resx @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 追加(&D)... + + + 名前を付けて保存(&A)... + + + アウトライン(&L)... + + + 文書のセキュリティ(Y)... + + + 表示の設定(&V)... + + + ページ設定(&G)... + + + イメージ設定(&M)... + + + 終了(&X) + + + &ファイル(F) + + + 分割(&S) + + + 削除(&R) + + + 上へ(&U) + + + 下へ(&D) + + + すべて選択(&A) + + + 編集(&E) + + + &Acrobat で表示 + + + 現在の項目を表示(&T) + + + 表示(&V) + + + 目次(&C)... + + + バージョン情報(&A)... + + + ヘルプ(&H) + + + + 0, 212 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADY + CgAAAk1TRnQBSQFMAgEBBwEAARwBAAEcAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/5MAAgMGAAIHAQABAyQA + CQMHAAIDBgACBwEAAQMjAAH7AQAJAwYAAgMGAAIHAQABAyMAAQcB+wEACQMFAAIDCQABAyMAAfsBBwH7 + AQAJAwQADAMjAAEHAfsBBwH7DQACAwgAAgMjAAH7AQcB+wEHAfsBAAH7AQAB+wgAAQMBAAgHAQABAyMA + AQcB+wEHAfsBBwH7AQAB+wkAAQMBAAgHAQABAyMAAfsBBwH7DgABAwEACAcBAAEDNAABAwEACAcBAAED + NAABAwEACAc2AAEDAQAIBwEAAQenAAXsDQAB7C0AAQcD7A0AAuwJAAr/BgAK/woAAgcB7A0AA+wJAAf/ + CQAB/wUAAf8NAAMHDAAE7AkABv8CAAIHBgAD/wEAAv8CAAIHCgADBwsABewJAAX/AgACBwH+BgAD/wEA + Af8CAAIHAf4KAAMHCgAG7AkABf8BAAQHAQABBwQAA/8BAAH/AQAEBwEAAQcIAAMHCQAH7AkABf8BAAEH + Af4CBwEAAQcEAAP/AQAB/wEAAQcB/gIHAQABBwgAAwcNAAPsCQAF/wIAAv4BBwYAA/8BAAH/AgAC/gEH + CgADBw0AA+wJAAb/AgACBwYAAf8BAAH/AQAC/wIAAgcGAAcHDQAD7AkAB/8JAAL/AgAD/woABgcNAAPs + CQAK/wYAA/8BAAb/CAAFBw0AA+wJAAf/CQAH/wwABAcNAAPsCQAH/wEAAQcHAAf/AQABBwsAAwcNAALs + AgcIAAf/CQAH/w4AAgcNAAHsBActAAEHDQAGByUAAUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEB + BgABARYAA/8BAAb/AgAC/wHAAQEC/wMAAR8BgAEBAe8B/QMAAQ8BgAEBAccB/wMAAQcBgAEBAcMB+wMA + AQMBgAEBAeMB9wMAAQEBgAEBAfEB5wQAAYABAQH4Ac8DAAEfAYABAQH8AR8DAAEfAYABAQH+AT8DAAEf + AYABAQH8AR8CAAGPAfEBgAEBAfgBzwIAAf8B+QGAAQEB4QHnAgAB/wF1AYABAQHDAfMCAAH/AY8BgAEB + AccB/QIABv8CAAH4AR8B/gF/AQABDAEAAQwB+AEfAfwBPwEAAQgBAAEIAfgBHwH4AR8BAAEBAQABAQH4 + AR8B8AEPAQABAwEAAQMB+AEfAeABBwEAAQMBAAEDAfgBHwHAAQMBAAEDAQABAwH4AR8BgAEBAQABAwEA + AQMB+AEfAfgBHwEAAQcBAAEHAfgBHwH4AR8BAAEHAQABBwGAAQEB+AEfAQABDwEAAQ8BwAEDAfgBHwEA + AQ8BAAEPAeABBwH4AR8BAAEPAQABDwHwAQ8B+AEfAQABHwEAAR8B+AEfAfgBHwEAAT8BAAE/AfwBPwH4 + AR8BAAF/AQABfwH+AX8B+AEfBP8L + + + + 400, 236 + + + + AAABAAMAEBAQAAAAAAAoAQAANgAAACAgEAAAAAAA6AIAAF4BAAAwMBAAAAAAAGgGAABGBAAAKAAAABAA + AAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICA + AADAwMAAgICAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAD///////8AAP///////wAA////////AAAAAAAAAA8A////////DwDw/wBw//8PAPD/DwD//w8A8A + cPAA//AADw8A8A//8AAPAHAHAI/wAA////////AAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAAwAAAAMAA + AADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAP//AAAoAAAAIAAAAEAA + AAABAAQAAAAAAAACAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDA + wACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAd3d3d3d3d3d3d3d3dwAAAH////////////////cAAAB////////////////3AAAA + f///////////////9wAAAH////////////////cAAAAAAAAAAAAAAAAAAAD3AAd3d3d3d3d3d3d3d3dw + 9wAH////////////////cPcABwD///8AAA//8A///3D3AAcA////AAAA//AP//9w9wAHAP///wD/8A/w + D///cPcABwD///8A//8A8A///3D3AAcA////AP//APAP//9w9wAHAP///wD//wDwD///cPcABwAAD/8A + //8A8AAAD3D3AAcAAAD/AP//APAAAA9w9wAHAP/wDwD//wDwD///cHcABwD/8A8A//8A8A///3AAAAcA + //APAP/wD/AP//9wAAAHAAAA/wAAAP/wAAAAcAAABwAAD/8AAA//8AAAAHAAAAf///////////////9w + AAAHd3d3d3d3d3d3d3d3cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA///////////////////////////gAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAEAAAABAAAAAQAA + AAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAADwAAAA8AAAAPAAAADwAA + AA8AAAAP//////////8oAAAAMAAAAGAAAAABAAQAAAAAAIAEAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAA + gAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AA//////////////////////////AAAAAA//////////////////////////AAAAAA////////////// + ////////////AAAAAA//////////////////////////AAAAAA//////////////////////////AAAA + AA//////////////////////////AAAAAA//////////////////////////AAAAAA////////////// + ////////////AAAAAA//////////////////////////AAAAAA//////////////////////////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAP//////////////// + /////////wD/AAAP/////////////////////////wD/AAAP/////////////////////////wD/AAAP + /////////////////////////wD/AAAP/////////////////////////wD/AAAP//////////////// + /////////wD/AAAPAP//////8AAAAH////AP/////wD/AAAPAP//////8AAAAAD///AP/////wD/AAAP + AP//////8A///4AP//AP/////wD/AAAPAP//////8A////gH//AP/////wD/AAAPAP//////8A////8A + //AP/////wD/AAAPAAAAh///8A////8A//AP/////wD/AAAPAAAAAA//8A////8A//AAAAAP/wD/AAAP + AP//eAj/8A////8A//AAAAAP/wAAAAAPAP///wD/8A////8A//AP/////wAAAAAPAP///wD/8A////8A + //AP/////wAAAAAPAP///wD/8A////gH//AP/////wAAAAAPAP//eAj/8A///4AP//AP/////wAAAAAP + AAAAAA//8AAAAAD///AAAAAA/wAAAAAPAAAAh///8AAAAH////AAAAAA/wAAAAAP//////////////// + /////////wAAAAAP/////////////////////////wAAAAAP/////////////////////////wAAAAAP + /////////////////////////wAAAAAP/////////////////////////wAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///////wAA////////AAD///////8AAPgAAAAAAAAA+AAAAAAAAAD4AAAAAAAAAPgA + AAAAAAAA+AAAAAAAAAD4AAAAAAAAAPgAAAAAAAAA+AAAAAAAAAD4AAAAAAAAAPgAAAAAAAAA+AAAAAAA + AAD4AAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAA + AAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAA + AACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAA8AAIAAAAAADwAAgAAAAAAPAACAAAAAAA8AAIAA + AAAADwAAgAAAAAAPAACAAAAAAA8AAIAAAAAADwAAgAAAAAAPAACAAAAAAA8AAIAAAAAADwAAgAAAAAAP + AAD///////8AAP///////wAA////////AAD///////8AAA== + + + \ No newline at end of file diff --git a/ConcatPDFW/ConcatPDFWMain.resx b/ConcatPDFW/ConcatPDFWMain.resx new file mode 100644 index 0000000..722e886 --- /dev/null +++ b/ConcatPDFW/ConcatPDFWMain.resx @@ -0,0 +1,737 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + CtrlShiftI + + + A&dd... + + + Save &As... + + + - + + + Out&line... + + + Document Securit&y... + + + &Viewer Preferences... + + + Pa&ge Setting... + + + I&mage Setting... + + + - + + + E&xit + + + &File + + + &Split + + + - + + + Del + + + &Remove + + + - + + + &Up + + + &Down + + + Select &All + + + &Edit + + + By &Acrobat + + + &This Item + + + &Preview Window + + + &View + + + &Contents... + + + - + + + &About... + + + &Help + + + NoControl + + + + 0, -24 + + + statusBarPanel1 + + + + 333 + + + Right + + + 50 + + + statusBarPanel2 + + + 50 + + + 400, 24 + + + 1 + + + statusBar1 + + + statusBar1 + + + System.Windows.Forms.StatusBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + 126, 17 + + + PDF files (*.pdf)|*.pdf|All files (*.*)|*.* + + + 252, 17 + + + PDF files|*.pdf + + + 0 + + + 1 + + + 3 + + + 2 + + + 4 + + + 5 + + + 6 + + + 23, 22 + + + True + + + 377, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADY + CgAAAk1TRnQBSQFMAgEBBwEAAXgBAQF4AQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/5MAAgMGAAIHAQABAyQA + CQMHAAIDBgACBwEAAQMjAAH7AQAJAwYAAgMGAAIHAQABAyMAAQcB+wEACQMFAAIDCQABAyMAAfsBBwH7 + AQAJAwQADAMjAAEHAfsBBwH7DQACAwgAAgMjAAH7AQcB+wEHAfsBAAH7AQAB+wgAAQMBAAgHAQABAyMA + AQcB+wEHAfsBBwH7AQAB+wkAAQMBAAgHAQABAyMAAfsBBwH7DgABAwEACAcBAAEDNAABAwEACAcBAAED + NAABAwEACAc2AAEDAQAIBwEAAQenAAXsDQAB7C0AAQcD7A0AAuwJAAr/BgAK/woAAgcB7A0AA+wJAAf/ + CQAB/wUAAf8NAAMHDAAE7AkABv8CAAIHBgAD/wEAAv8CAAIHCgADBwsABewJAAX/AgACBwH+BgAD/wEA + Af8CAAIHAf4KAAMHCgAG7AkABf8BAAQHAQABBwQAA/8BAAH/AQAEBwEAAQcIAAMHCQAH7AkABf8BAAEH + Af4CBwEAAQcEAAP/AQAB/wEAAQcB/gIHAQABBwgAAwcNAAPsCQAF/wIAAv4BBwYAA/8BAAH/AgAC/gEH + CgADBw0AA+wJAAb/AgACBwYAAf8BAAH/AQAC/wIAAgcGAAcHDQAD7AkAB/8JAAL/AgAD/woABgcNAAPs + CQAK/wYAA/8BAAb/CAAFBw0AA+wJAAf/CQAH/wwABAcNAAPsCQAH/wEAAQcHAAf/AQABBwsAAwcNAALs + AgcIAAf/CQAH/w4AAgcNAAHsBActAAEHDQAGByUAAUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEB + BgABARYAA/8BAAb/AgAC/wHAAQEC/wMAAR8BgAEBAe8B/QMAAQ8BgAEBAccB/wMAAQcBgAEBAcMB+wMA + AQMBgAEBAeMB9wMAAQEBgAEBAfEB5wQAAYABAQH4Ac8DAAEfAYABAQH8AR8DAAEfAYABAQH+AT8DAAEf + AYABAQH8AR8CAAGPAfEBgAEBAfgBzwIAAf8B+QGAAQEB4QHnAgAB/wF1AYABAQHDAfMCAAH/AY8BgAEB + AccB/QIABv8CAAH4AR8B/gF/AQABDAEAAQwB+AEfAfwBPwEAAQgBAAEIAfgBHwH4AR8BAAEBAQABAQH4 + AR8B8AEPAQABAwEAAQMB+AEfAeABBwEAAQMBAAEDAfgBHwHAAQMBAAEDAQABAwH4AR8BgAEBAQABAwEA + AQMB+AEfAfgBHwEAAQcBAAEHAfgBHwH4AR8BAAEHAQABBwGAAQEB+AEfAQABDwEAAQ8BwAEDAfgBHwEA + AQ8BAAEPAeABBwH4AR8BAAEPAQABDwHwAQ8B+AEfAQABHwEAAR8B+AEfAfgBHwEAAT8BAAE/AfwBPwH4 + AR8BAAF/AQABfwH+AX8B+AEfBP8L + + + + NoControl + + + 0, 0 + + + True + + + 400, 28 + + + 3 + + + Right + + + toolBar1 + + + System.Windows.Forms.ToolBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + 0, 32 + + + 320, 208 + + + 4 + + + fileListBox1 + + + Ujihara.ConcatPDF.FileListBox, ConcatPDFUI, Version=1.0.4564.18006, Culture=neutral, PublicKeyToken=bd3736a929f259c3 + + + $this + + + 0 + + + True + + + 45 + + + 5, 12 + + + 400, 0 + + + + AAABAAMAEBAQAAAAAAAoAQAANgAAACAgEAAAAAAA6AIAAF4BAAAwMBAAAAAAAGgGAABGBAAAKAAAABAA + AAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICA + AADAwMAAgICAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAD///////8AAP///////wAA////////AAAAAAAAAA8A////////DwDw/wBw//8PAPD/DwD//w8A8A + cPAA//AADw8A8A//8AAPAHAHAI/wAA////////AAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAAwAAAAMAA + AADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAP//AAAoAAAAIAAAAEAA + AAABAAQAAAAAAAACAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDA + wACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAd3d3d3d3d3d3d3d3dwAAAH////////////////cAAAB////////////////3AAAA + f///////////////9wAAAH////////////////cAAAAAAAAAAAAAAAAAAAD3AAd3d3d3d3d3d3d3d3dw + 9wAH////////////////cPcABwD///8AAA//8A///3D3AAcA////AAAA//AP//9w9wAHAP///wD/8A/w + D///cPcABwD///8A//8A8A///3D3AAcA////AP//APAP//9w9wAHAP///wD//wDwD///cPcABwAAD/8A + //8A8AAAD3D3AAcAAAD/AP//APAAAA9w9wAHAP/wDwD//wDwD///cHcABwD/8A8A//8A8A///3AAAAcA + //APAP/wD/AP//9wAAAHAAAA/wAAAP/wAAAAcAAABwAAD/8AAA//8AAAAHAAAAf///////////////9w + AAAHd3d3d3d3d3d3d3d3cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA///////////////////////////gAAAB4AAAAeAAAAHgAAAB4AAAAeAAAAEAAAABAAAAAQAA + AAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAADwAAAA8AAAAPAAAADwAA + AA8AAAAP//////////8oAAAAMAAAAGAAAAABAAQAAAAAAIAEAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAA + gAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AA//////////////////////////AAAAAA//////////////////////////AAAAAA////////////// + ////////////AAAAAA//////////////////////////AAAAAA//////////////////////////AAAA + AA//////////////////////////AAAAAA//////////////////////////AAAAAA////////////// + ////////////AAAAAA//////////////////////////AAAAAA//////////////////////////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAP//////////////// + /////////wD/AAAP/////////////////////////wD/AAAP/////////////////////////wD/AAAP + /////////////////////////wD/AAAP/////////////////////////wD/AAAP//////////////// + /////////wD/AAAPAP//////8AAAAH////AP/////wD/AAAPAP//////8AAAAAD///AP/////wD/AAAP + AP//////8A///4AP//AP/////wD/AAAPAP//////8A////gH//AP/////wD/AAAPAP//////8A////8A + //AP/////wD/AAAPAAAAh///8A////8A//AP/////wD/AAAPAAAAAA//8A////8A//AAAAAP/wD/AAAP + AP//eAj/8A////8A//AAAAAP/wAAAAAPAP///wD/8A////8A//AP/////wAAAAAPAP///wD/8A////8A + //AP/////wAAAAAPAP///wD/8A////gH//AP/////wAAAAAPAP//eAj/8A///4AP//AP/////wAAAAAP + AAAAAA//8AAAAAD///AAAAAA/wAAAAAPAAAAh///8AAAAH////AAAAAA/wAAAAAP//////////////// + /////////wAAAAAP/////////////////////////wAAAAAP/////////////////////////wAAAAAP + /////////////////////////wAAAAAP/////////////////////////wAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP///////wAA////////AAD///////8AAPgAAAAAAAAA+AAAAAAAAAD4AAAAAAAAAPgA + AAAAAAAA+AAAAAAAAAD4AAAAAAAAAPgAAAAAAAAA+AAAAAAAAAD4AAAAAAAAAPgAAAAAAAAA+AAAAAAA + AAD4AAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAA + AAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAA + AACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAA8AAIAAAAAADwAAgAAAAAAPAACAAAAAAA8AAIAA + AAAADwAAgAAAAAAPAACAAAAAAA8AAIAAAAAADwAAgAAAAAAPAACAAAAAAA8AAIAAAAAADwAAgAAAAAAP + AAD///////8AAP///////wAA////////AAD///////8AAA== + + + + NoControl + + + ConcatPDF + + + mainMenu1 + + + System.Windows.Forms.MainMenu, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemFile + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemFileAdd + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemSaveAs + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItem2 + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemOutline + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemDocumentSecurity + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemViewerPref + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemPageSetting + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemImageSetting + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItem4 + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemExit + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemEdit + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemSplit + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItem8 + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemRemove + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItem3 + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemUp + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemDown + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemSelectAll + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItem1 + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemViewByAcrobat + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemViewThisItem + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemPreviewWindow + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItem5 + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemContents + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItem7 + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + menuItemAbout + + + System.Windows.Forms.MenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + statusBarPanel1 + + + System.Windows.Forms.StatusBarPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + statusBarPanel2 + + + System.Windows.Forms.StatusBarPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + openFileDialog + + + System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + saveFileDialog + + + System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolBarButtonUp + + + System.Windows.Forms.ToolBarButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolBarButtonDown + + + System.Windows.Forms.ToolBarButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolBarButton1 + + + System.Windows.Forms.ToolBarButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolBarButtonViewThisItem + + + System.Windows.Forms.ToolBarButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolBarButtonViewByAcrobat + + + System.Windows.Forms.ToolBarButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolBarButton2 + + + System.Windows.Forms.ToolBarButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolBarButtonOpen + + + System.Windows.Forms.ToolBarButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolBarButtonSave + + + System.Windows.Forms.ToolBarButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolBarButton3 + + + System.Windows.Forms.ToolBarButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + toolBarButtonRemove + + + System.Windows.Forms.ToolBarButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + imageListToolBar + + + System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + MainWindow + + + System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ConcatPDFW/Develop.snk b/ConcatPDFW/Develop.snk new file mode 100644 index 0000000..53d5cd3 Binary files /dev/null and b/ConcatPDFW/Develop.snk differ diff --git a/ConcatPDFW/ErrorMessage.cs b/ConcatPDFW/ErrorMessage.cs new file mode 100644 index 0000000..fef4319 --- /dev/null +++ b/ConcatPDFW/ErrorMessage.cs @@ -0,0 +1,61 @@ +/* + Copyright 2003, 2004, 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +using System; +using System.Windows.Forms; + +namespace Ujihara.Lib +{ + public class ErrorMessage + { + public static void Show(string message, string caption, MessageBoxIcon icon) + { + MessageBox.Show(message, caption, MessageBoxButtons.OK, icon); + } + + public static void Show(Exception exception, string caption, MessageBoxIcon icon) + { + String str = null; + if (str == null) str = exception.Message; +#if DEBUG + if (str == null) str = ""; + str = str + exception.StackTrace; +#endif + Show(str, caption, icon); + } + + public static void Show(Exception exception, string caption) + { + Show(exception, caption, MessageBoxIcon.Error); + } + + public static void Show(Exception except, MessageBoxIcon icon) + { + Show(except, "", icon); + } + + public static void Show(Exception exception) + { + Show(exception, ""); + } + + public static void Show(string message) + { + Show(message, "", MessageBoxIcon.Error); + } + } +} diff --git a/ConcatPDFW/FileOperation.cs b/ConcatPDFW/FileOperation.cs new file mode 100644 index 0000000..b7db3d4 --- /dev/null +++ b/ConcatPDFW/FileOperation.cs @@ -0,0 +1,83 @@ +/* + Copyright 2003, 2004, 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +using System; +using System.IO; +using System.Threading; + +namespace Ujihara.Lib +{ + public class FileOperation + { + private class ExecFileImpl + { + string uri; + string verb; + string param; + string execFolder; + + public ExecFileImpl(String uri, String verb, String param, string execFolder) + { + this.uri = uri; + this.verb = verb; + this.param = param; + this.execFolder = execFolder; + } + + public void Do() + { + try + { + var a = new System.Diagnostics.Process(); + a.StartInfo.Verb = verb; + a.StartInfo.FileName = uri; + a.StartInfo.Arguments = param; + a.StartInfo.WorkingDirectory = execFolder; + a.Start(); + Thread.Sleep(5000); + } + catch (Exception) + { + // ignore it + } + } + } + + public static void ExecuteFile(string uri, string verb, string param, string execFolder) + { + ExecFileImpl clazz = new ExecFileImpl(uri, verb, param, execFolder); + Thread thread = new Thread(new ThreadStart(clazz.Do)); + thread.Start(); + } + + public static void ExecuteFile(string uri) + { + ExecuteFile(uri, "open", "", null); + } + + public static string GetTempFile() + { + return GetTempFile("", ""); + } + + public static string GetTempFile(string prefix, string suffix) + { + String fileName = prefix + System.Guid.NewGuid().ToString() + suffix; + return Path.Combine(Path.GetTempPath(), fileName); + } + } +} diff --git a/ConcatPDFW/PreviewForm.Designer.cs b/ConcatPDFW/PreviewForm.Designer.cs new file mode 100644 index 0000000..e583d61 --- /dev/null +++ b/ConcatPDFW/PreviewForm.Designer.cs @@ -0,0 +1,80 @@ +namespace Ujihara.ConcatPDF +{ + partial class PreviewForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.panel = new System.Windows.Forms.Panel(); + this.pictureBox = new System.Windows.Forms.PictureBox(); + this.panel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).BeginInit(); + this.SuspendLayout(); + // + // panel + // + this.panel.Controls.Add(this.pictureBox); + this.panel.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel.Location = new System.Drawing.Point(0, 0); + this.panel.Name = "panel"; + this.panel.Size = new System.Drawing.Size(284, 262); + this.panel.TabIndex = 0; + // + // pictureBox + // + this.pictureBox.Dock = System.Windows.Forms.DockStyle.Fill; + this.pictureBox.Location = new System.Drawing.Point(0, 0); + this.pictureBox.Name = "pictureBox"; + this.pictureBox.Size = new System.Drawing.Size(284, 262); + this.pictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBox.TabIndex = 0; + this.pictureBox.TabStop = false; + // + // PreviewForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(284, 262); + this.Controls.Add(this.panel); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.Name = "PreviewForm"; + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.Text = "Preview"; + this.TopMost = true; + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.PreviewForm_FormClosed); + this.panel.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel; + private System.Windows.Forms.PictureBox pictureBox; + } +} \ No newline at end of file diff --git a/ConcatPDFW/PreviewForm.cs b/ConcatPDFW/PreviewForm.cs new file mode 100644 index 0000000..0f9b81e --- /dev/null +++ b/ConcatPDFW/PreviewForm.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +using Ujihara.PDF; +using System.IO; +using System.Security; + +namespace Ujihara.ConcatPDF +{ + public partial class PreviewForm : Form + { + PDFLibNet.PDFWrapper pdfDoc = new PDFLibNet.PDFWrapper(""); + string currentUrlOfPdf = null; + public ListenPasswordWithFileNameHandler QueryPassword; + + public PreviewForm() + { + InitializeComponent(); + } + + public void LoadImage(string url, ref byte[] password) + { + if (currentUrlOfPdf == url) + return; + + var bytes = LibPDFTools.GetBytes(url); + var ms = new MemoryStream(bytes); + + Image pageBuffer; + switch (LibPDFTools.GetImageFileType(bytes)) + { + case ImageFileType.PDF: + byte[] newPassword = password; + L100: + try + { + if (newPassword != null) + pdfDoc.OwnerPassword = Encoding.ASCII.GetString(newPassword); + pdfDoc.LoadPDF(url); + password = newPassword; + } + catch (SecurityException se) + { + if (QueryPassword == null) + throw se; + if (QueryPassword != null) + { + newPassword = QueryPassword(url); + if (newPassword == null) + throw se; + + goto L100; + } + } + + pdfDoc.CurrentPage = 1; + pdfDoc.CurrentX = 0; + pdfDoc.CurrentY = 0; + pdfDoc.RenderDPI = 72; + using (var oPictureBox = new PictureBox()) + { + pdfDoc.RenderPage(oPictureBox.Handle); + + pageBuffer = new Bitmap(pdfDoc.PageWidth, pdfDoc.PageHeight); + pdfDoc.ClientBounds = new System.Drawing.Rectangle(0, 0, pdfDoc.PageWidth, pdfDoc.PageHeight); + using (var g = Graphics.FromImage(pageBuffer)) + { + var hdc = g.GetHdc(); + pdfDoc.DrawPageHDC(hdc); + g.ReleaseHdc(); + } + } + break; + default: + pageBuffer = System.Drawing.Image.FromStream(ms); + break; + } + LoadImage(pageBuffer, url); + GC.Collect(); + } + + public void LoadImage(System.Drawing.Image image, string originalUrl) + { + pictureBox.Image = image; + currentUrlOfPdf = originalUrl; //unknown + } + + public void LoadImage(System.Drawing.Image image) + { + LoadImage(image, null); + } + + private void PreviewForm_FormClosed(object sender, FormClosedEventArgs e) + { + pdfDoc.Dispose(); + } + } +} diff --git a/ConcatPDFW/PreviewForm.resx b/ConcatPDFW/PreviewForm.resx new file mode 100644 index 0000000..19dc0dd --- /dev/null +++ b/ConcatPDFW/PreviewForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ConcatPDFW/Properties/AssemblyInfo.cs b/ConcatPDFW/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7337cf2 --- /dev/null +++ b/ConcatPDFW/Properties/AssemblyInfo.cs @@ -0,0 +1,12 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("ConcatPDFW")] +[assembly: AssemblyDescription("PDF concatenation tool for Windows.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Kazuya Ujihara ")] +[assembly: AssemblyProduct("ConcatPDF for Windows")] +[assembly: AssemblyCopyright("Copyright (c) 2004-2012 UJIHARA Kazuya. All rights reserved.")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] diff --git a/ConcatPDFW/Properties/Resources.Designer.cs b/ConcatPDFW/Properties/Resources.Designer.cs new file mode 100644 index 0000000..6594667 --- /dev/null +++ b/ConcatPDFW/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// このコードはツールによって生成されました。 +// ランタイム バージョン:2.0.50727.5456 +// +// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 +// コードが再生成されるときに損失したりします。 +// +//------------------------------------------------------------------------------ + +namespace Ujihara.ConcatPDF.Properties { + using System; + + + /// + /// ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。 + /// + // このクラスは StronglyTypedResourceBuilder クラスが ResGen + // または Visual Studio のようなツールを使用して自動生成されました。 + // メンバを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に + // ResGen を実行し直すか、または VS プロジェクトをビルドし直します。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Ujihara.ConcatPDF.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 厳密に型指定されたこのリソース クラスを使用して、すべての検索リソースに対し、 + /// 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/ConcatPDFW/Properties/Resources.resx b/ConcatPDFW/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/ConcatPDFW/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ConcatPDFW/Properties/Settings.Designer.cs b/ConcatPDFW/Properties/Settings.Designer.cs new file mode 100644 index 0000000..325d500 --- /dev/null +++ b/ConcatPDFW/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// このコードはツールによって生成されました。 +// ランタイム バージョン:2.0.50727.5456 +// +// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 +// コードが再生成されるときに損失したりします。 +// +//------------------------------------------------------------------------------ + +namespace Ujihara.ConcatPDF.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/ConcatPDFW/Properties/Settings.settings b/ConcatPDFW/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/ConcatPDFW/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ConcatPDFW/images/ARW02DN.ico b/ConcatPDFW/images/ARW02DN.ico new file mode 100644 index 0000000..5f55459 Binary files /dev/null and b/ConcatPDFW/images/ARW02DN.ico differ diff --git a/ConcatPDFW/images/ARW02UP.ico b/ConcatPDFW/images/ARW02UP.ico new file mode 100644 index 0000000..428cb24 Binary files /dev/null and b/ConcatPDFW/images/ARW02UP.ico differ diff --git a/ConcatPDFW/images/ConcatPDF.ico b/ConcatPDFW/images/ConcatPDF.ico new file mode 100644 index 0000000..2d60bbf Binary files /dev/null and b/ConcatPDFW/images/ConcatPDF.ico differ diff --git a/ConcatPDFW/images/Delete.ico b/ConcatPDFW/images/Delete.ico new file mode 100644 index 0000000..39d02c5 Binary files /dev/null and b/ConcatPDFW/images/Delete.ico differ diff --git a/ConcatPDFW/images/Help.ico b/ConcatPDFW/images/Help.ico new file mode 100644 index 0000000..1c25ce0 Binary files /dev/null and b/ConcatPDFW/images/Help.ico differ diff --git a/ConcatPDFW/images/Open.ico b/ConcatPDFW/images/Open.ico new file mode 100644 index 0000000..f3d63e2 Binary files /dev/null and b/ConcatPDFW/images/Open.ico differ diff --git a/ConcatPDFW/images/Preview.ico b/ConcatPDFW/images/Preview.ico new file mode 100644 index 0000000..9675958 Binary files /dev/null and b/ConcatPDFW/images/Preview.ico differ diff --git a/ConcatPDFW/images/PreviewItem.ico b/ConcatPDFW/images/PreviewItem.ico new file mode 100644 index 0000000..aa0eb12 Binary files /dev/null and b/ConcatPDFW/images/PreviewItem.ico differ diff --git a/ConcatPDFW/images/Save.ico b/ConcatPDFW/images/Save.ico new file mode 100644 index 0000000..6be3c1d Binary files /dev/null and b/ConcatPDFW/images/Save.ico differ diff --git a/DecryptPDF/DecryptPDF.csproj b/DecryptPDF/DecryptPDF.csproj new file mode 100644 index 0000000..8961f42 --- /dev/null +++ b/DecryptPDF/DecryptPDF.csproj @@ -0,0 +1,90 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {B407ACB7-333B-48EA-AAE0-7B5D8735D3F0} + Exe + Properties + DecryptPDF + DecryptPDF + v3.5 + 512 + Ujihara.ConcatPDF.MainModule + true + Develop.snk + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\x86\Debug\ + DEBUG;TRACE + full + x86 + true + GlobalSuppressions.cs + prompt + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + true + GlobalSuppressions.cs + prompt + + + + False + ..\dll\itextsharp.dll + + + + 3.5 + + + + + Properties\VersionInfo.cs + + + + + + + + + + {3E32649E-4D1E-47F6-AAB3-00D5D773D2E5} + LibPDF + + + + + \ No newline at end of file diff --git a/DecryptPDF/DecryptPDFMain.cs b/DecryptPDF/DecryptPDFMain.cs new file mode 100644 index 0000000..0efd669 --- /dev/null +++ b/DecryptPDF/DecryptPDFMain.cs @@ -0,0 +1,127 @@ +/* + Copyright 2005, 2006, 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +using System; +using System.Collections; +using System.IO; +using System.Text; + +using iTextSharp.text; +using iTextSharp.text.pdf; +using Ujihara.PDF; + +namespace Ujihara.ConcatPDF +{ + class MainModule + { + private static string CommandLineExample = "DecryptPDF [switches] {input-file} {output-file}"; + + static void ShowUsage() + { + Console.Write( + CommandLineExample + "\n" + + "Switches:\n" + + " /password {password} Owner(Master) password of the file.\n" + + " /help Show this message.\n" + + ""); + } + + [STAThread] + static int Main(string[] args) + { + ArrayList argArray = new ArrayList(args.Length); + int i; + string password = ""; + + try + { + for (i = 0; i < args.Length; ) + { + string parm = args[i++]; + + if (false) + { + } + else if (parm == "/password") + { + password = args[i++]; + } + else if (parm == "/help") + { + ShowUsage(); + return 0; + } + else + { + if (parm[0] == '/') + throw new ApplicationException("Invalid argument '" + parm + "'."); + + string source = parm; + source = UriGetFullPath(source); + parm = args[i++]; + string dest = parm; + dest = UriGetFullPath(dest); + + PDFDecryptor.Decrypt(source, dest, password); + } + } + } + catch (IndexOutOfRangeException) + { + Console.Write("Error: Input or output file names aren't specified."); + return 1; + } + catch (Exception ee) + { + Console.Write(ee.Message); + System.Diagnostics.Debug.WriteLine(ee.StackTrace); + return 1; + } + + return 0; + } + + private static string UriGetFullPath(string fileName) + { + try + { + return Path.GetFullPath(fileName); + } + catch + { + } + return fileName; + } + } + + /// + /// It decrypts encrypted PDF file. + /// + public class PDFDecryptor + { + private PDFDecryptor() + { + } + + public static void Decrypt(string EncryptedFileName, string DecryptedFileName, string Password) + { + PdfReader reader = new PdfReader(EncryptedFileName, Encoding.ASCII.GetBytes(Password)); + PdfStamper stamper = new PdfStamper(reader, new FileStream(DecryptedFileName, FileMode.Create, FileAccess.Write)); + stamper.Close(); + } + } +} diff --git a/DecryptPDF/Develop.snk b/DecryptPDF/Develop.snk new file mode 100644 index 0000000..53d5cd3 Binary files /dev/null and b/DecryptPDF/Develop.snk differ diff --git a/DecryptPDF/Properties/AssemblyInfo.cs b/DecryptPDF/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..4fc7f5e --- /dev/null +++ b/DecryptPDF/Properties/AssemblyInfo.cs @@ -0,0 +1,12 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("DecryptPDF")] +[assembly: AssemblyDescription("PDF decryption tool.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Kazuya Ujihara ")] +[assembly: AssemblyProduct("ConcatPDF")] +[assembly: AssemblyCopyright("Copyright (c) 2005 UJIHARA Kazuya. All rights reserved.")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] diff --git a/LibPDF/Develop.snk b/LibPDF/Develop.snk new file mode 100644 index 0000000..53d5cd3 Binary files /dev/null and b/LibPDF/Develop.snk differ diff --git a/LibPDF/LibPDF.csproj b/LibPDF/LibPDF.csproj new file mode 100644 index 0000000..0cfcecd --- /dev/null +++ b/LibPDF/LibPDF.csproj @@ -0,0 +1,97 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {3E32649E-4D1E-47F6-AAB3-00D5D773D2E5} + Library + Properties + Ujihara.PDF + LibPDF + v3.5 + 512 + true + Develop.snk + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\x86\Debug\ + DEBUG;TRACE + full + x86 + true + GlobalSuppressions.cs + prompt + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + true + GlobalSuppressions.cs + prompt + + + + False + ..\dll\itextsharp.dll + + + False + ..\dll\PDFLibNet.dll + + + + 3.5 + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LibPDF/LibPDFTools.cs b/LibPDF/LibPDFTools.cs new file mode 100644 index 0000000..710f1df --- /dev/null +++ b/LibPDF/LibPDFTools.cs @@ -0,0 +1,296 @@ +/* + Copyright 2003, 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +using iTextSharp.text; +using iTextSharp.text.pdf; +using System; +using System.IO; +using System.Net; +using iTextSharp.text.pdf.codec; + +namespace Ujihara.PDF +{ + public class LibPDFTools + { + private LibPDFTools() + { + } + + static public string GetDefaultEncoding(string fontFamilyName) + { + string enc; + switch (fontFamilyName) + { + case "HeiseiMin-W3": + case "HeiseiKakuGo-W5": + case "KozMinPro-Regular": + enc = "UniJIS-UCS2-H"; + break; + default: + enc = ""; + break; + } + return enc; + } + + static public BaseFont GetBaseFont(string familyName) + { + if (familyName == null) + familyName = ""; + string enc = LibPDFTools.GetDefaultEncoding(familyName); + BaseFont baseFont = BaseFont.CreateFont(familyName, enc, BaseFont.NOT_EMBEDDED); + return baseFont; + } + + static public Font GetFont(string familyName, float size, int style) + { + if (familyName == null) + familyName = ""; + Font font; + if (familyName.Trim() == "") + { + + font = new Font(Font.FontFamily.UNDEFINED, size, style); + } + else + { + Font.FontFamily familyIndex = Font.GetFamilyIndex(familyName); + if (familyIndex != Font.FontFamily.UNDEFINED) + { + font = new Font(familyIndex, size, style); + } + else + { + font = new Font(GetBaseFont(familyName), size, style); + } + } + return font; + } + + public static Uri ToUri(string filenameOrUrl) + { + Uri inUri = null; + { + try + { + inUri = new Uri(filenameOrUrl); + } + catch (UriFormatException) + { + var s = new FileInfo(filenameOrUrl); + inUri = new Uri(s.FullName); + } + } + return inUri; + } + + public static PdfReader CreatePdfReader(string filename, ListenPasswordHandler passwordListener, bool requiresOwnerPermission) + { + var bytes = ToUri(filename); + return CreatePdfReader(bytes, passwordListener, requiresOwnerPermission); + } + + public static PdfReader CreatePdfReader(byte[] bytes, ListenPasswordHandler passwordListener, bool requiresOwnerPermission) + { + PdfReader reader = null; + try + { + reader = new PdfReader(bytes); + + } + catch (BadPasswordException ex) + { + reader = ListenPassword(bytes, passwordListener, reader, ex); + } + + while (requiresOwnerPermission && !reader.IsOpenedWithFullPermissions) + { + reader = ListenPassword(bytes, passwordListener, reader, new BadPasswordException("Owner password is required.")); + } + + return reader; + } + + private static PdfReader ListenPassword(byte[] bytes, ListenPasswordHandler passwordListener, PdfReader reader, BadPasswordException ex) + { + if (passwordListener == null) + throw ex; + L10: + byte[] password = passwordListener(); + if (password == null) + throw ex; + try + { + reader = new PdfReader(bytes, password); + } + catch (BadPasswordException) + { + goto L10; + } + return reader; + } + + public static byte[] GetBytes(string url) + { + return LibPDFTools.GetBytes(LibPDFTools.ToUri(url)); + } + + public static byte[] GetBytes(Uri uri) + { + WebRequest wr = WebRequest.Create(uri); + wr.Credentials = CredentialCache.DefaultCredentials; + var isp = wr.GetResponse().GetResponseStream(); + byte[] bytes = null; + try + { + bytes = RandomAccessFileOrArray.InputStreamToArray(isp); + } + finally + { + try + { + isp.Close(); + } + catch (Exception) + { + } + } + return bytes; + } + + public static PdfReader CreatePdfReader(Uri uri, ListenPasswordHandler passwordListener, bool requiresOwnerPermission) + { + var bytes = GetBytes(uri); + return CreatePdfReader(bytes, passwordListener, requiresOwnerPermission); + } + + internal static PdfReader CreatePdfReaderFromTiff(byte[] sourceBytes, Rectangle pageSize, Margins margins) + { + using (var document = new Document()) + { + using (var stream = new MemoryStream()) + { + using (var writer = PdfWriter.GetInstance(document, stream)) + { + var ra = new RandomAccessFileOrArray(sourceBytes); + int numberOfPages = TiffImage.GetNumberOfPages(ra); + for (int i = 1; i <= numberOfPages; i++) + { + var image = TiffImage.GetTiffImage(ra, i); + Rectangle currentPageSize = pageSize == null ? new Rectangle(image.ScaledWidth + margins.Left + margins.Right + 1, image.ScaledHeight + margins.Top + margins.Bottom + 1) : pageSize; + document.SetPageSize(currentPageSize); + document.SetMargins(margins.Left, margins.Right, margins.Top, margins.Bottom); + if (i == 1) + { + document.Open(); + } + else + { + document.NewPage(); + } + if (pageSize != null) + { + float width = pageSize.Width - (margins.Left + margins.Right + 1); + float height = pageSize.Height - (margins.Top + margins.Bottom + 1); + if (width <= 0 || height <= 0) + throw new IOException("Margin is too big."); + image.ScaleToFit(width, height); + } + document.Add(image); + } + document.Close(); + ra.Close(); + } + var pdfArray = stream.ToArray(); + return new PdfReader(pdfArray); + } + } + } + + public static PdfReader CreatePdfReaderFromImage(byte[] sourceBytes, Rectangle pageSize, Margins margins) + { + Image image = Image.GetInstance(sourceBytes); + if (pageSize == null) + { + pageSize = new Rectangle(image.ScaledWidth + margins.Left + margins.Right + 1, image.ScaledHeight + margins.Top + margins.Bottom + 1); + } + else + { + //}̑傫 + float width = pageSize.Width - (margins.Left + margins.Right + 1); + float height = pageSize.Height - (margins.Top + margins.Bottom + 1); + if (width <= 0 || height <= 0) + throw new IOException("Margin is too big."); + image.ScaleToFit(width, height); + } + + using (var document = new Document(pageSize, margins.Left, margins.Right, margins.Top, margins.Bottom)) + { + using (var stream = new MemoryStream()) + { + using (var writer = PdfWriter.GetInstance(document, stream)) + { + document.Open(); + document.Add(image); + document.Close(); + } + var pdfArray = stream.ToArray(); + return new PdfReader(pdfArray); + } + } + } + + private static int[] PNGID = { 137, 80, 78, 71, 13, 10, 26, 10 }; + public static ImageFileType GetImageFileType(byte[] cc) + { + if (cc[0] == 'G' && cc[1] == 'I' && cc[2] == 'F') + return ImageFileType.GIF; + if (cc[0] == 0xFF && cc[1] == 0xD8) + return ImageFileType.JPEG; + if (cc[0] == 0x00 && cc[1] == 0x00 && cc[2] == 0x00 && cc[3] == 0x0c) + return ImageFileType.JPEG2000; + if (cc[0] == 0xff && cc[1] == 0x4f && cc[2] == 0xff && cc[3] == 0x51) + return ImageFileType.JPEG2000; + if (cc[0] == PNGID[0] && cc[1] == PNGID[1] && cc[2] == PNGID[2] && cc[3] == PNGID[3]) + return ImageFileType.PNG; + if (cc[0] == 0xD7 && cc[1] == 0xCD) + return ImageFileType.WMF; + if (cc[0] == 'B' && cc[1] == 'M') + return ImageFileType.BMP; + if ((cc[0] == 'M' && cc[1] == 'M' && cc[2] == 0 && cc[3] == 42) + || (cc[0] == 'I' && cc[1] == 'I' && cc[2] == 42 && cc[3] == 0)) + return ImageFileType.TIFF; + if (cc[0] == '%' && cc[1] == 'P' && cc[2] == 'D' && cc[3] == 'F') + return ImageFileType.PDF; + + return ImageFileType.Unknown; + } + } + + public enum ImageFileType + { + Unknown, + GIF, + JPEG, + JPEG2000, + PNG, + TIFF, + WMF, + BMP, + PDF, + } +} diff --git a/LibPDF/ListenPasswordHandler.cs b/LibPDF/ListenPasswordHandler.cs new file mode 100644 index 0000000..bc8a303 --- /dev/null +++ b/LibPDF/ListenPasswordHandler.cs @@ -0,0 +1,31 @@ +/* + Copyright 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; + +namespace Ujihara.PDF +{ + /// + /// + /// ASCII decorded password, null if canceled. + public delegate byte[] ListenPasswordHandler(); + public delegate byte[] ListenPasswordWithFileNameHandler(string filename); +} diff --git a/LibPDF/Margins.cs b/LibPDF/Margins.cs new file mode 100644 index 0000000..7c8c25a --- /dev/null +++ b/LibPDF/Margins.cs @@ -0,0 +1,40 @@ +/* + Copyright 2003, 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +namespace Ujihara.PDF +{ + public class Margins + { + public float Left { get; set; } + public float Right { get; set; } + public float Top { get; set; } + public float Bottom { get; set; } + + public Margins() + : this(36f, 36f, 36f, 36f) + { + } + + public Margins(float left, float right, float top, float bottom) + { + Left = left; + Right = right; + Top = top; + Bottom = bottom; + } + } +} diff --git a/LibPDF/PageRange.cs b/LibPDF/PageRange.cs new file mode 100644 index 0000000..43dac13 --- /dev/null +++ b/LibPDF/PageRange.cs @@ -0,0 +1,14 @@ +namespace Ujihara.PDF +{ + public struct PageRange + { + public int StartPage; + public int EndPage; + + public PageRange(int startPage, int endPage) + { + StartPage = startPage; + EndPage = endPage; + } + } +} diff --git a/LibPDF/PdfConcatenator.cs b/LibPDF/PdfConcatenator.cs new file mode 100644 index 0000000..dd43ac4 --- /dev/null +++ b/LibPDF/PdfConcatenator.cs @@ -0,0 +1,280 @@ +/* + Copyright 2003, 2004, 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +using System; +using System.IO; +using iTextSharp.text; +using iTextSharp.text.pdf; +using System.Text; +using System.Collections.Generic; + +namespace Ujihara.PDF +{ + public class PdfConcatenator : PdfConcatenatorBase + { + public ListenPasswordHandler QueryPassword = null; + private bool opened = false; + private PdfSmartCopy writer = null; + private int currPageNum = 1; + private IList> bookmarks = null; + + public PdfConcatenator(Stream outStream) + : this(outStream, (PdfEncryptInfo)null, 0) + { + } + + public PdfConcatenator(Stream outStream, PdfEncryptInfo encryptInfo) + : this(outStream, encryptInfo, 0) + { + } + + public PdfConcatenator(Stream outStream, int viewerPreference) + : this(outStream, (PdfEncryptInfo)null, viewerPreference) + { + } + + public PdfConcatenator(Stream outStream, PdfEncryptInfo encryptInfo, int viewerPreference) + { + if (encryptInfo == null) + Setup(outStream, 0, null, null, 0, viewerPreference); + else + Setup(outStream, encryptInfo.encryptionLength, encryptInfo.userPassword, encryptInfo.ownerPassword, encryptInfo.permissions, viewerPreference); + } + + public void Append(string url, PageRange[] pageRanges, PdfConcatenatorOption option) + { + PdfReader reader = CreatePdfReader(url, option); + try + { + Append(reader, Path.GetFileNameWithoutExtension(url), pageRanges, option); + } + finally + { + reader.Close(); + } + } + + public void Append(PdfReader reader, string title, PageRange[] pageRanges, PdfConcatenatorOption option) + { + reader.ConsolidateNamedDestinations(); + pageRanges = NormalizePageRanges(reader, pageRanges); + + var thePageRangess = new List(); + for (int i = 0; i < pageRanges.Length; i++) + { + var thePageRanges = new List(); + var prev = new PageRange(0, 0); + int j; + for (j = i; j < pageRanges.Length; j++) + { + if (prev.EndPage < pageRanges[j].StartPage) + { + thePageRanges.Add(prev = pageRanges[j]); + } + else + { + j--; + break; + } + } + i = j; + thePageRangess.Add(thePageRanges.ToArray()); + } + foreach (var prs in thePageRangess) + { + AppendMain(reader, title, prs, option); + } + + PRAcroForm form = reader.AcroForm; + if (form != null) + writer.CopyAcroForm(reader); + } + + private static PageRange[] NormalizePageRanges(PdfReader reader, PageRange[] pageRanges) + { + if (pageRanges == null) + { + pageRanges = new[] { new PageRange(1, reader.NumberOfPages), }; + } + else + { + var newPageRanges = new List(); + for (int i = 0; i < pageRanges.Length; i++) + { + var start = NormalizePageNumber(reader, pageRanges[i].StartPage); + var end = NormalizePageNumber(reader, pageRanges[i].EndPage); + if (start > end) + { + var temp = start; + end = start; + start = temp; + } + newPageRanges.Add(new PageRange(start, end)); + } + pageRanges = newPageRanges.ToArray(); + } + return pageRanges; + } + + private static int NormalizePageNumber(PdfReader reader, int start) + { + if (start == 0) + start = 1; + else if (start < 0) + start = reader.NumberOfPages + 1 + start; + else if (start > reader.NumberOfPages) + start = reader.NumberOfPages; + return start; + } + + private void AppendMain(PdfReader reader, string title, PageRange[] pageRanges, PdfConcatenatorOption option) + { + bool addOutlines = option.AddOutlines; + bool copyOutlines = option.CopyOutlines; + + int i; + + bool[] appendOrNots = new bool[reader.NumberOfPages + 1]; + foreach (var pr in pageRanges) + { + for (int j = pr.StartPage; j <= pr.EndPage; j++) + appendOrNots[j] = true; + } + + int theFirstPage = 0; + for (i = 1; i <= reader.NumberOfPages; i++) + { + if (appendOrNots[i]) + { + theFirstPage = i; + break; + } + } + if (theFirstPage == 0) + { + // There is no append paes. + return; + } + + if (!opened) + { + opened = true; + document = new Document(reader.GetPageSizeWithRotation(theFirstPage)); + writer = new PdfSmartCopy(document, outStream); + + if (ownerPassword != null) + { + byte[] bytesUserPassword = userPassword == null ? null : Encoding.ASCII.GetBytes(userPassword); + writer.SetEncryption(bytesUserPassword, Encoding.ASCII.GetBytes(ownerPassword), permissions, encryptionStrength); + } + writer.ViewerPreferences = this.viewerPreference; + + document.Open(); + } + + if (bookmarks == null) + if (addOutlines || copyOutlines) + bookmarks = new List>(); + if (bookmarks != null) + { + Dictionary m = null; + if (addOutlines) + { + m = new Dictionary(); + m["Title"] = title; + m["Action"] = "GoTo"; + m["Page"] = currPageNum.ToString() + " " + option.FittingStyle; + } + if (copyOutlines) + { + var cpbookmarks = SimpleBookmark.GetBookmark(reader); + + if (cpbookmarks != null) + { + int[] elimPages = new int[2]; + int[] shiftPages = new int[2]; + shiftPages[1] = reader.NumberOfPages; + for (int pageIndex = reader.NumberOfPages; pageIndex > 0; --pageIndex) + { + if (!appendOrNots[pageIndex]) + { + elimPages[0] = elimPages[1] = pageIndex; + shiftPages[0] = pageIndex + 1; + SimpleBookmark.EliminatePages(cpbookmarks, elimPages); + SimpleBookmark.ShiftPageNumbers(cpbookmarks, -1, shiftPages); + } + } + SimpleBookmark.ShiftPageNumbers(cpbookmarks, currPageNum - 1, null); + + if (m == null) + { + foreach (var c in cpbookmarks) + bookmarks.Add(c); + } + else + m["Kids"] = cpbookmarks; + } + } + if (m != null) + bookmarks.Add(m); + } + + for (i = theFirstPage; i <= reader.NumberOfPages; i++) + { + if (appendOrNots[i]) + { + PdfImportedPage page = writer.GetImportedPage(reader, i); + writer.AddPage(page); + currPageNum++; + } + } + } + + public PdfReader CreatePdfReader(string url, PdfConcatenatorOption option) + { + var bytes = LibPDFTools.GetBytes(LibPDFTools.ToUri(url)); + return CreatePdfReader(bytes, option); + } + + public PdfReader CreatePdfReader(byte[] bytes, PdfConcatenatorOption option) + { + PdfReader reader; + switch (LibPDFTools.GetImageFileType(bytes)) + { + case ImageFileType.PDF: + reader = LibPDFTools.CreatePdfReader(bytes, QueryPassword, true); + break; + case ImageFileType.TIFF: + reader = LibPDFTools.CreatePdfReaderFromTiff(bytes, option.GetBounds(), option.Margins); + break; + default: + reader = LibPDFTools.CreatePdfReaderFromImage(bytes, option.GetBounds(), option.Margins); + break; + } + return reader; + } + + public override void Dispose() + { + if (bookmarks != null) + writer.Outlines = bookmarks; + if (writer != null) + writer.Close(); + base.Dispose(); + } + } +} \ No newline at end of file diff --git a/LibPDF/PdfConcatenatorBase.cs b/LibPDF/PdfConcatenatorBase.cs new file mode 100644 index 0000000..9e41f5b --- /dev/null +++ b/LibPDF/PdfConcatenatorBase.cs @@ -0,0 +1,72 @@ +/* + Copyright 2003, 2004, 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +using System; +using System.IO; +using iTextSharp.text; +using iTextSharp.text.pdf; + +namespace Ujihara.PDF +{ + public abstract class PdfConcatenatorBase : IDisposable + { + protected Document document = null; + protected Stream outStream = null; + + protected bool encryptionStrength; + protected String userPassword = null; + protected String ownerPassword = null; + protected int permissions = 0; + protected int viewerPreference = 0; + + protected void Setup(Stream outStream, int encryptionLength, string userPassword, string ownerPassword, int permissions, int viewerPreference) + { + this.outStream = outStream; + + if (encryptionLength != 0) + { + switch (encryptionLength) + { + case 40: + this.encryptionStrength = PdfWriter.STRENGTH40BITS; + break; + case 128: + this.encryptionStrength = PdfWriter.STRENGTH128BITS; + break; + default: + throw new ArgumentException("Illegal encryption strength (" + encryptionLength + ")."); + } + this.userPassword = userPassword; + this.ownerPassword = ownerPassword; + this.permissions = permissions; + } + + this.viewerPreference = viewerPreference; + } + + public virtual void Dispose() + { + if (document != null) + document.Close(); + } + + public void Close() + { + Dispose(); + } + } +} diff --git a/LibPDF/PdfConcatenatorOption.cs b/LibPDF/PdfConcatenatorOption.cs new file mode 100644 index 0000000..6dd4d9d --- /dev/null +++ b/LibPDF/PdfConcatenatorOption.cs @@ -0,0 +1,92 @@ +/* + Copyright 2003, 2004, 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +using iTextSharp.text; + +namespace Ujihara.PDF +{ + public class PdfConcatenatorOption + { + public bool AddOutlines { get; set; } + public bool CopyOutlines { get; set; } + public string FittingStyle { get; set; } + public Margins Margins { get; set; } + public Font Font { get; set; } + public string Charset { get; set; } + //private Color backgroundColor = null; + //private WatermarkIdent watermark = null; + private string paperName = null; + private Rectangle pageSize = null; // not defined + public bool Landscape { get; set; } + + public PdfConcatenatorOption() + : this(false, false, "/XYZ null null null") + { + } + + public PdfConcatenatorOption(bool addOutlines, bool copyOutlines, string fittingStyle) + { + this.Margins = new Margins(); + + this.AddOutlines = addOutlines; + this.CopyOutlines = copyOutlines; + this.FittingStyle = fittingStyle; + } + + public Rectangle PageSize + { + get + { + return pageSize; + } + } + + public void SetPageSize(Rectangle pageSize) + { + if (pageSize == null) + { + SetPageSize(null, null); + } + else + { + SetPageSize(pageSize.Width + " " + pageSize.Height, pageSize); + } + } + + public void SetPageSize(string paperName, Rectangle pageSize) + { + this.paperName = paperName; + this.pageSize = pageSize; + } + + public string PaperName + { + get + { + return this.paperName; + } + } + + public Rectangle GetBounds() + { + Rectangle pageSize = this.pageSize; + if (this.Landscape) + pageSize = pageSize.Rotate(); + return pageSize; + } + } +} diff --git a/LibPDF/PdfEncryptInfo.cs b/LibPDF/PdfEncryptInfo.cs new file mode 100644 index 0000000..a0657a6 --- /dev/null +++ b/LibPDF/PdfEncryptInfo.cs @@ -0,0 +1,39 @@ +/* + Copyright 2003, 2004, 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +namespace Ujihara.PDF +{ + public class PdfEncryptInfo + { + public string ownerPassword { get; set; } + public string userPassword { get; set; } + public int encryptionLength { get; set; } + public int permissions { get; set; } + + public PdfEncryptInfo() + { + } + + public PdfEncryptInfo(int encryptionLength, string userPassword, string ownerPassword, int permissions) + { + this.encryptionLength = encryptionLength; + this.userPassword = userPassword; + this.ownerPassword = ownerPassword; + this.permissions = permissions; + } + } +} diff --git a/LibPDF/PdfSplitter.cs b/LibPDF/PdfSplitter.cs new file mode 100644 index 0000000..1ea3c95 --- /dev/null +++ b/LibPDF/PdfSplitter.cs @@ -0,0 +1,134 @@ +/* + Copyright 2003, 2004, 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +using iTextSharp.text; +using iTextSharp.text.pdf; +using System.IO; +using System.Collections.Generic; +using System; + +namespace Ujihara.PDF +{ + public class PdfSplitter + { + public PdfSplitter() + { + } + + public ListenPasswordHandler QueryPassword = null; + + public string[] Split(string url, string splittedFilesDirectoryName, string prefixOfFileName) + { + var bytes = LibPDFTools.GetBytes(url); + switch (LibPDFTools.GetImageFileType(bytes)) + { + case ImageFileType.PDF: + return SplitPdf(url, splittedFilesDirectoryName, prefixOfFileName); + case ImageFileType.TIFF: + return SplitTiff(bytes, splittedFilesDirectoryName, prefixOfFileName); + default: + throw new ArgumentException(); + } + } + + private static string[] SplitTiff(byte[] bytes, string splittedFilesDirectoryName, string prefixOfFileName) + { + using (var byteStream = new MemoryStream(bytes)) + { + var image = System.Drawing.Image.FromStream(byteStream); + var fd = new System.Drawing.Imaging.FrameDimension(image.FrameDimensionsList[0]); + int numberOfPages = image.GetFrameCount(fd); + var splittedFiles = new string[numberOfPages]; + Directory.CreateDirectory(splittedFilesDirectoryName); + + for (int pageNum = 0; pageNum < numberOfPages; pageNum++) + { + image.SelectActiveFrame(fd, pageNum); + string filename = Path.Combine(splittedFilesDirectoryName, prefixOfFileName + pageNum.ToString("D10") + ".tif"); + image.Save(filename, System.Drawing.Imaging.ImageFormat.Tiff); + splittedFiles[pageNum] = filename; + } + + return splittedFiles; + } + } + + private string[] SplitPdf(string url, string splittedFilesDirectoryName, string prefixOfFileName) + { + PdfReader reader = LibPDFTools.CreatePdfReader(url, QueryPassword, false); + try + { + reader.ConsolidateNamedDestinations(); + IList> bookmarks = SimpleBookmark.GetBookmark(reader); + int numberOfPages = reader.NumberOfPages; + string[] splittedFiles = new string[numberOfPages]; + Directory.CreateDirectory(splittedFilesDirectoryName); + + for (int i = 1; i <= numberOfPages; i++) + { + string splittedFile = Path.Combine(splittedFilesDirectoryName, prefixOfFileName + i.ToString("D10") + ".pdf"); + splittedFiles[i - 1] = splittedFile; + + //extract bookmarks on the page + IList> bookmark = null; + if (bookmarks != null) + { + bookmark = new List>(bookmarks); + int[] rs; + rs = new int[4]; + rs[0] = 1; + rs[1] = i - 1; + rs[2] = i + 1; + rs[3] = numberOfPages; + SimpleBookmark.EliminatePages(bookmark, rs); + rs = new int[2]; + rs[0] = rs[1] = i; + SimpleBookmark.ShiftPageNumbers(bookmark, 1 - i, rs); + } + + using (var document = new Document(reader.GetPageSizeWithRotation(i))) + { + using (var outStream = new FileStream(splittedFile, FileMode.Create, FileAccess.Write)) + { + using (var writer = new PdfCopy(document, outStream)) + { + document.Open(); + PdfImportedPage page = writer.GetImportedPage(reader, i); + writer.AddPage(page); + if (bookmark != null) + writer.Outlines = bookmark; + writer.Close(); + } + outStream.Close(); + } + document.Close(); + } + } + return splittedFiles; + } + finally + { + reader.Close(); + } + } + + public string[] Split(string pdfFile, string splittedPdfFilesDir) + { + return Split(pdfFile, splittedPdfFilesDir, ""); + } + } +} diff --git a/LibPDF/Properties/AssemblyInfo.cs b/LibPDF/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..184c19e --- /dev/null +++ b/LibPDF/Properties/AssemblyInfo.cs @@ -0,0 +1,18 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("LibPDF")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Kazuya Ujihara ")] +[assembly: AssemblyProduct("LibPDF")] +[assembly: AssemblyCopyright("Copyright © Kazuya Uihara 2004, 2012")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +[assembly: ComVisible(false)] +[assembly: Guid("6cffbe81-0488-417e-8ed8-8c347e9064ec")] + +[assembly: AssemblyVersion("1.2.*")] +[assembly: AssemblyFileVersion("1.2.0.0")] diff --git a/LibPDF/TiffConcatenator.cs b/LibPDF/TiffConcatenator.cs new file mode 100644 index 0000000..30e97ec --- /dev/null +++ b/LibPDF/TiffConcatenator.cs @@ -0,0 +1,165 @@ +/* + Copyright 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +using System; +using System.IO; +using iTextSharp.text; +using iTextSharp.text.pdf; +using System.Drawing.Imaging; +using System.Windows.Forms; +using System.Drawing; + +namespace Ujihara.PDF +{ + public class TiffConcatenator : IDisposable + { + private static ImageCodecInfo codec; + private static EncoderParameters encoderParameters_MultiFrame; + private static EncoderParameters encoderParameters_FrameDimensionPage; + private static EncoderParameters encoderParameters_Flush; + + static TiffConcatenator() + { + foreach (var codecInfo in ImageCodecInfo.GetImageEncoders()) + if (codecInfo.MimeType == "image/tiff") + codec = codecInfo; + + encoderParameters_MultiFrame = new EncoderParameters(1); + encoderParameters_MultiFrame.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.SaveFlag, (long)EncoderValue.MultiFrame); + encoderParameters_FrameDimensionPage = new EncoderParameters(1); + encoderParameters_FrameDimensionPage.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.SaveFlag, (long)EncoderValue.FrameDimensionPage); + encoderParameters_Flush = new EncoderParameters(1); + encoderParameters_Flush.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.SaveFlag, (long)EncoderValue.Flush); + } + + protected Stream outStream; + private int currPageNum; + private double resolution; + System.Drawing.Image backbuffer; + + public TiffConcatenator(Stream outStream, double resolution) + { + if (codec == null) + throw new ApplicationException("TIFF Codec is not installd."); + + this.outStream = outStream; + currPageNum = 0; + this.resolution = resolution; + } + + public void Append(byte[] bytes) + { + using (var ms = new MemoryStream(bytes)) + { + switch (LibPDFTools.GetImageFileType(bytes)) + { + case ImageFileType.PDF: + using (var pdfDoc = new PDFLibNet.PDFWrapper("")) + { + pdfDoc.LoadPDF(ms); + for (var i = 1; i <= pdfDoc.PageCount; i++) + { + pdfDoc.CurrentPage = i; + pdfDoc.CurrentX = 0; + pdfDoc.CurrentY = 0; + pdfDoc.RenderDPI = this.resolution; + + Bitmap pageBuffer = null; + using (var oPictureBox = new PictureBox()) + { + pdfDoc.RenderPage(oPictureBox.Handle); + pageBuffer = new Bitmap(pdfDoc.PageWidth, pdfDoc.PageHeight); + pdfDoc.ClientBounds = new System.Drawing.Rectangle(0, 0, pdfDoc.PageWidth, pdfDoc.PageHeight); + using (var g = Graphics.FromImage(pageBuffer)) + { + var hdc = g.GetHdc(); + pdfDoc.DrawPageHDC(hdc); + g.ReleaseHdc(); + } + } + SaveAddTiffPage(pageBuffer); + pageBuffer.Dispose(); + + currPageNum++; + } + } + break; + case ImageFileType.TIFF: + { + using (var image = System.Drawing.Image.FromStream(ms)) + { + var fd = new System.Drawing.Imaging.FrameDimension(image.FrameDimensionsList[0]); + int numberOfPages = image.GetFrameCount(fd); + + for (int pageNum = 0; pageNum < numberOfPages; pageNum++) + { + image.SelectActiveFrame(fd, pageNum); + if (currPageNum == 0) + { + backbuffer = (System.Drawing.Image)image.Clone(); + backbuffer.Save(outStream, codec, encoderParameters_MultiFrame); + } + else + { + backbuffer.SaveAdd(image, encoderParameters_FrameDimensionPage); + } + currPageNum++; + } + } + } + break; + default: + { + var pageBuffer = System.Drawing.Image.FromStream(ms); + SaveAddTiffPage(pageBuffer); + } + currPageNum++; + break; + } + } + } + + private void SaveAddTiffPage(System.Drawing.Image backbuffer2) + { + if (currPageNum == 0) + { + backbuffer = backbuffer2; + backbuffer.Save(outStream, codec, encoderParameters_MultiFrame); + } + else + { + backbuffer.SaveAdd(backbuffer2, encoderParameters_FrameDimensionPage); + backbuffer2.Dispose(); + } + } + + public void Append(string url) + { + Append(LibPDFTools.GetBytes(url)); + } + + public virtual void Close() + { + backbuffer.SaveAdd(encoderParameters_Flush); + } + + public void Dispose() + { + this.Close(); + } + } +} diff --git a/SplitPDF/Develop.snk b/SplitPDF/Develop.snk new file mode 100644 index 0000000..53d5cd3 Binary files /dev/null and b/SplitPDF/Develop.snk differ diff --git a/SplitPDF/Properties/AssemblyInfo.cs b/SplitPDF/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..2738731 --- /dev/null +++ b/SplitPDF/Properties/AssemblyInfo.cs @@ -0,0 +1,12 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("SplitPDF")] +[assembly: AssemblyDescription("PDF split tool.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Kazuya Ujihara ")] +[assembly: AssemblyProduct("ConcatPDF")] +[assembly: AssemblyCopyright("Copyright (c) 2006 UJIHARA Kazuya. All rights reserved.")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] diff --git a/SplitPDF/SplitPDF.csproj b/SplitPDF/SplitPDF.csproj new file mode 100644 index 0000000..ef6591d --- /dev/null +++ b/SplitPDF/SplitPDF.csproj @@ -0,0 +1,89 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {07604FBD-ED61-4FF8-902D-C3ABEEE4C8E7} + Exe + Properties + SplitPDF + SplitPDF + v3.5 + 512 + true + Develop.snk + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\x86\Debug\ + DEBUG;TRACE + full + x86 + true + GlobalSuppressions.cs + prompt + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + true + GlobalSuppressions.cs + prompt + + + + False + ..\dll\itextsharp.dll + + + + 3.5 + + + + + Properties\VersionInfo.cs + + + + + + + + + + {3E32649E-4D1E-47F6-AAB3-00D5D773D2E5} + LibPDF + + + + + \ No newline at end of file diff --git a/SplitPDF/SplitPDFMain.cs b/SplitPDF/SplitPDFMain.cs new file mode 100644 index 0000000..6918542 --- /dev/null +++ b/SplitPDF/SplitPDFMain.cs @@ -0,0 +1,135 @@ +/* + Copyright 2006, 2012 by Kazuya Ujihara. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + + + +using System; +using System.Collections; +using System.IO; +using System.Text; + +using iTextSharp.text; +using iTextSharp.text.pdf; +using Ujihara.PDF; + +namespace Ujihara.ConcatPDF +{ + class SplitPDFMain + { + private static string CommandLineExample = "SplitPDF [switches] {input-file}"; + + static void ShowUsage() + { + Console.Write( + CommandLineExample + "\n" + + "Switches:\n" + + " /outdir {output-directry} Directry name to store splitted files.\n" + + " /help Show this message.\n" + + ""); + } + + [STAThread] + static int Main(string[] args) + { + int i; + string outputDir = null; + PdfSplitter spliter = new PdfSplitter(); + try + { + for (i = 0; i < args.Length; ) + { + string parm = args[i++]; + + if (false) + { + } + else if (parm == "/outdir") + { + outputDir = UriGetFullPath(args[i++]); + } + else if (parm == "/help") + { + ShowUsage(); + return 0; + } + else + { + if (parm[0] == '/') + throw new ApplicationException("Invalid argument '" + parm + "'."); + + string outDir; + if (outputDir == null) + outDir = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.Desktop), + Path.GetFileNameWithoutExtension(parm)); + else + outDir = outputDir; + + if (Directory.Exists(outDir)) + { + Console.Out.WriteLine("Directory '" + outDir + "' is exist."); + Console.Out.Write("Are you sure to overwrite it? Yes(y) / No(n) / Abort(a)"); + for (;;) + { + int c = Console.In.Read(); + if (c == 'a') + return 1; + if (c == 'n') + goto GoReadNextOption; + if (c == 'y') + break; + } + } + + if (!Directory.Exists(outDir)) + { + Directory.CreateDirectory(outDir); + } + spliter.Split(parm, outDir); + } + GoReadNextOption: + ; + } + } + catch (IndexOutOfRangeException) + { + Console.Write("Error: Input or output file names aren't specified."); + return 1; + } + catch (Exception ee) + { + Console.Write(ee.Message); + System.Diagnostics.Debug.WriteLine(ee.StackTrace); + return 1; + } + + return 0; + } + + private static string UriGetFullPath(string fileName) + { + try + { + return Path.GetFullPath(fileName); + } + catch + { + } + return fileName; + } + } +} diff --git a/include/VersionInfo.cs b/include/VersionInfo.cs new file mode 100644 index 0000000..1d56497 --- /dev/null +++ b/include/VersionInfo.cs @@ -0,0 +1,6 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyVersion("1.2.5.0")] +[assembly: AssemblyFileVersion("1.2.5.0")]