From 2b8214ed0665288f5a16f2ede1b462fa1344d75e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=AE=E5=A4=AA=20=E6=AB=BB=E4=BA=95?= Date: Sun, 24 Mar 2024 10:02:45 +0900 Subject: [PATCH] first commit --- .gitignore | 4 + LICENSE | 21 + Pdf2Img.sln | 39 ++ Pdf2Img/IO/PdfFile.cs | 57 ++ Pdf2Img/Pdf2Img.csproj | 28 + Pdf2Img/Program.cs | 77 +++ Pdf2Img/Properties/launchSettings.json | 8 + Pdf2Img/Services/ArgumentService.cs | 102 +++ Pdf2ImgInstaller/.gitignore | 2 + Pdf2ImgInstaller/Pdf2ImgInstaller.vdproj | 777 +++++++++++++++++++++++ README.md | 6 + 11 files changed, 1121 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 Pdf2Img.sln create mode 100644 Pdf2Img/IO/PdfFile.cs create mode 100644 Pdf2Img/Pdf2Img.csproj create mode 100644 Pdf2Img/Program.cs create mode 100644 Pdf2Img/Properties/launchSettings.json create mode 100644 Pdf2Img/Services/ArgumentService.cs create mode 100644 Pdf2ImgInstaller/.gitignore create mode 100644 Pdf2ImgInstaller/Pdf2ImgInstaller.vdproj create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f485a60 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.vs +.vscode +bin +obj diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c9bac30 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Amer Koleci and Contributors + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/Pdf2Img.sln b/Pdf2Img.sln new file mode 100644 index 0000000..590dc8f --- /dev/null +++ b/Pdf2Img.sln @@ -0,0 +1,39 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33414.496 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pdf2Img", "Pdf2Img\Pdf2Img.csproj", "{A0D21A0D-898B-460D-A706-F022863D0298}" +EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Pdf2ImgInstaller", "Pdf2ImgInstaller\Pdf2ImgInstaller.vdproj", "{8B5D50E5-B027-4AD2-A046-5BC3CF0EBC68}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A0D21A0D-898B-460D-A706-F022863D0298}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A0D21A0D-898B-460D-A706-F022863D0298}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A0D21A0D-898B-460D-A706-F022863D0298}.Debug|x64.ActiveCfg = Debug|x64 + {A0D21A0D-898B-460D-A706-F022863D0298}.Debug|x64.Build.0 = Debug|x64 + {A0D21A0D-898B-460D-A706-F022863D0298}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A0D21A0D-898B-460D-A706-F022863D0298}.Release|Any CPU.Build.0 = Release|Any CPU + {A0D21A0D-898B-460D-A706-F022863D0298}.Release|x64.ActiveCfg = Release|x64 + {A0D21A0D-898B-460D-A706-F022863D0298}.Release|x64.Build.0 = Release|x64 + {8B5D50E5-B027-4AD2-A046-5BC3CF0EBC68}.Debug|Any CPU.ActiveCfg = Debug + {8B5D50E5-B027-4AD2-A046-5BC3CF0EBC68}.Debug|x64.ActiveCfg = Debug + {8B5D50E5-B027-4AD2-A046-5BC3CF0EBC68}.Debug|x64.Build.0 = Debug + {8B5D50E5-B027-4AD2-A046-5BC3CF0EBC68}.Release|Any CPU.ActiveCfg = Release + {8B5D50E5-B027-4AD2-A046-5BC3CF0EBC68}.Release|x64.ActiveCfg = Release + {8B5D50E5-B027-4AD2-A046-5BC3CF0EBC68}.Release|x64.Build.0 = Release + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {48BFE4C1-3462-444E-A154-05F52D4A759A} + EndGlobalSection +EndGlobal diff --git a/Pdf2Img/IO/PdfFile.cs b/Pdf2Img/IO/PdfFile.cs new file mode 100644 index 0000000..f45073e --- /dev/null +++ b/Pdf2Img/IO/PdfFile.cs @@ -0,0 +1,57 @@ +using System; +using System.IO; +using System.Threading.Tasks; +using Windows.Data.Pdf; +using Windows.Storage.Streams; + +namespace Pdf2Img.IO +{ + internal class PdfFile : IDisposable + { + public static async Task OpenPdfFile(string filename) + { + PdfFile pdfFile = new PdfFile(filename); + await pdfFile.OpenFile(); + return pdfFile; + } + + public string FileName { get; } + private PdfDocument document; + private FileStream fileStream; + private IRandomAccessStream randomStream; + + private PdfFile(string filename) + { + FileName = filename; + } + + public async Task ToImage(uint page, string filePath) + { + using (PdfPage pPage = document.GetPage(page)) + using (FileStream fs = File.OpenWrite(filePath)) + using (IRandomAccessStream randStream = fs.AsRandomAccessStream()) + { + await pPage.RenderToStreamAsync(randStream); + } + } + + public uint GetPageCount() + { + return document.PageCount; + } + + public void Dispose() + { + randomStream.Dispose(); + fileStream.Dispose(); + } + + private async Task OpenFile() + { + fileStream = File.OpenRead(FileName); + randomStream = fileStream.AsRandomAccessStream(); + + document = await PdfDocument.LoadFromStreamAsync(randomStream); + } + } +} diff --git a/Pdf2Img/Pdf2Img.csproj b/Pdf2Img/Pdf2Img.csproj new file mode 100644 index 0000000..8c031aa --- /dev/null +++ b/Pdf2Img/Pdf2Img.csproj @@ -0,0 +1,28 @@ + + + + Exe + netcoreapp3.1 + disable + disable + Pdf2Img.Program + x64 + False + DevRas + DevRas + DevRas + AnyCPU;x64 + + + + + + + + + ..\..\..\..\..\..\Program Files (x86)\Windows Kits\8.1\References\CommonConfiguration\Neutral\Annotated\Windows.winmd + true + + + + diff --git a/Pdf2Img/Program.cs b/Pdf2Img/Program.cs new file mode 100644 index 0000000..c60bd7c --- /dev/null +++ b/Pdf2Img/Program.cs @@ -0,0 +1,77 @@ +using System; +using System.IO; +using System.Threading.Tasks; +using Pdf2Img.IO; +using Pdf2Img.Services; + +namespace Pdf2Img +{ + public class Program + { + /// + /// デフォルトのファイル名のフォーマット + /// {0} => PDFファイル名 + /// {1] => ページ番号 + /// + private static readonly string DefaultFileNameFormat = "{1}.png"; + + public static void Main(string[] args) + { + try + { + ArgumentService argumentService = new ArgumentService(args); + + string inputFile = argumentService.Get("-i"); + string outputDirectory = argumentService.Get("-o"); + string fileNameFormat = argumentService.Get("-fmt"); + + if (string.IsNullOrEmpty(inputFile) || string.IsNullOrEmpty(outputDirectory)) + { + Environment.Exit(10); + } + + if (!File.Exists(inputFile)) + { + Environment.Exit(20); + } + + if (!Directory.Exists(outputDirectory)) + { + Environment.Exit(21); + } + + if (string.IsNullOrEmpty(fileNameFormat)) + { + fileNameFormat = DefaultFileNameFormat; + } + + Task.Run(async () => + { + using (PdfFile pdfFile = await PdfFile.OpenPdfFile(inputFile)) + { + string pdfFileName = Path.GetFileNameWithoutExtension(pdfFile.FileName); + + for (uint page = 0; page < pdfFile.GetPageCount(); page++) + { + string fileName = string.Format(fileNameFormat, pdfFileName, page); + string filePath = Path.Combine(outputDirectory, fileName); + + await pdfFile.ToImage(page, filePath); + } + } + }).Wait(); + } + catch (Exception e) + { + if (e.InnerException != null) + { + Console.WriteLine("エラー:{0}", e.InnerException.Message); + } + else + { + Console.WriteLine("エラー:{0}", e.Message); + } + } + } + } +} diff --git a/Pdf2Img/Properties/launchSettings.json b/Pdf2Img/Properties/launchSettings.json new file mode 100644 index 0000000..b9a1cab --- /dev/null +++ b/Pdf2Img/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "Pdf2Img": { + "commandName": "Project", + "commandLineArgs": "-i \"D:\\Users\\Kema\\Document\\おかえり.pdf\" -o \"I:\\storage\\pdf\" -fmt \"{0}_{1}.png\"" + } + } +} \ No newline at end of file diff --git a/Pdf2Img/Services/ArgumentService.cs b/Pdf2Img/Services/ArgumentService.cs new file mode 100644 index 0000000..c2cc58d --- /dev/null +++ b/Pdf2Img/Services/ArgumentService.cs @@ -0,0 +1,102 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Pdf2Img.Services +{ + internal class ArgumentService + { + private Dictionary arguments; + + public ArgumentService(string[] args) + { + arguments = new Dictionary(); + Parse(args); + } + + public string Get(string name) + { + if (arguments.TryGetValue(name, out var value)) + { + return value; + } + + return string.Empty; + } + + private void Parse(string[] args) + { + bool isGroup = false; + string key = string.Empty; + StringBuilder sb = new StringBuilder(); + + for (int i = 0; i < args.Length; i++) + { + string arg = args[i]; + if (!isGroup && arg.StartsWith("\"") && arg.EndsWith("\"")) + { + string v = arg.Substring(1, arg.Length - 2); + if (string.IsNullOrEmpty(key)) + { + key = v; + } + else + { + this.arguments.Add(key, v); + key = string.Empty; + } + } + else if (isGroup && arg.EndsWith("\"")) + { + sb.AppendFormat(" {0}", arg.Substring(0, arg.Length - 1)); + if (string.IsNullOrEmpty(key)) + { + key = sb.ToString(); + } + else + { + this.arguments.Add(key, sb.ToString()); + key = string.Empty; + } + + isGroup = false; + } + else if (!isGroup && arg.StartsWith("\"")) + { + sb.Clear(); + sb.Append(arg.Substring(1, arg.Length - 2)); + isGroup = true; + } + else if (arg.StartsWith("-")) + { + if (!string.IsNullOrEmpty(key)) + { + if (sb.Length > 0) + { + this.arguments.Add(key, sb.ToString()); + } + else + { + this.arguments.Add(key, "true"); + } + } + + key = arg; + } + else + { + if (string.IsNullOrEmpty(key)) + { + key = arg; + } + else + { + this.arguments.Add(key, arg); + key = string.Empty; + } + } + } + } + } +} \ No newline at end of file diff --git a/Pdf2ImgInstaller/.gitignore b/Pdf2ImgInstaller/.gitignore new file mode 100644 index 0000000..043d84f --- /dev/null +++ b/Pdf2ImgInstaller/.gitignore @@ -0,0 +1,2 @@ +Debug +Release \ No newline at end of file diff --git a/Pdf2ImgInstaller/Pdf2ImgInstaller.vdproj b/Pdf2ImgInstaller/Pdf2ImgInstaller.vdproj new file mode 100644 index 0000000..2fb15d4 --- /dev/null +++ b/Pdf2ImgInstaller/Pdf2ImgInstaller.vdproj @@ -0,0 +1,777 @@ +"DeployProject" +{ +"VSVersion" = "3:800" +"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" +"IsWebType" = "8:FALSE" +"ProjectName" = "8:Pdf2ImgInstaller" +"LanguageId" = "3:1041" +"CodePage" = "3:932" +"UILanguageId" = "3:1041" +"SccProjectName" = "8:" +"SccLocalPath" = "8:" +"SccAuxPath" = "8:" +"SccProvider" = "8:" + "Hierarchy" + { + "Entry" + { + "MsmKey" = "8:_0A7ED156DB7F473A803B26C5B568BFFB" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_3CED4F1C855348E8A5216C4478FE44F2" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_89C5D976EF974873A9139BBC5A5B0F34" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + } + "Configurations" + { + "Debug" + { + "DisplayName" = "8:Debug" + "IsDebugOnly" = "11:TRUE" + "IsReleaseOnly" = "11:FALSE" + "OutputFilename" = "8:Debug\\Pdf2ImgInstaller.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + } + } + "Release" + { + "DisplayName" = "8:Release" + "IsDebugOnly" = "11:FALSE" + "IsReleaseOnly" = "11:TRUE" + "OutputFilename" = "8:Release\\Pdf2ImgInstaller.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + "Items" + { + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2" + { + "Name" = "8:Microsoft .NET Framework 4.7.2 (x86 および x64)" + "ProductCode" = "8:.NETFramework,Version=v4.7.2" + } + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.NetCore.CoreRuntime.3.1.x64" + { + "Name" = "8:.NET Core ランタイム 3.1.32 (x64)" + "ProductCode" = "8:Microsoft.NetCore.CoreRuntime.3.1.x64" + } + } + } + } + } + "Deployable" + { + "CustomAction" + { + } + "DefaultFeature" + { + "Name" = "8:DefaultFeature" + "Title" = "8:" + "Description" = "8:" + } + "ExternalPersistence" + { + "LaunchCondition" + { + "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_A359944CC89B45E48B4B6C4EDF5AA929" + { + "Name" = "8:.NET Core" + "Message" = "8:[VSDNETCOREMSG]" + "AllowLaterVersions" = "11:FALSE" + "InstallUrl" = "8:https://dotnet.microsoft.com/download/dotnet-core/[NetCoreVerMajorDotMinor]" + "IsNETCore" = "11:TRUE" + "Architecture" = "2:0" + "Runtime" = "2:0" + } + } + } + "File" + { + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0A7ED156DB7F473A803B26C5B568BFFB" + { + "SourcePath" = "8:..\\Pdf2Img\\bin\\x64\\Release\\netcoreapp3.1\\Pdf2Img.runtimeconfig.json" + "TargetName" = "8:Pdf2Img.runtimeconfig.json" + "Tag" = "8:" + "Folder" = "8:_A2F14627F1854A75877BAB3FBB5C8BCA" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3CED4F1C855348E8A5216C4478FE44F2" + { + "SourcePath" = "8:..\\Pdf2Img\\bin\\x64\\Release\\netcoreapp3.1\\Pdf2Img.exe" + "TargetName" = "8:Pdf2Img.exe" + "Tag" = "8:" + "Folder" = "8:_A2F14627F1854A75877BAB3FBB5C8BCA" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_89C5D976EF974873A9139BBC5A5B0F34" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:Pdf2Img, Version=1.0.0.0, Culture=neutral, processorArchitecture=AMD64" + "ScatterAssemblies" + { + "_89C5D976EF974873A9139BBC5A5B0F34" + { + "Name" = "8:Pdf2Img.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:..\\Pdf2Img\\bin\\x64\\Release\\netcoreapp3.1\\Pdf2Img.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_A2F14627F1854A75877BAB3FBB5C8BCA" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + } + "FileType" + { + } + "Folder" + { + "{1525181F-901A-416C-8A58-119130FE478E}:_1692B07E59D549F581435B224746328A" + { + "Name" = "8:#1916" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:DesktopFolder" + "Folders" + { + } + } + "{1525181F-901A-416C-8A58-119130FE478E}:_8AC78FEFAA0345BBBCE9FDFEED2C8F59" + { + "Name" = "8:#1919" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:ProgramMenuFolder" + "Folders" + { + } + } + "{3C67513D-01DD-4637-8A68-80971EB9504F}:_A2F14627F1854A75877BAB3FBB5C8BCA" + { + "DefaultLocation" = "8:[ProgramFiles64Folder][Manufacturer]\\[ProductName]" + "Name" = "8:#1925" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:TARGETDIR" + "Folders" + { + } + } + } + "LaunchCondition" + { + } + "Locator" + { + } + "MsiBootstrapper" + { + "LangId" = "3:1041" + "RequiresElevation" = "11:FALSE" + } + "Product" + { + "Name" = "8:Microsoft Visual Studio" + "ProductName" = "8:Pdf2Img" + "ProductCode" = "8:{25ECC125-F729-4724-A088-F7A4996BEC5F}" + "PackageCode" = "8:{5E855D47-378B-44B3-A226-F5F797D939D5}" + "UpgradeCode" = "8:{C23A9BAC-6AAF-4180-BEBC-3C23493CEA6D}" + "AspNetVersion" = "8:2.0.50727.0" + "RestartWWWService" = "11:FALSE" + "RemovePreviousVersions" = "11:TRUE" + "DetectNewerInstalledVersion" = "11:TRUE" + "InstallAllUsers" = "11:TRUE" + "ProductVersion" = "8:1.0.0" + "Manufacturer" = "8:DevRas" + "ARPHELPTELEPHONE" = "8:" + "ARPHELPLINK" = "8:" + "Title" = "8:Pdf To Image" + "Subject" = "8:" + "ARPCONTACT" = "8:DevRas" + "Keywords" = "8:" + "ARPCOMMENTS" = "8:" + "ARPURLINFOABOUT" = "8:" + "ARPPRODUCTICON" = "8:" + "ARPIconIndex" = "3:0" + "SearchPath" = "8:" + "UseSystemSearchPath" = "11:TRUE" + "TargetPlatform" = "3:1" + "PreBuildEvent" = "8:" + "PostBuildEvent" = "8:" + "RunPostBuildEvent" = "3:0" + } + "Registry" + { + "HKLM" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_4EB416704F344A73923FDF1EFF32760C" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_A5BBD96A40DB4014A85B893F2EBF9EDE" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCU" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_AC1A205114CF4881B96CF8C89B4621F4" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E0EBDE7936F948FAACEF253A66524CC4" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCR" + { + "Keys" + { + } + } + "HKU" + { + "Keys" + { + } + } + "HKPU" + { + "Keys" + { + } + } + } + "Sequences" + { + } + "Shortcut" + { + } + "UserInterface" + { + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_07E7EC1C4BA54317B7D01A295D3CD28C" + { + "Name" = "8:#1902" + "Sequence" = "3:1" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F40279487F3849D5AAA9072676C1D620" + { + "Sequence" = "3:100" + "DisplayName" = "8:完了" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "UpdateText" + { + "Name" = "8:UpdateText" + "DisplayName" = "8:#1058" + "Description" = "8:#1158" + "Type" = "3:15" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1258" + "DefaultValue" = "8:#1258" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_16F28556C5104B96A12838902ED66F38" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdUserInterface.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_17E3168D5F854C02940C507B233CEFC8" + { + "Name" = "8:#1900" + "Sequence" = "3:2" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_087DEF8F2FD7406B8D093EA3F957B21F" + { + "Sequence" = "3:200" + "DisplayName" = "8:インストール フォルダー" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_1E83CD2492714D789631710FF4A28823" + { + "Sequence" = "3:300" + "DisplayName" = "8:インストールの確認" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_D8D570AF132A43A78C8196BE722AEF6C" + { + "Sequence" = "3:100" + "DisplayName" = "8:ようこそ" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_1E9D47B31F864D9F874A7B970636F386" + { + "Name" = "8:#1902" + "Sequence" = "3:2" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_246613F4CB96493192EB9A9A2286A803" + { + "Sequence" = "3:100" + "DisplayName" = "8:完了" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_1F83AA88298C47C09E7FC46FF5CDABDB" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdBasicDialogs.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_23F0B51F71604A3B973E0DB97C1CDFC2" + { + "Name" = "8:#1900" + "Sequence" = "3:1" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_4E06A599325942EDAF4758112EA4F48A" + { + "Sequence" = "3:100" + "DisplayName" = "8:ようこそ" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_4EBAE2FBE070418B960C9D42F80D2FC8" + { + "Sequence" = "3:300" + "DisplayName" = "8:インストールの確認" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_B834855DB2894A8D921286C26158F075" + { + "Sequence" = "3:200" + "DisplayName" = "8:インストール フォルダー" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "InstallAllUsersVisible" + { + "Name" = "8:InstallAllUsersVisible" + "DisplayName" = "8:#1059" + "Description" = "8:#1159" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_643FFC0922224B45ABBC8EB9C72BC614" + { + "Name" = "8:#1901" + "Sequence" = "3:2" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_0F78F5DEA1334C5B97005B853B563C59" + { + "Sequence" = "3:100" + "DisplayName" = "8:進行状況" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_7781E28526E64534988E7C344CE46BE3" + { + "Name" = "8:#1901" + "Sequence" = "3:1" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_C85B18F575F54F6F936EEC271C437ABE" + { + "Sequence" = "3:100" + "DisplayName" = "8:進行状況" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + } + "MergeModule" + { + } + "ProjectOutput" + { + } + } +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..da6705e --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +Pdf2Img +=== + +PDFを画像に変換します。 + +最新のWindows11でのみ動作検証済み。