Copy disabled (too large)
Download .txt
Showing preview only (14,252K chars total). Download the full file to get everything.
Repository: cube-soft/Cube.Pdf
Branch: master
Commit: cdb7fd173024
Files: 467
Total size: 13.4 MB
Directory structure:
gitextract_5k9d_4sp/
├── .gitattributes
├── .gitignore
├── .whitesource
├── AppVeyor.yml
├── Applications/
│ ├── Converter/
│ │ ├── Core/
│ │ │ ├── Cube.Pdf.Converter.csproj
│ │ │ ├── Readme.md
│ │ │ └── Sources/
│ │ │ ├── DocumentName.cs
│ │ │ ├── ExtensionList.cs
│ │ │ ├── Facade.cs
│ │ │ ├── Internal/
│ │ │ │ ├── DigestChecker.cs
│ │ │ │ ├── FileDecorator.cs
│ │ │ │ ├── FileTransfer.cs
│ │ │ │ ├── FormatGroup.cs
│ │ │ │ ├── GhostscriptFactory.cs
│ │ │ │ ├── PathExplorer.cs
│ │ │ │ └── ProcessLauncher.cs
│ │ │ ├── PostProcessException.cs
│ │ │ ├── SettingFolder.cs
│ │ │ ├── SettingMigration.cs
│ │ │ ├── SettingOptions.cs
│ │ │ ├── SettingV2.cs
│ │ │ ├── SettingValue.cs
│ │ │ └── SettingValueEx.cs
│ │ ├── Documents/
│ │ │ ├── English/
│ │ │ │ ├── License.md
│ │ │ │ ├── Question.md
│ │ │ │ └── Readme.md
│ │ │ └── Japanese/
│ │ │ ├── License.md
│ │ │ ├── Question.md
│ │ │ └── Readme.md
│ │ ├── License.txt
│ │ ├── Main/
│ │ │ ├── App.config
│ │ │ ├── App.manifest
│ │ │ ├── Cube.Pdf.Converter.Main.csproj
│ │ │ ├── NLog.config
│ │ │ ├── Properties/
│ │ │ │ ├── Resources.Designer.cs
│ │ │ │ └── Resources.resx
│ │ │ └── Sources/
│ │ │ ├── Extensions/
│ │ │ │ ├── FacadeExtension.cs
│ │ │ │ └── SettingExtension.cs
│ │ │ ├── Message.cs
│ │ │ ├── Presenters/
│ │ │ │ ├── MainViewModel.cs
│ │ │ │ ├── MetadataViewModel.cs
│ │ │ │ ├── SecurityViewModel.cs
│ │ │ │ ├── SettingFacade.cs
│ │ │ │ └── SettingViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── Surface.cs
│ │ │ ├── Texts/
│ │ │ │ ├── English.cs
│ │ │ │ ├── German.cs
│ │ │ │ ├── Japanese.cs
│ │ │ │ ├── Russian.cs
│ │ │ │ ├── SimplifiedChinese.cs
│ │ │ │ └── Text.cs
│ │ │ └── Views/
│ │ │ ├── MainWindow.Designer.cs
│ │ │ ├── MainWindow.cs
│ │ │ └── MainWindow.resx
│ │ ├── Proxy/
│ │ │ ├── App.config
│ │ │ ├── App.manifest
│ │ │ ├── Cube.Pdf.Converter.Proxy.csproj
│ │ │ ├── License.txt
│ │ │ ├── NLog.config
│ │ │ └── Sources/
│ │ │ ├── Native/
│ │ │ │ ├── AdvApi32.cs
│ │ │ │ ├── Kernel32.cs
│ │ │ │ ├── Structures/
│ │ │ │ │ ├── ProcessInformation.cs
│ │ │ │ │ └── WtsSessionInfo.cs
│ │ │ │ ├── UserEnv.cs
│ │ │ │ └── WtsApi32.cs
│ │ │ ├── Process.cs
│ │ │ └── Program.cs
│ │ ├── Readme.ja.md
│ │ └── Readme.md
│ ├── Editor/
│ │ ├── Documents/
│ │ │ ├── English/
│ │ │ │ ├── Question.md
│ │ │ │ └── Readme.md
│ │ │ └── Japanese/
│ │ │ ├── Question.md
│ │ │ └── Readme.md
│ │ ├── License.txt
│ │ ├── Main/
│ │ │ ├── App.config
│ │ │ ├── App.manifest
│ │ │ ├── App.xaml
│ │ │ ├── App.xaml.cs
│ │ │ ├── Cube.Pdf.Editor.csproj
│ │ │ ├── NLog.config
│ │ │ ├── Sources/
│ │ │ │ ├── Extensions/
│ │ │ │ │ ├── Facade/
│ │ │ │ │ │ ├── DragDrop.cs
│ │ │ │ │ │ ├── Open.cs
│ │ │ │ │ │ ├── Others.cs
│ │ │ │ │ │ └── Save.cs
│ │ │ │ │ ├── File.cs
│ │ │ │ │ ├── Image.cs
│ │ │ │ │ ├── Keys.cs
│ │ │ │ │ └── Mouse.cs
│ │ │ │ ├── Interactions/
│ │ │ │ │ ├── DragDropObject.cs
│ │ │ │ │ ├── FileDropBehavior.cs
│ │ │ │ │ ├── InsertDropTarget.cs
│ │ │ │ │ ├── InsertPositionBehavior.cs
│ │ │ │ │ ├── MouseClearBehavior.cs
│ │ │ │ │ ├── MouseMoveBehavior.cs
│ │ │ │ │ ├── MousePreviewBehavior.cs
│ │ │ │ │ ├── OtherBehaviors.cs
│ │ │ │ │ ├── SelectionBehavior.cs
│ │ │ │ │ ├── SetupBehavior.cs
│ │ │ │ │ ├── SimplexConverters.cs
│ │ │ │ │ └── VisibleRange.cs
│ │ │ │ ├── Models/
│ │ │ │ │ ├── Backup.cs
│ │ │ │ │ ├── BackupException.cs
│ │ │ │ │ ├── CacheCollection.cs
│ │ │ │ │ ├── DirectoryMonitor.cs
│ │ │ │ │ ├── FileCollection.cs
│ │ │ │ │ ├── FileItem.cs
│ │ │ │ │ ├── History.cs
│ │ │ │ │ ├── HistoryItem.cs
│ │ │ │ │ ├── ImageCollection.cs
│ │ │ │ │ ├── ImageItem.cs
│ │ │ │ │ ├── ImagePreference.cs
│ │ │ │ │ ├── ImageRenderer.cs
│ │ │ │ │ ├── ImageSelection.cs
│ │ │ │ │ ├── Message.cs
│ │ │ │ │ ├── Range.cs
│ │ │ │ │ ├── RendererCache.cs
│ │ │ │ │ ├── RibbonElement.cs
│ │ │ │ │ ├── SaveAction.cs
│ │ │ │ │ ├── SaveOption.cs
│ │ │ │ │ ├── Selection.cs
│ │ │ │ │ ├── SettingFolder.cs
│ │ │ │ │ └── SettingValue.cs
│ │ │ │ ├── Native/
│ │ │ │ │ └── Shell32.cs
│ │ │ │ ├── Presenters/
│ │ │ │ │ ├── DialogViewModel.cs
│ │ │ │ │ ├── Encryption/
│ │ │ │ │ │ ├── EncryptionFacade.cs
│ │ │ │ │ │ └── EncryptionViewModel.cs
│ │ │ │ │ ├── Extract/
│ │ │ │ │ │ ├── ExtractFacade.cs
│ │ │ │ │ │ └── ExtractViewModel.cs
│ │ │ │ │ ├── Insert/
│ │ │ │ │ │ ├── InsertBindableValue.cs
│ │ │ │ │ │ ├── InsertFacade.cs
│ │ │ │ │ │ ├── InsertViewModel.cs
│ │ │ │ │ │ └── PositionViewModel.cs
│ │ │ │ │ ├── Main/
│ │ │ │ │ │ ├── MainBindableValue.cs
│ │ │ │ │ │ ├── MainFacade.cs
│ │ │ │ │ │ ├── MainViewModel.cs
│ │ │ │ │ │ ├── MainViewModelBase.cs
│ │ │ │ │ │ ├── RecentViewModel.cs
│ │ │ │ │ │ └── RibbonViewModel.cs
│ │ │ │ │ ├── Metadata/
│ │ │ │ │ │ ├── MetadataFacade.cs
│ │ │ │ │ │ └── MetadataViewModel.cs
│ │ │ │ │ ├── PasswordViewModel.cs
│ │ │ │ │ ├── Preview/
│ │ │ │ │ │ ├── PreviewBindableValue.cs
│ │ │ │ │ │ ├── PreviewFacade.cs
│ │ │ │ │ │ └── PreviewViewModel.cs
│ │ │ │ │ ├── Remove/
│ │ │ │ │ │ ├── RemoveFacade.cs
│ │ │ │ │ │ └── RemoveViewModel.cs
│ │ │ │ │ └── SettingViewModel.cs
│ │ │ │ ├── Surface.cs
│ │ │ │ └── Texts/
│ │ │ │ ├── English.cs
│ │ │ │ ├── German.cs
│ │ │ │ ├── Japanese.cs
│ │ │ │ ├── Russian.cs
│ │ │ │ ├── SimplifiedChinese.cs
│ │ │ │ └── Text.cs
│ │ │ ├── Themes/
│ │ │ │ ├── FooterStyle.xaml
│ │ │ │ ├── Generic.xaml
│ │ │ │ ├── GenericDialog.xaml
│ │ │ │ ├── HeroStyle.xaml
│ │ │ │ ├── InsertStyle.xaml
│ │ │ │ ├── PageStyle.xaml
│ │ │ │ ├── RibbonStyle.xaml
│ │ │ │ ├── RibbonTemplate.xaml
│ │ │ │ ├── ScrollStyle.xaml
│ │ │ │ └── TabStyle.xaml
│ │ │ └── Views/
│ │ │ ├── Components/
│ │ │ │ ├── FileListControl.xaml
│ │ │ │ ├── FileListControl.xaml.cs
│ │ │ │ ├── FooterControl.xaml
│ │ │ │ ├── FooterControl.xaml.cs
│ │ │ │ ├── HeroControl.xaml
│ │ │ │ ├── HeroControl.xaml.cs
│ │ │ │ ├── InsertContextMenu.xaml
│ │ │ │ ├── MainContextMenu.xaml
│ │ │ │ ├── PositionControl.xaml
│ │ │ │ ├── PositionControl.xaml.cs
│ │ │ │ ├── RibbonControl.xaml
│ │ │ │ └── RibbonControl.xaml.cs
│ │ │ ├── EncryptionWindow.xaml
│ │ │ ├── EncryptionWindow.xaml.cs
│ │ │ ├── ExtractWindow.xaml
│ │ │ ├── ExtractWindow.xaml.cs
│ │ │ ├── InsertWindow.xaml
│ │ │ ├── InsertWindow.xaml.cs
│ │ │ ├── MainWindow.xaml
│ │ │ ├── MainWindow.xaml.cs
│ │ │ ├── MetadataWindow.xaml
│ │ │ ├── MetadataWindow.xaml.cs
│ │ │ ├── PasswordWindow.xaml
│ │ │ ├── PasswordWindow.xaml.cs
│ │ │ ├── PreviewWindow.xaml
│ │ │ ├── PreviewWindow.xaml.cs
│ │ │ ├── RemoveWindow.xaml
│ │ │ ├── RemoveWindow.xaml.cs
│ │ │ ├── SettingWindow.xaml
│ │ │ └── SettingWindow.xaml.cs
│ │ ├── Readme.ja.md
│ │ └── Readme.md
│ └── Pages/
│ ├── Documents/
│ │ ├── English/
│ │ │ ├── Question.md
│ │ │ └── Readme.md
│ │ └── Japanese/
│ │ ├── Question.md
│ │ └── Readme.md
│ ├── License.txt
│ ├── Main/
│ │ ├── App.config
│ │ ├── App.manifest
│ │ ├── Cube.Pdf.Pages.csproj
│ │ ├── NLog.config
│ │ ├── Properties/
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ └── Sources/
│ │ ├── Interactions/
│ │ │ ├── FileDropBehavior.cs
│ │ │ └── SelectionBehavior.cs
│ │ ├── Message.cs
│ │ ├── Models/
│ │ │ ├── FileSelector.cs
│ │ │ ├── Messages.cs
│ │ │ ├── SettingExtension.cs
│ │ │ ├── SettingFolder.cs
│ │ │ └── SettingValue.cs
│ │ ├── Presenters/
│ │ │ ├── EncryptionViewModel.cs
│ │ │ ├── MainFacade.cs
│ │ │ ├── MainViewModel.cs
│ │ │ ├── MetadataViewModel.cs
│ │ │ ├── PasswordViewModel.cs
│ │ │ └── SettingViewModel.cs
│ │ ├── Program.cs
│ │ ├── Surface.cs
│ │ ├── Texts/
│ │ │ ├── English.cs
│ │ │ ├── German.cs
│ │ │ ├── Japanese.cs
│ │ │ ├── Russian.cs
│ │ │ ├── SimplifiedChinese.cs
│ │ │ └── Text.cs
│ │ └── Views/
│ │ ├── FileContextMenu.cs
│ │ ├── FileContextMenuItem.cs
│ │ ├── FileGridView.cs
│ │ ├── MainWindow.Designer.cs
│ │ ├── MainWindow.cs
│ │ ├── MainWindow.resx
│ │ ├── MetadataWindow.Designer.cs
│ │ ├── MetadataWindow.cs
│ │ ├── MetadataWindow.resx
│ │ ├── PasswordWindow.Designer.cs
│ │ ├── PasswordWindow.cs
│ │ ├── PasswordWindow.resx
│ │ ├── SettingWindow.Designer.cs
│ │ ├── SettingWindow.cs
│ │ └── SettingWindow.resx
│ ├── Readme.ja.md
│ └── Readme.md
├── Cube.Pdf.sln
├── Cube.snk
├── Libraries/
│ ├── Core/
│ │ ├── Cube.Pdf.Core.csproj
│ │ ├── License.txt
│ │ ├── Readme.md
│ │ └── Sources/
│ │ ├── Angle.cs
│ │ ├── Attachment.cs
│ │ ├── Encryption.cs
│ │ ├── EncryptionException.cs
│ │ ├── EncryptionMethod.cs
│ │ ├── Extensions/
│ │ │ ├── DocumentReader.cs
│ │ │ ├── DocumentRenderer.cs
│ │ │ ├── DocumentWriter.cs
│ │ │ ├── Encryption.cs
│ │ │ ├── Metadata.cs
│ │ │ └── Page.cs
│ │ ├── File.cs
│ │ ├── IDocumentReader.cs
│ │ ├── IDocumentRenderer.cs
│ │ ├── IDocumentWriter.cs
│ │ ├── ImageFile.cs
│ │ ├── ImagePageCollection.cs
│ │ ├── Internal/
│ │ │ └── InitHack.cs
│ │ ├── Metadata.cs
│ │ ├── MetadataException.cs
│ │ ├── Page.cs
│ │ ├── PageBase.cs
│ │ ├── PdfFile.cs
│ │ ├── PdfVersion.cs
│ │ ├── Permission.cs
│ │ ├── PermissionValue.cs
│ │ ├── ViewerOption.cs
│ │ └── ViewerOptionFactory.cs
│ ├── Generating/
│ │ ├── Cube.Pdf.Generating.csproj
│ │ ├── License.txt
│ │ ├── Readme.md
│ │ └── Sources/
│ │ ├── Argument.cs
│ │ ├── Converter.cs
│ │ ├── DocumentConverter.cs
│ │ ├── ImageConverter.cs
│ │ ├── Internal/
│ │ │ ├── GsApi.cs
│ │ │ ├── GsApiException.cs
│ │ │ ├── GsApiNative.cs
│ │ │ ├── GsApiStatus.cs
│ │ │ ├── GsDevice.cs
│ │ │ ├── GsInformation.cs
│ │ │ └── InitHack.cs
│ │ ├── JpegConverter.cs
│ │ ├── Parameters/
│ │ │ ├── ColorMode.cs
│ │ │ ├── Downsampling.cs
│ │ │ ├── Encoding.cs
│ │ │ ├── Format.cs
│ │ │ ├── Orientation.cs
│ │ │ └── Paper.cs
│ │ ├── PdfConverter.cs
│ │ └── TiffConverter.cs
│ ├── Itext/
│ │ ├── Cube.Pdf.Itext.csproj
│ │ ├── License.txt
│ │ ├── Readme.md
│ │ └── Sources/
│ │ ├── DocumentReader.cs
│ │ ├── DocumentSplitter.cs
│ │ ├── DocumentWriter.cs
│ │ ├── DocumentWriterBase.cs
│ │ ├── Internal/
│ │ │ ├── Attachment.cs
│ │ │ ├── AttachmentCollection.cs
│ │ │ ├── ChunkBy.cs
│ │ │ ├── PageCollection.cs
│ │ │ ├── Password.cs
│ │ │ ├── Reader.cs
│ │ │ ├── ReaderExtension.cs
│ │ │ └── Writer.cs
│ │ ├── OpenOption.cs
│ │ └── SaveOption.cs
│ └── Pdfium/
│ ├── Cube.Pdf.Pdfium.csproj
│ ├── License.txt
│ ├── Readme.md
│ └── Sources/
│ ├── DocumentReader.cs
│ ├── DocumentRenderer.cs
│ ├── Internal/
│ │ ├── EncryptionFactory.cs
│ │ ├── FileFactory.cs
│ │ ├── FormFields.cs
│ │ ├── MetadataFactory.cs
│ │ ├── Native/
│ │ │ ├── FormFillInfo.cs
│ │ │ └── Pdfium.cs
│ │ ├── PageCollection.cs
│ │ ├── PdfiumLibrary.cs
│ │ ├── PdfiumReader.cs
│ │ ├── PdfiumRenderer.cs
│ │ ├── RenderExtension.cs
│ │ └── RenderFlags.cs
│ ├── OpenOption.cs
│ ├── PdfiumException.cs
│ ├── PdfiumStatus.cs
│ └── RenderOption.cs
├── License.md
├── NuGet.config
├── Rakefile
├── Readme.md
└── Tests/
├── Converter/
│ ├── Cube.Pdf.Converter.Tests.csproj
│ ├── Examples/
│ │ ├── Sample.eps
│ │ ├── Sample.ps
│ │ ├── Sample.txt
│ │ ├── Sample1pMix.ps
│ │ ├── Sample1pPhoto.ps
│ │ ├── Sample3pMix.ps
│ │ └── Sample5pCjk.ps
│ ├── NLog.config
│ └── Sources/
│ ├── Helpers/
│ │ ├── InitHack.cs
│ │ ├── MockArguments.cs
│ │ └── MockFixture.cs
│ ├── Program.cs
│ ├── TestCases/
│ │ ├── Dialog/
│ │ │ ├── ErrorTestCase.cs
│ │ │ ├── FileTestCase.cs
│ │ │ └── WarnTestCase.cs
│ │ ├── Main/
│ │ │ ├── BmpTestCase.cs
│ │ │ ├── EpsTestCase.cs
│ │ │ ├── JpegTestCase.cs
│ │ │ ├── PdfTestCase.cs
│ │ │ ├── PngTestCase.cs
│ │ │ ├── PsTestCase.cs
│ │ │ └── TiffTestCase.cs
│ │ ├── Sdk/
│ │ │ └── SdkTestCase.cs
│ │ └── TestCaseBase.cs
│ └── Tests/
│ ├── DialogTest.cs
│ ├── MainTest.cs
│ ├── Sdk/
│ │ ├── DigestTest.cs
│ │ ├── DocumentNameTest.cs
│ │ └── SdkTest.cs
│ ├── Settings/
│ │ ├── ExtensionTest.cs
│ │ ├── MigrationTest.cs
│ │ └── SettingTest.cs
│ ├── Texts/
│ │ ├── MessageTest.cs
│ │ └── ResourceTest.cs
│ └── ViewTest.cs
├── Core/
│ ├── Cube.Pdf.Tests.csproj
│ ├── Examples/
│ │ ├── Sample.eps
│ │ ├── Sample.ps
│ │ ├── Sample.tiff
│ │ ├── SampleCjk.ps
│ │ ├── SampleMetadata.ps
│ │ ├── SampleMix.ps
│ │ ├── SamplePdf.ps
│ │ ├── SamplePhoto.ps
│ │ ├── SampleWeb.ps
│ │ └── 日本語のサンプル.md
│ ├── NLog.config
│ └── Sources/
│ ├── AngleTest.cs
│ ├── AttachmentTest.cs
│ ├── EncryptionTest.cs
│ ├── FileTest.cs
│ ├── Ghostscript/
│ │ ├── ArgumentTest.cs
│ │ ├── ConverterTest.cs
│ │ ├── ConverterTestEx.cs
│ │ ├── FormatTest.cs
│ │ └── TestCases/
│ │ ├── BmpTestCase.cs
│ │ ├── EpsTestCase.cs
│ │ ├── JpegTestCase.cs
│ │ ├── PdfTestCase.cs
│ │ ├── PngTestCase.cs
│ │ ├── PsTestCase.cs
│ │ ├── PsdTestCase.cs
│ │ ├── TestCaseBase.cs
│ │ ├── TextTestCase.cs
│ │ └── TiffTestCase.cs
│ ├── Internal/
│ │ └── DocumentReaderFixture.cs
│ ├── Itext/
│ │ ├── BitmapTest.cs
│ │ ├── ItextReaderTest.cs
│ │ └── ItextWriterTest.cs
│ ├── MetadataTest.cs
│ ├── PageTest.cs
│ ├── PdfVersionTest.cs
│ ├── Pdfium/
│ │ └── PdfiumRendererTest.cs
│ ├── Program.cs
│ └── ViewerOptionTest.cs
├── Editor/
│ ├── Cube.Pdf.Editor.Tests.csproj
│ ├── Examples/
│ │ ├── Sample.tiff
│ │ └── Sample.txt
│ ├── NLog.config
│ └── Sources/
│ ├── BackupTest.cs
│ ├── DragDropTest.cs
│ ├── HistoryTest.cs
│ ├── ImageRendererTest.cs
│ ├── Interactions/
│ │ ├── DialogBehaviorTest.cs
│ │ ├── InsertPositionBehaviorTest.cs
│ │ ├── MouseBehaviorTest.cs
│ │ ├── SelectionBehaviorTest.cs
│ │ ├── SetupBehaviorTest.cs
│ │ ├── SimplexConverterTest.cs
│ │ └── VisibleRangeTest.cs
│ ├── Internal/
│ │ ├── MockDragDrop.cs
│ │ ├── VmExtension.cs
│ │ ├── VmFixture.cs
│ │ └── VmParam.cs
│ ├── Presenters/
│ │ ├── EncryptionTest.cs
│ │ ├── ExtractTest.cs
│ │ ├── InsertTest.cs
│ │ ├── MetadataTest.cs
│ │ ├── MoveTest.cs
│ │ ├── OpenTest.cs
│ │ ├── OthersTest.cs
│ │ ├── RemoveTest.cs
│ │ ├── RibbonTest.cs
│ │ ├── SaveTest.cs
│ │ ├── SettingTest.cs
│ │ └── ViewTest.cs
│ ├── Program.cs
│ ├── RangeTest.cs
│ ├── RendererCacheTest.cs
│ └── RibbonElementTest.cs
└── Pages/
├── Cube.Pdf.Pages.Tests.csproj
├── Examples/
│ ├── Dir1/
│ │ └── Sample.txt
│ └── Sample.txt
├── NLog.config
└── Sources/
├── FileSelectorTest.cs
├── Internal/
│ └── ViewModelExtension.cs
├── MainWindowTest.cs
├── Presenters/
│ ├── MergeTest.cs
│ ├── OthersTest.cs
│ └── SplitTest.cs
└── Program.cs
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
* text=auto
*.sh text eol=lf
*.sln text eol=crlf
*.csproj text eol=crlf
*.vbproj text eol=crlf
*.vcxproj text eol=crlf
*.vcproj text eol=crlf
*.dbproj text eol=crlf
*.fsproj text eol=crlf
*.lsproj text eol=crlf
*.wixproj text eol=crlf
*.modelproj text eol=crlf
*.sqlproj text eol=crlf
*.wmaproj text eol=crlf
*.xproj text eol=crlf
*.props text eol=crlf
*.filters text eol=crlf
*.vcxitems text eol=crlf
*.jpg binary
*.png binary
*.ico binary
*.pdf binary
*.ps binary
*.eps binary
*.svg binary
================================================
FILE: .gitignore
================================================
*_i.c
*_p.c
*.aps
*.bak
*.cache
*.db
*.dll
*.exe
*.ilk
*.lib
*.log
*.ncb
*.nupkg
*.obj
*.pch
*.pdb
*.resharper
*.sdf
*.sfx
*.suo
*.tlb
*.tlh
*.user
*.vspscc
*.vssscc
*.sbr
*.sdf
*.sh
*.rb
*.VisualState.xml
[Bb]in/
[Bb]uild/
[Dd]ebug*/
[Ii]pch/
[Oo]bj/
[Rr]elease*/
[Rr]esults/
[Tt]mp/
[Tt]emp/
.svn
.vs
.claude
~$*
_ReSharper*/
Ankh.NoLoad
UpgradeLog.htm
[Tt]est[Rr]esult*
================================================
FILE: .whitesource
================================================
{
"generalSettings": {
"shouldScanRepo": true
},
"checkRunSettings": {
"vulnerableCheckRunConclusionLevel": "success"
}
}
================================================
FILE: AppVeyor.yml
================================================
version: 9.7.1.{build}
environment:
PROJECT_NAME: 'Cube.Pdf'
TEST_TOOL: '..\packages\OpenCover\4.7.1221\tools\OpenCover.Console.exe'
TEST_FILTERS: '+[Cube*]* -[*]*.NativeMethods -[*]*.Properties.* -[*]*.Program -[*]*.Program/* -[*]*.App -[*]*.App/* -[*]*Window -[*]*Window/* -[*]*Control -[*]*Control/*'
TEST_COVERAGE: 'Coverage.xml'
TEST_RESULTS: 'Results'
clone_folder: 'C:\Cube\%PROJECT_NAME%'
image: Visual Studio 2022
platform: Any CPU
configuration: Release
skip_tags: true
branches:
only:
- master
nuget:
project_feed: true
disable_publish_on_pr: true
before_build:
- nuget sources add -name Cube.Core -source https://ci.appveyor.com/nuget/cube.core
- nuget restore "%PROJECT_NAME%.sln"
- nuget install OpenCover
build:
project: '%PROJECT_NAME%.sln'
parallel: true
publish_nuget: true
verbosity: minimal
test_script:
- >
"%TEST_TOOL%"
-log:Error
-register:appveyor
-target:dotnet.exe
-targetargs:"test --no-restore --no-build --logger:Appveyor %PROJECT_NAME%.sln"
-returntargetcode
-hideskipped:All
-mergeoutput
-output:"%TEST_COVERAGE%"
-filter:"%TEST_FILTERS%"
after_test:
- choco install codecov
- codecov -f "%TEST_COVERAGE%"
- cmd: for /f "delims=" %%x in ('dir /b /s *.log') do xcopy /q /Y /I "%%x" "%TEST_RESULTS%\"
artifacts:
- path: '%TEST_RESULTS%'
- path: '%TEST_COVERAGE%'
================================================
FILE: Applications/Converter/Core/Cube.Pdf.Converter.csproj
================================================
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Version>9.7.1</Version>
<Authors>clown;cube-soft</Authors>
<Company>CubeSoft</Company>
<Description>CubePDF SDK.</Description>
<Copyright>Copyright © 2010 CubeSoft, Inc.</Copyright>
<PackageTags>Cube;PDF</PackageTags>
<PackageLicenseExpression>AGPL-3.0-or-later</PackageLicenseExpression>
<PackageIcon>images\Icon.png</PackageIcon>
<PackageProjectUrl>https://github.com/cube-soft/$(AssemblyName)</PackageProjectUrl>
<TargetFramework>net461</TargetFramework>
<LangVersion>latest</LangVersion>
<Optimize>true</Optimize>
<EnableDefaultNoneItems>false</EnableDefaultNoneItems>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
<DefineConstants Condition=" '$(Configuration)' == 'Debug' ">DEBUG;TRACE</DefineConstants>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\..\Cube.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
<OutputPath>bin\Any CPU\$(Configuration)\</OutputPath>
<DocumentationFile>bin\Any CPU\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Libraries\Generating\Cube.Pdf.Generating.csproj" />
<ProjectReference Include="..\..\..\Libraries\Itext\Cube.Pdf.Itext.csproj" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\Icon.png" Pack="true" PackagePath="images" />
</ItemGroup>
</Project>
================================================
FILE: Applications/Converter/Core/Readme.md
================================================
Cube.Pdf.Converter
====
[](https://www.nuget.org/packages/cube.pdf.converter/)
[](https://ci.appveyor.com/project/clown/cube-pdf)
[](https://codecov.io/gh/cube-soft/cube.pdf)
Cube.Pdf.Converter is the core module of the [CubePDF](https://www.cube-soft.com/cubepdf/), which is available for .NET Framework 3.5, 4.6.2, .NET Standard 2.0, or later. Note that the Cube.Pdf.Converter reuqires the gsdll32.dll. You can download the DLL from [www.ghostscript.com](https://www.ghostscript.com/) or [Cube.Native.Pdfgen](https://www.nuget.org/packages/cube.native.pdfgen) NuGet package.
The Cube.Pdf.Converter is used for a limited purpose, such as emulating the CubePDF conversion. For more general purposes, consider using the following packages:
* [Cube.Pdf](https://www.nuget.org/packages/cube.pdf/)
* [Cube.Pdf.Pdfium](https://www.nuget.org/packages/cube.pdf.pdfium/)
* [Cube.Pdf.Itext](https://www.nuget.org/packages/cube.pdf.itext/)
* [Cube.Pdf.Generating](https://www.nuget.org/packages/cube.pdf.generating/)
## Dependencies
* [Ghostscript](https://www.ghostscript.com/) ... [Cube.Native.Pdfgen](https://www.nuget.org/packages/cube.native.pdfgen) is an unofficial package.
* [iText](https://www.nuget.org/packages/itext/) (except net35) or [iTextSharp](https://www.nuget.org/packages/iTextSharp/) (net35)
## Contributing
1. Fork [Cube.Pdf](https://github.com/cube-soft/cube.pdf/fork) repository.
2. Create a feature branch from the master branch (e.g. git checkout -b my-new-feature origin/master). Note that the master branch may refer to some pre-release NuGet packages. Try the [rake clobber](https://github.com/cube-soft/cube.pdf/blob/master/Rakefile) and copy commands when build errors occur.
3. Commit your changes.
4. Rebase your local changes to the master branch.
5. Run the dotnet test command or the Visual Studio (NUnit 3 test adapter) and confirm that it passes.
6. Create a new Pull Request.
## License
Copyright © 2010 [CubeSoft, Inc.](https://www.cube-soft.com/)
See [License.md](https://github.com/cube-soft/cube.pdf/blob/master/License.md) for more information.
================================================
FILE: Applications/Converter/Core/Sources/DocumentName.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using Cube.Collections.Extensions;
using Cube.FileSystem;
using Cube.Text.Extensions;
/* ------------------------------------------------------------------------- */
///
/// DocumentName
///
/// <summary>
/// Provides functionality to convert the provided document name so that
/// it can be used as a filename. This class removes characters that
/// cannot be used as the filename.
/// </summary>
///
/* ------------------------------------------------------------------------- */
public sealed class DocumentName
{
#region Constructors
/* --------------------------------------------------------------------- */
///
/// DocumentName
///
/// <summary>
/// Initializes a new instance of the DocumentName class with the
/// specified arguments.
/// </summary>
///
/// <param name="src">Original document name.</param>
///
/* --------------------------------------------------------------------- */
public DocumentName(string src) : this(src, "CubePDF") { }
/* --------------------------------------------------------------------- */
///
/// DocumentName
///
/// <summary>
/// Initializes a new instance of the DocumentName class with the
/// specified arguments.
/// </summary>
///
/// <param name="src">Original document name.</param>
/// <param name="alternate">Default filename.</param>
///
/* --------------------------------------------------------------------- */
public DocumentName(string src, string alternate)
{
_path = new(src)
{
AllowCurrentDirectory = false,
AllowDriveLetter = false,
AllowInactivation = false,
AllowParentDirectory = false,
AllowUnc = false,
};
Value = GetValue(_path, alternate);
}
#endregion
#region Properties
/* --------------------------------------------------------------------- */
///
/// Source
///
/// <summary>
/// Gets the original document name.
/// </summary>
///
/* --------------------------------------------------------------------- */
public string Source => _path.Source;
/* --------------------------------------------------------------------- */
///
/// Value
///
/// <summary>
/// Gets a name that can be used as a filename.
/// </summary>
///
/* --------------------------------------------------------------------- */
public string Value { get; }
#endregion
#region Implementations
/* --------------------------------------------------------------------- */
///
/// GetValue
///
/// <summary>
/// Gets a name that is used as a filename.
/// </summary>
///
/* --------------------------------------------------------------------- */
private string GetValue(SafePath src, string alternate)
{
if (!Source.HasValue()) return alternate;
var parts = Regex.Split(Io.GetFileName(src.Value), " - ")
.Select(e => e.Trim())
.Where(e => e.HasValue() && e != "-")
.ToList();
if (parts.Count == 0) return alternate;
if (parts.Count == 1) return parts.First();
static string join(IEnumerable<string> e) => e.Join(" - ");
if (_apps.Contains(parts.First())) return join(parts.Skip(1));
if (_apps.Contains(parts.Last())) return join(parts.Take(parts.Count - 1));
var i = parts.FindIndex(PathExplorer.HasExtension);
if (i == -1) return join(parts);
if (i == parts.Count - 1) return join(parts.Skip(1));
return join(parts.Take(i + 1));
}
#endregion
#region Fields
private readonly SafePath _path;
private readonly string[] _apps = [
"Microsoft Word",
"Microsoft Excel",
"Microsoft PowerPoint",
];
#endregion
}
================================================
FILE: Applications/Converter/Core/Sources/ExtensionList.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using Cube.DataContract;
using GsFormat = Ghostscript.Format;
/* ------------------------------------------------------------------------- */
///
/// ExtensionList
///
/// <summary>
/// Represents user settings of the default extension for each file format.
/// </summary>
///
/* ------------------------------------------------------------------------- */
[DataContract]
public class ExtensionList : SerializableBase
{
#region Properties
/* --------------------------------------------------------------------- */
///
/// Pdf
///
/// <summary>
/// Gets or sets the default extension for the PDF format.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public string Pdf
{
get => Get(() => ".pdf");
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Ps
///
/// <summary>
/// Gets or sets the default extension for the PostScript format.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public string Ps
{
get => Get(() => ".ps");
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Eps
///
/// <summary>
/// Gets or sets the default extension for the EPS format.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public string Eps
{
get => Get(() => ".eps");
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Png
///
/// <summary>
/// Gets or sets the default extension for the PNG format.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public string Png
{
get => Get(() => ".png");
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Jpeg
///
/// <summary>
/// Gets or sets the default extension for the JPEG format.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public string Jpeg
{
get => Get(() => ".jpg");
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Bmp
///
/// <summary>
/// Gets or sets the default extension for the BMP format.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public string Bmp
{
get => Get(() => ".bmp");
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Tiff
///
/// <summary>
/// Gets or sets the default extension for the TIFF format.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public string Tiff
{
get => Get(() => ".tiff");
set => Set(value);
}
#endregion
#region Methods
/* --------------------------------------------------------------------- */
///
/// Get
///
/// <summary>
/// Gets the extension corresponding to the specified file format.
/// </summary>
///
/* --------------------------------------------------------------------- */
public string Get(GsFormat src) => GetCandidates(src).First();
/* --------------------------------------------------------------------- */
///
/// GetCandidates
///
/// <summary>
/// Gets the collection of file extension candidates corresponding to
/// the specified format.
/// </summary>
///
/// <param name="src">File format.</param>
///
/// <returns>Collection of file extension candidates.</returns>
///
/* --------------------------------------------------------------------- */
public IEnumerable<string> GetCandidates(GsFormat src) => FormatGroup.Represent(src) switch
{
GsFormat.Pdf => Combine(Pdf, ".pdf"),
GsFormat.Ps => Combine(Ps, ".ps"),
GsFormat.Eps => Combine(Eps, ".eps"),
GsFormat.Png => Combine(Png, ".png"),
GsFormat.Jpeg => Combine(Jpeg, ".jpg", ".jpeg"),
GsFormat.Bmp => Combine(Bmp, ".bmp"),
GsFormat.Tiff => Combine(Tiff, ".tiff", ".tif"),
GsFormat.Text => [ ".txt" ],
_ => [ $".{src.ToString().ToLowerInvariant()}" ],
};
#endregion
#region Implementations
/* --------------------------------------------------------------------- */
///
/// Combine
///
/// <summary>
/// Combines the specified elements while removing duplicates.
/// </summary>
///
/// <param name="src">Primary file extension.</param>
/// <param name="latter">Other file extension candidates.</param>
///
/// <returns>Collection of file extension candidates.</returns>
///
/* --------------------------------------------------------------------- */
private static IEnumerable<string> Combine(string src, params string[] latter) =>
new[] { src }.Concat(latter.Where(e => e != src));
#endregion
}
================================================
FILE: Applications/Converter/Core/Sources/Facade.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Cube.FileSystem;
/* ------------------------------------------------------------------------- */
///
/// Facade
///
/// <summary>
/// Represents the facade of operations in the CubePDF.
/// </summary>
///
/* ------------------------------------------------------------------------- */
public sealed class Facade : ObservableBase
{
#region Constructors
/* --------------------------------------------------------------------- */
///
/// Facade
///
/// <summary>
/// Initializes a new instance Facade class.
/// </summary>
///
/* --------------------------------------------------------------------- */
public Facade() : this(Assembly.GetCallingAssembly()) { }
/* --------------------------------------------------------------------- */
///
/// Facade
///
/// <summary>
/// Initializes a new instance of the Facade class with the
/// specified assembly.
/// </summary>
///
/// <param name="assembly">Assembly object.</param>
///
/* --------------------------------------------------------------------- */
public Facade(Assembly assembly) : this(new SettingFolder(assembly)) { }
/* --------------------------------------------------------------------- */
///
/// Facade
///
/// <summary>
/// Initializes a new instance of the Facade class with the
/// specified settings.
/// </summary>
///
/// <param name="settings">User settings.</param>
///
/* --------------------------------------------------------------------- */
public Facade(SettingFolder settings) => Settings = settings;
#endregion
#region Properties
/* --------------------------------------------------------------------- */
///
/// Settings
///
/// <summary>
/// Gets the user settings.
/// </summary>
///
/* --------------------------------------------------------------------- */
public SettingFolder Settings { get; }
/* --------------------------------------------------------------------- */
///
/// Results
///
/// <summary>
/// Gets the collection of created files.
/// </summary>
///
/// <remarks>
/// If PNG, JPEG, or other image formats are specified, the value of
/// Results property may differ from Settings.Value.Destination.
/// </remarks>
///
/* --------------------------------------------------------------------- */
public IEnumerable<string> Results { get; private set; } = [];
/* --------------------------------------------------------------------- */
///
/// Busy
///
/// <summary>
/// Gets or sets a value indicating whether it is busy.
/// </summary>
///
/* --------------------------------------------------------------------- */
public bool Busy
{
get => Get(() => false);
private set => Set(value);
}
#endregion
#region Methods
/* --------------------------------------------------------------------- */
///
/// Invoke
///
/// <summary>
/// Invokes operations with the provided settings.
/// </summary>
///
/* --------------------------------------------------------------------- */
public void Invoke() => Lock(() =>
{
var dest = new List<string>();
using (var fs = new FileTransfer(Settings, GetTemp()))
{
Run(() => new DigestChecker(Settings).Invoke());
RunGhostscript(fs.Temp);
Run(() => new FileDecorator(Settings).Invoke(fs.Temp));
Run(() => fs.Invoke(dest));
Run(() => new ProcessLauncher(Settings).Invoke(dest));
}
Results = dest;
});
/* --------------------------------------------------------------------- */
///
/// Dispose
///
/// <summary>
/// Releases the unmanaged resources used by the object and
/// optionally releases the managed resources.
/// </summary>
///
/// <param name="disposing">
/// true to release both managed and unmanaged resources;
/// false to release only unmanaged resources.
/// </param>
///
/* --------------------------------------------------------------------- */
protected override void Dispose(bool disposing)
{
lock (_lock)
{
Logger.Try(() => Io.Delete(GetTemp()));
if (!Settings.Value.DeleteSource) return;
Logger.Try(() => Io.Delete(Settings.Value.Source));
}
}
#endregion
#region Implementations
/* --------------------------------------------------------------------- */
///
/// Lock
///
/// <summary>
/// Locks and invokes the specified action unless the object is not
/// Disposed.
/// </summary>
///
/* --------------------------------------------------------------------- */
private void Lock(Action action)
{
lock (_lock)
{
try
{
Busy = true;
action();
}
finally { Busy = false; }
}
}
/* ----------------------------------------------------------------- */
///
/// Run
///
/// <summary>
/// Invokes the specified action unless the object is not Disposed.
/// </summary>
///
/* ----------------------------------------------------------------- */
private void Run(Action action) { if (!Disposed) action(); }
/* ----------------------------------------------------------------- */
///
/// RunGhostscript
///
/// <summary>
/// Invokes the Ghostscript API.
/// </summary>
///
/* ----------------------------------------------------------------- */
private void RunGhostscript(string dest) => Run(() =>
{
var gs = GhostscriptFactory.Create(Settings);
try { gs.Invoke(Settings.Value.Source, dest); }
finally { gs.LogDebug(); }
});
/* ----------------------------------------------------------------- */
///
/// GetTemp
///
/// <summary>
/// Gets the temp directory.
/// </summary>
///
/* ----------------------------------------------------------------- */
private string GetTemp() => Io.Combine(Settings.Value.Temp, Settings.Uid.ToString("N"));
#endregion
#region Fields
private readonly object _lock = new();
#endregion
}
================================================
FILE: Applications/Converter/Core/Sources/Internal/DigestChecker.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using System.Linq;
using System.Security.Cryptography;
using Cube.Collections.Extensions;
using Cube.FileSystem;
using Cube.Text.Extensions;
/* ------------------------------------------------------------------------- */
///
/// DigestChecker
///
/// <summary>
/// Provides functionality to check the provided digest.
/// </summary>
///
/* ------------------------------------------------------------------------- */
internal sealed class DigestChecker
{
#region Constructors
/* --------------------------------------------------------------------- */
///
/// DigestChecker
///
/// <summary>
/// Initializes a new instance of the DigestChecker class with the
/// specified settings.
/// </summary>
///
/// <param name="src">User settings.</param>
///
/* --------------------------------------------------------------------- */
public DigestChecker(SettingFolder src) { Settings = src; }
#endregion
#region Properties
/* --------------------------------------------------------------------- */
///
/// Setting
///
/// <summary>
/// Gets the user settings.
/// </summary>
///
/* --------------------------------------------------------------------- */
public SettingFolder Settings { get; }
#endregion
#region Methods
/* --------------------------------------------------------------------- */
///
/// Invoke
///
/// <summary>
/// Invokes the checking.
/// </summary>
///
/// <remarks>
/// This check is only performed when the SHA-256 hash value for the
/// input file is specified from the command line. Note that this check
/// is also ignored if PlatformCompatible is enabled and
/// SHA256CryptoServiceProvider raises PlatformNotSupportedException.
/// </remarks>
///
/* --------------------------------------------------------------------- */
public void Invoke()
{
var src = Settings.Digest;
if (!src.HasValue()) return;
var cmp = Compute(Settings.Value.Source);
if (!src.FuzzyEquals(cmp)) throw new CryptographicException();
}
#endregion
#region Implementations
/* --------------------------------------------------------------------- */
///
/// Compute
///
/// <summary>
/// Computes the SHA-256 hash of the specified file.
/// </summary>
///
/* --------------------------------------------------------------------- */
private string Compute(string src) => IoEx.Load(src, e =>
SHA256.Create().ComputeHash(e).Join("", b => $"{b:x2}"));
#endregion
}
================================================
FILE: Applications/Converter/Core/Sources/Internal/FileDecorator.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using System;
using Cube.FileSystem;
using Cube.Pdf.Extensions;
using Cube.Pdf.Ghostscript;
using Cube.Pdf.Itext;
/* ------------------------------------------------------------------------- */
///
/// FileDecorator
///
/// <summary>
/// Provides functionality to invoke additional operations to files
/// that are generated by Ghostscript API.
/// </summary>
///
/* ------------------------------------------------------------------------- */
internal sealed class FileDecorator
{
#region Constructors
/* --------------------------------------------------------------------- */
///
/// FileDecorator
///
/// <summary>
/// Initializes a new instance of the FileDecorator class with the
/// specified settings.
/// </summary>
///
/// <param name="src">User settings.</param>
///
/* --------------------------------------------------------------------- */
public FileDecorator(SettingFolder src) { Settings = src; }
#endregion
#region Properties
/* --------------------------------------------------------------------- */
///
/// Settings
///
/// <summary>
/// Gets the instance of the SettingFolder class.
/// </summary>
///
/* --------------------------------------------------------------------- */
public SettingFolder Settings { get; }
#endregion
#region Methods
/* --------------------------------------------------------------------- */
///
/// Invoke
///
/// <summary>
/// Invokes operations on the specified file.
/// </summary>
///
/// <param name="src">Path of the source file.</param>
///
/* --------------------------------------------------------------------- */
public void Invoke(string src)
{
if (Settings.Value.Format != Format.Pdf) return;
InvokeItext(src);
}
#endregion
#region Implementations
/* --------------------------------------------------------------------- */
///
/// InvokeItext
///
/// <summary>
/// Invokes iTextSharp operations.
/// </summary>
///
/* --------------------------------------------------------------------- */
private void InvokeItext(string src)
{
var value = Settings.Value;
var tmp = GetTemp(src);
using (var writer = new DocumentWriter(new()))
{
value.Encryption.Method = GetEncryptionMethod(value.Metadata.Version);
writer.Set(value.Metadata);
writer.Set(value.Encryption);
Add(writer, value.Destination, SaveOption.MergeTail);
var options = new OpenOption { SaveMemory = false };
writer.Add(new DocumentReader(src, string.Empty, options));
Add(writer, value.Destination, SaveOption.MergeHead);
writer.Save(tmp);
}
FileTransfer.MoveOrCopy(tmp, src, true);
}
/* --------------------------------------------------------------------- */
///
/// Add
///
/// <summary>
/// Adds the collection of Pages to the specified writer.
/// </summary>
///
/* --------------------------------------------------------------------- */
private void Add(DocumentWriter src, string path, SaveOption so)
{
var value = Settings.Value;
if (value.SaveOption != so || !Io.Exists(path)) return;
var options = new OpenOption { SaveMemory = false };
var password = value.Encryption.Enabled ?
value.Encryption.OwnerPassword :
string.Empty;
src.Add(new DocumentReader(path, password, options));
}
/* --------------------------------------------------------------------- */
///
/// GetEncryptionMethod
///
/// <summary>
/// Gets an EncryptionMethod value from the specified version.
/// </summary>
///
/* --------------------------------------------------------------------- */
private EncryptionMethod GetEncryptionMethod(PdfVersion src) =>
src.Minor >= 7 ? EncryptionMethod.Aes256 :
src.Minor >= 6 ? EncryptionMethod.Aes128 :
src.Minor >= 4 ? EncryptionMethod.Standard128 :
EncryptionMethod.Standard40;
/* --------------------------------------------------------------------- */
///
/// GetTemp
///
/// <summary>
/// Gets a temporary path from the specified path.
/// </summary>
///
/* --------------------------------------------------------------------- */
private string GetTemp(string src)
{
var dir = Io.Combine(Io.GetDirectoryName(src), "decorator");
Io.CreateDirectory(dir);
return Io.Combine(dir, Guid.NewGuid().ToString("N"));
}
#endregion
}
================================================
FILE: Applications/Converter/Core/Sources/Internal/FileTransfer.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using System;
using System.Collections.Generic;
using System.Linq;
using Cube.FileSystem;
using Cube.Pdf.Ghostscript;
using Cube.Text.Extensions;
/* ------------------------------------------------------------------------- */
///
/// FileTransfer
///
/// <summary>
/// Provides functionality to move or rename files.
/// </summary>
///
/* ------------------------------------------------------------------------- */
internal sealed class FileTransfer : DisposableBase
{
#region Constructors
/* --------------------------------------------------------------------- */
///
/// FileTransfer
///
/// <summary>
/// Initializes a new instance of the FileTransfer class with the
/// specified arguments.
/// </summary>
///
/// <param name="src">User settings.</param>
/// <param name="dir">Root directory for the operation.</param>
///
/* --------------------------------------------------------------------- */
public FileTransfer(SettingFolder src, string dir)
{
Settings = src;
_work = GetWorkDirectory(dir);
Temp = Io.Combine(_work, GetName());
}
#endregion
#region Properties
/* --------------------------------------------------------------------- */
///
/// Settings
///
/// <summary>
/// Gets the user settings.
/// </summary>
///
/* --------------------------------------------------------------------- */
public SettingFolder Settings { get; }
/* --------------------------------------------------------------------- */
///
/// Temp
///
/// <summary>
/// Gets the temporary file path.
/// </summary>
///
/// <remarks>
/// CubePDF SDK will once save the file to the path specified by the Temp
/// property, and then move the file to the location where it should be
/// saved when the Invoke method of the class is executed.
/// </remarks>
///
/* --------------------------------------------------------------------- */
public string Temp { get; }
/* --------------------------------------------------------------------- */
///
/// AutoRename
///
/// <summary>
/// Gets or a value indicating whether to rename files automatically
/// when the specified file exists.
/// </summary>
///
/* --------------------------------------------------------------------- */
public bool AutoRename => Settings.Value.SaveOption == SaveOption.Rename;
#endregion
#region Methods
/* --------------------------------------------------------------------- */
///
/// Invoke
///
/// <summary>
/// Invokes operations to move or rename files.
/// </summary>
///
/* --------------------------------------------------------------------- */
public void Invoke(IList<string> dest)
{
var src = Io.GetFiles(_work);
var n = src.Count();
var i = 0;
foreach (var e in src)
{
var path = GetDestination(i + 1, n);
MoveOrCopy(e, path, true);
dest.Add(path);
Logger.Debug($"[Save] {path}");
++i;
}
}
#endregion
#region Static methods
/* --------------------------------------------------------------------- */
///
/// MoveOrCopy
///
/// <summary>
/// Moves or copies the specified file.
/// </summary>
///
/// <param name="src">Source path.</param>
/// <param name="dest">Path to move or copy.</param>
/// <param name="overwrite">Overwrite or not.</param>
///
/* --------------------------------------------------------------------- */
public static void MoveOrCopy(string src, string dest, bool overwrite)
{
try
{
if (Io.Exists(dest)) Io.Copy(src, dest, overwrite);
else Io.Move(src, dest, overwrite);
}
catch (Exception e)
{
if (Io.Exists(src))
{
Logger.Warn($"{e.Message} ({src.Quote()} -> {dest.Quote()})");
Logger.Warn(e);
Io.Copy(src, dest, overwrite);
}
else
{
Logger.Warn($"{src.Quote()} not found");
throw;
}
}
}
#endregion
#region Implementations
/* --------------------------------------------------------------------- */
///
/// Dispose
///
/// <summary>
/// Releases the unmanaged resources used by the
/// FileTransfer and optionally releases the managed
/// resources.
/// </summary>
///
/// <param name="disposing">
/// true to release both managed and unmanaged resources;
/// false to release only unmanaged resources.
/// </param>
///
/* --------------------------------------------------------------------- */
protected override void Dispose(bool disposing) => Logger.Try(() => Io.Delete(_work));
/* --------------------------------------------------------------------- */
///
/// GetWorkDirectory
///
/// <summary>
/// Gets the path of the working directory.
/// </summary>
///
/* --------------------------------------------------------------------- */
private string GetWorkDirectory(string src) =>
Enumerable.Range(1, int.MaxValue)
.Select(e => Io.Combine(src, e.ToString()))
.First(e => !Io.Exists(e));
/* --------------------------------------------------------------------- */
///
/// GetName
///
/// <summary>
/// Gets the value that represents the filename.
/// </summary>
///
/* --------------------------------------------------------------------- */
private string GetName() =>
DocumentConverter.SupportedFormats.Contains(Settings.Value.Format) ?
$"tmp{Io.GetExtension(Settings.Value.Destination)}" :
$"tmp-%08d{Io.GetExtension(Settings.Value.Destination)}";
/* --------------------------------------------------------------------- */
///
/// GetDestination
///
/// <summary>
/// Gets the path to save the file from the specified arguments.
/// </summary>
///
/* --------------------------------------------------------------------- */
private string GetDestination(int index, int count)
{
var dest = GetDestinationCore(index, count);
return AutoRename && Io.Exists(dest) ? IoEx.GetUniqueName(dest) : dest;
}
/* --------------------------------------------------------------------- */
///
/// GetDestinationCore
///
/// <summary>
/// Gets the path to save the file from the specified arguments.
/// </summary>
///
/* --------------------------------------------------------------------- */
private string GetDestinationCore(int index, int count)
{
var src = Settings.Value.Destination;
if (count <= 1) return src;
var name = Io.GetBaseName(src);
var ext = Io.GetExtension(src);
var digit = $"D{Math.Max(count.ToString("D").Length, 2)}";
var dest = $"{name}-{index.ToString(digit)}{ext}";
return Io.Combine(Io.GetDirectoryName(src), dest);
}
#endregion
#region Fields
private readonly string _work;
#endregion
}
================================================
FILE: Applications/Converter/Core/Sources/Internal/FormatGroup.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using System.Collections.Generic;
using Cube.Pdf.Ghostscript;
/* ------------------------------------------------------------------------- */
///
/// FormatGroup
///
/// <summary>
/// Provides functionality to normalize the format value.
/// </summary>
///
/* ------------------------------------------------------------------------- */
internal static class FormatGroup
{
#region Methods
/* --------------------------------------------------------------------- */
///
/// Represent
///
/// <summary>
/// Gets a representative value for the group to which the specified
/// value belongs.
/// </summary>
///
/// <param name="src">File format.</param>
///
/// <returns>Representative value.</returns>
///
/* --------------------------------------------------------------------- */
public static Format Represent(Format src) => src switch
{
Format.Png1bppMonochrome => Format.Png,
Format.Png24bppRgb => Format.Png,
Format.Png32bppArgb => Format.Png,
Format.Png4bppIndexed => Format.Png,
Format.Png8bppGrayscale => Format.Png,
Format.Png8bppIndexed => Format.Png,
Format.Jpeg24bppRgb => Format.Jpeg,
Format.Jpeg32bppCmyk => Format.Jpeg,
Format.Jpeg8bppGrayscale => Format.Jpeg,
Format.Bmp1bppMonochrome => Format.Bmp,
Format.Bmp24bppRgb => Format.Bmp,
Format.Bmp32bppArgb => Format.Bmp,
Format.Bmp4bppIndexed => Format.Bmp,
Format.Bmp8bppGrayscale => Format.Bmp,
Format.Bmp8bppIndexed => Format.Bmp,
Format.Tiff12bppRgb => Format.Tiff,
Format.Tiff1bppMonochrome => Format.Tiff,
Format.Tiff24bppRgb => Format.Tiff,
Format.Tiff32bppCmyk => Format.Tiff,
Format.Tiff48bppRgb => Format.Tiff,
Format.Tiff64bppCmyk => Format.Tiff,
Format.Tiff8bppGrayscale => Format.Tiff,
_ => src,
};
/* --------------------------------------------------------------------- */
///
/// Lookup
///
/// <summary>
/// Gets the format value corresponding to the specified format and
/// color mode.
/// </summary>
///
/// <param name="src">File format.</param>
/// <param name="color">Color mode.</param>
///
/// <returns>File format.</returns>
///
/* --------------------------------------------------------------------- */
public static Format Lookup(Format src, ColorMode color)
{
var key = new KeyValuePair<Format, ColorMode>(src, color);
return _items.TryGetValue(key, out var dest) ? dest : src;
}
#endregion
#region Fields
private static readonly Dictionary<KeyValuePair<Format, ColorMode>, Format> _items = new()
{
{ new(Format.Jpeg, ColorMode.Grayscale), Format.Jpeg8bppGrayscale },
{ new(Format.Jpeg, ColorMode.Monochrome), Format.Jpeg8bppGrayscale },
{ new(Format.Png, ColorMode.Grayscale), Format.Png8bppGrayscale },
{ new(Format.Png, ColorMode.Monochrome), Format.Png1bppMonochrome },
{ new(Format.Bmp, ColorMode.Grayscale), Format.Bmp8bppGrayscale },
{ new(Format.Bmp, ColorMode.Monochrome), Format.Bmp1bppMonochrome },
{ new(Format.Tiff, ColorMode.Grayscale), Format.Tiff8bppGrayscale },
{ new(Format.Tiff, ColorMode.Monochrome), Format.Tiff1bppMonochrome },
};
#endregion
}
================================================
FILE: Applications/Converter/Core/Sources/Internal/GhostscriptFactory.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Cube.FileSystem;
using Cube.Pdf.Ghostscript;
using Cube.Reflection.Extensions;
using Cube.Text.Extensions;
/* ------------------------------------------------------------------------- */
///
/// GhostscriptFactory
///
/// <summary>
/// Provides functionality to create a new instance of the
/// Ghostscript.Converter class.
/// </summary>
///
/* ------------------------------------------------------------------------- */
internal static class GhostscriptFactory
{
#region Methods
/* --------------------------------------------------------------------- */
///
/// Create
///
/// <summary>
/// Initializes a new instance of the Ghostscript.Converter class
/// with the specified settings.
/// </summary>
///
/// <param name="src">User settings.</param>
///
/// <returns>Ghostscript.Converter object.</returns>
///
/* --------------------------------------------------------------------- */
public static Converter Create(SettingFolder src)
{
var dest = DocumentConverter.SupportedFormats.Contains(src.Value.Format) ?
CreateDocumentConverter(src) :
CreateImageConverter(src);
dest.Quiet = false;
dest.Temp = GetTempOrEmpty(src.Value);
dest.Log = Io.Combine(src.Value.Temp, src.Uid.ToString("N"), "console.log");
dest.Resolution = src.Value.Resolution;
dest.Orientation = src.Value.Orientation;
static void add(ICollection<string> s, string e) { if (Io.Exists(e)) s.Add(e); }
var dir = typeof(GhostscriptFactory).Assembly.GetDirectoryName();
add(dest.Resources, Io.Combine(dir, "lib"));
add(dest.Resources, Io.Combine(dir, "Resource"));
add(dest.Resources, Io.Combine(dir, "iccprofiles"));
return dest;
}
/* --------------------------------------------------------------------- */
///
/// LogDebug
///
/// <summary>
/// Outputs log of the Ghostscript API.
/// </summary>
///
/// <param name="src">Ghostscript converter object.</param>
///
/* --------------------------------------------------------------------- */
public static void LogDebug(this Converter src)
{
try
{
if (!src.Log.HasValue() || !Io.Exists(src.Log)) return;
using var ss = new StreamReader(Io.Open(src.Log));
while (!ss.EndOfStream) Logger.Debug(ss.ReadLine());
}
catch (Exception err) { Logger.Debug(err.Message); }
}
#endregion
#region Implementations
/* --------------------------------------------------------------------- */
///
/// CreateDocumentConverter
///
/// <summary>
/// Initializes a new instance of the DocumentConverter class with
/// the specified settings.
/// </summary>
///
/* --------------------------------------------------------------------- */
private static DocumentConverter CreateDocumentConverter(SettingFolder src)
{
var dest = PdfConverter.SupportedFormats.Contains(src.Value.Format) ?
CreatePdfConverter(src) :
new DocumentConverter(src.Value.Format);
dest.ColorMode = src.Value.ColorMode;
dest.Downsampling = src.Value.Downsampling;
dest.EmbedFonts = src.Value.EmbedFonts;
return dest;
}
/* --------------------------------------------------------------------- */
///
/// CreatePdfConverter
///
/// <summary>
/// Initializes a new instance of the PdfConverter class with the
/// specified settings.
/// </summary>
///
/* --------------------------------------------------------------------- */
private static PdfConverter CreatePdfConverter(SettingFolder src) => new()
{
Version = src.Value.Metadata.Version,
Compression = src.Value.Encoding == Encoding.Jpeg ? Encoding.Jpeg : Encoding.Flate,
};
/* --------------------------------------------------------------------- */
///
/// CreateImageConverter
///
/// <summary>
/// Initializes a new instance of the ImageConverter class with
/// the specified settings.
/// </summary>
///
/* --------------------------------------------------------------------- */
private static Converter CreateImageConverter(SettingFolder src) =>
new ImageConverter(FormatGroup.Lookup(src.Value.Format, src.Value.ColorMode)) { AntiAlias = true };
/* --------------------------------------------------------------------- */
///
/// GetTempOrEmpty
///
/// <summary>
/// Gets a temporary directory if necessary.
/// </summary>
///
/* --------------------------------------------------------------------- */
private static string GetTempOrEmpty(SettingValue src)
{
var e0 = Environment.GetEnvironmentVariable("Tmp");
var e1 = Environment.GetEnvironmentVariable("Temp");
return e0.Length != System.Text.Encoding.UTF8.GetByteCount(e0) ||
e1.Length != System.Text.Encoding.UTF8.GetByteCount(e1) ?
src.Temp : string.Empty;
}
#endregion
}
================================================
FILE: Applications/Converter/Core/Sources/Internal/PathExplorer.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using System;
using System.Linq;
using Cube.FileSystem;
using Cube.Text.Extensions;
/* ------------------------------------------------------------------------- */
///
/// PathExplorer
///
/// <summary>
/// Provides functionality to determine the path.
/// </summary>
///
/* ------------------------------------------------------------------------- */
internal static class PathExplorer
{
#region Methods
/* --------------------------------------------------------------------- */
///
/// HasExtension
///
/// <summary>
/// Gets a value indicating whether the specified string has an extension.
/// </summary>
///
/* --------------------------------------------------------------------- */
public static bool HasExtension(string src)
{
if (!src.HasValue()) return false;
var ext = Io.GetExtension(src);
if (!ext.HasValue() || ext.First() != '.' || ext.Length > 6) return false;
var ok = false;
foreach (var c in ext.Skip(1))
{
var alpha = ('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z');
var num = ('0' <= c && c <= '9');
if (!alpha && !num) return false;
if (alpha) ok = true;
}
return ok;
}
/* --------------------------------------------------------------------- */
///
/// GetDirectoryName
///
/// <summary>
/// Gets the directory part of the specified path. If the specified value
/// is empty or an exception occurs, the method returns the value of
/// GetDesktopDirectoryName method instead.
/// </summary>
///
/// <returns>Path of the directory part.</returns>
///
/* --------------------------------------------------------------------- */
public static string GetDirectoryName(string src)
{
var desktop = GetDesktopDirectoryName();
try
{
if (!src.HasValue()) return desktop;
return Io.IsDirectory(src) ? src : Io.GetDirectoryName(src);
}
catch (Exception e) { Logger.Warn(e); }
return desktop;
}
/* --------------------------------------------------------------------- */
///
/// GetDesktopDirectoryName
///
/// <summary>
/// Gets the path of the user desktop directory. If an exception occurs,
/// the method returns the value of GetDefaultDirectoryName method
/// instead.
/// </summary>
///
/// <returns>Path of the user desktop.</returns>
///
/* --------------------------------------------------------------------- */
public static string GetDesktopDirectoryName()
{
try { return Environment.GetFolderPath(Environment.SpecialFolder.Desktop); }
catch (Exception e) { Logger.Warn(e); }
return GetDefaultDirectoryName();
}
/* --------------------------------------------------------------------- */
///
/// GetDefaultDirectoryName
///
/// <summary>
/// Gets the path of the default directory.
/// </summary>
///
/// <returns>Path of the default directory.</returns>
///
/* --------------------------------------------------------------------- */
public static string GetDefaultDirectoryName() => Io.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData),
"CubeSoft",
"CubePDF"
);
#endregion
}
================================================
FILE: Applications/Converter/Core/Sources/Internal/ProcessLauncher.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using Cube.FileSystem;
using Cube.Text.Extensions;
/* ------------------------------------------------------------------------- */
///
/// ProcessLauncher
///
/// <summary>
/// Provides functionality to execute the provided post process.
/// </summary>
///
/* ------------------------------------------------------------------------- */
internal sealed class ProcessLauncher
{
#region Constructors
/* --------------------------------------------------------------------- */
///
/// ProcessLauncher
///
/// <summary>
/// Initializes a new instance of the ProcessLauncher class with
/// the specified settings.
/// </summary>
///
/// <param name="src">User settings.</param>
///
/* --------------------------------------------------------------------- */
public ProcessLauncher(SettingFolder src) => Settings = src;
#endregion
#region Properties
/* --------------------------------------------------------------------- */
///
/// Settings
///
/// <summary>
/// Gets the user settings.
/// </summary>
///
/* --------------------------------------------------------------------- */
public SettingFolder Settings { get; }
#endregion
#region Methods
/* --------------------------------------------------------------------- */
///
/// Invoke
///
/// <summary>
/// Executes the post process with the specified files.
/// </summary>
///
/// <param name="src">Source files.</param>
///
/* --------------------------------------------------------------------- */
public void Invoke(IEnumerable<string> src)
{
try
{
_ = Settings.Value.PostProcess switch
{
PostProcess.Open => Open(src),
PostProcess.OpenDirectory => OpenDirectory(src),
PostProcess.Others => RunUserProgram(src),
_ => default,
};
}
catch (Exception err)
{
var key = Settings.Value.PostProcess;
var user = key == PostProcess.Others ? Settings.Value.UserProgram : string.Empty;
throw new PostProcessException(key, user, err);
}
}
#endregion
#region Implementations
/* --------------------------------------------------------------------- */
///
/// Open
///
/// <summary>
/// Opens the specified files with the associated program.
/// </summary>
///
/* --------------------------------------------------------------------- */
private static Process Open(IEnumerable<string> src) => Start(src.First(), string.Empty);
/* --------------------------------------------------------------------- */
///
/// OpenDirectory
///
/// <summary>
/// Opens the directory at which the specified files are located.
/// </summary>
///
/* --------------------------------------------------------------------- */
private static Process OpenDirectory(IEnumerable<string> src) => Start(
"explorer.exe",
Io.GetDirectoryName(src.First()).Quote()
);
/* --------------------------------------------------------------------- */
///
/// RunUserProgram
///
/// <summary>
/// Executes the specified program.
/// </summary>
///
/* --------------------------------------------------------------------- */
private Process RunUserProgram(IEnumerable<string> src) =>
Settings.Value.UserProgram.HasValue() ?
Start(Settings.Value.UserProgram, src.First().Quote()) :
default;
/* --------------------------------------------------------------------- */
///
/// Start
///
/// <summary>
/// Executes the process with the specified arguments.
/// </summary>
///
/* --------------------------------------------------------------------- */
private static Process Start(string exec, string args) => Process.Start(new ProcessStartInfo
{
FileName = exec,
Arguments = args,
CreateNoWindow = false,
UseShellExecute = true,
LoadUserProfile = false,
WindowStyle = ProcessWindowStyle.Normal,
});
#endregion
}
================================================
FILE: Applications/Converter/Core/Sources/PostProcessException.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using System;
/* ------------------------------------------------------------------------- */
///
/// PostProcessException
///
/// <summary>
/// Represents an exception about the post-process.
/// </summary>
///
/* ------------------------------------------------------------------------- */
[Serializable]
public class PostProcessException : Exception
{
#region Constructors
/* --------------------------------------------------------------------- */
///
/// PostProcessException
///
/// <summary>
/// Initializes a new instance of the PostProcessException class
/// with the specified arguments.
/// </summary>
///
/// <param name="src">Kind of post process.</param>
/// <param name="user">Path of the user program.</param>
/// <param name="inner">Inner exception object.</param>
///
/* --------------------------------------------------------------------- */
public PostProcessException(PostProcess src, string user, Exception inner) :
base("Post process failed", inner)
{
PostProcess = src;
UserProgram = user;
}
#endregion
#region Properties
/* --------------------------------------------------------------------- */
///
/// PostProcess
///
/// <summary>
/// Gets the value that represents the post-process.
/// </summary>
///
/* --------------------------------------------------------------------- */
public PostProcess PostProcess { get; }
/* --------------------------------------------------------------------- */
///
/// UserProgram
///
/// <summary>
/// Gets the path of the user program that executes after converting.
/// </summary>
///
/* --------------------------------------------------------------------- */
public string UserProgram { get; }
#endregion
}
================================================
FILE: Applications/Converter/Core/Sources/SettingFolder.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using System;
using System.Collections.Generic;
using System.Reflection;
using Cube.Collections;
using Cube.DataContract;
using Cube.FileSystem;
using Cube.Reflection.Extensions;
/* ------------------------------------------------------------------------- */
///
/// SettingFolder
///
/// <summary>
/// Represents the application and/or user settings.
/// </summary>
///
/* ------------------------------------------------------------------------- */
public class SettingFolder : SettingFolder<SettingValue>
{
#region Constructors
/* --------------------------------------------------------------------- */
///
/// SettingFolder
///
/// <summary>
/// Initializes a new instance of the SettingFolder class.
/// </summary>
///
/* --------------------------------------------------------------------- */
public SettingFolder() : this(Assembly.GetCallingAssembly()) { }
/* --------------------------------------------------------------------- */
///
/// SettingFolder
///
/// <summary>
/// Initializes a new instance of the SettingFolder class with the
/// specified assembly.
/// </summary>
///
/// <param name="assembly">Assembly object.</param>
///
/* --------------------------------------------------------------------- */
public SettingFolder(Assembly assembly) : this(assembly, Format.Registry, @"CubeSoft\CubePDF\v3") { }
/* --------------------------------------------------------------------- */
///
/// SettingFolder
///
/// <summary>
/// Initializes a new instance of the SettingFolder class with the
/// specified arguments.
/// </summary>
///
/// <param name="format">Serialization format.</param>
/// <param name="location">Location to save settings.</param>
///
/* --------------------------------------------------------------------- */
public SettingFolder(Format format, string location) :
this(Assembly.GetCallingAssembly(), format, location) { }
/* --------------------------------------------------------------------- */
///
/// SettingFolder
///
/// <summary>
/// Initializes a new instance of the SettingFolder class with the
/// specified arguments.
/// </summary>
///
/// <param name="assembly">Assembly object.</param>
/// <param name="format">Serialization format.</param>
/// <param name="location">Location to save settings.</param>
///
/// <remarks>
/// The overloaded constructor will be removed in the future.
/// </remarks>
///
/* --------------------------------------------------------------------- */
public SettingFolder(Assembly assembly, Format format, string location) :
base(format, location, assembly.GetSoftwareVersion())
{
AutoSave = false;
DocumentName = new(string.Empty);
}
#endregion
#region Properties
/* --------------------------------------------------------------------- */
///
/// Uid
///
/// <summary>
/// Gets the unique ID of the instance.
/// </summary>
///
/* --------------------------------------------------------------------- */
public Guid Uid { get; } = Guid.NewGuid();
/* --------------------------------------------------------------------- */
///
/// DocumentName
///
/// <summary>
/// Gets the normalized document name.
/// </summary>
///
/* --------------------------------------------------------------------- */
public DocumentName DocumentName { get; private set; }
/* --------------------------------------------------------------------- */
///
/// Digest
///
/// <summary>
/// Gets the SHA-256 message digest of the source file.
/// </summary>
///
/* --------------------------------------------------------------------- */
public string Digest { get; private set; }
#endregion
#region Methods
/* --------------------------------------------------------------------- */
///
/// Set
///
/// <summary>
/// Sets values based on the specified arguments.
/// </summary>
///
/// <param name="args">Program arguments.</param>
///
/* --------------------------------------------------------------------- */
public void Set(IEnumerable<string> args) => Set(new(args, Argument.Windows, true));
/* --------------------------------------------------------------------- */
///
/// Set
///
/// <summary>
/// Sets values based on the specified arguments.
/// </summary>
///
/// <param name="src">Program arguments.</param>
///
/* --------------------------------------------------------------------- */
public void Set(ArgumentCollection src)
{
var op = src.Options;
if (op.TryGetValue("DocumentName", out var doc)) DocumentName = new(doc);
if (op.TryGetValue("InputFile", out var input)) Value.Source = input;
if (op.TryGetValue("Digest", out var digest)) Digest = digest;
var dest = Io.Combine(PathExplorer.GetDirectoryName(Value.Destination), DocumentName.Value);
var name = PathExplorer.HasExtension(dest) ? Io.GetBaseName(dest) : Io.GetFileName(dest);
var ext = Value.Extensions.Get(Value.Format);
Value.Destination = Io.Combine(Io.GetDirectoryName(dest), $"{name}{ext}");
Value.DeleteSource = op.ContainsKey("DeleteOnClose");
}
#endregion
}
================================================
FILE: Applications/Converter/Core/Sources/SettingMigration.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using Cube.DataContract;
using Cube.Pdf.Ghostscript;
/* ------------------------------------------------------------------------- */
///
/// SettingMigration
///
/// <summary>
/// Provides extended methods for migrating user settings from version 2
/// to version 3.
/// </summary>
///
/* ------------------------------------------------------------------------- */
public static class SettingMigration
{
#region Methods
/* --------------------------------------------------------------------- */
///
/// Migrate
///
/// <summary>
/// Migrates user settings from version 2 to version 3.
/// </summary>
///
/// <param name="src">Object for version 3 user settings.</param>
/// <param name="location">Serialized path for version 2.</param>
///
/* --------------------------------------------------------------------- */
public static void Migrate(this SettingFolder src, string location) =>
Migrate(src, src.Format, location);
/* --------------------------------------------------------------------- */
///
/// Migrate
///
/// <summary>
/// Migrates user settings from version 2 to version 3.
/// </summary>
///
/// <param name="src">Object for version 3 user settings.</param>
/// <param name="format">Serialized format for version 2.</param>
/// <param name="location">Serialized path for version 2.</param>
///
/* --------------------------------------------------------------------- */
public static void Migrate(this SettingFolder src, DataContract.Format format, string location)
{
if (src.Format.Exists(src.Location)) { src.Load(); return; }
if (!format.Exists(location)) return;
var v3 = src.Value;
var v2 = format.Deserialize<SettingV2>(location);
v3.Format = v2.Format;
v3.SaveOption = v2.SaveOption;
v3.ColorMode = v2.Grayscale ? ColorMode.Grayscale : ColorMode.SameAsSource;
v3.Orientation = v2.Orientation;
v3.Encoding = v2.ImageFilter ? Encoding.Jpeg : Encoding.Flate;
v3.Downsampling = v2.Downsampling;
v3.Resolution = v2.Resolution;
v3.EmbedFonts = v2.EmbedFonts;
v3.PostProcess = v2.PostProcess;
v3.UserProgram = v2.UserProgram;
v3.Destination = v2.Destination;
v3.Temp = v2.Temp;
// Metadata
v3.Metadata.Version = v2.Metadata.Version;
v3.Metadata.Author = v2.Metadata.Author;
v3.Metadata.Title = v2.Metadata.Title;
v3.Metadata.Subject = v2.Metadata.Subject;
v3.Metadata.Keywords = v2.Metadata.Keywords;
v3.Metadata.Creator = v2.Metadata.Creator;
v3.Metadata.Producer = v2.Metadata.Producer;
v3.Metadata.Options = v2.Metadata.Options;
// View
v3.Appendix.SourceVisible = v2.SourceVisible;
v3.Appendix.ExplicitDirectory = v2.ExplicitDirectory;
v3.Appendix.Language = v2.Language;
src.Save();
format.Delete(location);
}
#endregion
}
================================================
FILE: Applications/Converter/Core/Sources/SettingOptions.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
/* ------------------------------------------------------------------------- */
///
/// SaveOption
///
/// <summary>
/// Specifies how to save when the specified path exists.
/// </summary>
///
/* ------------------------------------------------------------------------- */
public enum SaveOption
{
/// <summary>Overwrite</summary>
Overwrite = 0,
/// <summary>Merge at the beginning</summary>
MergeHead = 1,
/// <summary>Merge at the end</summary>
MergeTail = 2,
/// <summary>Rename</summary>
Rename = 3,
}
/* ------------------------------------------------------------------------- */
///
/// PostProcess
///
/// <summary>
/// Specifies the post process.
/// </summary>
///
/* ------------------------------------------------------------------------- */
public enum PostProcess
{
/// <summary>Open</summary>
Open = 0,
/// <summary>Open the directory that the saved file exists</summary>
OpenDirectory = 3,
/// <summary>Nothing</summary>
None = 1,
/// <summary>Executes the user specified program</summary>
Others = 2,
}
================================================
FILE: Applications/Converter/Core/Sources/SettingV2.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using System.Runtime.Serialization;
using Cube.Globalization;
using Cube.Pdf.Ghostscript;
/* ------------------------------------------------------------------------- */
///
/// SettingV2
///
/// <summary>
/// Represents the user settings. This format is version 2 and is currently
/// used only for migration purposes.
/// </summary>
///
/* ------------------------------------------------------------------------- */
[DataContract]
class SettingV2 : DataContract.SerializableBase
{
#region DataMember
/* --------------------------------------------------------------------- */
///
/// Format
///
/// <summary>
/// Gets or sets the converting format.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember(Name = "FileType")]
public Format Format
{
get => Get(() => Format.Pdf);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// SaveOption
///
/// <summary>
/// Gets or sets a value that represents save options.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember(Name = "ExistedFile")]
public SaveOption SaveOption
{
get => Get(() => SaveOption.Overwrite);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Orientation
///
/// <summary>
/// Gets or sets the page orientation.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public Orientation Orientation
{
get => Get(() => Orientation.Auto);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Downsampling
///
/// <summary>
/// Gets or sets a value that represents the method of downsampling.
/// </summary>
///
/// <remarks>
/// Since it is not expected to have a significant effect, it is
/// fixed at None and cannot be selected by the user.
/// </remarks>
///
/* --------------------------------------------------------------------- */
[DataMember]
public Downsampling Downsampling
{
get => Get(() => Downsampling.None);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Resolution
///
/// <summary>
/// Gets or sets the resolution.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public int Resolution
{
get => Get(() => 600);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Grayscale
///
/// <summary>
/// Gets or sets a value indicating whether to convert in grayscale.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public bool Grayscale
{
get => Get(() => false);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// EmbedFonts
///
/// <summary>
/// Gets or sets a value indicating whether to embed fonts.
/// </summary>
///
/// <remarks>
/// A problem with garbled characters exists when the font is not
/// embedded, so the property is hidden from the user.
/// </remarks>
///
/* --------------------------------------------------------------------- */
[DataMember]
public bool EmbedFonts
{
get => Get(() => true);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// ImageFilter
///
/// <summary>
/// Gets or sets a value indicating whether to compress embedded
/// images as JPEG format.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public bool ImageFilter
{
get => Get(() => true);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Linearization
///
/// <summary>
/// Gets or sets a value indicating whether to apply the
/// linearization option (a.k.a Web optimization).
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember(Name = "WebOptimize")]
public bool Linearization
{
get => Get(() => false);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// SourceVisible
///
/// <summary>
/// Gets or sets a value indicating whether to display the
/// path of the source file.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public bool SourceVisible
{
get => Get(() => false);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// ExplicitDirectory
///
/// <summary>
/// Gets or sets a value indicating whether to set a value to the
/// InitialDirectory property explicitly when showing a dialog
/// that selects the file or directory name.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public bool ExplicitDirectory
{
get => Get(() => false);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// PlatformCompatible
///
/// <summary>
/// Gets or sets a value indicating whether to ignore
/// PlatformNotSupportedException exceptions as possible.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public bool PlatformCompatible
{
get => Get(() => true);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Language
///
/// <summary>
/// Gets or sets the displayed language.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public Language Language
{
get => Get(() => Language.Auto);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// PostProcess
///
/// <summary>
/// Gets or sets a value that represents the post-process.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public PostProcess PostProcess
{
get => Get(() => PostProcess.None);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// UserProgram
///
/// <summary>
/// Gets or sets the path of the user program that executes after
/// converting.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public string UserProgram
{
get => Get(() => string.Empty);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Destination
///
/// <summary>
/// Gets or sets the path to save the converted file.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember(Name = "LastAccess")]
public string Destination
{
get => Get(PathExplorer.GetDesktopDirectoryName);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Temp
///
/// <summary>
/// Gets or sets the path of the temp directory.
/// </summary>
///
/// <remarks>
/// Ghostscript may fail to process paths that contain multibyte
/// characters. Therefore, move to a directory that does not contain
/// multibyte characters and run the process.
/// </remarks>
///
/* --------------------------------------------------------------------- */
[DataMember]
public string Temp
{
get => Get(PathExplorer.GetDefaultDirectoryName);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Metadata
///
/// <summary>
/// Gets or sets the PDF metadata.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public Metadata Metadata
{
get => Get(() => new Metadata());
set => Set(value);
}
#endregion
}
================================================
FILE: Applications/Converter/Core/Sources/SettingValue.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using System;
using System.Runtime.Serialization;
using Cube.Pdf.Ghostscript;
/* ------------------------------------------------------------------------- */
///
/// SettingValue
///
/// <summary>
/// Represents the user settings.
/// </summary>
///
/* ------------------------------------------------------------------------- */
[DataContract]
public class SettingValue : DataContract.SerializableBase
{
#region DataMember
/* --------------------------------------------------------------------- */
///
/// Format
///
/// <summary>
/// Gets or sets the format of the conversion result.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public Format Format
{
get => Get(() => Format.Pdf);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// SaveOption
///
/// <summary>
/// Gets or sets a value representing save options.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public SaveOption SaveOption
{
get => Get(() => SaveOption.Overwrite);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// ColorMode
///
/// <summary>
/// Gets or sets the color mode.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public ColorMode ColorMode
{
get => Get(() => ColorMode.SameAsSource);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Orientation
///
/// <summary>
/// Gets or sets the page orientation.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public Orientation Orientation
{
get => Get(() => Orientation.Auto);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Encoding
///
/// <summary>
/// Gets or sets the compression encoding.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public Encoding Encoding
{
get => Get(() => Encoding.Jpeg);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Downsampling
///
/// <summary>
/// Gets or sets a value representing the method for downsampling.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public Downsampling Downsampling
{
get => Get(() => Downsampling.Bicubic);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Resolution
///
/// <summary>
/// Gets or sets the resolution.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public int Resolution
{
get => Get(() => 600);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// EmbedFonts
///
/// <summary>
/// Gets or sets a value indicating whether to embed fonts.
/// </summary>
///
/// <remarks>
/// A problem with garbled characters exists when the font is not
/// embedded, so the property is hidden from the user.
/// </remarks>
///
/* --------------------------------------------------------------------- */
[DataMember]
public bool EmbedFonts
{
get => Get(() => true);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// PostProcess
///
/// <summary>
/// Gets or sets a value that represents the post-process.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public PostProcess PostProcess
{
get => Get(() => PostProcess.None);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// UserProgram
///
/// <summary>
/// Gets or sets the path of the user program that executes after
/// converting.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public string UserProgram
{
get => Get(() => string.Empty);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Destination
///
/// <summary>
/// Gets or sets the path to save the conversion result.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public string Destination
{
get => Get(PathExplorer.GetDesktopDirectoryName);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Temp
///
/// <summary>
/// Gets or sets the path of the temp directory.
/// </summary>
///
/// <remarks>
/// Ghostscript may fail to process paths that contain multibyte
/// characters. Therefore, move to a directory that does not contain
/// multibyte characters and run the process.
/// </remarks>
///
/* --------------------------------------------------------------------- */
[DataMember]
public string Temp
{
get => Get(PathExplorer.GetDefaultDirectoryName);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Metadata
///
/// <summary>
/// Gets or sets the PDF metadata.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public Metadata Metadata
{
get => Get(() => new Metadata());
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Extensions
///
/// <summary>
/// Gets or sets the user settings of the default extension for each
/// file format.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public ExtensionList Extensions
{
get => Get(() => new ExtensionList());
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Appendix
///
/// <summary>
/// Gets or sets the user settings not directly related to the main
/// conversion process.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public SettingValueEx Appendix
{
get => Get(() => new SettingValueEx());
set => Set(value);
}
#endregion
#region Non-DataMember
/* --------------------------------------------------------------------- */
///
/// Encryption
///
/// <summary>
/// Gets or sets the encryption information.
/// </summary>
///
/* --------------------------------------------------------------------- */
public Encryption Encryption
{
get => Get(() => new Encryption());
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Source
///
/// <summary>
/// Gets or sets the path of the source file.
/// </summary>
///
/* --------------------------------------------------------------------- */
public string Source
{
get => Get(() => string.Empty);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// DeleteSource
///
/// <summary>
/// Gets or sets a value indicating whether to delete the source
/// file after converting.
/// </summary>
///
/* --------------------------------------------------------------------- */
public bool DeleteSource
{
get => Get(() => false);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Linearization
///
/// <summary>
/// Gets or sets a value indicating whether to apply the
/// linearization option.
/// </summary>
///
/* --------------------------------------------------------------------- */
[Obsolete("Linearized PDF is no longer supported")]
public bool Linearization { get; set; } = false;
#endregion
}
================================================
FILE: Applications/Converter/Core/Sources/SettingValueEx.cs
================================================
/* ------------------------------------------------------------------------- */
//
// Copyright (c) 2010 CubeSoft, Inc.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero 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 Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
/* ------------------------------------------------------------------------- */
namespace Cube.Pdf.Converter;
using System.Runtime.Serialization;
using Cube.DataContract;
using Cube.Globalization;
/* ------------------------------------------------------------------------- */
///
/// SettingValueEx
///
/// <summary>
/// Represents user settings not directly related to the main conversion
/// process.
/// </summary>
///
/* ------------------------------------------------------------------------- */
[DataContract]
public class SettingValueEx : SerializableBase
{
#region Properties
/* --------------------------------------------------------------------- */
///
/// SourceVisible
///
/// <summary>
/// Gets or sets a value indicating whether to display the
/// path of the source file.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public bool SourceVisible
{
get => Get(() => false);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// ExplicitDirectory
///
/// <summary>
/// Gets or sets a value indicating whether to set a value to the
/// InitialDirectory property explicitly when showing a dialog
/// that selects the file or directory name.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public bool ExplicitDirectory
{
get => Get(() => false);
set => Set(value);
}
/* --------------------------------------------------------------------- */
///
/// Language
///
/// <summary>
/// Gets or sets the displayed language.
/// </summary>
///
/* --------------------------------------------------------------------- */
[DataMember]
public Language Language
{
get => Get(() => Language.Auto);
set => Set(value);
}
#endregion
}
================================================
FILE: Applications/Converter/Documents/English/License.md
================================================
License FAQ about CubePDF series
====
Copyright © 2010 CubeSoft, Inc.
GNU Affero General Public License version 3 (AGPLv3)
support@cube-soft.jp
https://www.cube-soft.com/cubepdf/
### Introduction
All CubePDF series are licensed under the [GNU Affero General Public License version 3 (AGPLv3)](https://www.gnu.org/licenses/agpl-3.0.en.html). AGPLv 3 is an [Open source license](https://en.wikipedia.org/wiki/Open-source_license), and CubePDF series refer to the following applications.
* [CubePDF](https://www.cube-soft.com/cubepdf/)
* [CubePDF Utility](https://www.cube-soft.com/cubepdfutility/)
* [CubePDF Page](https://www.cube-soft.com/cubepdfpage/)
* [CubePDF Clip (Japanese)](https://clown.cube-soft.jp/entry/2017/03/24/cubepdf-clip-1.0.0)
* [CubePDF Viewer (Japanese)](https://www.cube-soft.com/cubepdfviewer/)
* [CubePDF ImagePicker (Japanese)](https://www.cube-soft.com/cubepdfimagepicker/)
This article describes Frequently Asked Questions (FAQ) about the license and terms of use of CubePDF series. Note that since the [CubeVP (Japanese)](https://www.cube-soft.com/cubevp/) is not AGPLv3 but proprietary license, it is excluded from this article. excluded in this article.
### Why is the software available for free?
CubePDF series sometimes bundles other software with the installer and asks if you want to install them as well. This distribution method is commonly referred to as bundleware. These bundled software bundles directly or indirectly defray the cost of ongoing development and maintenance of the Cube series, and are offered free of charge. With regard to bundling with CubePDF series, we are following the policy of not installing the software by default (opt-in).
### Can I use it within my company or for commercial purposes?
Yes, CubePDF series can be used freely by both individuals and corporations. For example, you can use it for your company's business, or use it as a part of the system you sell, etc. You can also use it for commercial purposes.
### Are any restrictions on how I can use it?
No, there is no limit to the number of installations of CubePDF Series, and you can use it in any way you want, as long as it is feasible.
However, in principle, you are responsible for your own use. CubeSoft, Inc. provides a support e-mail address, support@cube-soft.jp, and we will try to respond to you as much as possible. However, some of your inquiries may be related to special conditions, and we may not be able to answer them. In particular, since [CubePDF](https://www.cube-soft.com/cubepdf/) works with a wide variety of applications (through printing) due to its nature, there are many things that we cannot understand.
### Can I distribute the software from my company's server?
Yes, you can save the CubePDF series installer on your internal server and redistribute it freely. However, CubePDF series is constantly being updated. If you want to redistribute it elsewhere, please make sure to check for the latest version as regularly as possible.
### What is your support policy?
The Cube series will remain supported until explicitly notified of the end of development. However, all vulnerabilities and other functionality fixes will be done in the form of version upgrades. Therefore, as a general rule, only the latest version of each product will be supported.
### Is the source code available to the public?
Yes, you can get the source code of CubePDF series from [cube.pdf - GitHub](https://github.com/cube-soft/cube.pdf). Note that CubePDF Viewer has not been migrated yet, so please refer to [cubepdfviewer - GitHub](https://github.com/cube-soft/cubepdfviewer) for the source code of CubePDF Viewer.
================================================
FILE: Applications/Converter/Documents/English/Question.md
================================================
CubePDF FAQ
====
Copyright © 2010 CubeSoft, Inc.
GNU Affero General Public License version 3 (AGPLv3)
support@cube-soft.jp
https://www.cube-soft.com/cubepdf/
### Introduction
This article contains Frequently Asked Questions (FAQ) about usage of [CubePDF](https://www.cube-soft.com/cubepdf/). For more information on using CubePDF, please refer to [CubePDF Documents](https://en.cube-soft.jp/entry/cubepdf).
### I don't know how to use CubePDF

CubePDF is a software called **Virtual Printer**. First, open the content you want to convert to PDF in a suitable application such as Microsoft Edge, Google Chrome, Microsoft Word, Excel, PowerPoint, etc. Then, select the **Print** menu of those applications and select CubePDF from the list of printers to run it. Finally, make the necessary settings on the CubePDF main window and click the **Convert** button to finish.
### I cannot find the CubePDF icon on my desktop
CubePDF is a software called **Virtual Printer**, so you cannot run CubePDF directly from the desktop or the start menu, or associate it with a PDF file, etc., as you can with general applications. Therefore, no shortcut (icon) of CubePDF will be created on the desktop.
### Work differently than before
CubeSoft, Inc. provides the following software under the name of **CubePDF Series**.
* [CubePDF](https://www.cube-soft.com/cubepdf/) ... Virtual Printer
* [CubePDF Utility](https://www.cube-soft.com/cubepdfutility/) ... PDF page based editor
* [CubePDF Page](https://www.cube-soft.com/cubepdfpage/) ... PDF file based editor
* [CubePDF Clip](https://clown.cube-soft.jp/entry/2017/03/24/cubepdf-clip-1.0.0) ... Software for attaching to PDF files (Japanese)
* [CubePDF Viewer](https://www.cube-soft.com/cubepdfviewer/) ... PDF viewer (Japanese)
* [CubePDF ImagePicker](https://www.cube-soft.com/cubepdfimagepicker/) ... PDF embedded image picker (Japanese)
**These are all different software**. First, please make sure that the software installed in your environment is appropriate for your use. In addition, the functions provided and the layout of the GUI may be changed as a result of version updates.
### Unable to open the PDF file
CubePDF is a software that provides only the function of conversion to PDF files. Therefore, you will need an application to view the converted file. For example, you can use [Adobe Acrobat Reader DC](https://get.adobe.com/reader/) as an application to view PDF files.

Also, if no application to open the converted file is installed on your PC, you may encounter an error when running CubePDF. In this case, please change the **Post process** item on the main window to **None** to avoid this problem.
### Filesize of PDF files suddenly increased

For conversion to PDF files, even if the content looks the same, the file size may vary greatly depending on the settings of the application executing the printing and minor differences in the content itself.
However, if there is a large difference in the file size of the converted PDF file despite printing the same content from the same application, it is expected that the difference is most likely due to whether or not the images were compressed to JPEG format in CubePDF. In this case, please check if the **Compress PDF images as JPEG** item in the **Others** tab of the main window is enabled.
### Fail to merge PDF files

If the merging of PDF files fails, one of the possible causes is that the destination PDF file is encrypted by a password. For example, if you see the word **Protected** or **Secured** when you open a PDF file with Adobe Acrobat Reader DC, the PDF file is encrypted. In this case, you need to enter the **Owner Password** of the PDF file to be merged in the **Security** tab of the CubePDF main window.

Also, if you receive the error message "The process cannot access the file because the file is being used by another process" as described above, it is expected that the PDF file to be merged is most likely being opened by some application. In this case, please check that you have not opened the PDF file.
### Can I edit a PDF file?
CubePDF is basically a software for converting PDF files, although you can merge them with other PDF files and set document properties, passwords, etc. during conversion. If you want to edit an existing PDF file in page units such as merging, splitting, rotating, etc., you can use [CubePDF Utility](https://www.cube-soft.com/cubepdfutility/) or [CubePDF Page](https://www.cube-soft.com/cubepdfpage/).
### Does network communication occur during execution?
CubePDF itself does not intentionally perform network communication at runtime; the only network communication related to CubePDF is the update check performed at PC startup. In the update check, the version numbers of CubePDF, Windows and .NET are sent. If you want to disable the update check, please disable the **Check for updates on startup** item in the **Others** tab of the main window and click the **Save settings** button at the bottom left.

Also, please refer to [About communication that occurs when running CubePDF (Japanese)](https://clown.cube-soft.jp/entry/2011/10/26/upnp) for the problems we have received in the past. We recognize that this is done by Windows itself and cannot be controlled by CubePDF.
### What version of Windows does it work on?
CubePDF works only on Windows versions within the valid period. There is no guarantee that CubePDF will work on Windows with expired support, and no fix will be made just for it if it stops working.
As for Windows 10 and Windows 11, considering the framework and libraries CubePDF uses, we believe it is unlikely that there will be a situation where CubePDF will not work on a specific version. For this reason, we will only announce when there is a specific problem, and in other cases, we do not plan to specify whether or not each version will work. In the end, please install the software yourself to determine whether or not it works and whether or not you can use it.
As for Windows Server, for the same reason, we expect it to work basically without problems. In addition, we have received many reports that it actually works. However, due to the fact that we are not able to conduct sufficient testing in the development environment, we may not be able to verify or solve problems specific to some server editions when they occur. Please be aware of this.
### Are any runtimes, frameworks, etc. required?
.NET Framework 3.5 or later (4.7 or later is strongly recommended) is required to use CubePDF as it is developed using it. .NET Framework should already be installed in most cases, but if you need to install it, you can download it from [Download .NET Framework](https://dotnet.microsoft.com/download/dotnet-framework).
Also, CubePDF uses PScript5, which is a standard Windows printer driver, to build a virtual printer. Therefore, if the corresponding modules (pscript5.dll and ps5ui.dll) do not exist on your PC, the installation will fail. If the installation fails, please contact us at support@cube-soft.jp with ```C:\ProgramData\CubeSoft\CubePDF\Log\CubeVpc.log``` as an attachment.
### How do I update my version?
To update CubePDF, download the latest version of the installer from the [CubePDF download page](https://www.cube-soft.com/cubepdf/) and run it again, as you did when you first installed it.
### What are the install options?
The CubePDF installer is built using a framework called [Inno Setup](http://www.jrsoftware.org/isinfo.php). For a list of the installation options provided by Inno Setup, see [Setup Command Line Parameters](http://www.jrsoftware.org/ishelp/index.php?topic=setupcmdline).
### CubePDF printer does not appear in the list
CubePDF outputs installation and execution logs in ```C:\ProgramData\CubeSoft\CubePdf\Log``` folder. If you encounter any problems, please contact us at support@cube-soft.jp with these logs attached. Also, if you encounter any errors while using CubePDF, please attach the logs as well.
### Can I hide the GUI and automate the conversion?
No, there is no setting to hide the CubePDF main window. However, [CubeVP (Japanese)](https://www.cube-soft.com/cubevp/) allows users to create more flexible custom virtual printers by programming, including hiding the main window. CubeVP can be used free for personal use, so please consider it as well. In addition, [Tutorial (Japanese)](https://clown.cube-soft.jp/entry/cubevp/tutorial) describes how to register a virtual printer to run CubePDF without the main window.
================================================
FILE: Applications/Converter/Documents/English/Readme.md
================================================
CubePDF Documents
====
Copyright © 2010 CubeSoft, Inc.
GNU Affero General Public License version 3 (AGPLv3)
support@cube-soft.jp
https://www.cube-soft.com/cubepdf/
## Overview

CubePDF is installed as a **Virtual Printer**. Therefore, any application that has a **Print** button, such as Microsoft Edge, Google Chrome, Microsoft Word, Excel, PowerPoint, etc., can be converted to PDF in the following 3 steps.
1. Display the file you want to convert to PDF in an appropriate application and select **Print**.
2. Select **CubePDF** from the list of available printers and click the **Print** button.
3. Confirm the location of the file on the main window of CubePDF, and click the **Convert** button.
If a PDF file with the specified name already exists, you can merge it into an existing PDF file. Existing PDF files can be processed in the following four ways.
* **Overwrite**
Overwrite an existing PDF file with a new PDF file.
* **Merge at the begining**
Merge the converted content into the beginning of an existing PDF file.
* **Merge at the end**
Merge the converted content at the end of an existing PDF file.
* **Rename**
Save the file automatically under a different name, such as sample(2).pdf.
Note that if the destination PDF file is protected by a password, it can only be merged if the same owner password is set in the security tab.
### Attention
CubePDF is a software called **Virtual Printer**, which runs via **Printing** in other applications. Therefore, you cannot run CubePDF directly from the desktop or start menu, or associate it with a PDF file, etc., as you can with regular applications.
In addition, CubePDF only provides the conversion function, and another application is required to view the converted files (for example, [Adobe Acrobat Reader DC](https://get.adobe.com/reader/), etc.).
## List of converting operations and settings
### General
CubePDF can also convert to file formats other than PDF. If you want to convert to a file format other than PDF, please select the file type you want to convert from the **Format** selection.
Note that for file formats that cannot hold multiple pages, such as PNG, a file will be created for each page to be converted. For example, if you specify Sample.png as the output file name, the file will actually be created as Sample-01.png, Sample-02.png, and so on.

If the selected format is PDF, you can select the PDF version, which can be found to the right of the **Format** selection.
The **Color** item allows you to specify the color of the converted fonts, shapes, and embedded images. The items that can be set are as follows:
* **Auto**
Preserves the colors of the print data as they are.
* **RGB**
Converts to RGB. This setting is similar to **Auto** in most cases.
* **Grayscale**
Converts to grayscale.
* **Monochrome**
Converts to monochrome (black and white).
Note that the monochrome conversion is supported only for PNG, BMP, and TIFF bitmap image formats.
For other file formats, you can select the monochrome item, but it will actually be converted as **Grayscale**.
The **Resolution** item is mainly used for file size compression (down-sampling). Therefore, even if you set a higher resolution than the original data, the quality and file size may not change. Also, if the selected format is PDF, PS, or EPS, only embedded images are affected by the settings.
The **Orientation** item allows you to set the orientation of the converted file. The items that can be set are as follows:
* **Portrait**, **Landscape**
Aligns the orientation of all pages vertically or horizontally.
* **Auto**
Preserves the orientation of each page in the original file. If the selected format is other than PDF, the behavior will be the same as when **Portrait** is selected.
Other options for conversion are as follows:
* **Compress PDF images as JPEG**
Compress the embedded images into JPEG format when the conversion process is executed.
* **Optimize PDF for fast Web view**
When viewing a PDF file on the Web, you usually have to wait until all the data has been downloaded. If you enable this option, it will be optimized in such a way that you can view the part that has been downloaded first. This is a specification called Linearized PDF. However, this option cannot be applied to an encrypted PDF file. CubePDF will ignore this option if any security settings are enabled.
The **Post process** item allows you to set the operation to be performed after the conversion by CubePDF is finished. The items that can be set are as follows:
* **Open**
Open the converted file in its associated application.
* **Open directory**
Open the folder where you saved the converted file.
* **None**
Exit without doing anything.
* **Others**
Execute the specified program.
Note that if you specify any other program, CubePDF will execute it with the path of the converted file as an argument.
### Metadata

If the selected format is PDF, you can register information such as the title, author, etc. The information registered here can be confirmed in the properties window of a PDF viewer such as Adobe Acrobat Reader DC. In addition, the **Layout** item allows you to change the way the PDF is displayed when it is opened with a PDF viewer.
If you omit these information, CubePDF will create PDF files with Title, Author, Subtitle, Keywords left blank and Creator set to "CubePDF".
#### About the source metadata
We have seen cases where metadata (document properties) such as title, author, etc., set in the original printed file is unintentionally leaked when the converted PDF file is published. Due to the facts, CubePDF has a policy of automatically erasing such information.
### Security
If the selected format is PDF, you can set a password to protect the created PDF file. To set a password, first enable the **Encrypt the PDF with password** option, then enter the same password twice in the **Password** and **Confirm** fields.

Next, in the **Operations** section, specify the operations to be allowed or restricted to users. Available settings are as follows:
* Open with password
* Allow printing
* Allow copying text and images
* Allow inserting and removing pages
* Allow using contents for accessibility
* Allow filling in forms
* Allow creating adn editing annotations
#### Attention about password sharing
If you enable the item **Open with password** and also enable the item **Use owner password**, CubePDF will set the user password to the same password as the owner password.
However, **if you share both passwords, the restrictions on printing and copying operations may not work properly depending on the PDF viwer**. This is probably because the PDF viewer recognizes that the PDF file was opened with the owner password. For this reason, CubePDF is designed not to accept permission settings when it is shared with the owner password.
Moreover, if a PDF file is recognized as having been opened with an owner password, all PDF editing, including removal of the user password, will be possible. Please make sure you fully understand these behaviors when you share the user password with the owner password.
#### Attention about reconversion for the purpose of setting/removing passwords
In some cases, CubePDF is used to reconvert PDF files in order to set a password for the PDF file (e.g., by displaying the PDF file in Microsoft Edge or Adobe Acrobat Reader DC and then printing it). If you use this operation, the appearance of the PDF may differ from the original PDF due to the fact that the printing process is performed once. If your goal is to set a password for a PDF file, please consider using [CubePDF Utility](https://www.cube-soft.com/cubepdfutility/) or [CubePDF Page](https://www.cube-soft.com/cubepdfpage/).
Conversely, we have seen cases where PDF files are reconverted to remove passwords and other security settings set in the PDF file. However, some applications propagate various security settings when printing, in which case CubePDF will fail to convert. This operation is completely unsupported. And please note that no modifications will be made to change this behavior.
### Other settings and version information

The **About** section displays the version information of CubePDF, Windows, and .NET Framework. You can also check which edition of x86, x64, or ARM64 you are running.
If you enable the **Check for updates on startup** item, you will receive a notification in the lower right corner of your computer when CubePDF is updated. Checking for updates will be performed when your computer starts up. The information sent for checking the update is the version number of CubePDF, Windows, and .NET.
In the **Language** section, you can set the display language for the menu and other items on the CubePDF main window. There are three supported languages, **English**, **German** and **Japanese**. If you select **Auto** for the display language, one of the languages will be automatically selected according to the Windows language settings.
### Save settings
When you change any item in the CubePDF main window, the **Save Settings** button will become clickable. If you click it at this time, the current settings will be saved, and will be used as the initial settings for the next time CubePDF is executed.
For example, CubePDF will save the converted files on the desktop by default, but if you click the **Save Settings** button after specifying a different folder as the destination, CubePDF will use the specified folder as the default setting for the saving folder from next time on.
However, various security items and the file name part of the destination are not covered by the function to save settings.
## CubePDF printer settings

CubePDF has settings for the **CubePDF printer** in addition to the application settings described above. To change the printer settings, select **Devices**, **Printers & scanners**, **CubePDF**, **Manage**, and **Print preferences** in **Settings**. You can also do the same from **Control Panel** in Windows 7. Right-click CubePDF on the window that appears in **Devices and Printers** and select **Print preferences**.

In the print settings, the **Paper/Quality** tab allows you to change the settings for printing in black and white or color. For other settings, click the **Advanced ...** button at the bottom right.
**Paper Size** will be reflected in the size of each page after conversion. The values that can be set are mainly those corresponding to the actual paper size, such as A0-A6. Note that **Slide** is the size corresponding to the default value of Microsoft PowerPoint (4:3).
**Print Quality** affects the quality of the converted image data, the higher the value, the higher the quality and the larger the file size. The **Resolution** setting in the CubePDF application will be limited to the value set here.
**Scaling** is a setting to convert the source content to a larger or smaller size. The default value is 100 when converting at equal size. In some environments, this default value is set to a very large value. If the converted PDF is unusually large, check this setting.
**TrueType Font Download Option** under **PostScript Options** is a setting related to the character conversion method, and can be set as follows:
* **Native TrueType**
Converted as text and the font information is retained. However, some applications, including many Web browsers such as Microsoft Edge and Google Chrome, perform outlining to convert text into graphics during the printing process. Note that in this case, regardless of the printer settings, the text information will be lost.
* **Outline**
Converts text as graphics during printing. In this case, font information will be lost, but this has the effect of reducing problems such as misalignment after conversion.
* **Bitmap**
Converts text to a bitmap image for printing. This also solves some problems such as misalignment, but depending on the print quality and other settings, it may also cause problems such as jaggies.
* **Auto**
The printer will automatically choose between **Native TrueType**, **Outline**, and **Bitmap** settings.
The **Flip Left/Right Print** setting under **PostScript Options** is for converting the source content to be flipped left/right or up/down, and is normally set to **No**. In some environments, the default value is set to **Yes**. If the converted PDF is flipped upside down, please check this setting.
### Attention
The CubePDF printer settings may not be reflected depending on the application that executes printing, for example, if it has its own print settings. Please check the settings of the application carefully for the print settings.
## How to uninstall CubePDF

To uninstall CubePDF, first select **Apps** in **Settings** or **Uninstall a program** in **Control Panel**. Then select the CubePDF icon on the window that appears and run the **Uninstall** item.
## Having problems with CubePDF?
CubePDF outputs logs in the ```C:\ProgramData\CubeSoft\CubePdf\Log``` folder. If you encounter any problems, please contact us at support@cube-soft.jp with these logs attached.
================================================
FILE: Applications/Converter/Documents/Japanese/License.md
================================================
CubePDF シリーズのライセンスや利用条件等について
====
Copyright © 2010 CubeSoft, Inc.
GNU Affero General Public License version 3 (AGPLv3)
support@cube-soft.jp
https://www.cube-soft.jp/cubepdf/
### はじめに
CubePDF シリーズは全て [GNU Affero General Public License version 3 (AGPLv3)](https://www.gnu.org/licenses/agpl-3.0.ja.html) と言うライセンスで提供しています。AGPLv3 は [オープンソースライセンス](https://ja.wikipedia.org/wiki/オープンソースライセンス) と呼ばれるものの一つです。また、CubePDF シリーズとは下記のアプリケーションを指します。
* [CubePDF](https://www.cube-soft.jp/cubepdf/)
* [CubePDF Utility](https://www.cube-soft.jp/cubepdfutility/)
* [CubePDF Page](https://www.cube-soft.jp/cubepdfpage/)
* [CubePDF Clip](https://clown.cube-soft.jp/entry/2017/03/24/cubepdf-clip-1.0.0)
* [CubePDF Viewer](https://www.cube-soft.jp/cubepdfviewer/)
* [CubePDF ImagePicker](https://www.cube-soft.jp/cubepdfimagepicker/)
この記事では、CubePDF シリーズのライセンスや利用条件等について、よくある質問事項について記載します。尚、有償版である [CubeVP(カスタム仮想プリンターを構築する部分のみをパッケージしたもの)](https://www.cube-soft.jp/cubevp/) は AGPLv3 ではなくプロプライエタリなラインセンスを適用しているため、CubeVP に関しては、この記事では除外します。
### なぜ無料なのですか?

CubePDF シリーズでは、インストーラーに他のソフトウェアを同梱し、インストール時にそれらも併せてインストールするかどうかを尋ねる事があります。この配布方法は、一般的にバンドルウェアと呼ばれています。これらの同梱されたソフトウェアを通じて、Cube シリーズを継続的に開発・保守するための費用を直接的、あるいは間接的に捻出する事により、無料でのご提供を実現しています。
CubePDF シリーズへのバンドルに関しては、初期設定ではインストールしない方針を遵守した上で行っております(オプトイン方式)。詳細については、[Cube シリーズへのバンドル方針について](https://clown.cube-soft.jp/entry/bundle/policy) ページをご一読の上、ご理解いただけますと幸いです。また、アンインストール方法やバンドルを除去した有償版インストーラーについても併せてご案内しています。
### 会社内または商用で利用可能ですか?
はい。CubePDF シリーズは、個人・法人を問わず自由に利用する事ができます。例えば、会社内での業務に利用したり、販売するシステムの一部として利用する等、商用で利用する事も可能です。
### 利用方法に関して制限事項はありますか?
いいえ。CubePDF シリーズにはインストール台数等に制限はありません。また、実現可能ならば、インストールや実際の利用に際して、どのような形で利用して頂いても構いません。
ただし、利用に際しては原則として自己責任でお願いいたします。キューブ・ソフトでは support@cube-soft.jp と言うサポート用メールアドレスを公開していますので、可能な範囲であれば対応するよう心掛けています。しかし、ご連絡頂く内容の中には特殊な条件下での利用に関するものもあり、この場合には回答できない可能性が高いと予想されます。特に、[CubePDF](https://www.cube-soft.jp/cubepdf/) は性質上、多種多様なアプリケーションと(印刷を通じて)連携する事となりますので、弊社の方で把握できないものも多々存在します。
### 社内サーバから配布できますか?
はい。CubePDF シリーズのインストーラを社内サーバに保存し、そこから再配布する等も自由に行う事ができます。ただ、CubePDF シリーズは日々バージョンアップを重ねております。別の場所で再配布する場合には、できるだけ定期的に最新バージョンかどうかを確認して頂くようお願いします。
### 日本語のライセンス条文はありますか?
いいえ。AGPLv3 のラインセス条文は、英語のみが公式として承認されています。そのため、公式の日本語によるライセンス条文は存在しません。詳細については、[非公式な翻訳](https://www.gnu.org/licenses/translations.html) を参照下さい。
非公式な日本語翻訳に関しては、AGPLv3 そのものは存在しないようです。類似ライセンスである GNU General Public License version 3 (GPLv3) の日本語翻訳に関しては、例えば下記が存在します。
* [GNU 一般公衆利用許諾書(GNU GENERAL PUBLIC LICENSE)](http://gpl.mhatta.org/gpl.ja.html)
* [GNU GPLv3 解説書 - IPA 独立行政法人 情報処理推進機構](https://www.ipa.go.jp/osc/license1.html)
AGPLv3 と GPLv3 の違いについては、[GNU Affero GPL の理由](https://www.gnu.org/licenses/why-affero-gpl.html) 等を参照下さい。
### サポート期限はありますか?
キューブ・ソフトで無償提供している各種製品に関しては、明示的に開発終了の告知を行うまではサポート期間中としています。ただし、脆弱性への対応やその他の機能修正に関しては、全てバージョンアップと言う形で行われます。そのため、原則として、サポート対象となるものは各製品の最新バージョンのみとなります。
### ソースコードは公開されていますか?
はい。CubePDF シリーズのソースコードは [cube.pdf - GitHub](https://github.com/cube-soft/cube.pdf) から取得できます。尚、現在 CubePDF Viewer のみソースコードの移行が完了していません。そのため、CubePDF Viewer のソースコードは [cubepdfviewer - GitHub](https://github.com/cube-soft/cubepdfviewer) を参照下さい。
================================================
FILE: Applications/Converter/Documents/Japanese/Question.md
================================================
CubePDF の基本的な使用方法について
====
Copyright © 2010 CubeSoft, Inc.
GNU Affero General Public License version 3 (AGPLv3)
support@cube-soft.jp
https://www.cube-soft.jp/cubepdf/
### はじめに
この記事は [CubePDF](https://www.cube-soft.jp/cubepdf/) の基本的な使用方法について、よくある質問 (FAQ) をまとめたものです。CubePDF の使用方法については、[CubePDF ユーザーマニュアル](https://docs.cube-soft.jp/entry/cubepdf) も参照下さい。
### CubePDF の使い方が分かりません

CubePDF は **仮想プリンター** と呼ばれる類のソフトウェアです。まず、PDF に変換したい内容を Google Chrome や Microsoft Word など適当なアプリケーションで開きます。次に、それらのアプリケーションの **印刷** メニューを選択し、プリンター一覧の中から CubePDF を選択して実行します。そうすると CubePDF のメイン画面が表示されるので、必要な設定を行った後に変換ボタンをクリックすれば完了です。
### デスクトップに CubePDF のアイコンがありません
CubePDF は仮想プリンターと呼ばれる種類のソフトウェアなので、一般的なアプリケーションのように、デスクトップやスタートメニュー等から直接 CubePDF を 実行したり、PDF ファイル等に関連付けたりして利用する事はできません。そのため、デスクトップに CubePDF のショートカット(アイコン)が作成される事もありません。
### 以前と動作が異なります
株式会社キューブ・ソフトからは、**CubePDF シリーズ** と銘打って下記のソフトウェアを提供しています。
* [CubePDF](https://www.cube-soft.jp/cubepdf/) ... PDF ファイル等への変換(仮想プリンター)
* [CubePDF Utility](https://www.cube-soft.jp/cubepdfutility/) ... PDF ファイルの編集
* [CubePDF Page](https://www.cube-soft.jp/cubepdfpage/) ... PDF ファイルの結合・分割
* [CubePDF Clip](https://clown.cube-soft.jp/entry/2017/03/24/cubepdf-clip-1.0.0) ... PDF ファイルへの添付
* [CubePDF Viewer](https://www.cube-soft.jp/cubepdfviewer/) ... PDF ファイルの閲覧
* [CubePDF ImagePicker](https://www.cube-soft.jp/cubepdfimagepicker/) ... PDF ファイル中の画像抽出
**これらは全て別のソフトウェアとなります**。まず、ご利用環境にインストールしたソフトウェアが、自分の利用用途に沿ったものであるかどうかを確認して下さい。
また、提供される機能や GUI のレイアウト等はバージョンアップに伴って変更される事があります。
### PDF ファイルが開けません
CubePDF は PDF ファイル等への変換機能のみを提供するソフトウェアです。そのため、変換後のファイルを閲覧するには別途アプリケーションが必要となります。例えば、PDF ファイルを閲覧するアプリケーションとしては [Adobe Acrobat Reader DC](https://get.adobe.com/reader/) 等が挙げられます。

また、変換したファイルを開くためのアプリケーションがご利用の PC にインストールされていない場合、CubePDF 実行時にエラーとなる事があります。この場合、メイン画面の **ポストプロセス** の項目を **何もしない** に変更して回避して下さい。
### PDF ファイルのファイルサイズが突然大きくなりました

PDF ファイルへの変換については、一見同じような内容に見えても、印刷を実行するアプリケーションの設定や内容自体の細かな差によりファイルサイズが大きく変化する場合があります。
しかし、同じアプリケーションから同じ内容を印刷したにも関わらず、変換される PDF ファイルのファイルサイズに大きな差がある場合、CubePDF で画像を JPEG 形式に圧縮したかどうかの違いである可能性が高いと予想されます。この場合には、メイン画面 **その他** タブにある **PDF ファイル中の画像を JPEG 形式で圧縮する** の項目が有効であるかを確認して下さい。
### PDF ファイルの結合に失敗しました

PDF ファイルの結合に失敗した場合、考えられる可能性の一つとして結合先の PDF ファイルがパスワードによって保護されている事が挙げられます。PDF ファイルは、パスワード無しで開く事ができても、パスワードによって保護されている場合があります。例えば、Adobe Acrobat Reader で PDF ファイルを開いた時に「保護」と言う表示がある場合、その PDF ファイルはパスワードによって保護されています。この場合、CubePDF メイン画面 **セキュリティ** タブで、結合先 PDF ファイルの **管理用パスワード** を入力する必要があります。

また、上記のように「ファイルが別のプロセスで使用されているため、プロセスはファイルにアクセスできません」と言うエラーメッセージが表示された場合、結合先 PDF ファイルが何らかのアプリケーションで開かれている可能性が高いと予想されます。この場合は、PDF ファイルを開いていないか再度ご確認をお願いします。
### PDF ファイルを編集できますか?
CubePDF は、変換時に他の PDF ファイルに結合したり、文書プロパティやパスワード等の設定を行うことはできますが、基本的には PDF 等に変換するためのソフトウェアとなっています。既に存在する PDF ファイルに対して、結合、分割、回転等のページ単位の編集を行いたい場合、[CubePDF Utility](https://www.cube-soft.jp/cubepdfutility/) や [CubePDF Page](https://www.cube-soft.jp/cubepdfpage/) をご利用下さい。
### 実行時にネットワーク通信が発生しますか?
CubePDF は、実行時に CubePDF 自体が意図的にネットワーク通信を行う事はありません。CubePDF に関連するネットワーク通信は、PC 起動時に実行されるアップデート確認のみです。アップデート確認では、CubePDF、Windows、.NET Framework のバージョン番号を送信します。このアップデート確認を無効にしたい場合、メイン画面「その他」タブの「起動時にアップデートを確認する」項目を無効にした上で、左下にある「設定を保存」ボタンをクリックして下さい。

尚、過去にお問い合わせ頂いた問題については、[CubePDF 実行時に発生する通信について](https://clown.cube-soft.jp/entry/2011/10/26/upnp) をご覧ください。これに関しては Windows 自体が行っているものであり CubePDF 側で制御する事はできないと認識しています。
### Windows のどのバージョンで動作しますか?
CubePDF の動作対象となる Windows は、**サポート期限の有効な Windows** としています。サポート期限の切れた Windows に関しては、動作するかどうかの保証はありません。また、動作しなくなった場合、そのためだけの修正を行う事もありませんので、ご了承下さい。
Windows 10 および Windows 11 に関しては、利用するフレームワークやライブラリを鑑みても、基本的には特定のバージョンでのみ動作しなくなるような現象が発生する可能性は低いと考えています。そのため、何らかの固有の問題が発生した場合のみ告知する事とし、それ以外の場合には、バージョン毎に動作するかどうかを明示する予定はありません。尚、最終的には、ご自身でインストールする事によって動作および利用の可否を決定して下さい。
Windows Server に関しては、Windows 10 や Windows 11 と同様の理由で、基本的には問題なく動作すると予想しています。また、実際に数多くの動作報告も頂いています。ただ、開発環境側で十分なテストができない事もあり、何らかの Server エディション特有の問題が発生した時に検証や解決を行う事ができない場合があります。その点、ご了承下さい。
### 必要なランタイムやフレームワーク等はありますか?
CubePDF は .NET Framework を用いて開発しています。そのため、CubePDF を使用するためには .NET Framework 3.5 以降がインストールされている必要があります(4.7 以降を強く推奨)。.NET Framework は、現在では、ほとんどの場合においてインストール済のはずですが、もしインストールが必要になった場合 [Download .NET Framework](https://dotnet.microsoft.com/download/dotnet-framework) からダウンロードして下さい。
また、CubePDF は仮想プリンターを構築する際に、Windows の標準プリンタードライバーである PScript5 を利用します。そのため、ご利用の PC に該当モジュール(pscript5.dll および ps5ui.dll)が存在しない場合、インストールに失敗します。インストールに失敗した場合、```C:\ProgramData\CubeSoft\CubePDF\Log\CubeVpc.log``` を添付の上、support@cube-soft.jp までご連絡をお願いします。
### どうやってバージョンアップすれば良いですか?
CubePDF のバージョンアップを行う場合は、最初にインストールした時と同様に [CubePDF のダウンロードページ](https://www.cube-soft.jp/cubepdf/) から最新バージョンのインストーラーをダウンロードし、再度実行して下さい。
### インストールオプションを教えて下さい
CubePDF のインストーラは [Inno Setup](http://www.jrsoftware.org/isinfo.php) と言う開発用ソフトウェアを用いて作成されています。Inno Setup が提供するインストールオプションの一覧については [Setup Command Line Parameters](http://www.jrsoftware.org/ishelp/index.php?topic=setupcmdline) を参照下さい。
### CubePDF プリンターが一覧に表示されません
CubePDF は ```C:\ProgramData\CubeSoft\CubePdf\Log``` フォルダにインストールおよび実行ログを出力しています。問題が発生した時は、これらのログを添付して support@cube-soft.jp までご連絡下さい。また、CubePDF 使用中に何らかのエラーが発生した場合も同様にログの添付をお願いします。
### GUI を非表示にして変換を自動化できますか?
いいえ。CubePDF のメイン画面を非表示にする設定は存在しません。ただし、[CubeVP](https://www.cube-soft.jp/cubevp/) では、メイン画面の非表示を含めユーザがプログラミングする事によって、より柔軟なカスタム仮想プリンターを作成する事ができます。CubeVP は、個人用途であれば無償で利用できますので、併せてご検討下さい。尚、[チュートリアル](https://clown.cube-soft.jp/entry/cubevp/tutorial) として、メイン画面の表示されない CubePDF を実行するための仮想プリンタを登録する方法を記載しています。
================================================
FILE: Applications/Converter/Documents/Japanese/Readme.md
================================================
CubePDF ユーザーマニュアル
====
Copyright © 2010 CubeSoft, Inc.
GNU Affero General Public License version 3 (AGPLv3)
support@cube-soft.jp
https://www.cube-soft.jp/cubepdf/
## CubePDF による変換手順

CubePDF は **仮想プリンター** としてインストールされます。そのため、Microsoft Edge や Google Chrome やなどの Web ブラウザ、Microsoft Word, Excel, PowerPoint など **印刷** ボタンのあるアプリケーションであれば何でも、次の 3 ステップで PDF へ変換する事ができます。
1. PDF 化したいものを適当なアプリケーションで表示し **印刷** を選択します。
2. 利用できるプリンターの一覧から **CubePDF** を選択し **印刷** ボタンをクリックします。
3. CubePDF のメイン画面で **出力ファイル** 等の設定内容を確認し **変換** ボタンをクリックします。
指定した名前の PDF ファイルが既に存在する場合、既存の PDF ファイルに結合する事もできます。既存の PDF ファイルに対する指定方法は次の 4 通りです。
* **上書き**
既存の PDF ファイルを新しい PDF ファイルで上書きします。
* **先頭に結合**
既存の PDF ファイルの先頭に、変換内容を結合します。
* **末尾に結合**
既存の PDF ファイルの末尾に、変換内容を結合します。
* **リネーム**
sample (2).pdf のように、自動的に別のファイル名で保存します。
ただし、結合先の PDF ファイルがパスワードによって保護されている時は、セキュリティ機能で同じ管理用パスワードを設定した場合のみ結合する事ができます。
### 注意
CubePDF は **仮想プリンター** と呼ばれるソフトウェアで、他のアプリケーションの **印刷** を介して実行されます。そのため、通常のアプリケーションのようにデスクトップやスタートメニュー等から直接 CubePDF を 実行したり、PDF ファイル等に関連付けたりして利用する事はできません。
また、CubePDF は変換機能のみを提供し、変換後のファイルを閲覧するには別途アプリケーションが必要です。例えば、PDF ファイルを閲覧するアプリケーションとしては [Adobe Acrobat Reader DC](https://get.adobe.com/reader/) 等が挙げられます。
## 変換操作および設定内容の一覧
### 一般
CubePDF は PDF 以外のファイル形式にも変換する事ができます。PDF 以外のファイル形式に変換したい場合、**ファイルタイプ** の選択項目の中から変換したいものを選択して下さい。
尚、PNG のように複数のページを保持できないファイル形式の場合、変換するページ数だけファイルが作成されます。例えば、出力ファイル名が Sample.png の場合、実際には Sample-01.png, Sample-02.png, ... と言った名前のファイルが作成されます。

ファイルタイプが PDF の場合、PDF のバージョンを選択することができます。PDF のバージョンはファイルタイプの右側にある選択項目の中から必要なものを選択して下さい。
**カラーモード** の項目は、変換後のフォントや図形、埋め込まれた画像などの色を指定する事ができます。設定可能な項目は以下の通りです。
* **自動**
印刷データの色をそのまま保持します。
* **RGB**
RGB に変換します。この設定は、ほとんどの場合で **自動** と同様です。
* **グレースケール**
グレースケールに変換します。
* **白黒**
白黒 2 値に変換します。尚、この設定は PNG、BMP、TIFF でのみ有効です。
それ以外のファイルタイプの場合、**グレースケール** として変換されます。
**解像度** の項目は、主にファイルサイズの圧縮(ダウンサンプリング)のために使用されます。そのため、変換元のデータ以上の解像度を設定しても、品質やファイルサイズが変化しない場合があります。また、ファイルタイプが PDF, PS, EPS の場合、埋め込まれている画像のみ設定を影響を受けます。
**ページの向き** の項目は、変換後のファイルの向きを設定する事ができます。設定可能な項目は以下の通りです。
* **縦・横**
全てのページを縦、または横方向に揃えます。
* **自動**
PDF を選択した場合のみ有効な設定で、元ファイルの各ページの向きを保持します。ファイルタイプが PDF 以外の場合、縦を選択した時と同様の挙動となります。
変換に関するその他のオプションは以下の通りです。
* **PDF ファイル中の画像を JPEG 形式で圧縮する**
埋め込まれている画像を JPEG 形式に圧縮した上で変換処理を実行します。
* **PDF ファイルを Web 表示用に最適化する**
Web 上で PDF ファイルを閲覧する場合、通常は全てのデータがダウンロードし終わるまで待つ必要があります。このオプションを有効にすると、ダウンロードの完了した部分を先に表示する事ができるような形に最適化されます。これは Linearized PDF と呼ばれる仕様です。ただし、このオプションは **パスワードによって保護されている PDF ファイルには適用する事ができません**。CubePDF は、何らかのセキュリティ設定が指定されている場合、このオプションを無視します。
**ポストプロセス** の項目は、CubePDF による変換処理が終了した後に実行する操作を設定する事ができます。設定可能な項目は以下の通りです。
* **開く**
変換後のファイルを関連付けられたアプリケーションで開きます。
* **フォルダを開く**
変換後のファイルを保存したフォルダを開きます。
* **何もしない**
変換処理終了後、何もせずに終了します。
* **その他**
任意のプログラムを指定できます。
尚、任意のプログラムを指定した場合、CubePDF は変換後のファイルのパスを引数にして実行します。
### 文書プロパティ

ファイルタイプで PDF を選択した場合、タイトルや作成者などの情報を登録する事ができます。ここで登録した情報は、Adobe Acrobat Reader DC などの PDF 閲覧ソフトのプロパティ画面で閲覧する事ができます。また、**ページレイアウト** の項目は、PDF 閲覧ソフトで開いた時の表示方法を変更する事ができます。
尚、これらの情報の入力を省略した場合、CubePDF は、タイトル、作成者、サブタイトル、キーワードの情報は空欄に、変換ソフトの情報は「CubePDF」に設定した状態で PDF ファイルを作成します。
#### 変換元のメタ情報について

CubePDF は、変換後の PDF ファイルを公開する際に、印刷元ファイルに設定されているタイトルや作成者等のメタ情報(文書プロパティ)が意図しない形で漏洩する事例が存在する事を踏まえて、これらの情報は自動的に消去する方針にしています。詳細については、[CubePDF は Office 等からの変換時にメタ情報を消去します](/entry/2020/05/28/cubepdf-remove-metadata) も参照下さい。
### セキュリティ
ファイルタイプで PDF を選択した場合、作成された PDF ファイルにパスワードを設定する事ができます。パスワードを設定する場合は、まず **PDF ファイルをパスワードで保護する** の項目を有効にし、**管理用パスワード** とパスワード確認の項目に同じパスワードを 2 回 入力してください。

次に、**操作** の項目で、ユーザに許可・制限する操作を指定します。設定可能な項目は以下の通りです。
* PDF ファイルを開く時にパスワードを要求する
* 印刷を許可する
* テキストや画像のコピーを許可する
* ページの挿入、回転、削除を許可する
* アクセシビリティのための内容の抽出を許可する
* フォームへの入力を許可する
* 注釈の追加、編集を許可する
#### パスワード共用に関する注意
**PDF ファイルを開く時にパスワードを要求する** の項目を有効にする際、**管理用パスワードと共用する** の項目も有効にすると、CubePDF は、閲覧用パスワードに管理用パスワードと同じものを設定します。
ただし、**管理用パスワードと閲覧用パスワードを共有した場合、PDF 閲覧ソフトによっては、印刷やコピー操作等の制限が正常に機能しない事があります**。これは、PDF 閲覧ソフトが管理用パスワードで PDF ファイルを開いたと認識するためと予想されます。そのため、CubePDF では、管理用パスワードと共用した場合、その他の操作に関する許可設定を受け付けないように設計しています。
また、管理用パスワードで PDF ファイルを開いたと認識された場合、閲覧用パスワードの除去も含めた全ての PDF 編集が可能になります。閲覧用パスワードを管理用パスワードと共用する場合、これらの動作を十分に理解した上でご利用下さい。
#### パスワードの設定・解除を目的とした再変換に関する注意
PDF ファイルに対してパスワードを設定する目的で、CubePDF を用いて PDF ファイルを再変換する事例が見られます(Microsoft Edge や Adobe Acrobat Reader DC 等で PDF ファイルを表示して印刷を実行)。この方法を用いた場合、いったん印刷処理が実行される都合上、元々の PDF と見た目が異なる可能性もあるのでご注意下さい。PDF ファイルに対するパスワード設定が目的の場合、[CubePDF Utility](https://www.cube-soft.jp/cubepdfutility/) や [CubePDF Page](https://www.cube-soft.jp/cubepdfpage/) の利用もご検討下さい。
また、これとは反対に PDF ファイルに設定されているパスワードや各種セキュリティ設定を除去する目的で PDF ファイルを再変換する事例も見られます。しかし、印刷を実行するアプリケーションによっては印刷時に各種セキュリティ設定を伝搬する事も多く、この場合 CubePDF は変換に失敗します。この操作に関しては、完全にサポート対象外となります。この挙動の変更を目的とした修正が行われる事もありませんので、ご了承下さい。
### その他の設定およびバージョン情報

**バージョン情報** では、実行時の CubePDF、Windows、および .NET Framework のバージョン情報が表示されます。また、x86、x64、または ARM64 の内、どのエディションが実行されているのかも、ここで確認する事ができます。
**起動時にアップデートを確認する** の項目を有効にすると、CubePDF のバージョンアップ時にパソコンの右下に通知されます。アップデートの確認は、1 日 1 回、パソコンの起動時に実行されます。また、アップデートの確認のために送信する情報は、CubePDF, Windows, .NET Framework それぞれのバージョン番号です。
**表示言語** では、CubePDF メイン画面のメニュー等の表示言語を設定する事ができます。対応言語は英語 (English)、ドイツ語 (German)、および日本語の (Japanese) 3 種類です。また、表示言語で自動を選択した場合、Windows の言語設定に応じてどちらかの言語が自動的に選択されます。
### 設定の保存
CubePDF のメイン画面において、左下の **設定を保存** ボタンをクリックすると、その時点の各種設定情報がレジストリに保存されます。そして、次回以降の CubePDF 起動時における各種設定の初期状態として使用されるようになります。
例えば、CubePDF は初期設定ではデスクトップに変換したファイルを保存しますが、出力ファイルで別のフォルダを指定後に設定を保存ボタンをクリックすると、次回以降は指定されたフォルダを保存フォルダの初期設定として利用するようになります。
ただし、セキュリティの各種項目および、出力ファイルのファイル名部分は設定を保存機能の対象外です。
## CubePDF プリンターの設定

CubePDF は、これまでに説明したアプリケーションの設定以外に、**CubePDF プリンター** に対する設定も存在します。プリンターの設定を変更するためには、**設定** から **デバイス**、**プリンターとスキャナー** の順で表示される画面で CubePDF を選択し、さらに **管理**、**印刷設定** の順で選択して下さい。尚、Windows 7 以前の場合、**コントロールパネル** の **デバイスとプリンターの表示** で表示される画面で CubePDF を右クリックし **印刷設定** を選択して下さい。

印刷設定では、**用紙/品質** タブで白黒またはカラーで印刷する設定を変更する事ができます。また、それ以外の設定を行う場合、右下にある **詳細設定** ボタンをクリックします。
**用紙サイズ** は、変換後の各ページのサイズに反映されます。設定可能な値は、A0-A6、B0-B6、はがき、角形 1 号-角形 4 号など実際の用紙サイズに対応した値が中心となります。尚、**Slide** は Microsoft PowerPoint の初期値 (4:3) に相当するサイズとなります。
**印刷品質** は、画像データの変換後の品質に影響し、値が高いほど高品質になりファイルサイズも増大します。尚、CubePDF のアプリケーション側に存在する **解像度** の設定は、ここで設定した値が上限となります。
**拡大縮小** は、変換元のコンテンツを拡大または縮小した状態で変換するための設定で、等倍で変換する場合は 100 となります。尚、一部の環境で、この初期値が非常に大きな値に設定されている事例が見られます。変換後の PDF などが異常に大きな状態となっている場合、この設定を確認して下さい。
**PostScript オプション** 下にある **TrueType フォント ダウンロードオプション** は、文字の変換法に関する設定で、設定可能な項目は以下の通りです。
* **Native TrueType**
フォント情報などを保ったまま、文字として、変換します。ただし、Google Chrome や Microsoft Edge などの多くの Web ブラウザを始めとして、アプリケーションの中には印刷処理で文字を図形として変換するアウトライン化を実施するものもあります。この場合、プリンターの設定に関わらず、文字としての情報は失われてしまうのでご注意下さい。
* **アウトライン**
印刷時に文字を図形として変換します。この場合、フォント情報など文字としての情報は失われますが、変換後の位置ずれなどの問題を軽減する効果があります。
* **ビットマップ**
印刷時に文字をビットマップ画像として変換します。こちらも位置ずれなどの問題を解決する事がありますが、印刷品質など他の設定内容によってはギザギザ感が目立つなどの問題が発生する事もあります。
* **自動**
プリンターが、Native TrueType、アウトライン、ビットマップの設定のどれかを自動的に選択します。
**PostScript オプション** 下にある **左右反転印刷** は、変換元のコンテンツを左右または上下に反転した状態で変換するための設定で、通常は **いいえ** に設定されています。一部の環境で、この初期値が **はい** となっている事例が見られます。変換後の PDF が上下左右反転している場合、この設定を確認して下さい。
### 注意
印刷を実行するアプリケーションによっては、独自の印刷設定画面を用意しているなどの関係で、CubePDF プリンターの設定が反映されない事があります。印刷設定に関しては、利用するアプリケーションの設定も注意深く確認するようお願いします。
## CubePDF のアンインストール

CubePDF をアンインストールするには、設定の **アプリと機能**、またはコントロールパネルの **プログラムのアンインストール** を選択します。そして、表示される画面で CubePDF のアイコンを選択してアンインストールの項目を実行して下さい。
## CubePDF で問題が発生した場合
CubePDF は、```C:\ProgramData\CubeSoft\CubePdf\Log``` フォルダに実行ログを出力しています。問題が発生した時は、これらのログを添付して support@cube-soft.jp までご連絡お願いします。
================================================
FILE: Applications/Converter/License.txt
================================================
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.
A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate. Many developers of free software are heartened and
encouraged by the resulting cooperation. However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community. It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals. This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU Affero General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the work with which it is combined will remain governed by version
3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU Affero General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU Affero General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero 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 Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU AGPL, see
<http://www.gnu.org/licenses/>.
================================================
FILE: Applications/Converter/Main/App.config
================================================
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<generatePublisherEvidence enabled="false" />
</runtime>
</configuration>
================================================
FILE: Applications/Converter/Main/App.manifest
================================================
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!--
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
<!-- Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
-->
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*" />
</dependentAssembly>
</dependency>
</assembly>
================================================
FILE: Applications/Converter/Main/Cube.Pdf.Converter.Main.csproj
================================================
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Version>4.3.5</Version>
<Authors>clown;cube-soft</Authors>
<Company>CubeSoft</Company>
<Product>CubePDF</Product>
<Description>Convert to PDF or other formats.</Description>
<Copyright>Copyright © 2010 CubeSoft, Inc.</Copyright>
<AssemblyName>CubePdf</AssemblyName>
<AssemblyTitle>CubePDF</AssemblyTitle>
<RootNamespace>Cube.Pdf.Converter</RootNamespace>
<OutputType>WinExe</OutputType>
<TargetFramework>net47</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<Platforms>AnyCPU;x86;x64;ARM64</Platforms>
<RuntimeIdentifiers>win7-x86;win7-x64;win10-arm64</RuntimeIdentifiers>
<LangVersion>latest</LangVersion>
<IsPackable>false</IsPackable>
<Optimize>true</Optimize>
<EnableDefaultNoneItems>false</EnableDefaultNoneItems>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<ApplicationIcon>App.ico</ApplicationIcon>
<ApplicationManifest>App.manifest</ApplicationManifest>
<SatelliteResourceLanguages>_</SatelliteResourceLanguages>
<DefineConstants Condition=" '$(Configuration)' == 'Debug' ">DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
<Prefer32Bit>true</Prefer32Bit>
<OutputPath>bin\Any CPU\$(Configuration)\</OutputPath>
<DocumentationFile>bin\Any CPU\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'x86' ">
<RuntimeIdentifier>win7-x86</RuntimeIdentifier>
<SelfContained>false</SelfContained>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'x64' ">
<RuntimeIdentifier>win7-x64</RuntimeIdentifier>
<SelfContained>false</SelfContained>
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'ARM64' ">
<RuntimeIdentifier>win10-arm64</RuntimeIdentifier>
<SelfContained>false</SelfContained>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Core\Cube.Pdf.Converter.csproj" />
<PackageReference Include="Cube.Forms.Controls" Version="9.0.0" />
<PackageReference Include="Cube.Logging.NLog" Version="9.0.0" />
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs" DependentUpon="Resources.resx" AutoGen="True" DesignTime="True" />
<Compile Update="Sources\Views\*Window.cs" SubType="Form" />
<EmbeddedResource Update="Properties\Resources.resx" Generator="ResXFileCodeGenerator" LastGenOutput="Resources.Designer.cs" />
<EmbeddedResource Update="Sources\Views\*Window.resx" DependentUpon="%(FIlename).cs" />
<None Include="Assets\**\*" />
<None Include="App.*" />
<None Include="NLog.config" CopyToOutputDirectory="Always" />
</ItemGroup>
</Project>
================================================
FILE: Applications/Converter/Main/NLog.config
================================================
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets async="true">
<target name="Default"
xsi:type="File"
encoding="utf-8"
layout="${longdate} [${uppercase:${level}}] ${logger} ${message}"
fileName="${specialfolder:folder=CommonApplicationData}\CubeSoft\CubePdf\Log\${processname}.log"
keepFileOpen="true"
concurrentWrites="true"
maxArchiveFiles="5"
archiveAboveSize="1000000"
archiveEvery="None" />
</targets>
<rules>
<logger name="*" minLevel="Debug" writeTo="Default" />
</rules>
</nlog>
================================================
FILE: Applications/Converter/Main/Properties/Resources.Designer.cs
================================================
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Cube.Pdf.Converter.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.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() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[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("Cube.Pdf.Converter.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Header {
get {
object obj = ResourceManager.GetObject("Header", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Logo {
get {
object obj = ResourceManager.GetObject("Logo", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}
================================================
FILE: Applications/Converter/Main/Properties/Resources.resx
================================================
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
gitextract_5k9d_4sp/
├── .gitattributes
├── .gitignore
├── .whitesource
├── AppVeyor.yml
├── Applications/
│ ├── Converter/
│ │ ├── Core/
│ │ │ ├── Cube.Pdf.Converter.csproj
│ │ │ ├── Readme.md
│ │ │ └── Sources/
│ │ │ ├── DocumentName.cs
│ │ │ ├── ExtensionList.cs
│ │ │ ├── Facade.cs
│ │ │ ├── Internal/
│ │ │ │ ├── DigestChecker.cs
│ │ │ │ ├── FileDecorator.cs
│ │ │ │ ├── FileTransfer.cs
│ │ │ │ ├── FormatGroup.cs
│ │ │ │ ├── GhostscriptFactory.cs
│ │ │ │ ├── PathExplorer.cs
│ │ │ │ └── ProcessLauncher.cs
│ │ │ ├── PostProcessException.cs
│ │ │ ├── SettingFolder.cs
│ │ │ ├── SettingMigration.cs
│ │ │ ├── SettingOptions.cs
│ │ │ ├── SettingV2.cs
│ │ │ ├── SettingValue.cs
│ │ │ └── SettingValueEx.cs
│ │ ├── Documents/
│ │ │ ├── English/
│ │ │ │ ├── License.md
│ │ │ │ ├── Question.md
│ │ │ │ └── Readme.md
│ │ │ └── Japanese/
│ │ │ ├── License.md
│ │ │ ├── Question.md
│ │ │ └── Readme.md
│ │ ├── License.txt
│ │ ├── Main/
│ │ │ ├── App.config
│ │ │ ├── App.manifest
│ │ │ ├── Cube.Pdf.Converter.Main.csproj
│ │ │ ├── NLog.config
│ │ │ ├── Properties/
│ │ │ │ ├── Resources.Designer.cs
│ │ │ │ └── Resources.resx
│ │ │ └── Sources/
│ │ │ ├── Extensions/
│ │ │ │ ├── FacadeExtension.cs
│ │ │ │ └── SettingExtension.cs
│ │ │ ├── Message.cs
│ │ │ ├── Presenters/
│ │ │ │ ├── MainViewModel.cs
│ │ │ │ ├── MetadataViewModel.cs
│ │ │ │ ├── SecurityViewModel.cs
│ │ │ │ ├── SettingFacade.cs
│ │ │ │ └── SettingViewModel.cs
│ │ │ ├── Program.cs
│ │ │ ├── Surface.cs
│ │ │ ├── Texts/
│ │ │ │ ├── English.cs
│ │ │ │ ├── German.cs
│ │ │ │ ├── Japanese.cs
│ │ │ │ ├── Russian.cs
│ │ │ │ ├── SimplifiedChinese.cs
│ │ │ │ └── Text.cs
│ │ │ └── Views/
│ │ │ ├── MainWindow.Designer.cs
│ │ │ ├── MainWindow.cs
│ │ │ └── MainWindow.resx
│ │ ├── Proxy/
│ │ │ ├── App.config
│ │ │ ├── App.manifest
│ │ │ ├── Cube.Pdf.Converter.Proxy.csproj
│ │ │ ├── License.txt
│ │ │ ├── NLog.config
│ │ │ └── Sources/
│ │ │ ├── Native/
│ │ │ │ ├── AdvApi32.cs
│ │ │ │ ├── Kernel32.cs
│ │ │ │ ├── Structures/
│ │ │ │ │ ├── ProcessInformation.cs
│ │ │ │ │ └── WtsSessionInfo.cs
│ │ │ │ ├── UserEnv.cs
│ │ │ │ └── WtsApi32.cs
│ │ │ ├── Process.cs
│ │ │ └── Program.cs
│ │ ├── Readme.ja.md
│ │ └── Readme.md
│ ├── Editor/
│ │ ├── Documents/
│ │ │ ├── English/
│ │ │ │ ├── Question.md
│ │ │ │ └── Readme.md
│ │ │ └── Japanese/
│ │ │ ├── Question.md
│ │ │ └── Readme.md
│ │ ├── License.txt
│ │ ├── Main/
│ │ │ ├── App.config
│ │ │ ├── App.manifest
│ │ │ ├── App.xaml
│ │ │ ├── App.xaml.cs
│ │ │ ├── Cube.Pdf.Editor.csproj
│ │ │ ├── NLog.config
│ │ │ ├── Sources/
│ │ │ │ ├── Extensions/
│ │ │ │ │ ├── Facade/
│ │ │ │ │ │ ├── DragDrop.cs
│ │ │ │ │ │ ├── Open.cs
│ │ │ │ │ │ ├── Others.cs
│ │ │ │ │ │ └── Save.cs
│ │ │ │ │ ├── File.cs
│ │ │ │ │ ├── Image.cs
│ │ │ │ │ ├── Keys.cs
│ │ │ │ │ └── Mouse.cs
│ │ │ │ ├── Interactions/
│ │ │ │ │ ├── DragDropObject.cs
│ │ │ │ │ ├── FileDropBehavior.cs
│ │ │ │ │ ├── InsertDropTarget.cs
│ │ │ │ │ ├── InsertPositionBehavior.cs
│ │ │ │ │ ├── MouseClearBehavior.cs
│ │ │ │ │ ├── MouseMoveBehavior.cs
│ │ │ │ │ ├── MousePreviewBehavior.cs
│ │ │ │ │ ├── OtherBehaviors.cs
│ │ │ │ │ ├── SelectionBehavior.cs
│ │ │ │ │ ├── SetupBehavior.cs
│ │ │ │ │ ├── SimplexConverters.cs
│ │ │ │ │ └── VisibleRange.cs
│ │ │ │ ├── Models/
│ │ │ │ │ ├── Backup.cs
│ │ │ │ │ ├── BackupException.cs
│ │ │ │ │ ├── CacheCollection.cs
│ │ │ │ │ ├── DirectoryMonitor.cs
│ │ │ │ │ ├── FileCollection.cs
│ │ │ │ │ ├── FileItem.cs
│ │ │ │ │ ├── History.cs
│ │ │ │ │ ├── HistoryItem.cs
│ │ │ │ │ ├── ImageCollection.cs
│ │ │ │ │ ├── ImageItem.cs
│ │ │ │ │ ├── ImagePreference.cs
│ │ │ │ │ ├── ImageRenderer.cs
│ │ │ │ │ ├── ImageSelection.cs
│ │ │ │ │ ├── Message.cs
│ │ │ │ │ ├── Range.cs
│ │ │ │ │ ├── RendererCache.cs
│ │ │ │ │ ├── RibbonElement.cs
│ │ │ │ │ ├── SaveAction.cs
│ │ │ │ │ ├── SaveOption.cs
│ │ │ │ │ ├── Selection.cs
│ │ │ │ │ ├── SettingFolder.cs
│ │ │ │ │ └── SettingValue.cs
│ │ │ │ ├── Native/
│ │ │ │ │ └── Shell32.cs
│ │ │ │ ├── Presenters/
│ │ │ │ │ ├── DialogViewModel.cs
│ │ │ │ │ ├── Encryption/
│ │ │ │ │ │ ├── EncryptionFacade.cs
│ │ │ │ │ │ └── EncryptionViewModel.cs
│ │ │ │ │ ├── Extract/
│ │ │ │ │ │ ├── ExtractFacade.cs
│ │ │ │ │ │ └── ExtractViewModel.cs
│ │ │ │ │ ├── Insert/
│ │ │ │ │ │ ├── InsertBindableValue.cs
│ │ │ │ │ │ ├── InsertFacade.cs
│ │ │ │ │ │ ├── InsertViewModel.cs
│ │ │ │ │ │ └── PositionViewModel.cs
│ │ │ │ │ ├── Main/
│ │ │ │ │ │ ├── MainBindableValue.cs
│ │ │ │ │ │ ├── MainFacade.cs
│ │ │ │ │ │ ├── MainViewModel.cs
│ │ │ │ │ │ ├── MainViewModelBase.cs
│ │ │ │ │ │ ├── RecentViewModel.cs
│ │ │ │ │ │ └── RibbonViewModel.cs
│ │ │ │ │ ├── Metadata/
│ │ │ │ │ │ ├── MetadataFacade.cs
│ │ │ │ │ │ └── MetadataViewModel.cs
│ │ │ │ │ ├── PasswordViewModel.cs
│ │ │ │ │ ├── Preview/
│ │ │ │ │ │ ├── PreviewBindableValue.cs
│ │ │ │ │ │ ├── PreviewFacade.cs
│ │ │ │ │ │ └── PreviewViewModel.cs
│ │ │ │ │ ├── Remove/
│ │ │ │ │ │ ├── RemoveFacade.cs
│ │ │ │ │ │ └── RemoveViewModel.cs
│ │ │ │ │ └── SettingViewModel.cs
│ │ │ │ ├── Surface.cs
│ │ │ │ └── Texts/
│ │ │ │ ├── English.cs
│ │ │ │ ├── German.cs
│ │ │ │ ├── Japanese.cs
│ │ │ │ ├── Russian.cs
│ │ │ │ ├── SimplifiedChinese.cs
│ │ │ │ └── Text.cs
│ │ │ ├── Themes/
│ │ │ │ ├── FooterStyle.xaml
│ │ │ │ ├── Generic.xaml
│ │ │ │ ├── GenericDialog.xaml
│ │ │ │ ├── HeroStyle.xaml
│ │ │ │ ├── InsertStyle.xaml
│ │ │ │ ├── PageStyle.xaml
│ │ │ │ ├── RibbonStyle.xaml
│ │ │ │ ├── RibbonTemplate.xaml
│ │ │ │ ├── ScrollStyle.xaml
│ │ │ │ └── TabStyle.xaml
│ │ │ └── Views/
│ │ │ ├── Components/
│ │ │ │ ├── FileListControl.xaml
│ │ │ │ ├── FileListControl.xaml.cs
│ │ │ │ ├── FooterControl.xaml
│ │ │ │ ├── FooterControl.xaml.cs
│ │ │ │ ├── HeroControl.xaml
│ │ │ │ ├── HeroControl.xaml.cs
│ │ │ │ ├── InsertContextMenu.xaml
│ │ │ │ ├── MainContextMenu.xaml
│ │ │ │ ├── PositionControl.xaml
│ │ │ │ ├── PositionControl.xaml.cs
│ │ │ │ ├── RibbonControl.xaml
│ │ │ │ └── RibbonControl.xaml.cs
│ │ │ ├── EncryptionWindow.xaml
│ │ │ ├── EncryptionWindow.xaml.cs
│ │ │ ├── ExtractWindow.xaml
│ │ │ ├── ExtractWindow.xaml.cs
│ │ │ ├── InsertWindow.xaml
│ │ │ ├── InsertWindow.xaml.cs
│ │ │ ├── MainWindow.xaml
│ │ │ ├── MainWindow.xaml.cs
│ │ │ ├── MetadataWindow.xaml
│ │ │ ├── MetadataWindow.xaml.cs
│ │ │ ├── PasswordWindow.xaml
│ │ │ ├── PasswordWindow.xaml.cs
│ │ │ ├── PreviewWindow.xaml
│ │ │ ├── PreviewWindow.xaml.cs
│ │ │ ├── RemoveWindow.xaml
│ │ │ ├── RemoveWindow.xaml.cs
│ │ │ ├── SettingWindow.xaml
│ │ │ └── SettingWindow.xaml.cs
│ │ ├── Readme.ja.md
│ │ └── Readme.md
│ └── Pages/
│ ├── Documents/
│ │ ├── English/
│ │ │ ├── Question.md
│ │ │ └── Readme.md
│ │ └── Japanese/
│ │ ├── Question.md
│ │ └── Readme.md
│ ├── License.txt
│ ├── Main/
│ │ ├── App.config
│ │ ├── App.manifest
│ │ ├── Cube.Pdf.Pages.csproj
│ │ ├── NLog.config
│ │ ├── Properties/
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ └── Sources/
│ │ ├── Interactions/
│ │ │ ├── FileDropBehavior.cs
│ │ │ └── SelectionBehavior.cs
│ │ ├── Message.cs
│ │ ├── Models/
│ │ │ ├── FileSelector.cs
│ │ │ ├── Messages.cs
│ │ │ ├── SettingExtension.cs
│ │ │ ├── SettingFolder.cs
│ │ │ └── SettingValue.cs
│ │ ├── Presenters/
│ │ │ ├── EncryptionViewModel.cs
│ │ │ ├── MainFacade.cs
│ │ │ ├── MainViewModel.cs
│ │ │ ├── MetadataViewModel.cs
│ │ │ ├── PasswordViewModel.cs
│ │ │ └── SettingViewModel.cs
│ │ ├── Program.cs
│ │ ├── Surface.cs
│ │ ├── Texts/
│ │ │ ├── English.cs
│ │ │ ├── German.cs
│ │ │ ├── Japanese.cs
│ │ │ ├── Russian.cs
│ │ │ ├── SimplifiedChinese.cs
│ │ │ └── Text.cs
│ │ └── Views/
│ │ ├── FileContextMenu.cs
│ │ ├── FileContextMenuItem.cs
│ │ ├── FileGridView.cs
│ │ ├── MainWindow.Designer.cs
│ │ ├── MainWindow.cs
│ │ ├── MainWindow.resx
│ │ ├── MetadataWindow.Designer.cs
│ │ ├── MetadataWindow.cs
│ │ ├── MetadataWindow.resx
│ │ ├── PasswordWindow.Designer.cs
│ │ ├── PasswordWindow.cs
│ │ ├── PasswordWindow.resx
│ │ ├── SettingWindow.Designer.cs
│ │ ├── SettingWindow.cs
│ │ └── SettingWindow.resx
│ ├── Readme.ja.md
│ └── Readme.md
├── Cube.Pdf.sln
├── Cube.snk
├── Libraries/
│ ├── Core/
│ │ ├── Cube.Pdf.Core.csproj
│ │ ├── License.txt
│ │ ├── Readme.md
│ │ └── Sources/
│ │ ├── Angle.cs
│ │ ├── Attachment.cs
│ │ ├── Encryption.cs
│ │ ├── EncryptionException.cs
│ │ ├── EncryptionMethod.cs
│ │ ├── Extensions/
│ │ │ ├── DocumentReader.cs
│ │ │ ├── DocumentRenderer.cs
│ │ │ ├── DocumentWriter.cs
│ │ │ ├── Encryption.cs
│ │ │ ├── Metadata.cs
│ │ │ └── Page.cs
│ │ ├── File.cs
│ │ ├── IDocumentReader.cs
│ │ ├── IDocumentRenderer.cs
│ │ ├── IDocumentWriter.cs
│ │ ├── ImageFile.cs
│ │ ├── ImagePageCollection.cs
│ │ ├── Internal/
│ │ │ └── InitHack.cs
│ │ ├── Metadata.cs
│ │ ├── MetadataException.cs
│ │ ├── Page.cs
│ │ ├── PageBase.cs
│ │ ├── PdfFile.cs
│ │ ├── PdfVersion.cs
│ │ ├── Permission.cs
│ │ ├── PermissionValue.cs
│ │ ├── ViewerOption.cs
│ │ └── ViewerOptionFactory.cs
│ ├── Generating/
│ │ ├── Cube.Pdf.Generating.csproj
│ │ ├── License.txt
│ │ ├── Readme.md
│ │ └── Sources/
│ │ ├── Argument.cs
│ │ ├── Converter.cs
│ │ ├── DocumentConverter.cs
│ │ ├── ImageConverter.cs
│ │ ├── Internal/
│ │ │ ├── GsApi.cs
│ │ │ ├── GsApiException.cs
│ │ │ ├── GsApiNative.cs
│ │ │ ├── GsApiStatus.cs
│ │ │ ├── GsDevice.cs
│ │ │ ├── GsInformation.cs
│ │ │ └── InitHack.cs
│ │ ├── JpegConverter.cs
│ │ ├── Parameters/
│ │ │ ├── ColorMode.cs
│ │ │ ├── Downsampling.cs
│ │ │ ├── Encoding.cs
│ │ │ ├── Format.cs
│ │ │ ├── Orientation.cs
│ │ │ └── Paper.cs
│ │ ├── PdfConverter.cs
│ │ └── TiffConverter.cs
│ ├── Itext/
│ │ ├── Cube.Pdf.Itext.csproj
│ │ ├── License.txt
│ │ ├── Readme.md
│ │ └── Sources/
│ │ ├── DocumentReader.cs
│ │ ├── DocumentSplitter.cs
│ │ ├── DocumentWriter.cs
│ │ ├── DocumentWriterBase.cs
│ │ ├── Internal/
│ │ │ ├── Attachment.cs
│ │ │ ├── AttachmentCollection.cs
│ │ │ ├── ChunkBy.cs
│ │ │ ├── PageCollection.cs
│ │ │ ├── Password.cs
│ │ │ ├── Reader.cs
│ │ │ ├── ReaderExtension.cs
│ │ │ └── Writer.cs
│ │ ├── OpenOption.cs
│ │ └── SaveOption.cs
│ └── Pdfium/
│ ├── Cube.Pdf.Pdfium.csproj
│ ├── License.txt
│ ├── Readme.md
│ └── Sources/
│ ├── DocumentReader.cs
│ ├── DocumentRenderer.cs
│ ├── Internal/
│ │ ├── EncryptionFactory.cs
│ │ ├── FileFactory.cs
│ │ ├── FormFields.cs
│ │ ├── MetadataFactory.cs
│ │ ├── Native/
│ │ │ ├── FormFillInfo.cs
│ │ │ └── Pdfium.cs
│ │ ├── PageCollection.cs
│ │ ├── PdfiumLibrary.cs
│ │ ├── PdfiumReader.cs
│ │ ├── PdfiumRenderer.cs
│ │ ├── RenderExtension.cs
│ │ └── RenderFlags.cs
│ ├── OpenOption.cs
│ ├── PdfiumException.cs
│ ├── PdfiumStatus.cs
│ └── RenderOption.cs
├── License.md
├── NuGet.config
├── Rakefile
├── Readme.md
└── Tests/
├── Converter/
│ ├── Cube.Pdf.Converter.Tests.csproj
│ ├── Examples/
│ │ ├── Sample.eps
│ │ ├── Sample.ps
│ │ ├── Sample.txt
│ │ ├── Sample1pMix.ps
│ │ ├── Sample1pPhoto.ps
│ │ ├── Sample3pMix.ps
│ │ └── Sample5pCjk.ps
│ ├── NLog.config
│ └── Sources/
│ ├── Helpers/
│ │ ├── InitHack.cs
│ │ ├── MockArguments.cs
│ │ └── MockFixture.cs
│ ├── Program.cs
│ ├── TestCases/
│ │ ├── Dialog/
│ │ │ ├── ErrorTestCase.cs
│ │ │ ├── FileTestCase.cs
│ │ │ └── WarnTestCase.cs
│ │ ├── Main/
│ │ │ ├── BmpTestCase.cs
│ │ │ ├── EpsTestCase.cs
│ │ │ ├── JpegTestCase.cs
│ │ │ ├── PdfTestCase.cs
│ │ │ ├── PngTestCase.cs
│ │ │ ├── PsTestCase.cs
│ │ │ └── TiffTestCase.cs
│ │ ├── Sdk/
│ │ │ └── SdkTestCase.cs
│ │ └── TestCaseBase.cs
│ └── Tests/
│ ├── DialogTest.cs
│ ├── MainTest.cs
│ ├── Sdk/
│ │ ├── DigestTest.cs
│ │ ├── DocumentNameTest.cs
│ │ └── SdkTest.cs
│ ├── Settings/
│ │ ├── ExtensionTest.cs
│ │ ├── MigrationTest.cs
│ │ └── SettingTest.cs
│ ├── Texts/
│ │ ├── MessageTest.cs
│ │ └── ResourceTest.cs
│ └── ViewTest.cs
├── Core/
│ ├── Cube.Pdf.Tests.csproj
│ ├── Examples/
│ │ ├── Sample.eps
│ │ ├── Sample.ps
│ │ ├── Sample.tiff
│ │ ├── SampleCjk.ps
│ │ ├── SampleMetadata.ps
│ │ ├── SampleMix.ps
│ │ ├── SamplePdf.ps
│ │ ├── SamplePhoto.ps
│ │ ├── SampleWeb.ps
│ │ └── 日本語のサンプル.md
│ ├── NLog.config
│ └── Sources/
│ ├── AngleTest.cs
│ ├── AttachmentTest.cs
│ ├── EncryptionTest.cs
│ ├── FileTest.cs
│ ├── Ghostscript/
│ │ ├── ArgumentTest.cs
│ │ ├── ConverterTest.cs
│ │ ├── ConverterTestEx.cs
│ │ ├── FormatTest.cs
│ │ └── TestCases/
│ │ ├── BmpTestCase.cs
│ │ ├── EpsTestCase.cs
│ │ ├── JpegTestCase.cs
│ │ ├── PdfTestCase.cs
│ │ ├── PngTestCase.cs
│ │ ├── PsTestCase.cs
│ │ ├── PsdTestCase.cs
│ │ ├── TestCaseBase.cs
│ │ ├── TextTestCase.cs
│ │ └── TiffTestCase.cs
│ ├── Internal/
│ │ └── DocumentReaderFixture.cs
│ ├── Itext/
│ │ ├── BitmapTest.cs
│ │ ├── ItextReaderTest.cs
│ │ └── ItextWriterTest.cs
│ ├── MetadataTest.cs
│ ├── PageTest.cs
│ ├── PdfVersionTest.cs
│ ├── Pdfium/
│ │ └── PdfiumRendererTest.cs
│ ├── Program.cs
│ └── ViewerOptionTest.cs
├── Editor/
│ ├── Cube.Pdf.Editor.Tests.csproj
│ ├── Examples/
│ │ ├── Sample.tiff
│ │ └── Sample.txt
│ ├── NLog.config
│ └── Sources/
│ ├── BackupTest.cs
│ ├── DragDropTest.cs
│ ├── HistoryTest.cs
│ ├── ImageRendererTest.cs
│ ├── Interactions/
│ │ ├── DialogBehaviorTest.cs
│ │ ├── InsertPositionBehaviorTest.cs
│ │ ├── MouseBehaviorTest.cs
│ │ ├── SelectionBehaviorTest.cs
│ │ ├── SetupBehaviorTest.cs
│ │ ├── SimplexConverterTest.cs
│ │ └── VisibleRangeTest.cs
│ ├── Internal/
│ │ ├── MockDragDrop.cs
│ │ ├── VmExtension.cs
│ │ ├── VmFixture.cs
│ │ └── VmParam.cs
│ ├── Presenters/
│ │ ├── EncryptionTest.cs
│ │ ├── ExtractTest.cs
│ │ ├── InsertTest.cs
│ │ ├── MetadataTest.cs
│ │ ├── MoveTest.cs
│ │ ├── OpenTest.cs
│ │ ├── OthersTest.cs
│ │ ├── RemoveTest.cs
│ │ ├── RibbonTest.cs
│ │ ├── SaveTest.cs
│ │ ├── SettingTest.cs
│ │ └── ViewTest.cs
│ ├── Program.cs
│ ├── RangeTest.cs
│ ├── RendererCacheTest.cs
│ └── RibbonElementTest.cs
└── Pages/
├── Cube.Pdf.Pages.Tests.csproj
├── Examples/
│ ├── Dir1/
│ │ └── Sample.txt
│ └── Sample.txt
├── NLog.config
└── Sources/
├── FileSelectorTest.cs
├── Internal/
│ └── ViewModelExtension.cs
├── MainWindowTest.cs
├── Presenters/
│ ├── MergeTest.cs
│ ├── OthersTest.cs
│ └── SplitTest.cs
└── Program.cs
SYMBOL INDEX (1608 symbols across 340 files)
FILE: Applications/Converter/Core/Sources/DocumentName.cs
class DocumentName (line 39) | public sealed class DocumentName
method DocumentName (line 55) | public DocumentName(string src) : this(src, "CubePDF") { }
method DocumentName (line 70) | public DocumentName(string src, string alternate)
method GetValue (line 123) | private string GetValue(SafePath src, string alternate)
FILE: Applications/Converter/Core/Sources/ExtensionList.cs
class ExtensionList (line 36) | [DataContract]
method Get (line 166) | public string Get(GsFormat src) => GetCandidates(src).First();
method GetCandidates (line 182) | public IEnumerable<string> GetCandidates(GsFormat src) => FormatGroup....
method Combine (line 213) | private static IEnumerable<string> Combine(string src, params string[]...
FILE: Applications/Converter/Core/Sources/Facade.cs
class Facade (line 36) | public sealed class Facade : ObservableBase
method Facade (line 49) | public Facade() : this(Assembly.GetCallingAssembly()) { }
method Facade (line 63) | public Facade(Assembly assembly) : this(new SettingFolder(assembly)) { }
method Facade (line 77) | public Facade(SettingFolder settings) => Settings = settings;
method Invoke (line 138) | public void Invoke() => Lock(() =>
method Dispose (line 167) | protected override void Dispose(bool disposing)
method Lock (line 191) | private void Lock(Action action)
method Run (line 213) | private void Run(Action action) { if (!Disposed) action(); }
method RunGhostscript (line 224) | private void RunGhostscript(string dest) => Run(() =>
method GetTemp (line 240) | private string GetTemp() => Io.Combine(Settings.Value.Temp, Settings.U...
FILE: Applications/Converter/Core/Sources/Internal/DigestChecker.cs
class DigestChecker (line 36) | internal sealed class DigestChecker
method DigestChecker (line 52) | public DigestChecker(SettingFolder src) { Settings = src; }
method Invoke (line 89) | public void Invoke()
method Compute (line 111) | private string Compute(string src) => IoEx.Load(src, e =>
FILE: Applications/Converter/Core/Sources/Internal/FileDecorator.cs
class FileDecorator (line 37) | internal sealed class FileDecorator
method FileDecorator (line 53) | public FileDecorator(SettingFolder src) { Settings = src; }
method Invoke (line 85) | public void Invoke(string src)
method InvokeItext (line 104) | private void InvokeItext(string src)
method Add (line 133) | private void Add(DocumentWriter src, string path, SaveOption so)
method GetEncryptionMethod (line 156) | private EncryptionMethod GetEncryptionMethod(PdfVersion src) =>
method GetTemp (line 171) | private string GetTemp(string src)
FILE: Applications/Converter/Core/Sources/Internal/FileTransfer.cs
class FileTransfer (line 37) | internal sealed class FileTransfer : DisposableBase
method FileTransfer (line 54) | public FileTransfer(SettingFolder src, string dir)
method Invoke (line 118) | public void Invoke(IList<string> dest)
method MoveOrCopy (line 151) | public static void MoveOrCopy(string src, string dest, bool overwrite)
method Dispose (line 194) | protected override void Dispose(bool disposing) => Logger.Try(() => Io...
method GetWorkDirectory (line 205) | private string GetWorkDirectory(string src) =>
method GetName (line 219) | private string GetName() =>
method GetDestination (line 233) | private string GetDestination(int index, int count)
method GetDestinationCore (line 248) | private string GetDestinationCore(int index, int count)
FILE: Applications/Converter/Core/Sources/Internal/FormatGroup.cs
class FormatGroup (line 33) | internal static class FormatGroup
method Represent (line 51) | public static Format Represent(Format src) => src switch
method Lookup (line 93) | public static Format Lookup(Format src, ColorMode color)
FILE: Applications/Converter/Core/Sources/Internal/GhostscriptFactory.cs
class GhostscriptFactory (line 40) | internal static class GhostscriptFactory
method Create (line 58) | public static Converter Create(SettingFolder src)
method LogDebug (line 90) | public static void LogDebug(this Converter src)
method CreateDocumentConverter (line 115) | private static DocumentConverter CreateDocumentConverter(SettingFolder...
method CreatePdfConverter (line 138) | private static PdfConverter CreatePdfConverter(SettingFolder src) => n...
method CreateImageConverter (line 154) | private static Converter CreateImageConverter(SettingFolder src) =>
method GetTempOrEmpty (line 166) | private static string GetTempOrEmpty(SettingValue src)
FILE: Applications/Converter/Core/Sources/Internal/PathExplorer.cs
class PathExplorer (line 35) | internal static class PathExplorer
method HasExtension (line 48) | public static bool HasExtension(string src)
method GetDirectoryName (line 79) | public static string GetDirectoryName(string src)
method GetDesktopDirectoryName (line 106) | public static string GetDesktopDirectoryName()
method GetDefaultDirectoryName (line 124) | public static string GetDefaultDirectoryName() => Io.Combine(
FILE: Applications/Converter/Core/Sources/Internal/ProcessLauncher.cs
class ProcessLauncher (line 37) | internal sealed class ProcessLauncher
method ProcessLauncher (line 53) | public ProcessLauncher(SettingFolder src) => Settings = src;
method Invoke (line 85) | public void Invoke(IEnumerable<string> src)
method Open (line 118) | private static Process Open(IEnumerable<string> src) => Start(src.Firs...
method OpenDirectory (line 129) | private static Process OpenDirectory(IEnumerable<string> src) => Start(
method RunUserProgram (line 143) | private Process RunUserProgram(IEnumerable<string> src) =>
method Start (line 157) | private static Process Start(string exec, string args) => Process.Star...
FILE: Applications/Converter/Core/Sources/PostProcessException.cs
class PostProcessException (line 32) | [Serializable]
method PostProcessException (line 51) | public PostProcessException(PostProcess src, string user, Exception in...
FILE: Applications/Converter/Core/Sources/SettingFolder.cs
class SettingFolder (line 38) | public class SettingFolder : SettingFolder<SettingValue>
method SettingFolder (line 51) | public SettingFolder() : this(Assembly.GetCallingAssembly()) { }
method SettingFolder (line 65) | public SettingFolder(Assembly assembly) : this(assembly, Format.Regist...
method SettingFolder (line 80) | public SettingFolder(Format format, string location) :
method SettingFolder (line 101) | public SettingFolder(Assembly assembly, Format format, string location) :
method Set (line 160) | public void Set(IEnumerable<string> args) => Set(new(args, Argument.Wi...
method Set (line 173) | public void Set(ArgumentCollection src)
FILE: Applications/Converter/Core/Sources/SettingMigration.cs
class SettingMigration (line 34) | public static class SettingMigration
method Migrate (line 50) | public static void Migrate(this SettingFolder src, string location) =>
method Migrate (line 66) | public static void Migrate(this SettingFolder src, DataContract.Format...
FILE: Applications/Converter/Core/Sources/SettingOptions.cs
type SaveOption (line 30) | public enum SaveOption
type PostProcess (line 51) | public enum PostProcess
FILE: Applications/Converter/Core/Sources/SettingV2.cs
class SettingV2 (line 35) | [DataContract]
FILE: Applications/Converter/Core/Sources/SettingValue.cs
class SettingValue (line 34) | [DataContract]
FILE: Applications/Converter/Core/Sources/SettingValueEx.cs
class SettingValueEx (line 35) | [DataContract]
FILE: Applications/Converter/Main/Properties/Resources.Designer.cs
class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...
FILE: Applications/Converter/Main/Sources/Extensions/FacadeExtension.cs
class FacadeExtension (line 36) | static class FacadeExtension
method ChangeExtension (line 50) | public static void ChangeExtension(this Facade src)
method SetDestination (line 73) | public static void SetDestination(this Facade src, string path)
FILE: Applications/Converter/Main/Sources/Extensions/SettingExtension.cs
class SettingExtension (line 35) | public static class SettingExtension
method Normalize (line 57) | public static void Normalize(this SettingFolder src)
method GetTitle (line 79) | internal static string GetTitle(this SettingFolder src) =>
method GetFormat (line 97) | private static Format GetFormat(SettingValue src) =>
method GetOrientation (line 111) | private static Orientation GetOrientation(SettingValue src) =>
method GetResolution (line 125) | private static int GetResolution(SettingValue src) =>
method GetCreator (line 137) | private static string GetCreator(SettingValue src) =>
FILE: Applications/Converter/Main/Sources/Message.cs
class Message (line 37) | public static class Message
method From (line 55) | public static DialogMessage From(Exception src) => Error(GetMessage(sr...
method From (line 72) | public static DialogMessage From(string src, SaveOption option) =>
method Error (line 89) | public static DialogMessage Error(string src) => new(src)
method Warn (line 110) | public static DialogMessage Warn(string src) => new(src)
method ForSource (line 136) | public static OpenFileMessage ForSource(SettingFolder src)
method ForDestination (line 164) | public static SaveFileMessage ForDestination(SettingFolder src)
method ForUserProgram (line 192) | public static OpenFileMessage ForUserProgram(SettingFolder src)
method GetMessage (line 219) | private static string GetMessage(Exception src) => src switch
method GetMessage (line 238) | private static string GetMessage(string src, SaveOption option)
method GetMessage (line 253) | private static string GetMessage(SaveOption src) => src switch
method GetFileName (line 270) | private static string GetFileName(string src) =>
method GetFileNames (line 282) | private static IEnumerable<string> GetFileNames(string src)
method GetDirectoryName (line 296) | private static string GetDirectoryName(string src) =>
FILE: Applications/Converter/Main/Sources/Presenters/MainViewModel.cs
class MainViewModel (line 37) | public sealed class MainViewModel : PresentableBase<Facade>
method MainViewModel (line 53) | public MainViewModel(SettingFolder src) : this(src, SynchronizationCon...
method MainViewModel (line 68) | public MainViewModel(SettingFolder src, SynchronizationContext ctx) :
method Invoke (line 163) | public void Invoke()
method Save (line 191) | public void Save() { if (Metadata.Confirm()) Settings.Save(); }
method Help (line 202) | public void Help() => Send(new ProcessMessage(Surface.DocumentUri.ToSt...
method SelectSource (line 214) | public void SelectSource() => Send(
method SelectDestination (line 230) | public void SelectDestination() => Send(
method SelectUserProgram (line 246) | public void SelectUserProgram() => Send(
method ChangeExtension (line 261) | public void ChangeExtension() => Facade.ChangeExtension();
method OnMessage (line 281) | protected override DialogMessage OnMessage(Exception src) =>
FILE: Applications/Converter/Main/Sources/Presenters/MetadataViewModel.cs
class MetadataViewModel (line 35) | public sealed class MetadataViewModel : PresentableBase<Metadata>
method MetadataViewModel (line 53) | public MetadataViewModel(Metadata src, Aggregator proxy, Synchronizati...
method Confirm (line 180) | public bool Confirm()
FILE: Applications/Converter/Main/Sources/Presenters/SecurityViewModel.cs
class SecurityViewModel (line 34) | public sealed class SecurityViewModel : PresentableBase<Encryption>
method SecurityViewModel (line 52) | public SecurityViewModel(Encryption src, Aggregator proxy, Synchroniza...
method Confirm (line 332) | public bool Confirm()
method GetPermission (line 354) | private PermissionValue GetPermission(bool src) =>
FILE: Applications/Converter/Main/Sources/Presenters/SettingFacade.cs
class SettingFacade (line 34) | public class SettingFacade : DisposableBase
method SettingFacade (line 50) | public SettingFacade(SettingFolder src)
method Save (line 98) | public void Save()
method Dispose (line 123) | protected override void Dispose(bool disposing) { }
FILE: Applications/Converter/Main/Sources/Presenters/SettingViewModel.cs
class SettingViewModel (line 39) | public sealed class SettingViewModel : PresentableBase<SettingFacade>
method SettingViewModel (line 57) | public SettingViewModel(SettingFolder src, Aggregator proxy, Synchroni...
method Save (line 379) | public void Save() => Run(Facade.Save, true);
method Confirm (line 390) | public bool Confirm()
FILE: Applications/Converter/Main/Sources/Program.cs
class Program (line 38) | internal static class Program
method Main (line 51) | [STAThread]
method Create (line 87) | private static SettingFolder Create(ArgumentCollection src) =>
method Show (line 103) | private static void Show(SettingFolder src)
method Invoke (line 122) | private static void Invoke(SettingFolder src)
method GetGsVersion (line 137) | private static int GetGsVersion()
FILE: Applications/Converter/Main/Sources/Surface.cs
class Surface (line 38) | public static class Surface
method GetSourceFilters (line 241) | public static IList<FileDialogFilter> GetSourceFilters(this ExtensionL...
method GetDestinationFilters (line 262) | public static IList<FileDialogFilter> GetDestinationFilters(this Exten...
method GetProgramFilters (line 286) | public static IList<FileDialogFilter> GetProgramFilters(this Extension...
method MakeUri (line 327) | private static Uri MakeUri(string src) =>
FILE: Applications/Converter/Main/Sources/Texts/English.cs
class EnglishText (line 30) | internal class EnglishText() : Globalization.TextGroup(new()
FILE: Applications/Converter/Main/Sources/Texts/German.cs
class GermanText (line 30) | internal class GermanText() : Globalization.TextGroup(new()
FILE: Applications/Converter/Main/Sources/Texts/Japanese.cs
class JapaneseText (line 30) | internal class JapaneseText() : Globalization.TextGroup(new()
FILE: Applications/Converter/Main/Sources/Texts/Russian.cs
class RussianText (line 30) | internal class RussianText() : Globalization.TextGroup(new()
FILE: Applications/Converter/Main/Sources/Texts/SimplifiedChinese.cs
class SimplifiedChineseText (line 30) | internal class SimplifiedChineseText() : Globalization.TextGroup(new()
FILE: Applications/Converter/Main/Sources/Texts/Text.cs
class Text (line 33) | internal class Text() : LocalizableText(Make, new EnglishText())
method Make (line 168) | private static TextGroup Make(Language src) => src switch
method OnReset (line 188) | protected override void OnReset(Language src)
FILE: Applications/Converter/Main/Sources/Views/MainWindow.Designer.cs
class MainWindow (line 3) | partial class MainWindow
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Applications/Converter/Main/Sources/Views/MainWindow.cs
class MainWindow (line 38) | public partial class MainWindow : Window
method MainWindow (line 51) | public MainWindow() => InitializeComponent();
method OnShown (line 94) | protected override void OnShown(EventArgs e)
method OnBind (line 123) | protected override void OnBind(IBindable src)
method BindCore (line 149) | private void BindCore(MainViewModel vm)
method BindTexts (line 227) | private void BindTexts(MainViewModel vm)
method BindBehaviors (line 309) | private void BindBehaviors(MainViewModel vm)
FILE: Applications/Converter/Proxy/Sources/Native/AdvApi32.cs
class NativeMethods (line 32) | internal static class NativeMethods
method CreateProcessAsUser (line 45) | [DllImport(LibName, SetLastError = true, CharSet = CharSet.Unicode)]
method OpenThreadToken (line 69) | [DllImport(LibName, SetLastError = true)]
method DuplicateTokenEx (line 86) | [DllImport(LibName, SetLastError = true)]
method RevertToSelf (line 105) | [DllImport(LibName, SetLastError = true)]
FILE: Applications/Converter/Proxy/Sources/Native/Kernel32.cs
class NativeMethods (line 32) | internal static class NativeMethods
method OpenThread (line 45) | [DllImport(LibName, SetLastError = true)]
method CloseHandle (line 61) | [DllImport(LibName, SetLastError = true)]
FILE: Applications/Converter/Proxy/Sources/Native/Structures/ProcessInformation.cs
type PROCESS_INFORMATION (line 32) | [StructLayout(LayoutKind.Sequential)]
type STARTUPINFO (line 50) | [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
type SECURITY_ATTRIBUTES (line 82) | [StructLayout(LayoutKind.Sequential)]
type SECURITY_IMPERSONATION_LEVEL (line 99) | internal enum SECURITY_IMPERSONATION_LEVEL
type TOKEN_TYPE (line 116) | internal enum TOKEN_TYPE
type TOKEN_INFORMATION_CLASS (line 131) | internal enum TOKEN_INFORMATION_CLASS
type SID_NAME_USE (line 161) | internal enum SID_NAME_USE
FILE: Applications/Converter/Proxy/Sources/Native/Structures/WtsSessionInfo.cs
type WTS_CONNECTSTATE_CLASS (line 31) | internal enum WTS_CONNECTSTATE_CLASS
type WTS_INFO_CLASS (line 54) | internal enum WTS_INFO_CLASS
class WTS_SESSION_INFO (line 96) | [StructLayout(LayoutKind.Sequential)]
FILE: Applications/Converter/Proxy/Sources/Native/UserEnv.cs
class NativeMethods (line 32) | internal static class NativeMethods
method CreateEnvironmentBlock (line 45) | [DllImport(LibName, SetLastError = true)]
method DestroyEnvironmentBlock (line 61) | [DllImport(LibName, SetLastError = true)]
FILE: Applications/Converter/Proxy/Sources/Native/WtsApi32.cs
class NativeMethods (line 32) | internal static class NativeMethods
method WTSEnumerateSessions (line 45) | [DllImport(LibName, SetLastError = true)]
method WTSQuerySessionInformation (line 63) | [DllImport(LibName, SetLastError = true)]
method WTSQueryUserToken (line 81) | [DllImport(LibName, SetLastError = true)]
method WTSFreeMemory (line 93) | [DllImport(LibName, SetLastError = true)]
FILE: Applications/Converter/Proxy/Sources/Process.cs
class Process (line 36) | public static class Process
method StartAsActiveUser (line 58) | public static System.Diagnostics.Process StartAsActiveUser(string prog...
method StartAsActiveUser (line 78) | public static System.Diagnostics.Process StartAsActiveUser(string cmdl...
method StartAs (line 100) | public static System.Diagnostics.Process StartAs(
method StartAs (line 122) | public static System.Diagnostics.Process StartAs(string user, string c...
method StartAs (line 140) | public static System.Diagnostics.Process StartAs(IntPtr token,
method StartAs (line 158) | public static System.Diagnostics.Process StartAs(IntPtr token, string ...
method StartAs (line 193) | public static System.Diagnostics.Process StartAs(uint tid, string prog...
method StartAs (line 210) | public static System.Diagnostics.Process StartAs(uint tid, string cmdl...
method GetActiveSessionId (line 226) | private static uint GetActiveSessionId(string user)
method GetActiveSessionToken (line 271) | private static IntPtr GetActiveSessionToken(string user)
method GetThreadToken (line 293) | private static IntPtr GetThreadToken(uint tid)
method GetPrimaryToken (line 326) | private static IntPtr GetPrimaryToken(IntPtr token, SECURITY_IMPERSONA...
method GetUserName (line 358) | private static string GetUserName(uint id)
method GetEnvironmentBlock (line 385) | private static IntPtr GetEnvironmentBlock(IntPtr token)
method CloseHandle (line 401) | private static void CloseHandle(IntPtr handle)
method CreateProcessAsUser (line 416) | private static System.Diagnostics.Process CreateProcessAsUser(string c...
method CreateCmdline (line 467) | private static string CreateCmdline(string program, string[] arguments...
FILE: Applications/Converter/Proxy/Sources/Program.cs
class Program (line 33) | static class Program
method Main (line 44) | [STAThread]
method StartAs (line 77) | static System.Diagnostics.Process StartAs(string[] args)
FILE: Applications/Editor/Main/App.xaml.cs
class App (line 39) | public partial class App : Application, IDisposable
method App (line 52) | public App() { _dispose = new(Dispose); }
method Dispose (line 93) | public void Dispose()
method OnStartup (line 112) | protected override void OnStartup(StartupEventArgs e)
method Dispose (line 142) | protected virtual void Dispose(bool disposing)
FILE: Applications/Editor/Main/Sources/Extensions/Facade/DragDrop.cs
class DragDropExtension (line 34) | internal static class DragDropExtension
method OpenOrInsert (line 51) | public static void OpenOrInsert(this MainFacade src, DragEventArgs obj)
method InsertOrMove (line 75) | public static void InsertOrMove(this MainFacade src, DragDropObject obj)
method MovePrevious (line 99) | private static void MovePrevious(this MainFacade src, DragDropObject obj)
method MoveNext (line 119) | private static void MoveNext(this MainFacade src, DragDropObject obj)
FILE: Applications/Editor/Main/Sources/Extensions/Facade/Open.cs
class OpenExtension (line 35) | static class OpenExtension
method OpenProcess (line 51) | public static void OpenProcess(this Type src, string args) =>
method OpenLink (line 70) | public static void OpenLink(this MainFacade src, Entity link)
method Load (line 99) | public static void Load(this MainFacade src, string path)
method Reload (line 124) | public static void Reload(this MainFacade src, string path)
method Close (line 145) | public static void Close(this MainFacade src, bool save)
FILE: Applications/Editor/Main/Sources/Extensions/Facade/Others.cs
class OtherExtension (line 35) | internal static class OtherExtension
method Setup (line 51) | public static void Setup(this MainFacade src, IEnumerable<string> args)
method Select (line 70) | public static void Select(this MainFacade src) =>
method Zoom (line 84) | public static void Zoom(this MainFacade src)
method CanInsert (line 110) | public static bool CanInsert(this MainFacade src, string path)
FILE: Applications/Editor/Main/Sources/Extensions/Facade/Save.cs
class SaveExtension (line 34) | internal static class SaveExtension
method Save (line 50) | public static void Save(this MainFacade src, string dest) => src.Save(...
method Save (line 67) | public static void Save(this MainFacade src, string dest, bool reopen)...
method Save (line 91) | public static void Save(this MainFacade src, string dest, Action<Entit...
method Overwrite (line 122) | public static void Overwrite(this MainFacade src) =>
method Extract (line 137) | public static void Extract(this MainFacade src, SaveOption options) =>...
method Extract (line 157) | public static void Extract(this MainFacade src, string dest) =>
FILE: Applications/Editor/Main/Sources/Extensions/File.cs
class File (line 41) | internal static class File
method GetFiles (line 58) | public static string[] GetFiles(this DragEventArgs src) =>
method FirstPdf (line 76) | public static string FirstPdf(this IEnumerable<string> src) =>
method Sort (line 92) | public static IEnumerable<string> Sort(this IEnumerable<string> src) =>
method IsImageFile (line 108) | public static bool IsImageFile(this string src) =>
method GetItext (line 131) | public static IDocumentReader GetItext(this Entity src, IQuery<string>...
method GetPdfium (line 154) | public static Pdfium.DocumentRenderer GetPdfium(this IDocumentRenderer...
method GetIconSource (line 175) | public static ImageSource GetIconSource(this Entity src, IconSize size...
FILE: Applications/Editor/Main/Sources/Extensions/Image.cs
class ImageExtension (line 35) | internal static class ImageExtension
method NewItem (line 55) | public static ImageItem NewItem(this ImageCollection src, int index, P...
method Select (line 75) | public static void Select(this ImageCollection src, bool selected)
method Flip (line 91) | public static void Flip(this ImageCollection src)
method GetSelectedIndices (line 110) | public static IList<int> GetSelectedIndices(this ImageCollection src) =>
method Insert (line 131) | public static HistoryItem Insert(this ImageCollection src, IEnumerable...
method InsertAt (line 151) | public static HistoryItem InsertAt(this ImageCollection src, int index...
method Remove (line 176) | public static HistoryItem Remove(this ImageCollection src) =>
method RemoveAt (line 195) | public static HistoryItem RemoveAt(this ImageCollection src, IEnumerab...
method Rotate (line 220) | public static HistoryItem Rotate(this ImageCollection src, int degree)
method Move (line 245) | public static HistoryItem Move(this ImageCollection src, int delta)
method GetPair (line 271) | private static IList<KeyValuePair<int, Page>> GetPair(ImageCollection ...
FILE: Applications/Editor/Main/Sources/Extensions/Keys.cs
class Keys (line 34) | public static class Keys
method IsPressed (line 67) | public static bool IsPressed(this IEnumerable<Key> src) =>
FILE: Applications/Editor/Main/Sources/Extensions/Mouse.cs
class MouseExtension (line 34) | internal static class MouseExtension
method GetBounds (line 52) | public static Rect GetBounds(this ListView src, int index)
method GetIndex (line 80) | public static int GetIndex(this ListView obj, Point pt, Rect unit)
method GetIndex (line 109) | public static int GetIndex(this ListView src, Point pt)
method GetObject (line 129) | public static T GetObject<T>(this ListView src, Point pt)
method GetParent (line 147) | public static T GetParent<T>(this DependencyObject src) where T : Depe...
method GetChild (line 169) | public static T GetChild<T>(this DependencyObject src) where T : Depen...
method SetVisible (line 198) | public static void SetVisible(this UIElement src, bool visible)
FILE: Applications/Editor/Main/Sources/Interactions/DragDropObject.cs
class DragDropObject (line 34) | [Serializable]
method DragDropObject (line 51) | public DragDropObject(int index) : this(Process.GetCurrentProcess().Id...
method DragDropObject (line 66) | public DragDropObject(int pid, int index)
FILE: Applications/Editor/Main/Sources/Interactions/FileDropBehavior.cs
class FileDropBehavior (line 33) | public class FileDropBehavior : CommandBehavior<Window>
method OnAttached (line 46) | protected override void OnAttached()
method OnDetaching (line 63) | protected override void OnDetaching()
method WhenDrop (line 83) | private void WhenDrop(object s, DragEventArgs e)
method WhenDragOver (line 98) | private void WhenDragOver(object s, DragEventArgs e)
FILE: Applications/Editor/Main/Sources/Interactions/InsertDropTarget.cs
class InsertDropTarget (line 34) | public sealed class InsertDropTarget : IDropTarget
method InsertDropTarget (line 50) | public InsertDropTarget(Action<int, int> callback) => _callback = call...
method DragOver (line 67) | public void DragOver(IDropInfo e)
method Drop (line 87) | public void Drop(IDropInfo e) => _callback(e.DragInfo.SourceIndex, e.I...
method DragEnter (line 100) | public void DragEnter(IDropInfo e) { }
method DragLeave (line 113) | public void DragLeave(IDropInfo e) { }
FILE: Applications/Editor/Main/Sources/Interactions/InsertPositionBehavior.cs
class InsertPositionBehavior (line 34) | public sealed class InsertPositionBehavior : CommandBehavior<ToggleButto...
method OnAttached (line 45) | protected override void OnAttached()
method OnDetaching (line 61) | protected override void OnDetaching()
method WhenChecked (line 76) | private void WhenChecked(object s, RoutedEventArgs e)
FILE: Applications/Editor/Main/Sources/Interactions/MouseClearBehavior.cs
class MouseClearBehavior (line 35) | public class MouseClearBehavior : CommandBehavior<ListView>
method OnAttached (line 48) | protected override void OnAttached()
method OnDetaching (line 64) | protected override void OnDetaching()
method WhenMouseDown (line 84) | private void WhenMouseDown(object s, MouseButtonEventArgs e)
FILE: Applications/Editor/Main/Sources/Interactions/MouseMoveBehavior.cs
class MouseMoveBehavior (line 40) | public sealed class MouseMoveBehavior : CommandBehavior<ListView>
method MouseMoveBehavior (line 53) | public MouseMoveBehavior()
method OnAttached (line 144) | protected override void OnAttached()
method OnDetaching (line 169) | protected override void OnDetaching()
method WhenMouseDown (line 202) | private void WhenMouseDown(object s, MouseEventArgs e)
method WhenMouseMove (line 216) | private void WhenMouseMove(object s, MouseEventArgs e)
method WhenMouseEnter (line 232) | private void WhenMouseEnter(object s, MouseEventArgs e)
method WhenDragStart (line 246) | private void WhenDragStart(object s, MouseEventArgs e)
method WhenDragOver (line 267) | private void WhenDragOver(object s, DragEventArgs e)
method WhenDrop (line 289) | private void WhenDrop(object s, DragEventArgs e)
method Drag (line 314) | private void Drag(int index) => DragDrop.DoDragDrop(AssociatedObject,
method Draw (line 332) | private void Draw(DragDropObject src, Point pt, Rect unit)
method Scroll (line 366) | private void Scroll(Point pt, Rect unit)
method GetTargetIndex (line 393) | private int GetTargetIndex(DragDropObject src, Point pt, Rect unit)
method Conver (line 420) | private Point Conver<T>(Point pt, T control) where T : UIElement =>
FILE: Applications/Editor/Main/Sources/Interactions/MousePreviewBehavior.cs
class MousePreviewBehavior (line 36) | public class MousePreviewBehavior : CommandBehavior<ListView>
method OnAttached (line 49) | protected override void OnAttached()
method OnDetaching (line 65) | protected override void OnDetaching()
method WhenDoubleClick (line 80) | private void WhenDoubleClick(object s, MouseButtonEventArgs e)
FILE: Applications/Editor/Main/Sources/Interactions/OtherBehaviors.cs
class ShowPasswordWindow (line 33) | public class ShowPasswordWindow : ShowDialogBehavior<PasswordWindow, Pas...
class ShowPreviewWindow (line 44) | public class ShowPreviewWindow : ShowDialogBehavior<PreviewWindow, Previ...
class ShowInsertWindow (line 55) | public class ShowInsertWindow : ShowDialogBehavior<InsertWindow, InsertV...
class ShowRemoveWindow (line 66) | public class ShowRemoveWindow : ShowDialogBehavior<RemoveWindow, RemoveV...
class ShowExtractWindow (line 77) | public class ShowExtractWindow : ShowDialogBehavior<ExtractWindow, Extra...
class ShowMetadataWindow (line 88) | public class ShowMetadataWindow : ShowDialogBehavior<MetadataWindow, Met...
class ShowEncryptionWindow (line 99) | public class ShowEncryptionWindow : ShowDialogBehavior<EncryptionWindow,...
class ShowSettingWindow (line 110) | public class ShowSettingWindow : ShowDialogBehavior<SettingWindow, Setti...
class MouseOpenBehavior (line 121) | public class MouseOpenBehavior : FileDropToCommand<Window> { }
FILE: Applications/Editor/Main/Sources/Interactions/SelectionBehavior.cs
class SelectionBehavior (line 36) | public class SelectionBehavior : CommandBehavior<ListBox>
method OnAttached (line 81) | protected override void OnAttached()
method OnDetaching (line 97) | protected override void OnDetaching()
method WhenChanged (line 112) | private void WhenChanged(object s, SelectionChangedEventArgs e)
FILE: Applications/Editor/Main/Sources/Interactions/SetupBehavior.cs
class SetupBehavior (line 35) | public class SetupBehavior : CommandBehavior<Window>
method OnAttached (line 48) | protected override void OnAttached()
method OnDetaching (line 64) | protected override void OnDetaching()
method WhenContentRendered (line 79) | private void WhenContentRendered(object s, EventArgs e)
FILE: Applications/Editor/Main/Sources/Interactions/SimplexConverters.cs
class TitleConverter (line 47) | public class TitleConverter : MarkupExtension, IMultiValueConverter
method Convert (line 58) | public object Convert(object[] values, Type target, object parameter, ...
method ConvertBack (line 76) | public object[] ConvertBack(object value, Type[] targets, object param...
method ProvideValue (line 88) | public override object ProvideValue(IServiceProvider serviceProvider) ...
class IconConverter (line 105) | public class IconConverter : SimplexConverter
method IconConverter (line 116) | public IconConverter() : base(e => (e as Entity)?.GetIconSource(IconSi...
class ByteConverter (line 132) | public class ByteConverter : SimplexConverter
method ByteConverter (line 143) | public ByteConverter() : base(e =>
class ByteConverterLite (line 163) | public class ByteConverterLite : SimplexConverter
method ByteConverterLite (line 174) | public ByteConverterLite() : base(e => e.TryCast<long>().ToRoughBytes(...
class EncryptionMethodConverter (line 190) | public class EncryptionMethodConverter : SimplexConverter
method EncryptionMethodConverter (line 202) | public EncryptionMethodConverter() : base(e => new Dictionary<Encrypti...
class ViewerOptionsConverter (line 225) | public class ViewerOptionsConverter : SimplexConverter
method ViewerOptionsConverter (line 237) | public ViewerOptionsConverter() : base(e =>
class IsImageFormat (line 264) | public class IsImageFormat : SimplexConverter
method IsImageFormat (line 275) | public IsImageFormat() : base(e => e is SaveFormat fmt && fmt == SaveF...
class BooleanToCursor (line 291) | public class BooleanToCursor : BooleanToValue<Cursor>
method BooleanToCursor (line 302) | public BooleanToCursor() : base(Cursors.Wait, Cursors.Arrow) { }
class CountToText (line 319) | public class CountToText : SimplexConverter
method CountToText (line 330) | public CountToText() : base(e => string.Format(
class IndexToText (line 348) | public class IndexToText : SimplexConverter
method IndexToText (line 359) | public IndexToText() : base(e => (e.TryCast<int>() + 1).ToString()) { }
class SelectionToText (line 376) | public class SelectionToText : SimplexConverter
method SelectionToText (line 387) | public SelectionToText() : base(e => string.Format(
class SelectionToVisibility (line 406) | public class SelectionToVisibility : BooleanToVisibility
method SelectionToVisibility (line 417) | public SelectionToVisibility() : base(e => e.TryCast<int>() > 0) { }
class HasValueToVisibility (line 434) | public class HasValueToVisibility : SimplexConverter
method HasValueToVisibility (line 446) | public HasValueToVisibility() :
class HasValueToVisibilityInverse (line 465) | public class HasValueToVisibilityInverse : SimplexConverter
method HasValueToVisibilityInverse (line 477) | public HasValueToVisibilityInverse() :
FILE: Applications/Editor/Main/Sources/Interactions/VisibleRange.cs
class VisibleRange (line 38) | public class VisibleRange : Behavior<ScrollViewer>
method OnAttached (line 140) | protected override void OnAttached()
method OnDetaching (line 157) | protected override void OnDetaching()
method Update (line 173) | private void Update()
method Create (line 199) | private static DependencyProperty Create<T>(string name,
method Set (line 212) | private void Set<T>(ref T field, T value, Action action)
method WhenChanged (line 228) | private void WhenChanged(object s, EventArgs e) => Update();
FILE: Applications/Editor/Main/Sources/Models/Backup.cs
class Backup (line 35) | public sealed class Backup
method Backup (line 49) | public Backup(SettingFolder settings)
method GetDefaultRootDirectory (line 76) | public static string GetDefaultRootDirectory() => Io.Combine(
method GetRootDirectory (line 94) | public string GetRootDirectory()
method Invoke (line 128) | public void Invoke(Entity src)
method Cleanup (line 157) | public void Cleanup()
method IsBackupFolder (line 196) | private static bool IsBackupFolder(string src)
FILE: Applications/Editor/Main/Sources/Models/BackupException.cs
class BackupException (line 32) | [Serializable]
method BackupException (line 46) | public BackupException(Exception inner) : base("Backup failed", inner)...
FILE: Applications/Editor/Main/Sources/Models/CacheCollection.cs
class CacheCollection (line 36) | public class CacheCollection<TKey, TValue> : EnumerableBase<KeyValuePair...
method CacheCollection (line 57) | public CacheCollection(Func<TKey, TValue> creator) : this(creator, nul...
method CacheCollection (line 79) | public CacheCollection(Func<TKey, TValue> creator, Action<TKey, TValue...
method OnCreated (line 128) | protected virtual void OnCreated(KeyValueEventArgs<TKey, TValue> e) =>
method OnFailed (line 157) | protected virtual void OnFailed(KeyValueEventArgs<TKey, Exception> e) =>
method GetOrCreate (line 182) | public TValue GetOrCreate(TKey src)
method TryGetValue (line 211) | public bool TryGetValue(TKey src, out TValue dest) =>
method Contains (line 230) | public bool Contains(TKey src) => _created.ContainsKey(src);
method Remove (line 247) | public bool Remove(TKey src)
method Clear (line 264) | public void Clear()
method GetEnumerator (line 288) | public override IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator(...
method Dispose (line 310) | protected override void Dispose(bool disposing)
method Create (line 330) | private void Create(TKey src)
FILE: Applications/Editor/Main/Sources/Models/DirectoryMonitor.cs
class DirectoryMonitor (line 40) | public sealed class DirectoryMonitor : ObservableCollectionBase<Entity>
method DirectoryMonitor (line 58) | public DirectoryMonitor(string directory, string filter, Dispatcher di...
method GetEnumerator (line 144) | public override IEnumerator<Entity> GetEnumerator() => _items.GetEnume...
method Dispose (line 165) | protected override void Dispose(bool disposing) { }
method Refresh (line 176) | private void Refresh() => Task.Run(() =>
method Get (line 192) | private IEnumerable<Entity> Get() =>
FILE: Applications/Editor/Main/Sources/Models/FileCollection.cs
class FileCollection (line 34) | public sealed class FileCollection : ObservableCollectionBase<FileItem>,...
method FileCollection (line 49) | public FileCollection(Dispatcher dispatcher) : base(dispatcher)
method IndexOf (line 97) | public int IndexOf(FileItem src) => _inner.IndexOf(src);
method Add (line 110) | public void Add(FileItem src) => _inner.Add(src);
method Remove (line 123) | public void Remove(FileItem src) => _inner.Remove(src);
method Move (line 138) | public void Move(int oldindex, int newindex) => _inner.Move(oldindex, ...
method Clear (line 149) | public void Clear() => _inner.Clear();
method GetEnumerator (line 164) | public override IEnumerator<FileItem> GetEnumerator() => _inner.GetEnu...
method Dispose (line 182) | protected override void Dispose(bool disposing) { }
FILE: Applications/Editor/Main/Sources/Models/FileItem.cs
class FileItem (line 36) | public sealed class FileItem : ObservableBase, IListItem
method FileItem (line 52) | public FileItem(string src, Selection<FileItem> selection)
method Dispose (line 162) | protected override void Dispose(bool disposing)
FILE: Applications/Editor/Main/Sources/Models/History.cs
class History (line 33) | public sealed class History : ObservableBase
method History (line 47) | public History(Dispatcher dispatcher) : base(dispatcher) { }
method Register (line 90) | public void Register(HistoryItem item) => Invoke(() =>
method Clear (line 105) | public void Clear() => Invoke(() =>
method Undo (line 120) | public void Undo() => Invoke(() =>
method Redo (line 137) | public void Redo() => Invoke(() =>
method Dispose (line 160) | protected override void Dispose(bool disposing) { }
method Invoke (line 175) | public void Invoke(Action action)
FILE: Applications/Editor/Main/Sources/Models/HistoryItem.cs
class HistoryItem (line 32) | public sealed class HistoryItem
method Invoke (line 77) | public static HistoryItem Invoke(Action action, Action undo)
FILE: Applications/Editor/Main/Sources/Models/ImageCollection.cs
class ImageCollection (line 47) | public sealed class ImageCollection : ObservableCollectionBase<ImageItem...
method ImageCollection (line 64) | public ImageCollection(Func<string, IDocumentRenderer> getter, Dispatc...
method Add (line 149) | public void Add(IEnumerable<Page> items) => items.Each(e => _inner.Add...
method Clear (line 160) | public void Clear()
method Insert (line 182) | public void Insert(int index, IEnumerable<Page> items) => SetIndex(() =>
method Move (line 205) | public void Move(IEnumerable<int> indices, int delta) => SetIndex(() =>
method Remove (line 236) | public void Remove(IEnumerable<int> indices) => SetIndex(() =>
method Rotate (line 264) | public void Rotate(IEnumerable<int> indices, int degree) => Reschedule...
method Zoom (line 284) | public void Zoom(int offset) => Reschedule(() =>
method Redraw (line 299) | public void Redraw() => Reschedule(_cache.Clear);
method GetImage (line 317) | public Image GetImage(int index, double ratio)
method GetEnumerator (line 337) | public override IEnumerator<ImageItem> GetEnumerator() => _inner.GetEn...
method Dispose (line 355) | protected override void Dispose(bool disposing) { if (disposing) Clear...
method OnCollectionChanged (line 368) | protected override void OnCollectionChanged(NotifyCollectionChangedEve...
method SetIndex (line 387) | private void SetIndex(Func<KeyValuePair<int, int>> before)
method Reschedule (line 404) | private void Reschedule(Action before)
method GetImageSource (line 434) | internal ImageSource GetImageSource(ImageItem src) =>
FILE: Applications/Editor/Main/Sources/Models/ImageItem.cs
class ImageItem (line 36) | public class ImageItem : ObservableBase, IListItem
method ImageItem (line 54) | public ImageItem(Func<ImageItem, ImageSource> getter,
method Refresh (line 201) | public void Refresh() => Refresh(nameof(Stretch), nameof(Image));
method Rotate (line 214) | public void Rotate(int degree)
method Dispose (line 239) | protected override void Dispose(bool disposing)
method UpdateSize (line 260) | private void UpdateSize()
method WhenPreferencesChanged (line 289) | private void WhenPreferencesChanged(object s, PropertyChangedEventArgs e)
FILE: Applications/Editor/Main/Sources/Models/ImagePreference.cs
class ImagePreference (line 35) | public sealed class ImagePreference : ObservableBase
method ImagePreference (line 51) | public ImagePreference(Dispatcher dispatcher) : base(dispatcher) { }
method Dispose (line 201) | protected override void Dispose(bool disposing) { }
method GetDummyImage (line 212) | private ImageSource GetDummyImage() =>
FILE: Applications/Editor/Main/Sources/Models/ImageRenderer.cs
class ImageRenderer (line 36) | public class ImageRenderer : IDocumentRenderer
method Render (line 59) | public void Render(Graphics dest, Page page, PointF point, SizeF size) =>
method Render (line 76) | public Image Render(Page page, SizeF size)
method GetRatio (line 105) | private double GetRatio(Page page, SizeF size)
method Select (line 122) | private void Select(Image src, Page page)
method Rotate (line 141) | private void Rotate(Image src, Angle angle)
FILE: Applications/Editor/Main/Sources/Models/ImageSelection.cs
class ImageSelection (line 34) | public sealed class ImageSelection : Selection<ImageItem>
method ImageSelection (line 50) | public ImageSelection(Dispatcher dispatcher) : base(dispatcher) { }
method OnPropertyChanged (line 104) | protected override void OnPropertyChanged(PropertyChangedEventArgs e)
FILE: Applications/Editor/Main/Sources/Models/Message.cs
class Message (line 34) | internal static class Message
method From (line 51) | public static DialogMessage From(Exception src)
method ForOverwrite (line 76) | public static DialogMessage ForOverwrite() => new(Surface.Texts.Warn_O...
method ForOpen (line 98) | public static OpenFileMessage ForOpen() => new(Surface.Texts.Window_Open)
method ForInsert (line 120) | public static OpenFileMessage ForInsert() => new(Surface.Texts.Window_...
method ForBackup (line 142) | public static OpenDirectoryMessage ForBackup(string src) => new(Surfac...
method ForTemp (line 159) | public static OpenDirectoryMessage ForTemp(string src) => new(Surface....
method ForExtract (line 176) | public static SaveFileMessage ForExtract() => new(Surface.Texts.Window...
method ForSave (line 198) | public static SaveFileMessage ForSave() => new(Surface.Texts.Window_Save)
FILE: Applications/Editor/Main/Sources/Models/Range.cs
class Range (line 43) | public sealed class Range : EnumerableBase<int>
method Range (line 60) | public Range(string src, int n) => _inner = Parse(src, n);
method GetEnumerator (line 79) | public override IEnumerator<int> GetEnumerator() => _inner.GetEnumerat...
method Dispose (line 101) | protected override void Dispose(bool disposing) { }
method Parse (line 112) | private static IEnumerable<int> Parse(string src, int n)
class RangeException (line 150) | [Serializable]
method RangeException (line 162) | public RangeException() : base(Surface.Texts.Error_Range) { }
FILE: Applications/Editor/Main/Sources/Models/RendererCache.cs
class RendererCache (line 36) | public sealed class RendererCache : DisposableBase
method RendererCache (line 52) | public RendererCache(Func<IQuery<string>> query) => _query = query;
method GetOrAdd (line 72) | public IDocumentRenderer GetOrAdd(string src) => GetOrAdd(src, string....
method GetOrAdd (line 89) | public IDocumentRenderer GetOrAdd(string src, string password)
method Clear (line 105) | public void Clear()
method Dispose (line 133) | protected override void Dispose(bool disposing)
method Create (line 148) | private IDocumentRenderer Create(string src, string password) =>
method CreateDocumentRenderer (line 163) | private DocumentRenderer CreateDocumentRenderer(string src, string pas...
method CreateImageRenderer (line 185) | private ImageRenderer CreateImageRenderer(string src, string password)...
FILE: Applications/Editor/Main/Sources/Models/RibbonElement.cs
class RibbonElement (line 36) | public sealed class RibbonElement : BindableElement
method RibbonElement (line 54) | public RibbonElement(string name,
method RibbonElement (line 74) | public RibbonElement(string name,
method RibbonElement (line 96) | public RibbonElement(string name,
method Dispose (line 208) | protected override void Dispose(bool disposing)
method React (line 222) | protected override void React()
method OnPropertyChanged (line 237) | protected override void OnPropertyChanged(PropertyChangedEventArgs e)
method Register (line 261) | private IDisposable Register(ICommand src)
FILE: Applications/Editor/Main/Sources/Models/SaveAction.cs
class SaveAction (line 38) | public sealed class SaveAction : DisposableBase
method SaveAction (line 56) | public SaveAction(IDocumentReader src, ImageCollection images, SaveOpt...
method Invoke (line 116) | public void Invoke(Action<Entity> prev, Action<Entity> next)
method Dispose (line 141) | protected override void Dispose(bool disposing)
method SaveAsDocument (line 159) | private void SaveAsDocument(Action<Entity> prev, Action<Entity> next) ...
method SaveAsDocument (line 176) | private void SaveAsDocument(string dest, IDocumentReader src, IEnumera...
method SaveWithItext (line 215) | private void SaveWithItext(string dest, IDocumentReader src, IEnumerab...
method SplitAsDocument (line 237) | private void SplitAsDocument(Action<Entity> prev, Action<Entity> next)
method SplitAsImage (line 258) | private void SplitAsImage(Action<Entity> prev, Action<Entity> next)
method MoveOrCopy (line 282) | private void MoveOrCopy(string src, string dest, bool overwrite)
method GetPath (line 314) | private string GetPath(Entity src, int index, int count)
method GetIndices (line 330) | private IEnumerable<int> GetIndices(SaveOption e) => e.Target switch
FILE: Applications/Editor/Main/Sources/Models/SaveOption.cs
class SaveOption (line 36) | public sealed class SaveOption : ObservableBase
method SaveOption (line 49) | public SaveOption() : this(Dispatcher.Vanilla) { }
method SaveOption (line 63) | public SaveOption(Dispatcher dispatcher) : base(dispatcher)
method ToItext (line 273) | public Itext.SaveOption ToItext() => new()
method Dispose (line 299) | protected override void Dispose(bool disposing) { }
method SetFormat (line 310) | private void SetFormat()
method SetDestination (line 333) | private void SetDestination()
method GetEntity (line 351) | private Entity GetEntity(string src) => src.HasValue() ? new(src) : de...
type SaveFormat (line 365) | public enum SaveFormat
type SaveTarget (line 382) | public enum SaveTarget
FILE: Applications/Editor/Main/Sources/Models/Selection.cs
class Selection (line 34) | public class Selection<T> : ObservableBase, IEnumerable<T>
method Selection (line 50) | public Selection(Dispatcher dispatcher) : base(dispatcher) { }
method Add (line 93) | public void Add(T src)
method Remove (line 109) | public void Remove(T src)
method GetEnumerator (line 127) | public IEnumerator<T> GetEnumerator() => RawObject.Keys.GetEnumerator();
method GetEnumerator (line 138) | IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
method Dispose (line 155) | protected override void Dispose(bool disposing) { }
FILE: Applications/Editor/Main/Sources/Models/SettingFolder.cs
class SettingFolder (line 41) | public sealed class SettingFolder : SettingFolder<SettingValue>
method SettingFolder (line 54) | public SettingFolder() : this(Format.Registry, @"CubeSoft\CubePDF Util...
method SettingFolder (line 69) | public SettingFolder(Format format, string location) : this(typeof(App...
method SettingFolder (line 85) | public SettingFolder(Assembly assembly, Format format, string location) :
method GetSplashProcesses (line 160) | public IEnumerable<Process> GetSplashProcesses() =>
method OnLoad (line 176) | protected override void OnLoad()
method OnSave (line 191) | protected override void OnSave()
method OnPropertyChanged (line 206) | protected override void OnPropertyChanged(PropertyChangedEventArgs e)
method MakeUri (line 225) | private Uri MakeUri(string url) =>
FILE: Applications/Editor/Main/Sources/Models/SettingValue.cs
class SettingValue (line 35) | [DataContract]
FILE: Applications/Editor/Main/Sources/Native/Shell32.cs
class NativeMethods (line 31) | internal static class NativeMethods
method SHAddToRecentDocs (line 44) | [DllImport(LibName, CharSet = CharSet.Unicode)]
FILE: Applications/Editor/Main/Sources/Presenters/DialogViewModel.cs
class DialogViewModel (line 34) | public abstract class DialogViewModel<TModel> : PresentableBase<TModel>
method DialogViewModel (line 52) | protected DialogViewModel(TModel model,
method GetTitle (line 119) | protected abstract string GetTitle();
FILE: Applications/Editor/Main/Sources/Presenters/Encryption/EncryptionFacade.cs
class EncryptionFacade (line 33) | public sealed class EncryptionFacade
method EncryptionFacade (line 47) | public EncryptionFacade(Encryption src)
method IsAcceptable (line 137) | public bool IsAcceptable()
method Normalize (line 162) | public void Normalize()
method GetPermission (line 183) | public PermissionValue GetPermission(bool value) => value ? Permission...
FILE: Applications/Editor/Main/Sources/Presenters/Encryption/EncryptionViewModel.cs
class EncryptionViewModel (line 36) | public sealed class EncryptionViewModel : DialogViewModel<EncryptionFacade>
method EncryptionViewModel (line 54) | public EncryptionViewModel(Action<Encryption> callback,
method GetTitle (line 354) | protected override string GetTitle() => Surface.Texts.Security_Window;
FILE: Applications/Editor/Main/Sources/Presenters/Extract/ExtractFacade.cs
class ExtractFacade (line 31) | public sealed class ExtractFacade
method ExtractFacade (line 49) | public ExtractFacade(ImageSelection selection, int count, Dispatcher d...
method Create (line 106) | private SaveOption Create(ImageSelection src, Dispatcher dispatcher)
FILE: Applications/Editor/Main/Sources/Presenters/Extract/ExtractViewModel.cs
class ExtractViewModel (line 40) | public sealed class ExtractViewModel : DialogViewModel<ExtractFacade>
method ExtractViewModel (line 59) | public ExtractViewModel(Action<SaveOption> callback,
method GetTitle (line 298) | protected override string GetTitle() => Surface.Texts.Extract_Window;
FILE: Applications/Editor/Main/Sources/Presenters/Insert/InsertBindableValue.cs
class InsertBindableValue (line 32) | public sealed class InsertBindableValue : ObservableBase
method InsertBindableValue (line 50) | public InsertBindableValue(int index, int count, Dispatcher dispatcher...
method Dispose (line 158) | protected override void Dispose(bool disposing) { }
FILE: Applications/Editor/Main/Sources/Presenters/Insert/InsertFacade.cs
class InsertFacade (line 38) | public sealed class InsertFacade
method InsertFacade (line 57) | public InsertFacade(int index, int count, SettingValue settings, Dispa...
method Preview (line 102) | public void Preview() => Process.Start(Value.Selection.First().FullName);
method Add (line 115) | public void Add(IEnumerable<string> src)
method Clear (line 130) | public void Clear()
method Remove (line 145) | public void Remove()
method Move (line 165) | public void Move(int delta)
method Move (line 182) | public void Move(int from, int to)
method SelectClear (line 198) | public void SelectClear()
method Move (line 216) | private void Move(IEnumerable<int> src, int delta)
method MovePrevious (line 234) | private void MovePrevious(int from, int to)
method MoveNext (line 251) | private void MoveNext(int from, int to)
method GetSelection (line 270) | private IEnumerable<int> GetSelection(int delta)
FILE: Applications/Editor/Main/Sources/Presenters/Insert/InsertViewModel.cs
class InsertViewModel (line 37) | public sealed class InsertViewModel : DialogViewModel<InsertFacade>
method InsertViewModel (line 57) | public InsertViewModel(Action<int, IEnumerable<FileItem>> callback,
method GetTitle (line 299) | protected override string GetTitle() => Surface.Texts.Insert_Window;
method Dispose (line 316) | protected override void Dispose(bool disposing)
method SendOpen (line 338) | private void SendOpen()
method GetOkCommand (line 354) | private ICommand GetOkCommand(Action<int, IEnumerable<FileItem>> callb...
method IsSelected (line 375) | private ICommand IsSelected(Action action) => new DelegateCommand(action,
FILE: Applications/Editor/Main/Sources/Presenters/Insert/PositionViewModel.cs
class PositionViewModel (line 33) | public sealed class PositionViewModel : PresentableBase<InsertBindableVa...
method PositionViewModel (line 51) | public PositionViewModel(InsertBindableValue src,
FILE: Applications/Editor/Main/Sources/Presenters/Main/MainBindableValue.cs
class MainBindableValue (line 34) | public sealed class MainBindableValue : ObservableBase
method MainBindableValue (line 52) | public MainBindableValue(ImageCollection images, SettingFolder setting...
method Invoke (line 258) | public void Invoke(Action action)
method Clear (line 279) | public void Clear()
method SetMessage (line 306) | public void SetMessage(string format, params object[] args) => Message...
method Set (line 323) | public HistoryItem Set(Metadata src)
method Set (line 344) | public HistoryItem Set(Encryption value)
method Set (line 362) | internal void Set(Metadata metadata, Encryption encryption)
method Dispose (line 383) | protected override void Dispose(bool disposing)
method LazyLoad (line 403) | private void LazyLoad()
FILE: Applications/Editor/Main/Sources/Presenters/Main/MainFacade.cs
class MainFacade (line 38) | public sealed class MainFacade : DisposableBase
method MainFacade (line 55) | public MainFacade(SettingFolder folder, SynchronizationContext context)
method Open (line 130) | public void Open(string src)
method Close (line 150) | public void Close() => Invoke(() => { Cache.Clear(); Value.Clear(); });
method Save (line 166) | public void Save(IDocumentReader src, SaveOption options, Action<Entit...
method Select (line 187) | public void Select(bool selected) => Invoke(() => Value.Images.Select(...
method Flip (line 198) | public void Flip() => Invoke(Value.Images.Flip);
method Insert (line 212) | public void Insert(int index, IEnumerable<string> src)
method Insert (line 238) | public void Insert(int index, IEnumerable<Page> src) =>
method Remove (line 250) | public void Remove() => Invoke(Value.Images.Remove);
method Remove (line 261) | public void Remove(IEnumerable<int> indices) => Invoke(() => Value.Ima...
method Move (line 272) | public void Move(int delta) => Invoke(() => Value.Images.Move(delta));
method Rotate (line 285) | public void Rotate(int degree) => Invoke(() => Value.Images.Rotate(deg...
method Update (line 298) | public void Update(Metadata src) => Invoke(() => Value.Set(src));
method Update (line 311) | public void Update(Encryption src) => Invoke(() => Value.Set(src));
method Undo (line 322) | public void Undo() => Invoke(Value.History.Undo);
method Redo (line 333) | public void Redo() => Invoke(Value.History.Redo);
method Zoom (line 348) | public void Zoom(int offset) => Invoke(() =>
method Redraw (line 363) | public void Redraw() => Invoke(Value.Images.Redraw);
method Dispose (line 384) | protected override void Dispose(bool disposing)
method Invoke (line 400) | private void Invoke(Func<HistoryItem> func) => Invoke(() => Value.Hist...
method Invoke (line 411) | private void Invoke(Action action) => Value.Invoke(() =>
method Setup (line 427) | private SettingFolder Setup(SettingFolder src)
FILE: Applications/Editor/Main/Sources/Presenters/Main/MainViewModel.cs
class MainViewModel (line 37) | public sealed class MainViewModel : MainViewModelBase
method MainViewModel (line 50) | public MainViewModel() : this (new() { AutoSave = true }, Synchronizat...
method MainViewModel (line 62) | public MainViewModel(SettingFolder src, SynchronizationContext context) :
method Dispose (line 179) | protected override void Dispose(bool disposing)
FILE: Applications/Editor/Main/Sources/Presenters/Main/MainViewModelBase.cs
class MainViewModelBase (line 40) | public abstract class MainViewModelBase : PresentableBase<MainFacade>
method MainViewModelBase (line 58) | protected MainViewModelBase(MainFacade facade,
method GetOpenLinkCommand (line 78) | protected ICommand GetOpenLinkCommand() => new DelegateCommand<object>(
method GetCloseCommand (line 94) | protected ICommand GetCloseCommand() => new DelegateCommand<CancelEven...
method GetCommand (line 115) | protected ICommand GetCommand(Action action) => new DelegateCommand(
method IsOpen (line 134) | protected ICommand IsOpen(Action action) => new DelegateCommand(
method IsSelected (line 153) | protected ICommand IsSelected(Action action) => new DelegateCommand(
method IsUndoable (line 175) | protected ICommand IsUndoable(Action action) => new DelegateCommand(
method IsRedoable (line 194) | protected ICommand IsRedoable(Action action) => new DelegateCommand(
method OnMessage (line 222) | protected override DialogMessage OnMessage(Exception src) =>
method SendClose (line 240) | protected void SendClose(CancelEventArgs src)
method SendOpen (line 267) | protected void SendOpen(Action<string> action) =>
method SendSave (line 283) | protected void SendSave(Action<string> action) =>
method SendInsert (line 299) | protected void SendInsert(int index) => Send(
method SendInsert (line 315) | protected void SendInsert() => Send(new InsertViewModel(
method SendRemove (line 333) | protected void SendRemove() => Send(new RemoveViewModel(
method SendExtract (line 349) | protected void SendExtract() => Send(new ExtractViewModel(
method SendMetadata (line 366) | protected void SendMetadata() => Run(() =>Send(new MetadataViewModel(
method SendEncryption (line 383) | protected void SendEncryption() => Run(() => Send(new EncryptionViewMo...
method SendPreview (line 399) | protected void SendPreview() => Send(new PreviewViewModel(
method SendSetting (line 415) | protected void SendSetting() => Send(new SettingViewModel(Facade.Folde...
FILE: Applications/Editor/Main/Sources/Presenters/Main/RecentViewModel.cs
class RecentViewModel (line 36) | public sealed class RecentViewModel : PresentableBase<DirectoryMonitor>
method RecentViewModel (line 54) | public RecentViewModel(DirectoryMonitor items,
FILE: Applications/Editor/Main/Sources/Presenters/Main/RibbonViewModel.cs
class RibbonViewModel (line 34) | public sealed class RibbonViewModel : MainViewModelBase
method RibbonViewModel (line 52) | public RibbonViewModel(MainFacade src,
FILE: Applications/Editor/Main/Sources/Presenters/Metadata/MetadataFacade.cs
class MetadataFacade (line 34) | public sealed class MetadataFacade
method MetadataFacade (line 51) | public MetadataFacade(Metadata src, Entity file)
FILE: Applications/Editor/Main/Sources/Presenters/Metadata/MetadataViewModel.cs
class MetadataViewModel (line 36) | public sealed class MetadataViewModel : DialogViewModel<MetadataFacade>
method MetadataViewModel (line 55) | public MetadataViewModel(Action<Metadata> callback,
method GetTitle (line 330) | protected override string GetTitle() => Surface.Texts.Metadata_Window;
FILE: Applications/Editor/Main/Sources/Presenters/PasswordViewModel.cs
class PasswordViewModel (line 36) | public sealed class PasswordViewModel : DialogViewModel<QueryMessage<str...
method PasswordViewModel (line 52) | public PasswordViewModel(QueryMessage<string, string> src, Synchroniza...
method GetTitle (line 97) | protected override string GetTitle() => Surface.Texts.Window_Password;
method GetFileName (line 108) | private static string GetFileName(string src)
FILE: Applications/Editor/Main/Sources/Presenters/Preview/PreviewBindableValue.cs
class PreviewBindableValue (line 34) | public sealed class PreviewBindableValue : ObservableBase
method PreviewBindableValue (line 52) | public PreviewBindableValue(ImageCollection src, Entity file, Dispatch...
method Dispose (line 171) | protected override void Dispose(bool disposing) { }
FILE: Applications/Editor/Main/Sources/Presenters/Preview/PreviewFacade.cs
class PreviewFacade (line 35) | public sealed class PreviewFacade
method PreviewFacade (line 53) | public PreviewFacade(ImageCollection src, Entity file, Dispatcher disp...
method Setup (line 87) | private void Setup(int index)
FILE: Applications/Editor/Main/Sources/Presenters/Preview/PreviewViewModel.cs
class PreviewViewModel (line 33) | public sealed class PreviewViewModel : DialogViewModel<PreviewFacade>
method PreviewViewModel (line 51) | public PreviewViewModel(ImageCollection src, Entity file, Synchronizat...
method GetTitle (line 84) | protected override string GetTitle() => string.Format(
FILE: Applications/Editor/Main/Sources/Presenters/Remove/RemoveFacade.cs
class RemoveFacade (line 33) | public sealed class RemoveFacade : ObservableBase
method RemoveFacade (line 50) | public RemoveFacade(int count, Dispatcher dispatcher) : base(dispatcher)
method Get (line 98) | public IEnumerable<int> Get() => new Range(Range, Count).Select(i => i...
method Dispose (line 115) | protected override void Dispose(bool disposing) { }
FILE: Applications/Editor/Main/Sources/Presenters/Remove/RemoveViewModel.cs
class RemoveViewModel (line 37) | public sealed class RemoveViewModel : DialogViewModel<RemoveFacade>
method RemoveViewModel (line 55) | public RemoveViewModel(Action<IEnumerable<int>> callback,
method GetTitle (line 130) | protected override string GetTitle() => Surface.Texts.Remove_Window;
FILE: Applications/Editor/Main/Sources/Presenters/SettingViewModel.cs
class SettingViewModel (line 38) | public sealed class SettingViewModel : DialogViewModel<SettingFolder>
method SettingViewModel (line 55) | public SettingViewModel(SettingFolder src, SynchronizationContext cont...
method GetTitle (line 365) | protected override string GetTitle() => Surface.Texts.Setting_Window;
method Apply (line 376) | private void Apply()
FILE: Applications/Editor/Main/Sources/Surface.cs
class Surface (line 32) | public static class Surface
FILE: Applications/Editor/Main/Sources/Texts/English.cs
class EnglishText (line 30) | internal class EnglishText() : Globalization.TextGroup(new()
FILE: Applications/Editor/Main/Sources/Texts/German.cs
class GermanText (line 30) | internal class GermanText() : Globalization.TextGroup(new()
FILE: Applications/Editor/Main/Sources/Texts/Japanese.cs
class JapaneseText (line 30) | internal class JapaneseText() : Globalization.TextGroup(new()
FILE: Applications/Editor/Main/Sources/Texts/Russian.cs
class RussianText (line 30) | internal class RussianText() : Globalization.TextGroup(new()
FILE: Applications/Editor/Main/Sources/Texts/SimplifiedChinese.cs
class SimplifiedChineseText (line 30) | internal class SimplifiedChineseText() : Globalization.TextGroup(new()
FILE: Applications/Editor/Main/Sources/Texts/Text.cs
class Text (line 33) | internal class Text() : LocalizableText(Make, new EnglishText())
method Make (line 234) | private static TextGroup Make(Language src) => src switch
method OnReset (line 254) | protected override void OnReset(Language src)
FILE: Applications/Editor/Main/Views/Components/FileListControl.xaml.cs
class FileListControl (line 32) | public partial class FileListControl : UserControl
method FileListControl (line 43) | public FileListControl() { InitializeComponent(); }
FILE: Applications/Editor/Main/Views/Components/FooterControl.xaml.cs
class FooterControl (line 32) | public partial class FooterControl : UserControl
method FooterControl (line 43) | public FooterControl() { InitializeComponent(); }
FILE: Applications/Editor/Main/Views/Components/HeroControl.xaml.cs
class HeroControl (line 32) | public partial class HeroControl : UserControl
method HeroControl (line 43) | public HeroControl() { InitializeComponent(); }
FILE: Applications/Editor/Main/Views/Components/PositionControl.xaml.cs
class PositionControl (line 32) | public partial class PositionControl : UserControl
method PositionControl (line 43) | public PositionControl() { InitializeComponent(); }
FILE: Applications/Editor/Main/Views/Components/RibbonControl.xaml.cs
class RibbonControl (line 32) | public partial class RibbonControl : UserControl
method RibbonControl (line 43) | public RibbonControl() { InitializeComponent(); }
FILE: Applications/Editor/Main/Views/EncryptionWindow.xaml.cs
class EncryptionWindow (line 32) | public partial class EncryptionWindow : Window
method EncryptionWindow (line 43) | public EncryptionWindow() { InitializeComponent(); }
FILE: Applications/Editor/Main/Views/ExtractWindow.xaml.cs
class ExtractWindow (line 32) | public partial class ExtractWindow : Window
method ExtractWindow (line 43) | public ExtractWindow() { InitializeComponent(); }
FILE: Applications/Editor/Main/Views/InsertWindow.xaml.cs
class InsertWindow (line 32) | public partial class InsertWindow : Window
method InsertWindow (line 43) | public InsertWindow() { InitializeComponent(); }
FILE: Applications/Editor/Main/Views/MainWindow.xaml.cs
class MainWindow (line 32) | public partial class MainWindow : RibbonWindow
method MainWindow (line 43) | public MainWindow() { InitializeComponent(); }
FILE: Applications/Editor/Main/Views/MetadataWindow.xaml.cs
class MetadataWindow (line 32) | public partial class MetadataWindow : Window
method MetadataWindow (line 43) | public MetadataWindow() { InitializeComponent(); }
FILE: Applications/Editor/Main/Views/PasswordWindow.xaml.cs
class PasswordWindow (line 32) | public partial class PasswordWindow : Window
method PasswordWindow (line 43) | public PasswordWindow() { InitializeComponent(); }
FILE: Applications/Editor/Main/Views/PreviewWindow.xaml.cs
class PreviewWindow (line 32) | public partial class PreviewWindow : Window
method PreviewWindow (line 43) | public PreviewWindow() { InitializeComponent(); }
FILE: Applications/Editor/Main/Views/RemoveWindow.xaml.cs
class RemoveWindow (line 32) | public partial class RemoveWindow : Window
method RemoveWindow (line 43) | public RemoveWindow() { InitializeComponent(); }
FILE: Applications/Editor/Main/Views/SettingWindow.xaml.cs
class SettingWindow (line 32) | public partial class SettingWindow : Window
method SettingWindow (line 43) | public SettingWindow() { InitializeComponent(); }
FILE: Applications/Pages/Main/Properties/Resources.Designer.cs
class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...
FILE: Applications/Pages/Main/Sources/Interactions/FileDropBehavior.cs
class FileDropBehavior (line 32) | public sealed class FileDropBehavior : DisposableBase
method FileDropBehavior (line 49) | public FileDropBehavior(MainWindow view, MainViewModel vm)
method Dispose (line 87) | protected override void Dispose(bool disposing)
method OnDragOver (line 101) | private void OnDragOver(object s, DragEventArgs e) =>
FILE: Applications/Pages/Main/Sources/Interactions/SelectionBehavior.cs
class SelectionBehavior (line 32) | public sealed class SelectionBehavior : DisposableBase
method SelectionBehavior (line 48) | public SelectionBehavior(DataGridView view)
method Dispose (line 73) | protected override void Dispose(bool disposing)
method OnMouseUp (line 87) | private void OnMouseUp(object s, MouseEventArgs e)
FILE: Applications/Pages/Main/Sources/Message.cs
class Message (line 35) | internal static class Message
method ForError (line 53) | public static DialogMessage ForError(string src) => new(src)
method ForAdd (line 75) | public static OpenFileMessage ForAdd() => new(Surface.Texts.Window_Add)
method ForMerge (line 98) | public static SaveFileMessage ForMerge() => new(Surface.Texts.Window_M...
method ForSplit (line 120) | public static OpenDirectoryMessage ForSplit() => new(Surface.Texts.Win...
method ForTemp (line 136) | public static OpenDirectoryMessage ForTemp() => new(Surface.Texts.Wind...
method ForSelect (line 156) | public static SelectMessage ForSelect(IEnumerable<int> indices, int of...
method ForPreview (line 175) | public static PreviewMessage ForPreview(IList<File> src, IEnumerable<i...
FILE: Applications/Pages/Main/Sources/Models/FileSelector.cs
class FileSelector (line 36) | public class FileSelector
method Get (line 66) | public IEnumerable<string> Get(IEnumerable<string> src) =>
method GetCore (line 84) | private IEnumerable<string> GetCore(IGrouping<bool, string> src) =>
method Filter (line 98) | private IEnumerable<string> Filter(IEnumerable<string> src) => SortIte...
method IsTarget (line 109) | private bool IsTarget(string src)
method SortItems (line 124) | private IEnumerable<string> SortItems(IEnumerable<string> src) =>
FILE: Applications/Pages/Main/Sources/Models/Messages.cs
class UpdateListMessage (line 32) | public sealed class UpdateListMessage { }
class SelectMessage (line 43) | public sealed class SelectMessage : Message<IEnumerable<int>> { }
class PreviewMessage (line 54) | public sealed class PreviewMessage : Message<string> { }
FILE: Applications/Pages/Main/Sources/Models/SettingExtension.cs
class SettingExtension (line 32) | public static class SettingExtension
method ToOpenOption (line 45) | public static OpenOption ToOpenOption(this SettingFolder _) => new()
method ToSaveOption (line 63) | public static SaveOption ToSaveOption(this SettingFolder src) => new()
FILE: Applications/Pages/Main/Sources/Models/SettingFolder.cs
class SettingFolder (line 35) | public sealed class SettingFolder : SettingFolder<SettingValue>
method SettingFolder (line 48) | public SettingFolder() : this(typeof(Program).Assembly, Format.Registr...
method SettingFolder (line 64) | public SettingFolder(Assembly assembly, Format format, string location) :
method OnSave (line 106) | protected override void OnSave()
FILE: Applications/Pages/Main/Sources/Models/SettingValue.cs
class SettingValue (line 34) | [DataContract]
FILE: Applications/Pages/Main/Sources/Presenters/EncryptionViewModel.cs
class EncryptionViewModel (line 33) | public class EncryptionViewModel : PresentableBase<Encryption>
method EncryptionViewModel (line 51) | public EncryptionViewModel(Encryption src, Aggregator aggregator, Sync...
method Apply (line 343) | public bool Apply()
FILE: Applications/Pages/Main/Sources/Presenters/MainFacade.cs
class MainFacade (line 40) | public sealed class MainFacade : ObservableBase, INotifyCollectionChanged
method MainFacade (line 56) | public MainFacade(SettingFolder src)
method Merge (line 168) | public void Merge(string dest) => Lock(() =>
method Split (line 194) | public void Split(string directory) => Lock(() =>
method Add (line 212) | public void Add(IEnumerable<string> src) => Lock(() =>
method Move (line 240) | public bool Move(IEnumerable<int> indices, int offset) => Lock(() =>
method Remove (line 266) | public void Remove(IEnumerable<int> indices) => Lock(() =>
method Reset (line 278) | public void Reset() => Lock(() =>
method Dispose (line 309) | protected override void Dispose(bool disposing) { }
method Make (line 320) | private DocumentWriterBase Make(DocumentWriterBase dest)
method MoveItems (line 353) | private void MoveItems(IEnumerable<int> indices, int offset)
method Lock (line 375) | private void Lock(Action action) => Lock(() =>
method Lock (line 390) | private T Lock<T>(Func<T> func)
FILE: Applications/Pages/Main/Sources/Presenters/MainViewModel.cs
class MainViewModel (line 39) | public sealed class MainViewModel : PresentableBase<MainFacade>
method MainViewModel (line 55) | public MainViewModel(SettingFolder src, IEnumerable<string> args) :
method MainViewModel (line 72) | public MainViewModel(SettingFolder src, IEnumerable<string> args, Sync...
method Setup (line 161) | public void Setup() { if (Arguments.Any()) Add(Arguments); }
method Merge (line 172) | public void Merge() => Send(Message.ForMerge(), Facade.Merge, false);
method Metadata (line 183) | public void Metadata() => Send(new MetadataViewModel(Facade.Metadata, ...
method Split (line 194) | public void Split() => Send(Message.ForSplit(), Facade.Split, false);
method Add (line 205) | public void Add() => Send(Message.ForAdd(), Facade.Add, true);
method Add (line 218) | public void Add(IEnumerable<string> src) => Run(() => Facade.Add(src),...
method Remove (line 233) | public void Remove(IEnumerable<int> indices) => Run(() => Facade.Remov...
method Clear (line 244) | public void Clear() => Run(Facade.Reset, true);
method Move (line 258) | public void Move(IEnumerable<int> indices, int offset) => Run(() =>
method Preview (line 276) | public void Preview(IEnumerable<int> indices)
method Setting (line 290) | public void Setting() => Send(new SettingViewModel(Facade.Settings, Co...
method Help (line 301) | public void Help() => Send(new ProcessMessage(Surface.DocumentUri.ToSt...
method ObserveCollection (line 316) | private IDisposable ObserveCollection()
FILE: Applications/Pages/Main/Sources/Presenters/MetadataViewModel.cs
class MetadataViewModel (line 32) | public class MetadataViewModel : PresentableBase<Metadata>
method MetadataViewModel (line 50) | public MetadataViewModel(Metadata src, Encryption encryption, Synchron...
method Apply (line 196) | public void Apply()
FILE: Applications/Pages/Main/Sources/Presenters/PasswordViewModel.cs
class PasswordViewModel (line 35) | public sealed class PasswordViewModel : PresentableBase<QueryMessage<str...
method PasswordViewModel (line 51) | public PasswordViewModel(QueryMessage<string, string> src, Synchroniza...
method Apply (line 116) | public void Apply() => Quit(() => Facade.Cancel = false, true);
FILE: Applications/Pages/Main/Sources/Presenters/SettingViewModel.cs
class SettingViewModel (line 34) | public sealed class SettingViewModel : PresentableBase<SettingFolder>
method SettingViewModel (line 51) | public SettingViewModel(SettingFolder src, SynchronizationContext cont...
method SelectTemp (line 197) | public void SelectTemp() => Send(Message.ForTemp(), e => Temp = e, true);
method Apply (line 208) | public void Apply() => Quit(() =>
FILE: Applications/Pages/Main/Sources/Program.cs
class Program (line 35) | static class Program
method Main (line 46) | [STAThread]
FILE: Applications/Pages/Main/Sources/Surface.cs
class Surface (line 35) | public static class Surface
method MakeUri (line 160) | private static Uri MakeUri(string url) =>
FILE: Applications/Pages/Main/Sources/Texts/English.cs
class EnglishText (line 30) | internal class EnglishText() : Globalization.TextGroup(new()
FILE: Applications/Pages/Main/Sources/Texts/German.cs
class GermanText (line 30) | internal class GermanText() : Globalization.TextGroup(new()
FILE: Applications/Pages/Main/Sources/Texts/Japanese.cs
class JapaneseText (line 30) | internal class JapaneseText() : Globalization.TextGroup(new()
FILE: Applications/Pages/Main/Sources/Texts/Russian.cs
class RussianText (line 30) | internal class RussianText() : Globalization.TextGroup(new()
FILE: Applications/Pages/Main/Sources/Texts/SimplifiedChinese.cs
class SimplifiedChineseText (line 30) | internal class SimplifiedChineseText() : Globalization.TextGroup(new()
FILE: Applications/Pages/Main/Sources/Texts/Text.cs
class Text (line 33) | internal class Text() : LocalizableText(Make, new EnglishText())
method Make (line 154) | private static TextGroup Make(Language src) => src switch
method OnReset (line 174) | protected override void OnReset(Language src)
FILE: Applications/Pages/Main/Sources/Views/FileContextMenu.cs
class FileContextMenu (line 33) | public sealed class FileContextMenu : ContextMenuStrip
method FileContextMenu (line 46) | public FileContextMenu(Func<bool> predicate)
FILE: Applications/Pages/Main/Sources/Views/FileContextMenuItem.cs
class FileContextMenuItem (line 33) | internal class FileContextMenuItem : ToolStripMenuItem
method FileContextMenuItem (line 52) | public FileContextMenuItem(string text, Func<bool> predicate) : base(t...
FILE: Applications/Pages/Main/Sources/Views/FileGridView.cs
class FileGridView (line 36) | public class FileGridView : DataGridView
method FileGridView (line 49) | public FileGridView()
method Refresh (line 82) | public override void Refresh()
method OnCreateControl (line 97) | protected override void OnCreateControl()
method OnCellFormatting (line 120) | protected override void OnCellFormatting(DataGridViewCellFormattingEve...
method MakeColumn (line 150) | private static DataGridViewColumn MakeColumn(string name, string text,...
method GetColumnText (line 179) | private static string GetColumnText(int column) => column switch
FILE: Applications/Pages/Main/Sources/Views/MainWindow.Designer.cs
class MainWindow (line 3) | partial class MainWindow
method Dispose (line 11) | protected override void Dispose(bool disposing)
method InitializeComponent (line 22) | private void InitializeComponent()
FILE: Applications/Pages/Main/Sources/Views/MainWindow.cs
class MainWindow (line 41) | public partial class MainWindow : Window
method MainWindow (line 54) | public MainWindow() => InitializeComponent();
method OnBind (line 90) | protected override void OnBind(IBindable src)
method BindCore (line 112) | private void BindCore(MainViewModel vm)
method BindTexts (line 129) | private void BindTexts(MainViewModel _)
method BindBehaviors (line 154) | private void BindBehaviors(MainViewModel vm)
method BindShortcuts (line 203) | private void BindShortcuts(MainViewModel vm)
method Select (line 242) | private void Select(IEnumerable<int> indices)
FILE: Applications/Pages/Main/Sources/Views/MetadataWindow.Designer.cs
class MetadataWindow (line 3) | partial class MetadataWindow
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Applications/Pages/Main/Sources/Views/MetadataWindow.cs
class MetadataWindow (line 29) | public partial class MetadataWindow : Window
method MetadataWindow (line 42) | public MetadataWindow() => InitializeComponent();
method OnBind (line 59) | protected override void OnBind(IBindable src)
method BindCore (line 79) | private void BindCore(MetadataViewModel vm)
method BindTexts (line 123) | private void BindTexts(MetadataViewModel _)
method BindBehaviors (line 172) | private void BindBehaviors(MetadataViewModel vm)
FILE: Applications/Pages/Main/Sources/Views/PasswordWindow.Designer.cs
class PasswordWindow (line 3) | partial class PasswordWindow
method Dispose (line 14) | protected override void Dispose(bool disposing)
method InitializeComponent (line 29) | private void InitializeComponent()
FILE: Applications/Pages/Main/Sources/Views/PasswordWindow.cs
class PasswordWindow (line 35) | public partial class PasswordWindow : Window
method PasswordWindow (line 48) | public PasswordWindow() => InitializeComponent();
method OnBind (line 63) | protected override void OnBind(IBindable src)
method BindCore (line 84) | private void BindCore(PasswordViewModel vm)
method BindTexts (line 101) | private void BindTexts(PasswordViewModel _)
method BindBehaviors (line 118) | private void BindBehaviors(PasswordViewModel vm)
FILE: Applications/Pages/Main/Sources/Views/SettingWindow.Designer.cs
class SettingWindow (line 4) | partial class SettingWindow
method Dispose (line 15) | protected override void Dispose(bool disposing)
method InitializeComponent (line 30) | private void InitializeComponent()
FILE: Applications/Pages/Main/Sources/Views/SettingWindow.cs
class SettingWindow (line 35) | public partial class SettingWindow : Window
method SettingWindow (line 48) | public SettingWindow() => InitializeComponent();
method OnBind (line 63) | protected override void OnBind(IBindable src)
method BindCore (line 83) | private void BindCore(SettingViewModel vm)
method BindTexts (line 112) | private void BindTexts(SettingViewModel _)
FILE: Libraries/Core/Sources/Angle.cs
class Angle (line 32) | [Serializable]
method Angle (line 44) | public Angle() : this(0) { }
method Angle (line 58) | public Angle(int degree) => Degree = Normalize(degree);
method Normalize (line 129) | private int Normalize(int src)
FILE: Libraries/Core/Sources/Attachment.cs
class Attachment (line 32) | public class Attachment
method Attachment (line 48) | public Attachment(string path) : this(Io.GetFileName(path), path) { }
method Attachment (line 63) | public Attachment(string name, string path)
method GetLength (line 141) | protected virtual long GetLength() => new Entity(Source)?.Length ?? 0;
method GetData (line 152) | protected virtual byte[] GetData()
method GetChecksum (line 172) | protected virtual byte[] GetChecksum() =>
FILE: Libraries/Core/Sources/Encryption.cs
class Encryption (line 32) | [Serializable]
FILE: Libraries/Core/Sources/EncryptionException.cs
class EncryptionException (line 31) | [Serializable]
method EncryptionException (line 47) | public EncryptionException(string message, Exception inner) : base(mes...
FILE: Libraries/Core/Sources/EncryptionMethod.cs
type EncryptionMethod (line 39) | public enum EncryptionMethod
FILE: Libraries/Core/Sources/Extensions/DocumentReader.cs
class DocumentReaderExtension (line 32) | public static class DocumentReaderExtension
method GetPage (line 58) | public static Page GetPage(this IDocumentReader src, int pagenum)
FILE: Libraries/Core/Sources/Extensions/DocumentRenderer.cs
class DocumentRendererExtension (line 31) | public static class DocumentRendererExtension
method Render (line 48) | public static void Render(this IDocumentRenderer src, Graphics dest, P...
method Render (line 65) | public static Image Render(this IDocumentRenderer src, Page page) =>
method Render (line 83) | public static Image Render(this IDocumentRenderer src, Page page, doub...
FILE: Libraries/Core/Sources/Extensions/DocumentWriter.cs
class DocumentWriterExtension (line 29) | public static class DocumentWriterExtension
method Add (line 45) | public static void Add(this IDocumentWriter src, Page page) =>
method Add (line 64) | public static void Add(this IDocumentWriter src, Page page, IDocumentR...
method Add (line 79) | public static void Add(this IDocumentWriter src, IDocumentReader reade...
method Attach (line 94) | public static void Attach(this IDocumentWriter src, Attachment file) =>
FILE: Libraries/Core/Sources/Extensions/Encryption.cs
class EncryptionExtension (line 29) | public static class EncryptionExtension
method Copy (line 46) | public static Encryption Copy(this Encryption src) => new()
method Deny (line 67) | public static void Deny(this Encryption src) => src.Set(PermissionValu...
method Allow (line 80) | public static void Allow(this Encryption src) => src.Set(PermissionVal...
method Set (line 95) | private static void Set(this Encryption src, PermissionValue value)
FILE: Libraries/Core/Sources/Extensions/Metadata.cs
class MetadataExtension (line 29) | public static class MetadataExtension
method Copy (line 46) | public static Metadata Copy(this Metadata src) => new()
FILE: Libraries/Core/Sources/Extensions/Page.cs
class PageExtension (line 32) | public static class PageExtension
method GetViewSize (line 49) | public static SizeF GetViewSize(this Page src) => src.GetViewSize(1.0);
method GetViewSize (line 65) | public static SizeF GetViewSize(this Page src, double scale)
FILE: Libraries/Core/Sources/File.cs
class File (line 33) | [Serializable]
method File (line 54) | protected File(EntitySource src, bool dispose) : base(src, dispose) { }
FILE: Libraries/Core/Sources/IDocumentReader.cs
type IDocumentReader (line 32) | public interface IDocumentReader : IDisposable
FILE: Libraries/Core/Sources/IDocumentRenderer.cs
type IDocumentRenderer (line 31) | public interface IDocumentRenderer
method Render (line 47) | Image Render(Page page, SizeF size);
method Render (line 64) | void Render(Graphics dest, Page page, PointF point, SizeF size);
FILE: Libraries/Core/Sources/IDocumentWriter.cs
type IDocumentWriter (line 32) | public interface IDocumentWriter : IDisposable
method Reset (line 43) | void Reset();
method Save (line 56) | void Save(string path);
method Add (line 69) | void Add(IEnumerable<Page> pages);
method Add (line 86) | void Add(IEnumerable<Page> pages, IDocumentReader hint);
method Add (line 99) | void Add(IEnumerable<Attachment> files);
method Set (line 112) | void Set(Metadata metadata);
method Set (line 125) | void Set(Encryption encryption);
FILE: Libraries/Core/Sources/ImageFile.cs
class ImageFile (line 34) | [Serializable]
method ImageFile (line 51) | public ImageFile(string src) : this(new InitSource(src)) { }
method ImageFile (line 66) | public ImageFile(string src, Image image) : this(new InitSource(src, i...
method ImageFile (line 78) | private ImageFile(InitSource src) : base(IoEx.GetEntitySource(src.Path...
class InitSource (line 106) | private class InitSource
method InitSource (line 108) | public InitSource(string src)
method InitSource (line 115) | public InitSource(string src, Image image)
FILE: Libraries/Core/Sources/ImagePageCollection.cs
class ImagePageCollection (line 36) | public class ImagePageCollection : EnumerableBase<Page>, IReadOnlyList<P...
method ImagePageCollection (line 52) | public ImagePageCollection(string src)
method ImagePageCollection (line 72) | public ImagePageCollection(string src, Image image) { Setup(src, image...
method GetEnumerator (line 128) | public override IEnumerator<Page> GetEnumerator()
method Dispose (line 148) | protected override void Dispose(bool disposing) { }
method Setup (line 166) | private void Setup(string src, Image image)
FILE: Libraries/Core/Sources/Internal/InitHack.cs
class IsExternalInit (line 29) | internal sealed class IsExternalInit { }
FILE: Libraries/Core/Sources/Metadata.cs
class Metadata (line 33) | [Serializable]
FILE: Libraries/Core/Sources/MetadataException.cs
class MetadataException (line 31) | [Serializable]
method MetadataException (line 47) | public MetadataException(string message, Exception inner) : base(messa...
FILE: Libraries/Core/Sources/Page.cs
class Page (line 32) | [Serializable]
method Page (line 46) | public Page() { }
method Page (line 60) | public Page(PageBase src)
method Reset (line 106) | public void Reset() => OnReset();
method OnReset (line 117) | protected virtual void OnReset() => Delta = new();
FILE: Libraries/Core/Sources/PageBase.cs
class PageBase (line 33) | [Serializable]
FILE: Libraries/Core/Sources/PdfFile.cs
class PdfFile (line 32) | [Serializable]
method PdfFile (line 49) | public PdfFile(string src) : base(IoEx.GetEntitySource(src), true)
FILE: Libraries/Core/Sources/PdfVersion.cs
class PdfVersion (line 35) | [Serializable]
method PdfVersion (line 50) | public PdfVersion() : this(1, 0) { }
method PdfVersion (line 65) | public PdfVersion(int major, int minor) : this(major, minor, 0) { }
method PdfVersion (line 81) | public PdfVersion(int major, int minor, int extension) :
method PdfVersion (line 99) | public PdfVersion(string subset, int major, int minor, int extension)
method ToString (line 188) | public override string ToString()
FILE: Libraries/Core/Sources/Permission.cs
class Permission (line 34) | [Serializable]
method Permission (line 48) | public Permission() : this((long)PermissionFlags.All) { }
method Permission (line 62) | public Permission(long src)
method GetPermission (line 199) | private PermissionValue GetPermission(PermissionFlags src) =>
method GetPermission (line 211) | private PermissionValue GetPermission(PermissionFlags primary, Permiss...
method GetPrintPermission (line 224) | private PermissionValue GetPrintPermission() =>
method GetModifyContentsPermission (line 236) | private PermissionValue GetModifyContentsPermission() =>
method SetPermission (line 253) | private bool SetPermission(ref PermissionFlags src, PermissionFlags va...
method SetPermission (line 269) | private bool SetPermission(PermissionFlags src, PermissionValue value,
method SetPrintPermission (line 285) | private bool SetPrintPermission(PermissionValue value)
method SetModifyContentsPermission (line 302) | private bool SetModifyContentsPermission(PermissionValue value)
FILE: Libraries/Core/Sources/PermissionValue.cs
type PermissionValue (line 33) | [Serializable]
class PermissionValueExtension (line 57) | public static class PermissionValueExtension
method IsAllowed (line 72) | public static bool IsAllowed(this PermissionValue src) => src == Permi...
method IsDenid (line 87) | public static bool IsDenid(this PermissionValue src) => src == Permiss...
type PermissionFlags (line 103) | [Flags]
FILE: Libraries/Core/Sources/ViewerOption.cs
type ViewerOption (line 35) | [Flags]
FILE: Libraries/Core/Sources/ViewerOptionFactory.cs
class ViewerOptionFactory (line 33) | public static class ViewerOptionFactory
method Create (line 54) | public static ViewerOption Create(int src) => (ViewerOption)(src & 0x0...
method Create (line 70) | public static ViewerOption Create(string layout, string mode)
method ToPageLayout (line 92) | public static ViewerOption ToPageLayout(this ViewerOption src) => src ...
method ToPageMode (line 108) | public static ViewerOption ToPageMode(this ViewerOption src) => src & ...
method ToName (line 128) | public static string ToName(this ViewerOption src)
FILE: Libraries/Generating/Sources/Argument.cs
class Argument (line 35) | public class Argument
method Argument (line 58) | public Argument(string name, string value) : this('d', name, value, tr...
method Argument (line 72) | public Argument(char type) : this(type, string.Empty, string.Empty) { }
method Argument (line 91) | public Argument(char type, int value) : this(type, string.Empty, value...
method Argument (line 110) | public Argument(char type, string name) : this(type, name, string.Empt...
method Argument (line 125) | public Argument(string name, bool value) : this('d', name, value) { }
method Argument (line 140) | public Argument(string name, int value) : this('d', name, value) { }
method Argument (line 156) | public Argument(char type, string name, bool value) :
method Argument (line 173) | public Argument(char type, string name, int value) :
method Argument (line 190) | public Argument(char type, string name, string value) :
method Argument (line 212) | public Argument(char type, string name, string value, bool literal)
method Argument (line 232) | protected Argument(string value) : this(default, string.Empty, value, ...
method ToString (line 313) | public override string ToString()
class Code (line 341) | public class Code : Argument
method Code (line 357) | public Code(string description) : base(description) { }
FILE: Libraries/Generating/Sources/Converter.cs
class Converter (line 37) | public class Converter
method Converter (line 53) | public Converter(Format format) : this(format, SupportedFormats) { }
method Converter (line 68) | protected Converter(Format format, IEnumerable<Format> supported)
method Invoke (line 251) | public void Invoke(string src, string dest) => Invoke(new[] { src }, d...
method Invoke (line 265) | public void Invoke(IEnumerable<string> sources, string dest)
method OnCreateArguments (line 293) | protected virtual IEnumerable<Argument> OnCreateArguments() =>
method OnCreateCodes (line 308) | protected virtual IEnumerable<Code> OnCreateCodes() =>
method CreateBasicArgumetns (line 324) | private IEnumerable<Argument> CreateBasicArgumetns()
method CreateBasicCodes (line 348) | private IEnumerable<Code> CreateBasicCodes()
method Adjust (line 366) | private IEnumerable<Argument> Adjust(IEnumerable<Code> src) =>
FILE: Libraries/Generating/Sources/DocumentConverter.cs
class DocumentConverter (line 34) | public class DocumentConverter : Converter
method DocumentConverter (line 50) | public DocumentConverter(Format format) : this(format, SupportedFormat...
method DocumentConverter (line 65) | protected DocumentConverter(Format format, IEnumerable<Format> support...
method OnCreateArguments (line 133) | protected override IEnumerable<Argument> OnCreateArguments() => base.O...
method OnCreateCodes (line 150) | protected override IEnumerable<Code> OnCreateCodes() =>
method CreateColorMode (line 166) | private Argument CreateColorMode(string key) => ColorMode switch
method CreateDownsampling (line 186) | private Argument CreateDownsampling(string key) =>
method CreateFonts (line 199) | private IEnumerable<Argument> CreateFonts()
method CreateImages (line 220) | private IEnumerable<Argument> CreateImages() => new[]
method CreateFontCodes (line 248) | private IEnumerable<Code> CreateFontCodes()
FILE: Libraries/Generating/Sources/ImageConverter.cs
class ImageConverter (line 33) | public class ImageConverter : Converter
method ImageConverter (line 49) | public ImageConverter(Format format) : this(format, SupportedFormats) { }
method ImageConverter (line 64) | protected ImageConverter(Format format, IEnumerable<Format> supported) :
method OnCreateArguments (line 141) | protected override IEnumerable<Argument> OnCreateArguments() =>
method CreateAntiAlias (line 157) | private IEnumerable<Argument> CreateAntiAlias()
FILE: Libraries/Generating/Sources/Internal/GsApi.cs
class GsApi (line 36) | internal static class GsApi
method Invoke (line 75) | public static void Invoke(string[] raw, string tmp, string log) => Set...
method ToUtf8 (line 113) | private static IntPtr ToUtf8(string src)
method SetTemp (line 133) | private static void SetTemp(string tmp, Action callback)
method SetVariable (line 176) | private static void SetVariable(string key, string value) =>
FILE: Libraries/Generating/Sources/Internal/GsApiException.cs
class GsApiException (line 32) | [Serializable]
method GsApiException (line 49) | public GsApiException(int status) : this((GsApiStatus)Enum.ToObject(ty...
method GsApiException (line 63) | public GsApiException(GsApiStatus status) : this(status, $"{status} ({...
method GsApiException (line 78) | public GsApiException(GsApiStatus status, string message) : base(messa...
FILE: Libraries/Generating/Sources/Internal/GsApiNative.cs
class NativeMethods (line 33) | internal static class NativeMethods
method GetInformation (line 46) | [DllImport(LibName, CharSet = CharSet.Ansi, EntryPoint = "gsapi_revisi...
method NewInstance (line 58) | [DllImport(LibName, EntryPoint = "gsapi_new_instance")]
method SetArgEncoding (line 70) | [DllImport(LibName, EntryPoint = "gsapi_set_arg_encoding")]
method InitWithArgs (line 82) | [DllImport(LibName, EntryPoint = "gsapi_init_with_args")]
method Exit (line 94) | [DllImport(LibName, EntryPoint = "gsapi_exit")]
method DeleteInstance (line 106) | [DllImport(LibName, EntryPoint = "gsapi_delete_instance")]
FILE: Libraries/Generating/Sources/Internal/GsApiStatus.cs
type GsApiStatus (line 30) | public enum GsApiStatus
FILE: Libraries/Generating/Sources/Internal/GsDevice.cs
class GsDevice (line 30) | internal static class GsDevice
method From (line 45) | public static string From(Format src) => src switch
FILE: Libraries/Generating/Sources/Internal/GsInformation.cs
type GsInformation (line 33) | [StructLayout(LayoutKind.Sequential)]
FILE: Libraries/Generating/Sources/Internal/InitHack.cs
class IsExternalInit (line 30) | internal sealed class IsExternalInit { }
FILE: Libraries/Generating/Sources/JpegConverter.cs
class JpegConverter (line 35) | public class JpegConverter : ImageConverter
method JpegConverter (line 48) | public JpegConverter() : this(Format.Jpeg) { }
method JpegConverter (line 62) | public JpegConverter(Format format) : this(format, SupportedFormats) { }
method JpegConverter (line 77) | protected JpegConverter(Format format, IEnumerable<Format> supported) :
method OnCreateArguments (line 127) | protected override IEnumerable<Argument> OnCreateArguments() => base.O...
FILE: Libraries/Generating/Sources/Parameters/ColorMode.cs
type ColorMode (line 30) | public enum ColorMode
FILE: Libraries/Generating/Sources/Parameters/Downsampling.cs
type Downsampling (line 30) | public enum Downsampling
FILE: Libraries/Generating/Sources/Parameters/Encoding.cs
type Encoding (line 30) | public enum Encoding
FILE: Libraries/Generating/Sources/Parameters/Format.cs
type Format (line 35) | public enum Format
FILE: Libraries/Generating/Sources/Parameters/Orientation.cs
type Orientation (line 30) | public enum Orientation
FILE: Libraries/Generating/Sources/Parameters/Paper.cs
type Paper (line 30) | public enum Paper
FILE: Libraries/Generating/Sources/PdfConverter.cs
class PdfConverter (line 35) | public class PdfConverter : DocumentConverter
method PdfConverter (line 48) | public PdfConverter() : this(Format.Pdf, SupportedFormats) { }
method PdfConverter (line 63) | protected PdfConverter(Format format, IEnumerable<Format> supported) :
method OnCreateArguments (line 150) | protected override IEnumerable<Argument> OnCreateArguments() => base.O...
method CreateImages (line 174) | private IEnumerable<Argument> CreateImages(string kind, Encoding value...
method CreateCompression (line 190) | private Argument CreateCompression(string name, Encoding value) => val...
FILE: Libraries/Generating/Sources/TiffConverter.cs
class TiffConverter (line 34) | public class TiffConverter : ImageConverter
method TiffConverter (line 47) | public TiffConverter() : this(Format.Tiff) { }
method TiffConverter (line 61) | public TiffConverter(Format format) : this(format, SupportedFormats) { }
method TiffConverter (line 76) | protected TiffConverter(Format format, IEnumerable<Format> supported) :
method OnCreateArguments (line 131) | protected override IEnumerable<Argument> OnCreateArguments() =>
method CreateCompression (line 147) | private Argument CreateCompression() => Compression switch
FILE: Libraries/Itext/Sources/DocumentReader.cs
class DocumentReader (line 33) | public class DocumentReader : DisposableBase, IDocumentReader
method DocumentReader (line 49) | public DocumentReader(string src) : this(src, string.Empty) { }
method DocumentReader (line 64) | public DocumentReader(string src, string password) : this(src, passwor...
method DocumentReader (line 80) | public DocumentReader(string src, string password, OpenOption options) :
method DocumentReader (line 96) | public DocumentReader(string src, IQuery<string> query) : this(src, qu...
method DocumentReader (line 112) | public DocumentReader(string src, IQuery<string> query, OpenOption opt...
method DocumentReader (line 129) | private DocumentReader(string src, Password password, OpenOption options)
method Dispose (line 243) | protected override void Dispose(bool disposing)
FILE: Libraries/Itext/Sources/DocumentSplitter.cs
class DocumentSplitter (line 34) | public class DocumentSplitter : DocumentWriterBase
method DocumentSplitter (line 47) | public DocumentSplitter() : this(new()) { }
method DocumentSplitter (line 61) | public DocumentSplitter(SaveOption options) : base(options) { }
method OnReset (line 91) | protected override void OnReset()
method OnSave (line 110) | protected override void OnSave(string directory)
method Unique (line 143) | private string Unique(string dir, File src, int pagenum)
FILE: Libraries/Itext/Sources/DocumentWriter.cs
class DocumentWriter (line 43) | public class DocumentWriter : DocumentWriterBase
method DocumentWriter (line 56) | public DocumentWriter() : this(new()) { }
method DocumentWriter (line 70) | public DocumentWriter(SaveOption options) : base(options) { }
method OnSave (line 85) | protected override void OnSave(string path)
FILE: Libraries/Itext/Sources/DocumentWriterBase.cs
class DocumentWriterBase (line 34) | public abstract class DocumentWriterBase : DisposableBase, IDocumentWriter
method DocumentWriterBase (line 50) | protected DocumentWriterBase(SaveOption options) { Options = options; }
method Reset (line 124) | public void Reset() => OnReset();
method Save (line 137) | public void Save(string path) => OnSave(path);
method Add (line 157) | public void Add(IEnumerable<Page> pages) => _pages.AddRange(pages);
method Add (line 179) | public void Add(IEnumerable<Page> pages, IDocumentReader hint)
method Add (line 196) | public void Add(IEnumerable<Attachment> files) => _attachments.AddRang...
method Set (line 209) | public void Set(Metadata src) => Metadata = src;
method Set (line 222) | public void Set(Encryption src) => Encryption = src;
method OnSave (line 233) | protected abstract void OnSave(string path);
method OnReset (line 244) | protected virtual void OnReset()
method Bind (line 270) | protected void Bind(IDocumentReader src)
method Release (line 292) | protected void Release()
method GetRawReader (line 308) | protected IDisposable GetRawReader(File src)
method Dispose (line 336) | protected override void Dispose(bool disposing)
FILE: Libraries/Itext/Sources/Internal/Attachment.cs
class EmbeddedAttachment (line 33) | internal class EmbeddedAttachment : Attachment
method EmbeddedAttachment (line 51) | public EmbeddedAttachment(string name, string src, PdfStream core) :
method GetLength (line 67) | protected override long GetLength()
method GetData (line 83) | protected override byte[] GetData() => _core?.GetBytes() ?? new byte[0];
method GetChecksum (line 94) | protected override byte[] GetChecksum() =>
FILE: Libraries/Itext/Sources/Internal/AttachmentCollection.cs
class AttachmentCollection (line 34) | internal class AttachmentCollection : EnumerableBase<Attachment>
method AttachmentCollection (line 51) | public AttachmentCollection(PdfDocument core, PdfFile file)
method GetEnumerator (line 91) | public override IEnumerator<Attachment> GetEnumerator() => _inner.GetE...
method Dispose (line 108) | protected override void Dispose(bool disposing) { }
method Parse (line 134) | private void Parse()
FILE: Libraries/Itext/Sources/Internal/ChunkBy.cs
class EnumerableExtension (line 40) | internal static class EnumerableExtension
method ChunkBy (line 61) | public static IEnumerable<IGrouping<TKey, TSource>> ChunkBy<TSource, T...
method ChunkBy (line 84) | public static IEnumerable<IGrouping<TKey, TSource>> ChunkBy<TSource, T...
class Chunk (line 118) | private class Chunk<TKey, TSource> : IGrouping<TKey, TSource>
method Chunk (line 139) | public Chunk(TKey key, IEnumerator<TSource> enumerator, Func<TSource...
method GetEnumerator (line 185) | public IEnumerator<TSource> GetEnumerator()
method GetEnumerator (line 213) | IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
method CopyAllChunkElements (line 227) | public bool CopyAllChunkElements()
method DoneCopyingChunk (line 258) | private bool DoneCopyingChunk() => _tail == null;
method CopyNextChunkElement (line 269) | private void CopyNextChunkElement()
class ChunkItem (line 294) | class ChunkItem
method ChunkItem (line 296) | public ChunkItem(TSource value) => Value = value;
FILE: Libraries/Itext/Sources/Internal/PageCollection.cs
class PageCollection (line 40) | internal class PageCollection : EnumerableBase<Page>, IReadOnlyList<Page>
method PageCollection (line 57) | public PageCollection(PdfDocument core, PdfFile file)
method GetEnumerator (line 131) | public override IEnumerator<Page> GetEnumerator()
method Dispose (line 151) | protected override void Dispose(bool disposing) { }
FILE: Libraries/Itext/Sources/Internal/Password.cs
class Password (line 30) | internal class Password : QueryMessage<IQuery<string>, string>
method Password (line 45) | public Password(IQuery<string> query, string value) : base(query) => V...
FILE: Libraries/Itext/Sources/Internal/Reader.cs
class Reader (line 45) | internal static class Reader
method From (line 62) | public static PdfDocument From(object src) => src as PdfDocument;
method From (line 79) | public static PdfDocument From(File src, OpenOption options) =>
method From (line 99) | public static PdfDocument From(string src, Password password, OpenOpti...
method FromImage (line 147) | public static PdfDocument FromImage(string src)
method Request (line 191) | private static QueryMessage<string, string> Request(this IQuery<string...
method GetOptions (line 213) | private static ReaderProperties GetOptions(string password)
method GetImageAttributes (line 229) | private static KeyValuePair<ImageFormat, int> GetImageAttributes(strin...
FILE: Libraries/Itext/Sources/Internal/ReaderExtension.cs
class ReaderExtension (line 37) | internal static class ReaderExtension
method GetFile (line 56) | public static PdfFile GetFile(this PdfDocument src, string path, strin...
method GetPage (line 78) | public static PageBase GetPage(this PdfDocument src, PdfFile file, int...
method GetMetadata (line 100) | public static Metadata GetMetadata(this PdfDocument src)
method GetEncryption (line 134) | public static Encryption GetEncryption(this PdfDocument src, PdfFile f...
method Convert (line 167) | public static Exception Convert(this Exception src) =>
method GetVersion (line 188) | private static PdfVersion GetVersion(PdfDocument src)
method GetPageSize (line 204) | private static SizeF GetPageSize(PdfDocument src, int pagenum)
method GetViewerOption (line 223) | private static ViewerOption GetViewerOption(PdfCatalog src) => ViewerO...
method GetEncryptionMethod (line 241) | private static EncryptionMethod GetEncryptionMethod(PdfDocument src) =>
method GetUserPassword (line 265) | private static string GetUserPassword(PdfDocument src, PdfFile file)
FILE: Libraries/Itext/Sources/Internal/Writer.cs
class Writer (line 40) | internal class Writer : DisposableBase
method Writer (line 59) | public Writer(string path, SaveOption options, Metadata metadata, Encr...
method Add (line 93) | public void Add(IDisposable src, Page page) => Add(src, new[] { page });
method Add (line 107) | public void Add(IDisposable src, IEnumerable<Page> pages)
method Add (line 132) | public void Add(IEnumerable<Attachment> src)
method Dispose (line 161) | protected override void Dispose(bool disposing) => _merger?.Close();
method SetMetadata (line 172) | private void SetMetadata(Metadata src, PdfDocument dest)
method SetEncryption (line 219) | private void SetEncryption(Encryption src, WriterProperties dest)
method GetVersion (line 245) | private iText.Kernel.Pdf.PdfVersion GetVersion(Metadata src)
method GetEncryptionMethod (line 272) | private int GetEncryptionMethod(EncryptionMethod src) => src switch
FILE: Libraries/Itext/Sources/OpenOption.cs
class OpenOption (line 30) | public class OpenOption
FILE: Libraries/Itext/Sources/SaveOption.cs
class SaveOption (line 30) | public class SaveOption
FILE: Libraries/Pdfium/Sources/DocumentReader.cs
class DocumentReader (line 31) | public class DocumentReader : DisposableBase, IDocumentReader
method DocumentReader (line 47) | public DocumentReader(string src) : this(src, string.Empty) { }
method DocumentReader (line 62) | public DocumentReader(string src, string password) :
method DocumentReader (line 79) | public DocumentReader(string src, string password, OpenOption options) :
method DocumentReader (line 95) | public DocumentReader(string src, IQuery<string> query) :
method DocumentReader (line 112) | public DocumentReader(string src, IQuery<string> query, OpenOption opt...
method DocumentReader (line 129) | private DocumentReader(string src,
method Dispose (line 227) | protected override void Dispose(bool disposing) => Core?.Dispose();
method MakeQuery (line 242) | private static QueryMessage<IQuery<string>, string> MakeQuery(
FILE: Libraries/Pdfium/Sources/DocumentRenderer.cs
class DocumentRenderer (line 31) | public class DocumentRenderer : DocumentReader, IDocumentRenderer
method DocumentRenderer (line 47) | public DocumentRenderer(string src) : base(src) { }
method DocumentRenderer (line 62) | public DocumentRenderer(string src, string password) : base(src, passw...
method DocumentRenderer (line 78) | public DocumentRenderer(string src, string password, OpenOption option...
method DocumentRenderer (line 94) | public DocumentRenderer(string src, IQuery<string> query) : base(src, ...
method DocumentRenderer (line 110) | public DocumentRenderer(string src, IQuery<string> query, OpenOption o...
method Render (line 147) | public void Render(Graphics dest, Page page, PointF point, SizeF size) =>
method Render (line 164) | public Image Render(Page page, SizeF size) =>
FILE: Libraries/Pdfium/Sources/Internal/EncryptionFactory.cs
class EncryptionFactory (line 32) | internal static class EncryptionFactory
method Create (line 58) | public static Encryption Create(PdfiumReader core, string password) =>...
method Request (line 93) | public static QueryMessage<string, string> Request(this IQuery<string>...
method CreateMethod (line 118) | private static EncryptionMethod CreateMethod(int src) =>
FILE: Libraries/Pdfium/Sources/Internal/FileFactory.cs
class FileFactory (line 32) | internal static class FileFactory
method Create (line 52) | public static PdfFile Create(PdfiumReader core, string password, bool ...
class FileAccess (line 70) | [StructLayout(LayoutKind.Sequential)]
FILE: Libraries/Pdfium/Sources/Internal/FormFields.cs
class FormFields (line 32) | internal class FormFields : DisposableBase
method FormFields (line 50) | public FormFields(IntPtr src) { _core = Create(src); }
method Render (line 65) | public void Render(IntPtr bitmap, IntPtr page, int x, int y, int w, in...
method Dispose (line 86) | protected override void Dispose(bool disposing)
method Create (line 112) | private IntPtr Create(IntPtr src)
FILE: Libraries/Pdfium/Sources/Internal/MetadataFactory.cs
class MetadataFactory (line 33) | internal static class MetadataFactory
method Create (line 51) | public static Metadata Create(PdfiumReader core) => core.Invoke(e => n...
method GetText (line 76) | private static string GetText(IntPtr core, string name)
method GetVersion (line 95) | private static PdfVersion GetVersion(IntPtr core) =>
method GetPageMode (line 109) | private static ViewerOption GetPageMode(IntPtr core)
FILE: Libraries/Pdfium/Sources/Internal/Native/FormFillInfo.cs
class FormFillInfo (line 34) | [StructLayout(LayoutKind.Sequential)]
FILE: Libraries/Pdfium/Sources/Internal/Native/Pdfium.cs
class NativeMethods (line 32) | internal static class NativeMethods
method FPDF_InitLibrary (line 47) | [DllImport(LibName)]
method FPDF_DestroyLibrary (line 61) | [DllImport(LibName)]
method FPDF_GetLastError (line 73) | [DllImport(LibName)]
method FPDF_LoadCustomDocument (line 91) | [DllImport(LibName, CharSet = CharSet.Ansi)]
method FPDF_CloseDocument (line 106) | [DllImport(LibName)]
method FPDF_GetPageCount (line 124) | [DllImport(LibName)]
method FPDF_LoadPage (line 142) | [DllImport(LibName)]
method FPDF_ClosePage (line 156) | [DllImport(LibName)]
method FPDF_GetPageWidth (line 170) | [DllImport(LibName)]
method FPDF_GetPageHeight (line 184) | [DllImport(LibName)]
method FPDFPage_GetRotation (line 206) | [DllImport(LibName)]
method FPDF_GetFileVersion (line 228) | [DllImport(LibName)]
method FPDF_GetMetaText (line 252) | [DllImport(LibName)]
method FPDFDoc_GetPageMode (line 278) | [DllImport(LibName)]
method FPDF_GetDocPermissions (line 300) | [DllImport(LibName)]
method FPDF_GetSecurityHandlerRevision (line 314) | [DllImport(LibName)]
method FPDFDOC_InitFormFillEnvironment (line 332) | [DllImport(LibName)]
method FPDFDOC_ExitFormFillEnvironment (line 347) | [DllImport(LibName)]
method FPDF_FFLDraw (line 362) | [DllImport(LibName)]
method FPDF_RenderPage (line 382) | [DllImport(LibName)]
method FPDF_RenderPageBitmap (line 397) | [DllImport(LibName)]
method FPDFBitmap_CreateEx (line 412) | [DllImport(LibName)]
method FPDFBitmap_Destroy (line 427) | [DllImport(LibName)]
FILE: Libraries/Pdfium/Sources/Internal/PageCollection.cs
class PageCollection (line 41) | internal sealed class PageCollection : EnumerableBase<Page>, IReadOnlyLi...
method PageCollection (line 58) | public PageCollection(PdfiumReader core, PdfFile file)
method GetEnumerator (line 134) | public override IEnumerator<Page> GetEnumerator()
method GetPage (line 154) | private PageBase GetPage(int index) => _core.Invoke(e =>
method GetPageSize (line 191) | private SizeF GetPageSize(IntPtr handle, int degree)
method GetPageRotation (line 207) | private int GetPageRotation(IntPtr handle)
method Dispose (line 230) | protected override void Dispose(bool disposing) { }
FILE: Libraries/Pdfium/Sources/Internal/PdfiumLibrary.cs
class PdfiumLibrary (line 31) | internal abstract class PdfiumLibrary : DisposableBase
method GetLastError (line 46) | public PdfiumException GetLastError()
method Invoke (line 63) | public void Invoke(Action action)
method Invoke (line 82) | public T Invoke<T>(Func<T> func)
method Lock (line 99) | protected void Lock(Action action) { lock (_core) action(); }
class UnmanagedResource (line 104) | private class UnmanagedResource
method UnmanagedResource (line 106) | public UnmanagedResource() { NativeMethods.FPDF_InitLibrary(); }
FILE: Libraries/Pdfium/Sources/Internal/PdfiumReader.cs
class PdfiumReader (line 34) | internal sealed class PdfiumReader : PdfiumLibrary
method Create (line 54) | public static PdfiumReader Create(string src,
method PdfiumReader (line 79) | private PdfiumReader(string src)
method Invoke (line 161) | public void Invoke(Action<IntPtr> action) => Invoke(() => action(_core));
method Invoke (line 176) | public T Invoke<T>(Func<IntPtr, T> func) => Invoke(() => func(_core));
method Dispose (line 193) | protected override void Dispose(bool disposing) => Lock(() =>
method Load (line 216) | private static void Load(string src,
method Load (line 249) | private void Load(string password)
method Read (line 278) | private int Read(IntPtr param, uint pos, IntPtr dest, uint size)
FILE: Libraries/Pdfium/Sources/Internal/PdfiumRenderer.cs
class PdfiumRenderer (line 33) | internal static class PdfiumRenderer
method Render (line 54) | public static Image Render(IntPtr core, int pagenum, SizeF size, Angle...
method Render (line 94) | public static void Render(IntPtr core, Graphics dest,
method Load (line 127) | private static T Load<T>(IntPtr core, int pagenum, Func<IntPtr, T> func)
method GetRotation (line 151) | private static int GetRotation(Angle src) => (src + 45).Degree / 90;
FILE: Libraries/Pdfium/Sources/Internal/RenderExtension.cs
class RenderExtension (line 33) | internal static class RenderExtension
method GetFlags (line 46) | public static int GetFlags(this RenderOption src)
method GetBitmap (line 66) | public static Bitmap GetBitmap(this RenderOption src, int width, int h...
method DrawBackground (line 82) | public static void DrawBackground(this RenderOption src, Action<Color>...
FILE: Libraries/Pdfium/Sources/Internal/RenderFlags.cs
type RenderFlags (line 33) | [Flags]
FILE: Libraries/Pdfium/Sources/OpenOption.cs
class OpenOption (line 30) | public class OpenOption
FILE: Libraries/Pdfium/Sources/PdfiumException.cs
class PdfiumException (line 31) | [Serializable]
method PdfiumException (line 48) | public PdfiumException(PdfiumStatus status) { Status = status; }
method PdfiumException (line 62) | internal PdfiumException(uint status) : this((PdfiumStatus)status) { }
FILE: Libraries/Pdfium/Sources/PdfiumStatus.cs
type PdfiumStatus (line 29) | public enum PdfiumStatus
FILE: Libraries/Pdfium/Sources/RenderOption.cs
class RenderOption (line 32) | public class RenderOption
FILE: Tests/Converter/Sources/Helpers/InitHack.cs
class IsExternalInit (line 29) | internal sealed class IsExternalInit { }
FILE: Tests/Converter/Sources/Helpers/MockArguments.cs
class MockArguments (line 39) | class MockArguments : IEnumerable<string>
method MockArguments (line 57) | public MockArguments(string name, string src, string tmp)
method GetEnumerator (line 131) | public IEnumerator<string> GetEnumerator()
method GetEnumerator (line 161) | IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
method CopySource (line 178) | private string CopySource()
method GetDigest (line 196) | private string GetDigest() =>
FILE: Tests/Converter/Sources/Helpers/MockFixture.cs
class MockFixture (line 35) | class MockFixture : RegistryFixture
method Setup (line 46) | [SetUp]
FILE: Tests/Converter/Sources/Program.cs
class Program (line 33) | [SetUpFixture]
method OneTimeSetup (line 45) | [OneTimeSetUp]
method Main (line 63) | [STAThread]
FILE: Tests/Converter/Sources/TestCases/Dialog/ErrorTestCase.cs
class ErrorTestCase (line 39) | sealed class ErrorTestCase : TestCaseBase<Func<MainViewModel, Task>>
method GhostscriptError (line 52) | private async Task GhostscriptError(MainViewModel vm)
method MergeError (line 75) | private async Task MergeError(MainViewModel vm)
method SourceEmpty (line 107) | private async Task SourceEmpty(MainViewModel vm)
method DigestNotMatch (line 132) | private async Task DigestNotMatch(MainViewModel vm)
method OwnerConfirmNotMatch (line 159) | private Task OwnerConfirmNotMatch(MainViewModel vm)
method UserConfirmNotMatch (line 194) | private Task UserConfirmNotMatch(MainViewModel vm)
method Get (line 232) | protected override IEnumerable<TestCaseData> Get()
FILE: Tests/Converter/Sources/TestCases/Dialog/FileTestCase.cs
class FileTestCase (line 37) | class FileTestCase : TestCaseBase<Func<MainViewModel, Task>>
method SelectSource (line 50) | private Task SelectSource(MainViewModel vm)
method SelectDestination (line 78) | private Task SelectDestination(MainViewModel vm)
method SelectUserProgram (line 106) | private Task SelectUserProgram(MainViewModel vm)
method Get (line 134) | protected override IEnumerable<TestCaseData> Get()
FILE: Tests/Converter/Sources/TestCases/Dialog/WarnTestCase.cs
class WarnTestCase (line 38) | class WarnTestCase : TestCaseBase<Func<MainViewModel, Task>>
method FileExists (line 51) | private Task FileExists(MainViewModel vm)
method MetadataHasValue (line 81) | private Task MetadataHasValue(MainViewModel vm)
method Get (line 111) | protected override IEnumerable<TestCaseData> Get()
FILE: Tests/Converter/Sources/TestCases/Main/BmpTestCase.cs
class BmpTestCase (line 36) | sealed class BmpTestCase : TestCaseBase<SettingValue>
method BmpTestCase (line 49) | public BmpTestCase() : base("Sample1pPhoto.ps") { }
method Get (line 64) | protected override IEnumerable<TestCaseData> Get()
method OnMake (line 88) | protected override void OnMake(SettingValue value)
FILE: Tests/Converter/Sources/TestCases/Main/EpsTestCase.cs
class EpsTestCase (line 36) | sealed class EpsTestCase : TestCaseBase<SettingValue>
method Get (line 49) | protected override IEnumerable<TestCaseData> Get()
method OnMake (line 70) | protected override void OnMake(SettingValue value)
FILE: Tests/Converter/Sources/TestCases/Main/JpegTestCase.cs
class JpegTestCase (line 37) | sealed class JpegTestCase : TestCaseBase<SettingValue>
method JpegTestCase (line 50) | public JpegTestCase() : base("Sample1pPhoto.ps") { }
method GetColorModeTestCases (line 65) | private IEnumerable<TestCaseData> GetColorModeTestCases()
method GetOtherTestCases (line 84) | private IEnumerable<TestCaseData> GetOtherTestCases()
method Get (line 98) | protected override IEnumerable<TestCaseData> Get() => GetOtherTestCases()
method OnMake (line 117) | protected override void OnMake(SettingValue value)
FILE: Tests/Converter/Sources/TestCases/Main/PdfTestCase.cs
class PdfTestCase (line 38) | sealed class PdfTestCase : TestCaseBase<SettingValue>
method GetColorModeTestCases (line 51) | private IEnumerable<TestCaseData> GetColorModeTestCases()
method GetEncodingTestCases (line 67) | private IEnumerable<TestCaseData> GetEncodingTestCases()
method GetOrientationTestCases (line 82) | private IEnumerable<TestCaseData> GetOrientationTestCases()
method GetSaveOptionTestCases (line 97) | private IEnumerable<TestCaseData> GetSaveOptionTestCases()
method GetMetadataTestCases (line 113) | private IEnumerable<TestCaseData> GetMetadataTestCases()
method GetEncryptionTestCases (line 151) | private IEnumerable<TestCaseData> GetEncryptionTestCases()
method GetOtherTestCases (line 185) | private IEnumerable<TestCaseData> GetOtherTestCases()
method Get (line 199) | protected override IEnumerable<TestCaseData> Get() => GetOtherTestCases()
method OnMake (line 223) | protected override void OnMake(SettingValue value)
FILE: Tests/Converter/Sources/TestCases/Main/PngTestCase.cs
class PngTestCase (line 36) | sealed class PngTestCase : TestCaseBase<SettingValue>
method PngTestCase (line 49) | public PngTestCase() : base("Sample1pPhoto.ps") { }
method Get (line 64) | protected override IEnumerable<TestCaseData> Get()
method OnMake (line 88) | protected override void OnMake(SettingValue value)
FILE: Tests/Converter/Sources/TestCases/Main/PsTestCase.cs
class PsTestCase (line 36) | sealed class PsTestCase : TestCaseBase<SettingValue>
method Get (line 49) | protected override IEnumerable<TestCaseData> Get()
method OnMake (line 70) | protected override void OnMake(SettingValue value)
FILE: Tests/Converter/Sources/TestCases/Main/TiffTestCase.cs
class TiffTestCase (line 37) | sealed class TiffTestCase : TestCaseBase<SettingValue>
method TiffTestCase (line 50) | public TiffTestCase() : base("Sample1pPhoto.ps") { }
method GetColorModeTestCases (line 65) | private IEnumerable<TestCaseData> GetColorModeTestCases()
method GetOtherTestCases (line 84) | private IEnumerable<TestCaseData> GetOtherTestCases()
method Get (line 98) | protected override IEnumerable<TestCaseData> Get() => GetOtherTestCases()
method OnMake (line 117) | protected override void OnMake(SettingValue value)
FILE: Tests/Converter/Sources/TestCases/Sdk/SdkTestCase.cs
class SdkTestCase (line 37) | sealed class SdkTestCase : TestCaseBase<SettingValue>
method SdkTestCase (line 50) | public SdkTestCase() : base("Sample1pPhoto.ps") { }
method GetJpegTestCases (line 66) | private IEnumerable<TestCaseData> GetJpegTestCases()
method GetTiffTestCases (line 88) | private IEnumerable<TestCaseData> GetTiffTestCases()
method Get (line 120) | protected override IEnumerable<TestCaseData> Get() => GetJpegTestCases()
FILE: Tests/Converter/Sources/TestCases/TestCaseBase.cs
class TestCaseBase (line 35) | abstract class TestCaseBase<T> : SourceFileFixture, IEnumerable<TestCase...
method TestCaseBase (line 48) | protected TestCaseBase() : this("Sample3pMix.ps") { }
method TestCaseBase (line 62) | protected TestCaseBase(string src)
method Get (line 109) | protected abstract IEnumerable<TestCaseData> Get();
method OnMake (line 123) | protected virtual void OnMake(T value) { }
method Make (line 146) | protected TestCaseData Make(string name, T value) => Make(name, Source...
method Make (line 166) | protected TestCaseData Make(string name, string src, T value)
method GetEnumerator (line 185) | public IEnumerator<TestCaseData> GetEnumerator() => Get().GetEnumerato...
method GetEnumerator (line 200) | IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
FILE: Tests/Converter/Sources/Tests/DialogTest.cs
class DialogTest (line 36) | [TestFixture]
method Test (line 60) | [TestCaseSource(nameof(TestCases))]
FILE: Tests/Converter/Sources/Tests/MainTest.cs
class MainTest (line 40) | [TestFixture]
method Test (line 66) | [TestCaseSource(nameof(TestCases))]
method Set (line 132) | private void Set(SettingViewModel src, SettingValue value)
method Set (line 156) | private void Set(MetadataViewModel src, Metadata value)
method Set (line 175) | private void Set(SecurityViewModel src, Encryption value)
method Invoke (line 205) | private async Task<bool> Invoke(MainViewModel vm)
FILE: Tests/Converter/Sources/Tests/Sdk/DigestTest.cs
class DigestTest (line 36) | [TestFixture]
method Test (line 53) | [TestCaseSource(nameof(TestCases))]
method TestCases (line 76) | static IEnumerable<TestCaseData> TestCases()
FILE: Tests/Converter/Sources/Tests/Sdk/DocumentNameTest.cs
class DocumentNameTest (line 32) | [TestFixture]
method Test (line 44) | [TestCase("Sample", "Sample")]
FILE: Tests/Converter/Sources/Tests/Sdk/SdkTest.cs
class SdkTest (line 38) | [TestFixture]
method Test (line 62) | [TestCaseSource(nameof(TestCases))]
FILE: Tests/Converter/Sources/Tests/Settings/ExtensionTest.cs
class ExtensionTest (line 34) | [TestFixture]
method Test (line 46) | [TestCase("Default.txt", "Default.pdf")]
method Test_CustomExtension (line 72) | [TestCase(Format.Pdf, ".test_pdf")]
FILE: Tests/Converter/Sources/Tests/Settings/MigrationTest.cs
class MigrationTest (line 34) | [TestFixture]
method Test (line 46) | [Test]
FILE: Tests/Converter/Sources/Tests/Settings/SettingTest.cs
class SettingTest (line 37) | [TestFixture]
method Check (line 51) | [Test]
method Check (line 74) | private void Check(MainViewModel src)
method Check (line 89) | private void Check(SettingViewModel src)
method Check (line 123) | private void Check(MetadataViewModel src)
method Check (line 143) | private void Check(SecurityViewModel src)
method Check (line 175) | private void Check(SettingFolder src)
method Check (line 195) | private void Check(SettingValue src)
method Save (line 224) | [Test]
FILE: Tests/Converter/Sources/Tests/Texts/MessageTest.cs
class MessageTest (line 35) | [TestFixture]
method English (line 50) | [Test]
method Japanese (line 93) | [Test]
method Teardown (line 140) | [TearDown]
FILE: Tests/Converter/Sources/Tests/Texts/ResourceTest.cs
class ResourceTest (line 35) | [TestFixture]
method English (line 50) | [Test]
method Japanese (line 155) | [Test]
method Teardown (line 264) | [TearDown]
FILE: Tests/Converter/Sources/Tests/ViewTest.cs
class ViewTest (line 35) | [TestFixture]
method Test (line 48) | [Test]
FILE: Tests/Core/Sources/AngleTest.cs
class AngleTest (line 31) | [TestFixture]
method Normalize (line 44) | [TestCase( 0, ExpectedResult = 0)]
method Plus (line 62) | [TestCase( 0, 90, ExpectedResult = 90)]
FILE: Tests/Core/Sources/AttachmentTest.cs
class AttachmentTest (line 32) | [TestFixture]
method Create (line 47) | [Test]
method Create_WithNonExistent (line 71) | [Test]
FILE: Tests/Core/Sources/EncryptionTest.cs
class EncryptionTest (line 33) | [TestFixture]
method Get (line 54) | [TestCaseSource(nameof(TestCases))]
FILE: Tests/Core/Sources/FileTest.cs
class FileTest (line 33) | [TestFixture]
method Get (line 47) | [TestCaseSource(nameof(TestCases))]
method Get_Image (line 72) | [Test]
method Open_BadPassword_Throws (line 95) | [TestCaseSource(nameof(TestClasses))]
method Open_PasswordCancel_Throws (line 116) | [TestCaseSource(nameof(TestClasses))]
FILE: Tests/Core/Sources/Ghostscript/ArgumentTest.cs
class ArgumentTest (line 34) | [TestFixture]
method Test (line 50) | [TestCaseSource(nameof(TestCases))]
method TestCases (line 62) | static IEnumerable<TestCaseData> TestCases()
FILE: Tests/Core/Sources/Ghostscript/ConverterTest.cs
class ConverterTest (line 37) | [TestFixture]
method Test (line 65) | [TestCaseSource(nameof(TestCases))]
FILE: Tests/Core/Sources/Ghostscript/ConverterTestEx.cs
class ConverterTestEx (line 36) | [TestFixture]
method Revision (line 50) | [Test]
method SupportedFormats (line 66) | [Test]
method Test_PdfEncoding_Throws (line 109) | [TestCase(Encoding.Flate, Encoding.Jpeg )]
FILE: Tests/Core/Sources/Ghostscript/FormatTest.cs
class FormatTest (line 34) | [TestFixture]
method Count (line 51) | [TestCase("Pdf", 1)]
FILE: Tests/Core/Sources/Ghostscript/TestCases/BmpTestCase.cs
class BmpTestCase (line 35) | sealed class BmpTestCase : TestCaseBase<ImageConverter>
method Get (line 48) | protected override IEnumerable<TestCaseData> Get()
method OnMake (line 76) | protected override void OnMake(ImageConverter converter)
FILE: Tests/Core/Sources/Ghostscript/TestCases/EpsTestCase.cs
class EpsTestCase (line 35) | sealed class EpsTestCase : TestCaseBase<DocumentConverter>
method Get (line 48) | protected override IEnumerable<TestCaseData> Get()
FILE: Tests/Core/Sources/Ghostscript/TestCases/JpegTestCase.cs
class JpegTestCase (line 36) | sealed class JpegTestCase : TestCaseBase<JpegConverter>
method GetBasicTestCases (line 49) | private IEnumerable<TestCaseData> GetBasicTestCases()
method GetQualityTestCases (line 67) | private IEnumerable<TestCaseData> GetQualityTestCases()
method Get (line 83) | protected override IEnumerable<TestCaseData> Get() => GetBasicTestCases()
method OnMake (line 102) | protected override void OnMake(JpegConverter converter)
FILE: Tests/Core/Sources/Ghostscript/TestCases/PdfTestCase.cs
class PdfTestCase (line 37) | sealed class PdfTestCase : TestCaseBase<PdfConverter>
method GetBasicTestCases (line 50) | private IEnumerable<TestCaseData> GetBasicTestCases()
method GetPaperTestCases (line 74) | private IEnumerable<TestCaseData> GetPaperTestCases()
method GetOrientationTestCases (line 93) | private IEnumerable<TestCaseData> GetOrientationTestCases()
method GetColorModeTestCases (line 118) | private IEnumerable<TestCaseData> GetColorModeTestCases()
method GetEmbedFontsTestCases (line 141) | private IEnumerable<TestCaseData> GetEmbedFontsTestCases()
method GetEncodingTestCases (line 157) | private IEnumerable<TestCaseData> GetEncodingTestCases()
method Get (line 193) | protected override IEnumerable<TestCaseData> Get() => GetBasicTestCases()
FILE: Tests/Core/Sources/Ghostscript/TestCases/PngTestCase.cs
class PngTestCase (line 35) | sealed class PngTestCase : TestCaseBase<ImageConverter>
method Get (line 48) | protected override IEnumerable<TestCaseData> Get()
method OnMake (line 76) | protected override void OnMake(ImageConverter converter)
FILE: Tests/Core/Sources/Ghostscript/TestCases/PsTestCase.cs
class PsTestCase (line 35) | sealed class PsTestCase : TestCaseBase<DocumentConverter>
method Get (line 48) | protected override IEnumerable<TestCaseData> Get()
FILE: Tests/Core/Sources/Ghostscript/TestCases/PsdTestCase.cs
class PsdTestCase (line 35) | sealed class PsdTestCase : TestCaseBase<ImageConverter>
method Get (line 48) | protected override IEnumerable<TestCaseData> Get()
method OnMake (line 73) | protected override void OnMake(ImageConverter converter)
FILE: Tests/Core/Sources/Ghostscript/TestCases/TestCaseBase.cs
class TestCaseBase (line 35) | abstract class TestCaseBase<T> : IEnumerable<TestCaseData> where T : Con...
method TestCaseBase (line 48) | protected TestCaseBase() => Category = GetType().Name.Replace("TestCas...
method Get (line 80) | protected abstract IEnumerable<TestCaseData> Get();
method OnMake (line 94) | protected virtual void OnMake(T converter) { }
method Make (line 117) | protected TestCaseData Make(string name, T converter) =>
method Make (line 138) | protected TestCaseData Make(string name, string src, T converter)
method GetEnumerator (line 157) | public IEnumerator<TestCaseData> GetEnumerator() => Get().GetEnumerato...
method GetEnumerator (line 172) | IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
FILE: Tests/Core/Sources/Ghostscript/TestCases/TextTestCase.cs
class TextTestCase (line 35) | sealed class TextTestCase : TestCaseBase<Converter>
method Get (line 48) | protected override IEnumerable<TestCaseData> Get()
FILE: Tests/Core/Sources/Ghostscript/TestCases/TiffTestCase.cs
class TiffTestCase (line 36) | sealed class TiffTestCase : TestCaseBase<TiffConverter>
method GetBasicTestCases (line 49) | private IEnumerable<TestCaseData> GetBasicTestCases()
method GetMonoTestCases (line 70) | private IEnumerable<TestCaseData> GetMonoTestCases()
method Get (line 91) | protected override IEnumerable<TestCaseData> Get() => GetBasicTestCases()
method OnMake (line 110) | protected override void OnMake(TiffConverter converter)
FILE: Tests/Core/Sources/Internal/DocumentReaderFixture.cs
class DocumentReaderFixture (line 34) | class DocumentReaderFixture : FileFixture
method GetIds (line 50) | protected static IEnumerable<string> GetIds() => GetFactory().Keys;
method GetFactory (line 63) | protected static Dictionary<string, Func<string, object, IDocumentRead...
method Create (line 95) | protected IDocumentReader Create(string klass, string src, string pass...
method Create (line 117) | protected IDocumentReader Create(string klass, string src, IQuery<stri...
FILE: Tests/Core/Sources/Itext/BitmapTest.cs
class BitmapTest (line 39) | [TestFixture]
method Save (line 53) | [TestCase("Sample.png", 30000L)]
method Merge (line 79) | [TestCase("Sample.png", 90, ExpectedResult = 10)]
method Args (line 108) | private IEnumerable<object> Args(params object[] src) => src;
method Path (line 119) | private string Path(IEnumerable<object> parts, [CallerMemberName] stri...
method Rotate (line 133) | private IEnumerable<Page> Rotate(IEnumerable<Page> src, int degree) =>
method Rotate (line 147) | private Page Rotate(Page src, int degree)
method Count (line 162) | private int Count(string src, string password, int degree)
FILE: Tests/Core/Sources/Itext/ItextReaderTest.cs
class ItextReaderTest (line 35) | [TestFixture]
method Attachments_Count (line 49) | [TestCase("SampleRotation.pdf", ExpectedResult = 0)]
method Attachments_Length (line 72) | [TestCase("SampleAttachment.pdf", "CubePDF.png", ExpectedResult = 3765L)]
FILE: Tests/Core/Sources/Itext/ItextWriterTest.cs
class ItextWriterTest (line 40) | [TestFixture]
method Save (line 54) | [TestCase("Sample.pdf", "", 0, ExpectedResult = 2)]
method Overwrite (line 85) | [TestCase("Sample.pdf", "", 0, ExpectedResult = 2)]
method Merge (line 114) | [TestCase("Sample.pdf", "SampleBookmark.pdf", 90, ExpectedResult =...
method Split (line 143) | [TestCase("SampleBookmark.pdf", "", ExpectedResult = 9)]
method Insert (line 179) | [Test]
method Attach (line 210) | [TestCase("SampleRotation.pdf", "SampleImage01.png", ExpectedResul...
method SetMetadata (line 246) | [TestCase("Metadata")]
method SetLayout (line 294) | [TestCase(ViewerOption.SinglePage)]
method SetEncryption (line 332) | [TestCase(EncryptionMethod.Aes128, 0xfffff0c0L)]
method Args (line 383) | private IEnumerable<object> Args(params object[] src) => src;
method Path (line 394) | private string Path(IEnumerable<object> parts, [CallerMemberName] stri...
method Rotate (line 408) | private IEnumerable<Page> Rotate(IEnumerable<Page> src, int degree) =>
method Rotate (line 422) | private Page Rotate(Page src, int degree)
method Count (line 437) | private int Count(string src, string password, int degree)
FILE: Tests/Core/Sources/MetadataTest.cs
class MetadataTest (line 34) | [TestFixture]
method Get (line 48) | [TestCaseSource(nameof(TestCases))]
method GetViewerOption (line 76) | [Test]
FILE: Tests/Core/Sources/PageTest.cs
class PageTest (line 34) | [TestFixture]
method GetPage (line 49) | [TestCaseSource(nameof(TestCases))]
method GetImagePage (line 75) | [Test]
method GetImagePage_Throws (line 97) | [Test]
method GetViewSize (line 117) | [TestCase( 0, 595.0f, 842.0f)]
FILE: Tests/Core/Sources/PdfVersionTest.cs
class PdfVersionTest (line 32) | [TestFixture]
method GetString (line 50) | [TestCase("", 1, 2, 0, ExpectedResult = "PDF 1.2")]
method GetString_Default (line 90) | [Test]
FILE: Tests/Core/Sources/Pdfium/PdfiumRendererTest.cs
class PdfiumRendererTest (line 37) | [TestFixture]
method Render (line 51) | [TestCaseSource(nameof(TestCases))]
method Render_Graphics (line 74) | [TestCaseSource(nameof(TestCases))]
FILE: Tests/Core/Sources/Program.cs
class Program (line 32) | [SetUpFixture]
method OneTimeSetup (line 44) | [OneTimeSetUp]
method Main (line 61) | [STAThread]
FILE: Tests/Core/Sources/ViewerOptionTest.cs
class ViewerOptionTest (line 32) | [TestFixture]
method ToName (line 46) | [TestCase(VO.SinglePage, ExpectedResult = "SinglePage")]
FILE: Tests/Editor/Sources/BackupTest.cs
class BackupTest (line 34) | [TestFixture]
method GetRootDirectory (line 46) | [TestCase(@"C:\Users\Foo\CubePdfUtility2\Backup", ExpectedResult = @"...
method GetDefaultRootDirectory (line 81) | [Test]
FILE: Tests/Editor/Sources/DragDropTest.cs
class DragDropTest (line 38) | [TestFixture]
method Drag (line 52) | [Test]
method Drop (line 81) | [Test]
method Serialize (line 109) | [Test]
FILE: Tests/Editor/Sources/HistoryTest.cs
class HistoryTest (line 34) | [TestFixture]
method Undo (line 48) | [Test]
method Redo (line 93) | [Test]
method Remove (line 141) | private void Remove(IList<Integer> src, int index, History history)
method Create (line 159) | private IList<Integer> Create()
class Integer (line 175) | private class Integer
FILE: Tests/Editor/Sources/ImageRendererTest.cs
class ImageRendererTest (line 35) | [TestFixture]
method Render_WithImage (line 49) | [TestCase("Loading.png", 1, 0)]
FILE: Tests/Editor/Sources/Interactions/DialogBehaviorTest.cs
class DialogBehaviorTest (line 34) | [TestFixture]
method PasswordWindow (line 49) | [Test]
method PreviewWindow (line 68) | [Test]
method InsertWindow (line 87) | [Test]
method RemoveWindow (line 106) | [Test]
method MetadataWindow (line 125) | [Test]
method EncryptionWindow (line 144) | [Test]
method SettingWindow (line 163) | [Test]
FILE: Tests/Editor/Sources/Interactions/InsertPositionBehaviorTest.cs
class InsertPositionBehaviorTest (line 34) | [TestFixture]
method Test (line 49) | [Test]
FILE: Tests/Editor/Sources/Interactions/MouseBehaviorTest.cs
class MouseBehaviorTest (line 35) | [TestFixture]
method Open (line 50) | [Test]
method Preview (line 70) | [Test]
method Clear (line 90) | [Test]
method Move (line 110) | [Test]
method IsPressed (line 138) | [Test]
FILE: Tests/Editor/Sources/Interactions/SelectionBehaviorTest.cs
class SelectionBehaviorTest (line 34) | [TestFixture]
method Test (line 49) | [Test]
FILE: Tests/Editor/Sources/Interactions/SetupBehaviorTest.cs
class SetupBehaviorTest (line 34) | [TestFixture]
method Test (line 49) | [Test]
FILE: Tests/Editor/Sources/Interactions/SimplexConverterTest.cs
class SimplexConverterTest (line 42) | [TestFixture]
method TitleConverter (line 58) | [TestCase("Dir\\To\\File.pdf", false, ExpectedResult = "File.pdf - Cub...
method TitleConverter_Empty (line 85) | [Test]
method TitleConverter_Throws (line 105) | [Test]
method IconConverter (line 125) | [TestCase("Sample.pdf", ExpectedResult = true)]
method ByteConverter (line 146) | [TestCase(100, Language.English, ExpectedResult = "1 KB (100 Byte...
method ByteConverterLite (line 166) | [TestCase(100, Language.English, ExpectedResult = "1 KB")]
method EncryptionMethodConverter (line 186) | [TestCase(EncryptionMethod.Standard40, Language.English, ExpectedRes...
method ViewerOptionsConverter (line 209) | [TestCase(ViewerOption.SinglePage, Language.English, ExpectedResu...
method IsImageFormat (line 231) | [TestCase(SaveFormat.Pdf, ExpectedResult = false)]
method BooleanToWaitCursor (line 248) | [Test]
method BooleanToArrowCursor (line 263) | [Test]
method CountToText (line 282) | [TestCase(10, Language.English, ExpectedResult = "10 pages")]
method IndexToText (line 300) | [TestCase(0, Language.English, ExpectedResult = "1")]
method SelectionToText (line 318) | [TestCase(5, Language.English, ExpectedResult = "5 pages selected")]
method SelectionToVisibility (line 336) | [Test]
method HasValueToVisibility (line 355) | [Test]
method HasValueToVisibilityInverse (line 374) | [Test]
method Convert (line 396) | private T Convert<T>(SimplexConverter src, object value, Language lang)
method Convert (line 411) | private T Convert<T>(SimplexConverter src, object value) =>
FILE: Tests/Editor/Sources/Interactions/VisibleRangeTest.cs
class VisibleRangeTest (line 34) | [TestFixture]
method Test (line 49) | [Test]
FILE: Tests/Editor/Sources/Internal/MockDragDrop.cs
class MockDragInfo (line 40) | class MockDragInfo : IDragInfo
method MockDragInfo (line 54) | public MockDragInfo(object data, int index)
class MockDropInfo (line 140) | class MockDropInfo : IDropInfo
FILE: Tests/Editor/Sources/Internal/VmExtension.cs
class VmExtension (line 41) | internal static class VmExtension
method Boot (line 60) | public static IDisposable Boot(this MainViewModel vm, VmParam vp)
method Hook (line 93) | public static IDisposable Hook(this IBindable vm, VmParam vp) => new D...
method Hook (line 122) | public static IDisposable Hook(this IBindable vm) => Hook(vm, new());
method Test (line 140) | public static void Test(this MainViewModel vm, Action action)
method Test (line 168) | public static void Test(this MainViewModel vm, ICommand command)
method Test (line 187) | public static void Test(this MainViewModel vm, BindableElement element...
method Select (line 206) | public static void Select(this MainViewModel vm, params int[] indices)
FILE: Tests/Editor/Sources/Internal/VmFixture.cs
class VmFixture (line 38) | internal abstract class VmFixture : FileFixture
method NewVM (line 53) | protected MainViewModel NewVM()
method Get (line 81) | protected string Get(IEnumerable<object> args, [CallerMemberName] stri...
method Args (line 97) | protected IEnumerable<object> Args(params object[] src) => src;
FILE: Tests/Editor/Sources/Internal/VmParam.cs
class VmParam (line 31) | internal class VmParam
FILE: Tests/Editor/Sources/Presenters/EncryptionTest.cs
class EncryptionTest (line 35) | [TestFixture]
method Test (line 49) | [Test]
method Cancel (line 81) | [Test]
method Subscribe (line 111) | private IDisposable Subscribe(MainViewModel vm, Encryption src) =>
method AssertEquals (line 146) | private void AssertEquals(Encryption src, Encryption cmp)
FILE: Tests/Editor/Sources/Presenters/ExtractTest.cs
class ExtractTest (line 37) | [TestFixture]
method Extract (line 51) | [Test]
method ExtractOthers (line 86) | [Test]
method AssertObject (line 115) | private void AssertObject(ExtractViewModel src)
FILE: Tests/Editor/Sources/Presenters/InsertTest.cs
class InsertTest (line 42) | [TestFixture]
method Insert (line 56) | [TestCase("SampleAnnotation.pdf", 11)]
method Inser_DragDrop (line 95) | [Test]
method Ivm_SelectClear (line 140) | [Test]
method Ivm_Clear (line 159) | [Test]
method Ivm_Remove (line 176) | [Test]
method Ivm_Move (line 195) | [Test]
method Ivm_DragUp (line 216) | [Test]
method Ivm_DragDown (line 249) | [Test]
method Ivm_DragSame (line 277) | [Test]
method Boot (line 321) | private void Boot(Action<InsertViewModel> callback, bool apply = true,...
method AssertObject (line 375) | private void AssertObject(InsertViewModel src)
FILE: Tests/Editor/Sources/Presenters/MetadataTest.cs
class MetadataTest (line 36) | [TestFixture]
method Test (line 50) | [TestCaseSource(nameof(TestCases))]
method Cancel (line 72) | [Test]
method Subscribe (line 144) | private IDisposable Subscribe(MainViewModel vm, Metadata src) =>
method AssertEquals (line 191) | private void AssertEquals(Metadata src, Metadata cmp)
FILE: Tests/Editor/Sources/Presenters/MoveTest.cs
class MoveTest (line 33) | [TestFixture]
method MoveNext (line 47) | [Test]
method MovePrevious (line 79) | [Test]
method MoveNext_DragDrop (line 111) | [Test]
method MovePrevious_DragDrop (line 144) | [Test]
FILE: Tests/Editor/Sources/Presenters/OpenTest.cs
class OpenTest (line 38) | [TestFixture]
method Open (line 52) | [TestCase("Sample.pdf", "" )]
method Open_BadFormat (line 75) | [Test]
method OpenLink (line 99) | [Test]
method OpenLink_NotFound (line 129) | [Test]
method OpenLink_Null (line 156) | [Test]
method Link (line 181) | private void Link(string link, string src) => new Shortcut
method AssertObject (line 199) | private void AssertObject(ImageItem src)
FILE: Tests/Editor/Sources/Presenters/OthersTest.cs
class OthersTest (line 36) | [TestFixture]
method Check (line 50) | [Test]
method Close (line 75) | [TestCase("Sample.pdf", 9, true )]
method Rotate (line 106) | [Test]
method Undo (line 146) | [Test]
FILE: Tests/Editor/Sources/Presenters/RemoveTest.cs
class RemoveTest (line 35) | [TestFixture]
method Remove (line 49) | [Test]
method RemoveOthers (line 79) | [Test]
FILE: Tests/Editor/Sources/Presenters/RibbonTest.cs
class RibbonTest (line 33) | [TestFixture]
method GetText_English (line 47) | [Test]
method GetTooltip_English (line 97) | [Test]
method GetText_Japanese (line 146) | [Test]
method GetTooltip_Japanese (line 196) | [Test]
method GetText_Dynamically (line 246) | [Test]
FILE: Tests/Editor/Sources/Presenters/SaveTest.cs
class SaveTest (line 34) | [TestFixture]
method SaveAs (line 48) | [TestCase("Sample.pdf", "" )]
method Overwrite (line 79) | [TestCase("Sample.pdf", "")]
FILE: Tests/Editor/Sources/Presenters/SettingTest.cs
class SettingTest (line 35) | [TestFixture]
method Test (line 49) | [Test]
method Check (line 75) | [Test]
method AssertObject (line 115) | private void AssertObject(SettingViewModel src)
FILE: Tests/Editor/Sources/Presenters/ViewTest.cs
class ViewTest (line 34) | [TestFixture]
method Preview (line 48) | [Test]
method Select (line 77) | [Test]
method Zoom (line 121) | [Test]
method FrameOnly (line 147) | [Test]
FILE: Tests/Editor/Sources/Program.cs
class Program (line 33) | [SetUpFixture]
method OneTimeSetup (line 45) | [OneTimeSetUp]
method Main (line 63) | [STAThread]
FILE: Tests/Editor/Sources/RangeTest.cs
class RangeTest (line 33) | [TestFixture]
method Parse (line 47) | [TestCase("1,2,3,4", ExpectedResult = 4)]
method Parse_Throws (line 64) | [TestCase("1,2,a")]
FILE: Tests/Editor/Sources/RendererCacheTest.cs
class RendererCacheTest (line 33) | [TestFixture]
method GetOrAdd (line 47) | [TestCase("Sample.pdf", "")]
FILE: Tests/Editor/Sources/RibbonElementTest.cs
class RibbonElementTest (line 33) | [TestFixture]
method Check (line 47) | [Test]
FILE: Tests/Pages/Sources/FileSelectorTest.cs
class FileSelectorTest (line 35) | [TestFixture]
method Get (line 49) | [TestCaseSource(nameof(TestCases))]
FILE: Tests/Pages/Sources/Internal/ViewModelExtension.cs
class ViewModelExtension (line 37) | static class ViewModelExtension
method Test (line 53) | public static bool Test(this MainViewModel vm, Action action)
method GetFiles (line 89) | public static IEnumerable<File> GetFiles(this MainViewModel vm) =>
FILE: Tests/Pages/Sources/MainWindowTest.cs
class MainWindowTest (line 34) | [TestFixture]
method Bind (line 49) | [Test]
FILE: Tests/Pages/Sources/Presenters/MergeTest.cs
class MergeTest (line 36) | [TestFixture]
method Merge (line 50) | [TestCaseSource(nameof(TestCases))]
FILE: Tests/Pages/Sources/Presenters/OthersTest.cs
class OthersTest (line 35) | [TestFixture]
method Setup (line 49) | [Test]
method Password (line 68) | [Test]
method Password_Cancel (line 100) | [Test]
method Move (line 121) | [TestCase( 1)]
method Remove (line 144) | [Test]
method Clear (line 169) | [Test]
method Preview (line 196) | [Test]
method Settings (line 223) | [Test]
method Create_Throws (line 251) | [Test]
FILE: Tests/Pages/Sources/Presenters/SplitTest.cs
class SplitTest (line 36) | [TestFixture]
method Split (line 50) | [TestCaseSource(nameof(TestCases))]
FILE: Tests/Pages/Sources/Program.cs
class Program (line 33) | [SetUpFixture]
method OneTimeSetup (line 45) | [OneTimeSetUp]
method Main (line 63) | [STAThread]
Copy disabled (too large)
Download .json
Condensed preview — 467 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (14,788K chars).
[
{
"path": ".gitattributes",
"chars": 697,
"preview": "* text=auto\n\n*.sh text eol=lf\n\n*.sln text eol=crlf\n*.csproj text eol=crlf\n*.vb"
},
{
"path": ".gitignore",
"chars": 376,
"preview": "*_i.c\n*_p.c\n*.aps\n*.bak\n*.cache\n*.db\n*.dll\n*.exe\n*.ilk\n*.lib\n*.log\n*.ncb\n*.nupkg\n*.obj\n*.pch\n*.pdb\n*.resharper\n*.sdf\n*.s"
},
{
"path": ".whitesource",
"chars": 137,
"preview": "{\n \"generalSettings\": {\n \"shouldScanRepo\": true\n },\n \"checkRunSettings\": {\n \"vulnerableCheckRunConclusionLevel\""
},
{
"path": "AppVeyor.yml",
"chars": 1451,
"preview": "version: 9.7.1.{build}\nenvironment:\n PROJECT_NAME: 'Cube.Pdf'\n TEST_TOOL: '..\\packages\\OpenCover\\4.7.1221\\too"
},
{
"path": "Applications/Converter/Core/Cube.Pdf.Converter.csproj",
"chars": 1777,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n <PropertyGroup>\r\n <Version>9.7.1</Version>\r\n <Authors>clown;cube-so"
},
{
"path": "Applications/Converter/Core/Readme.md",
"chars": 2287,
"preview": "Cube.Pdf.Converter\n====\n\n[](https://www.nuget.org/packages/"
},
{
"path": "Applications/Converter/Core/Sources/DocumentName.cs",
"chars": 4949,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/ExtensionList.cs",
"chars": 6476,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/Facade.cs",
"chars": 7426,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/Internal/DigestChecker.cs",
"chars": 3553,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/Internal/FileDecorator.cs",
"chars": 5683,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/Internal/FileTransfer.cs",
"chars": 8261,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/Internal/FormatGroup.cs",
"chars": 4451,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/Internal/GhostscriptFactory.cs",
"chars": 6195,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/Internal/PathExplorer.cs",
"chars": 4318,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/Internal/ProcessLauncher.cs",
"chars": 5305,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/PostProcessException.cs",
"chars": 2776,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/SettingFolder.cs",
"chars": 6416,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/SettingMigration.cs",
"chars": 4073,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/SettingOptions.cs",
"chars": 1992,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/SettingV2.cs",
"chars": 10075,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/SettingValue.cs",
"chars": 9979,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Core/Sources/SettingValueEx.cs",
"chars": 2830,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Documents/English/License.md",
"chars": 3672,
"preview": "License FAQ about CubePDF series\n====\n\nCopyright © 2010 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AG"
},
{
"path": "Applications/Converter/Documents/English/Question.md",
"chars": 9364,
"preview": "CubePDF FAQ\n====\n\nCopyright © 2010 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv3) \nsupport@cube-"
},
{
"path": "Applications/Converter/Documents/English/Readme.md",
"chars": 14208,
"preview": "CubePDF Documents\n====\n\nCopyright © 2010 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv3) \nsupport"
},
{
"path": "Applications/Converter/Documents/Japanese/License.md",
"chars": 3231,
"preview": "CubePDF シリーズのライセンスや利用条件等について\n====\n\nCopyright © 2010 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv3"
},
{
"path": "Applications/Converter/Documents/Japanese/Question.md",
"chars": 6190,
"preview": "CubePDF の基本的な使用方法について\n====\n\nCopyright © 2010 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv3) \nsup"
},
{
"path": "Applications/Converter/Documents/Japanese/Readme.md",
"chars": 8532,
"preview": "CubePDF ユーザーマニュアル\n====\n\nCopyright © 2010 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv3) \nsupport"
},
{
"path": "Applications/Converter/License.txt",
"chars": 34520,
"preview": " GNU AFFERO GENERAL PUBLIC LICENSE\n Version 3, 19 November 2007\n\n Copyright (C)"
},
{
"path": "Applications/Converter/Main/App.config",
"chars": 156,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<configuration>\n <runtime>\n <generatePublisherEvidence enabled=\"false"
},
{
"path": "Applications/Converter/Main/App.manifest",
"chars": 1849,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<assembly manifestVersion=\"1.0\" xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n <a"
},
{
"path": "Applications/Converter/Main/Cube.Pdf.Converter.Main.csproj",
"chars": 3063,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n <PropertyGroup>\r\n <Version>4.3.5</Version>\r\n <Authors>clown;cube-s"
},
{
"path": "Applications/Converter/Main/NLog.config",
"chars": 783,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<nlog xmlns=\"http://www.nlog-project.org/schemas/NLog.xsd\"\n xmlns:xsi=\"htt"
},
{
"path": "Applications/Converter/Main/Properties/Resources.Designer.cs",
"chars": 3524,
"preview": "//------------------------------------------------------------------------------\n// <auto-generated>\n// This code w"
},
{
"path": "Applications/Converter/Main/Properties/Resources.resx",
"chars": 6303,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <!-- \n Microsoft ResX Schema \n \n Version 2.0\n \n The prim"
},
{
"path": "Applications/Converter/Main/Sources/Extensions/FacadeExtension.cs",
"chars": 2948,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Extensions/SettingExtension.cs",
"chars": 4841,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Message.cs",
"chars": 9834,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Presenters/MainViewModel.cs",
"chars": 9405,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Presenters/MetadataViewModel.cs",
"chars": 5481,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Presenters/SecurityViewModel.cs",
"chars": 11272,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Presenters/SettingFacade.cs",
"chars": 3740,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Presenters/SettingViewModel.cs",
"chars": 12586,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Program.cs",
"chars": 4460,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Surface.cs",
"chars": 11609,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Texts/English.cs",
"chars": 7160,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Texts/German.cs",
"chars": 7443,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Texts/Japanese.cs",
"chars": 6336,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Texts/Russian.cs",
"chars": 7419,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Texts/SimplifiedChinese.cs",
"chars": 5987,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Texts/Text.cs",
"chars": 6950,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Views/MainWindow.Designer.cs",
"chars": 45987,
"preview": "namespace Cube.Pdf.Converter\n{\n partial class MainWindow\n {\n /// <summary>\n /// Required designer v"
},
{
"path": "Applications/Converter/Main/Sources/Views/MainWindow.cs",
"chars": 15338,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Main/Sources/Views/MainWindow.resx",
"chars": 164335,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSch"
},
{
"path": "Applications/Converter/Proxy/App.config",
"chars": 156,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<configuration>\n <runtime>\n <generatePublisherEvidence enabled=\"false"
},
{
"path": "Applications/Converter/Proxy/App.manifest",
"chars": 1849,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<assembly manifestVersion=\"1.0\" xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n <a"
},
{
"path": "Applications/Converter/Proxy/Cube.Pdf.Converter.Proxy.csproj",
"chars": 2291,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n <PropertyGroup>\r\n <Version>9.0.0</Version>\r\n <Authors>clown;cube-s"
},
{
"path": "Applications/Converter/Proxy/License.txt",
"chars": 11358,
"preview": "\n Apache License\n Version 2.0, January 2004\n "
},
{
"path": "Applications/Converter/Proxy/NLog.config",
"chars": 795,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<nlog xmlns=\"http://www.nlog-project.org/schemas/NLog.xsd\"\n xmlns:xsi=\"h"
},
{
"path": "Applications/Converter/Proxy/Sources/Native/AdvApi32.cs",
"chars": 4046,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Proxy/Sources/Native/Kernel32.cs",
"chars": 2363,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Proxy/Sources/Native/Structures/ProcessInformation.cs",
"chars": 5293,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Proxy/Sources/Native/Structures/WtsSessionInfo.cs",
"chars": 3061,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Proxy/Sources/Native/UserEnv.cs",
"chars": 2408,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Proxy/Sources/Native/WtsApi32.cs",
"chars": 3593,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Proxy/Sources/Process.cs",
"chars": 17124,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Proxy/Sources/Program.cs",
"chars": 3355,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Converter/Readme.ja.md",
"chars": 10686,
"preview": "CubePDF\n====\n\nCopyright © 2010 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv3) \nsupport@cube-soft"
},
{
"path": "Applications/Converter/Readme.md",
"chars": 11282,
"preview": "CubePDF\n====\n\nCopyright © 2010 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv3) \nsupport@cube-soft"
},
{
"path": "Applications/Editor/Documents/English/Question.md",
"chars": 4616,
"preview": "CubePDF Utility FAQ\n====\n\nCopyright © 2013 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv3) \nsuppo"
},
{
"path": "Applications/Editor/Documents/English/Readme.md",
"chars": 14668,
"preview": "CubePDF Utility Documnets\n====\n\nCopyright © 2013 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv3) "
},
{
"path": "Applications/Editor/Documents/Japanese/Question.md",
"chars": 3148,
"preview": "CubePDF Utility のよくある質問 (FAQ)\n====\n\nCopyright © 2013 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv"
},
{
"path": "Applications/Editor/Documents/Japanese/Readme.md",
"chars": 9571,
"preview": "CubePDF Utility ユーザーマニュアル\n====\n\nCopyright © 2013 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv3) "
},
{
"path": "Applications/Editor/License.txt",
"chars": 34520,
"preview": " GNU AFFERO GENERAL PUBLIC LICENSE\n Version 3, 19 November 2007\n\n Copyright (C)"
},
{
"path": "Applications/Editor/Main/App.config",
"chars": 156,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<configuration>\n <runtime>\n <generatePublisherEvidence enabled=\"false"
},
{
"path": "Applications/Editor/Main/App.manifest",
"chars": 1849,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<assembly manifestVersion=\"1.0\" xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n <a"
},
{
"path": "Applications/Editor/Main/App.xaml",
"chars": 1499,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/App.xaml.cs",
"chars": 4860,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Cube.Pdf.Editor.csproj",
"chars": 3345,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\r\n <PropertyGroup>\r\n <Version>4.5.0</Version>\r\n <Authors>clown;cube-s"
},
{
"path": "Applications/Editor/Main/NLog.config",
"chars": 790,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<nlog xmlns=\"http://www.nlog-project.org/schemas/NLog.xsd\"\n xmlns:xsi=\"htt"
},
{
"path": "Applications/Editor/Main/Sources/Extensions/Facade/DragDrop.cs",
"chars": 4384,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Extensions/Facade/Open.cs",
"chars": 5507,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Extensions/Facade/Others.cs",
"chars": 4355,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Extensions/Facade/Save.cs",
"chars": 5913,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Extensions/File.cs",
"chars": 7138,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Extensions/Image.cs",
"chars": 9806,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Extensions/Keys.cs",
"chars": 2388,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Extensions/Mouse.cs",
"chars": 7294,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Interactions/DragDropObject.cs",
"chars": 4581,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Interactions/FileDropBehavior.cs",
"chars": 3628,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Interactions/InsertDropTarget.cs",
"chars": 4059,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Interactions/InsertPositionBehavior.cs",
"chars": 2936,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Interactions/MouseClearBehavior.cs",
"chars": 3454,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Interactions/MouseMoveBehavior.cs",
"chars": 15124,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Interactions/MousePreviewBehavior.cs",
"chars": 3246,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Interactions/OtherBehaviors.cs",
"chars": 4577,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Interactions/SelectionBehavior.cs",
"chars": 4425,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Interactions/SetupBehavior.cs",
"chars": 2984,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Interactions/SimplexConverters.cs",
"chars": 16121,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Interactions/VisibleRange.cs",
"chars": 7981,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/Backup.cs",
"chars": 7193,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/BackupException.cs",
"chars": 1730,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/CacheCollection.cs",
"chars": 12016,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/DirectoryMonitor.cs",
"chars": 6995,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/FileCollection.cs",
"chars": 6431,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/FileItem.cs",
"chars": 5533,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/History.cs",
"chars": 5922,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/HistoryItem.cs",
"chars": 2901,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/ImageCollection.cs",
"chars": 15403,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/ImageItem.cs",
"chars": 9659,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/ImagePreference.cs",
"chars": 7062,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/ImageRenderer.cs",
"chars": 5328,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/ImageSelection.cs",
"chars": 3892,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/Message.cs",
"chars": 7219,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/Range.cs",
"chars": 5557,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/RendererCache.cs",
"chars": 6760,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/RibbonElement.cs",
"chars": 9648,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/SaveAction.cs",
"chars": 10656,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/SaveOption.cs",
"chars": 12197,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/Selection.cs",
"chars": 5371,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/SettingFolder.cs",
"chars": 7849,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Models/SettingValue.cs",
"chars": 7571,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Native/Shell32.cs",
"chars": 1852,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/DialogViewModel.cs",
"chars": 4145,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Encryption/EncryptionFacade.cs",
"chars": 6370,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Encryption/EncryptionViewModel.cs",
"chars": 13279,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Extract/ExtractFacade.cs",
"chars": 3833,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Extract/ExtractViewModel.cs",
"chars": 11004,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Insert/InsertBindableValue.cs",
"chars": 4954,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Insert/InsertFacade.cs",
"chars": 8291,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Insert/InsertViewModel.cs",
"chars": 13101,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Insert/PositionViewModel.cs",
"chars": 5527,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Main/MainBindableValue.cs",
"chars": 13194,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Main/MainFacade.cs",
"chars": 14124,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Main/MainViewModel.cs",
"chars": 6659,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Main/MainViewModelBase.cs",
"chars": 15220,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Main/RecentViewModel.cs",
"chars": 3617,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Main/RibbonViewModel.cs",
"chars": 22162,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Metadata/MetadataFacade.cs",
"chars": 4266,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Metadata/MetadataViewModel.cs",
"chars": 11940,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/PasswordViewModel.cs",
"chars": 4024,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Preview/PreviewBindableValue.cs",
"chars": 5661,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Preview/PreviewFacade.cs",
"chars": 3240,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Preview/PreviewViewModel.cs",
"chars": 3218,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Remove/RemoveFacade.cs",
"chars": 3915,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/Remove/RemoveViewModel.cs",
"chars": 4558,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Presenters/SettingViewModel.cs",
"chars": 14132,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Surface.cs",
"chars": 1951,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Texts/English.cs",
"chars": 10010,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Texts/German.cs",
"chars": 10598,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Texts/Japanese.cs",
"chars": 9139,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Texts/Russian.cs",
"chars": 10564,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Texts/SimplifiedChinese.cs",
"chars": 8748,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Sources/Texts/Text.cs",
"chars": 9697,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Themes/FooterStyle.xaml",
"chars": 3238,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Themes/Generic.xaml",
"chars": 5732,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Themes/GenericDialog.xaml",
"chars": 4942,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Themes/HeroStyle.xaml",
"chars": 4260,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Themes/InsertStyle.xaml",
"chars": 6456,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Themes/PageStyle.xaml",
"chars": 5431,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Themes/RibbonStyle.xaml",
"chars": 10514,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Themes/RibbonTemplate.xaml",
"chars": 12392,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Themes/ScrollStyle.xaml",
"chars": 5192,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Themes/TabStyle.xaml",
"chars": 4012,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/Components/FileListControl.xaml",
"chars": 5340,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/Components/FileListControl.xaml.cs",
"chars": 1710,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Views/Components/FooterControl.xaml",
"chars": 3586,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/Components/FooterControl.xaml.cs",
"chars": 1698,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Views/Components/HeroControl.xaml",
"chars": 2958,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/Components/HeroControl.xaml.cs",
"chars": 1690,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Views/Components/InsertContextMenu.xaml",
"chars": 2560,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/Components/MainContextMenu.xaml",
"chars": 5315,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/Components/PositionControl.xaml",
"chars": 4399,
"preview": "<UserControl\n x:Class=\"Cube.Pdf.Editor.PositionControl\"\n xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pres"
},
{
"path": "Applications/Editor/Main/Views/Components/PositionControl.xaml.cs",
"chars": 1709,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Views/Components/RibbonControl.xaml",
"chars": 22359,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/Components/RibbonControl.xaml.cs",
"chars": 1697,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Views/EncryptionWindow.xaml",
"chars": 11002,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/EncryptionWindow.xaml.cs",
"chars": 1701,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Views/ExtractWindow.xaml",
"chars": 9418,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/ExtractWindow.xaml.cs",
"chars": 1683,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Views/InsertWindow.xaml",
"chars": 5822,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/InsertWindow.xaml.cs",
"chars": 1677,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Views/MainWindow.xaml",
"chars": 8258,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/MainWindow.xaml.cs",
"chars": 1663,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Views/MetadataWindow.xaml",
"chars": 11614,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/MetadataWindow.xaml.cs",
"chars": 1689,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Views/PasswordWindow.xaml",
"chars": 4124,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/PasswordWindow.xaml.cs",
"chars": 1687,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Views/PreviewWindow.xaml",
"chars": 3012,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/PreviewWindow.xaml.cs",
"chars": 1683,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Views/RemoveWindow.xaml",
"chars": 4672,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/RemoveWindow.xaml.cs",
"chars": 1677,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Main/Views/SettingWindow.xaml",
"chars": 12390,
"preview": "<!-- **************************************************************************\n\n Copyright (c) 2010 CubeSoft, Inc.\n\n "
},
{
"path": "Applications/Editor/Main/Views/SettingWindow.xaml.cs",
"chars": 1683,
"preview": "/* ------------------------------------------------------------------------- */\n//\n// Copyright (c) 2010 CubeSoft, Inc."
},
{
"path": "Applications/Editor/Readme.ja.md",
"chars": 13149,
"preview": "CubePDF Utility\n====\n\nCopyright © 2013 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv3) \nsupport@"
},
{
"path": "Applications/Editor/Readme.md",
"chars": 13592,
"preview": "CubePDF Utility\n====\n\nCopyright © 2013 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv3) \nsupport@c"
},
{
"path": "Applications/Pages/Documents/English/Question.md",
"chars": 4460,
"preview": "CubePDF Page FAQ\n====\n\nCopyright © 2013 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv3) \nsupport@"
},
{
"path": "Applications/Pages/Documents/English/Readme.md",
"chars": 10207,
"preview": "CubePDF Page Documents\n====\n\nCopyright © 2013 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv3) \nsu"
},
{
"path": "Applications/Pages/Documents/Japanese/Question.md",
"chars": 2876,
"preview": "CubePDF Page でよくある質問\n====\n\nCopyright © 2013 CubeSoft, Inc. \nGNU Affero General Public License version 3 (AGPLv3) \nsupp"
}
]
// ... and 267 more files (download for full content)
About this extraction
This page contains the full source code of the cube-soft/Cube.Pdf GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 467 files (13.4 MB), approximately 3.5M tokens, and a symbol index with 1608 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.