update
This commit is contained in:
BIN
.vs/RCEU_PDFWorkflowManager/v17/workspaceFileList.bin
Normal file
BIN
.vs/RCEU_PDFWorkflowManager/v17/workspaceFileList.bin
Normal file
Binary file not shown.
7
.vs/VSWorkspaceState.json
Normal file
7
.vs/VSWorkspaceState.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"ExpandedNodes": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"SelectedNode": "\\PDFWorkflowManager.sln",
|
||||||
|
"PreviewInSolutionExplorer": false
|
||||||
|
}
|
BIN
.vs/slnx.sqlite
BIN
.vs/slnx.sqlite
Binary file not shown.
@@ -5,8 +5,6 @@ VisualStudioVersion = 17.14.36414.22
|
|||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PDF Workflow Manager", "PDFWorkflowManager\PDF Workflow Manager.csproj", "{1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PDF Workflow Manager", "PDFWorkflowManager\PDF Workflow Manager.csproj", "{1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "Setup", "Setup\Setup.wixproj", "{47F764FC-DE98-4529-9644-412B7636AD30}"
|
|
||||||
EndProject
|
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
@@ -35,22 +33,6 @@ Global
|
|||||||
{1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}.Release|x64.Build.0 = Release|x64
|
{1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}.Release|x64.Build.0 = Release|x64
|
||||||
{1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}.Release|x86.ActiveCfg = Release|Any CPU
|
{1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}.Release|x86.Build.0 = Release|Any CPU
|
{1957F2AD-ACB5-4938-B2BA-3D2C365BBAF6}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Debug|Any CPU.ActiveCfg = Debug|x64
|
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Debug|Any CPU.Build.0 = Debug|x64
|
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Debug|ARM64.Build.0 = Debug|ARM64
|
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Debug|x86.ActiveCfg = Debug|x86
|
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Debug|x86.Build.0 = Debug|x86
|
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Release|Any CPU.ActiveCfg = Release|x64
|
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Release|Any CPU.Build.0 = Release|x64
|
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Release|ARM64.ActiveCfg = Release|ARM64
|
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Release|ARM64.Build.0 = Release|ARM64
|
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Release|x64.Build.0 = Release|x64
|
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Release|x86.ActiveCfg = Release|x86
|
|
||||||
{47F764FC-DE98-4529-9644-412B7636AD30}.Release|x86.Build.0 = Release|x86
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
File diff suppressed because one or more lines are too long
@@ -727,18 +727,6 @@ namespace PDFWorkflowManager
|
|||||||
.Select(kv => kv.Value));
|
.Select(kv => kv.Value));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Banner PDF (optional)
|
|
||||||
string bannerPdfPath = null;
|
|
||||||
if (chkAddBanner.Checked) // checkbox to include banner
|
|
||||||
{
|
|
||||||
using (OpenFileDialog ofd = new OpenFileDialog())
|
|
||||||
{
|
|
||||||
ofd.Filter = "PDF files|*.pdf";
|
|
||||||
ofd.Title = "Select Banner PDF";
|
|
||||||
if (ofd.ShowDialog() == DialogResult.OK)
|
|
||||||
bannerPdfPath = ofd.FileName;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Initialize converter
|
// Initialize converter
|
||||||
TiffToPdfConverter tiffConverter = new TiffToPdfConverter
|
TiffToPdfConverter tiffConverter = new TiffToPdfConverter
|
||||||
@@ -754,8 +742,8 @@ namespace PDFWorkflowManager
|
|||||||
selectedLanguage,
|
selectedLanguage,
|
||||||
toolStripProgressBar1,
|
toolStripProgressBar1,
|
||||||
toolStripStatusLabel1,
|
toolStripStatusLabel1,
|
||||||
this,
|
this
|
||||||
bannerPdfPath);
|
);
|
||||||
|
|
||||||
MessageBox.Show("PDF conversion complete!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
MessageBox.Show("PDF conversion complete!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
}
|
}
|
||||||
|
@@ -56,7 +56,7 @@
|
|||||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
<DebugType>full</DebugType>
|
<DebugType>full</DebugType>
|
||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
<LangVersion>7.3</LangVersion>
|
<LangVersion>8.0</LangVersion>
|
||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||||
@@ -201,6 +201,9 @@
|
|||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="SystemFontResolver.cs" />
|
<Compile Include="SystemFontResolver.cs" />
|
||||||
<Compile Include="TiffToPdfConverter.cs" />
|
<Compile Include="TiffToPdfConverter.cs" />
|
||||||
|
<Content Include="tessdata\jaxb-api-2.3.1.jar">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
<EmbeddedResource Include="LanguagesForm.resx">
|
<EmbeddedResource Include="LanguagesForm.resx">
|
||||||
<DependentUpon>LanguagesForm.cs</DependentUpon>
|
<DependentUpon>LanguagesForm.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
@@ -220,285 +223,15 @@
|
|||||||
<EmbeddedResource Include="SettingsForm.resx">
|
<EmbeddedResource Include="SettingsForm.resx">
|
||||||
<DependentUpon>SettingsForm.cs</DependentUpon>
|
<DependentUpon>SettingsForm.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
<Content Include="afr.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="amh.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="ara.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="asm.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="aze.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="aze_cyrl.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<None Include="banner_a4.pdf">
|
<None Include="banner_a4.pdf">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
<None Include="banner_a5.pdf">
|
<None Include="banner_a5.pdf">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
<Content Include="bel.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="ben.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="bod.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="bos.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="bre.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="bul.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="cat.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="ceb.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="ces.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="chi_sim.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="chi_sim_vert.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="chi_tra.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="chi_tra_vert.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="chr.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="cos.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="cym.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="dan.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="deu.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="deu_latf.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="div.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="dzo.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="ell.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="eng.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="enm.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="epo.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="equ.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="est.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="eus.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="fao.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="fas.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="fil.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="fin.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="fra.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="frm.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="fry.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="gla.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="gle.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="glg.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="grc.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="guj.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="hat.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="heb.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="hin.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="hrv.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="hun.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="hye.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="iku.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="ind.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="isl.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="ita.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="ita_old.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="jav.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="jpn.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="jpn_vert.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="kan.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="kat.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="kat_old.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="kaz.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="khm.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="kir.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="kmr.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="kor.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="lao.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="lat.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="lav.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="lit.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="ltz.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="mal.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="mar.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="mkd.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="mlt.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="mon.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="mri.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="msa.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="mya.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="nep.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="nld.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="nor.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="oci.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="ori.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="osd.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
<Content Include="pan.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<None Include="pdf.ttf" />
|
<None Include="pdf.ttf" />
|
||||||
<None Include="PDFWorkflowManager.csproj" />
|
<None Include="PDFWorkflowManager.csproj" />
|
||||||
<Content Include="pol.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="por.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<None Include="Properties\Settings.settings">
|
<None Include="Properties\Settings.settings">
|
||||||
<Generator>SettingsSingleFileGenerator</Generator>
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||||
@@ -508,109 +241,382 @@
|
|||||||
<DependentUpon>Settings.settings</DependentUpon>
|
<DependentUpon>Settings.settings</DependentUpon>
|
||||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Content Include="pus.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="que.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="ron.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="rus.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="san.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="sin.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="slk.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="slv.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="snd.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="spa.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="spa_old.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="sqi.traineddata">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="sRGB.icc">
|
<Content Include="sRGB.icc">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="srp.traineddata">
|
<Content Include="tessdata\afr.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="srp_latn.traineddata">
|
<Content Include="tessdata\amh.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="sun.traineddata">
|
<Content Include="tessdata\ara.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="swa.traineddata">
|
<Content Include="tessdata\asm.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="swe.traineddata">
|
<Content Include="tessdata\aze.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="syr.traineddata">
|
<Content Include="tessdata\aze_cyrl.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="tam.traineddata">
|
<Content Include="tessdata\bel.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="tat.traineddata">
|
<Content Include="tessdata\ben.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="tel.traineddata">
|
<Content Include="tessdata\bod.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="tgk.traineddata">
|
<Content Include="tessdata\bos.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="tha.traineddata">
|
<Content Include="tessdata\bre.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="tir.traineddata">
|
<Content Include="tessdata\bul.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="ton.traineddata">
|
<Content Include="tessdata\cat.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="tur.traineddata">
|
<Content Include="tessdata\ceb.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="uig.traineddata">
|
<Content Include="tessdata\ces.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="ukr.traineddata">
|
<Content Include="tessdata\chi_sim.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="urd.traineddata">
|
<Content Include="tessdata\chi_sim_vert.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="uzb.traineddata">
|
<Content Include="tessdata\chi_tra.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="uzb_cyrl.traineddata">
|
<Content Include="tessdata\chi_tra_vert.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="vie.traineddata">
|
<Content Include="tessdata\chr.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="yid.traineddata">
|
<Content Include="tessdata\cos.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="yor.traineddata">
|
<Content Include="tessdata\cym.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\dan.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\deu.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\deu_latf.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\div.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\dzo.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\ell.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\eng.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\enm.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\epo.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\equ.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\est.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\eus.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\fao.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\fas.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\fil.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\fin.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\fra.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\frm.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\fry.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\gla.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\gle.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\glg.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\grc.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\guj.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\hat.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\heb.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\hin.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\hrv.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\hun.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\hye.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\iku.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\ind.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\isl.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\ita.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\ita_old.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\jav.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\jpn.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\jpn_vert.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\kan.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\kat.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\kat_old.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\kaz.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\khm.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\kir.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\kmr.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\kor.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\lao.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\lat.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\lav.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\lit.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\ltz.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\mal.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\mar.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\mkd.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\mlt.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\mon.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\mri.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\msa.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\mya.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\nep.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\nld.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\nor.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\oci.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\ori.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\osd.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\pan.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\pdf.ttf">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\pol.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\por.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\pus.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\que.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\ron.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\rus.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\san.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\sin.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\slk.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\slv.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\snd.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\spa.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\spa_old.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\sqi.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\srp.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\srp_latn.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\sun.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\swa.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\swe.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\syr.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\tam.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\tat.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\tel.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\tgk.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\tha.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\tir.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\ton.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\tur.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\uig.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\ukr.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\urd.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\uzb.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\uzb_cyrl.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\vie.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\yid.traineddata">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="tessdata\yor.traineddata">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@@ -631,12 +637,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="chicken_lips.ico" />
|
<Content Include="chicken_lips.ico" />
|
||||||
<Content Include="jaxb-api-2.3.1.jar">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<Content Include="piccolo2d-core-3.0.1.jar" />
|
|
||||||
<Content Include="piccolo2d-extras-3.0.1.jar" />
|
|
||||||
<Content Include="ScrollView.jar" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup />
|
<ItemGroup />
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
Binary file not shown.
@@ -1,12 +1,17 @@
|
|||||||
using System;
|
using BitMiracle.LibTiff.Classic;
|
||||||
using System.IO;
|
using ImageMagick;
|
||||||
|
using PdfSharp.Drawing;
|
||||||
|
using PdfSharp.Pdf;
|
||||||
|
using PdfSharp.Pdf.IO;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
using System.Drawing.Imaging;
|
||||||
|
using System.IO;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using PdfSharp.Pdf;
|
|
||||||
using PdfSharp.Drawing;
|
|
||||||
using Tesseract;
|
using Tesseract;
|
||||||
using ImageMagick;
|
|
||||||
|
|
||||||
namespace RCEU_PDFWorkflowManager
|
namespace RCEU_PDFWorkflowManager
|
||||||
{
|
{
|
||||||
@@ -22,123 +27,111 @@ namespace RCEU_PDFWorkflowManager
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public async Task ConvertTiffToPdfWithOcrAsync(
|
public async Task ConvertTiffToPdfWithOcrAsync(
|
||||||
string workOutDir,
|
string workOutDir,
|
||||||
string outputPdfFileName, // e.g., "output.pdf"
|
string outputPdfPath,
|
||||||
string selectedLanguage,
|
string ocrLanguage,
|
||||||
ToolStripProgressBar progressBar,
|
ToolStripProgressBar progressBar,
|
||||||
ToolStripStatusLabel statusLabel,
|
ToolStripStatusLabel statusLabel,
|
||||||
Form mainForm,
|
Form mainForm,
|
||||||
string bannerPdfPath = null) // optional banner PDF
|
string bannerPdfPath = null)
|
||||||
{
|
{
|
||||||
string[] tiffFiles = Directory.GetFiles(workOutDir, "*.tif");
|
|
||||||
|
|
||||||
if (tiffFiles.Length == 0)
|
|
||||||
throw new FileNotFoundException("No TIFF files found in the directory.");
|
|
||||||
|
|
||||||
// Count total pages for progress bar
|
|
||||||
int totalPages = 0;
|
|
||||||
foreach (var file in tiffFiles)
|
|
||||||
using (var collection = new MagickImageCollection(file))
|
|
||||||
totalPages += collection.Count;
|
|
||||||
|
|
||||||
PdfDocument pdf = new PdfDocument();
|
PdfDocument pdf = new PdfDocument();
|
||||||
pdf.Info.Title = "Converted TIFF to PDF/A";
|
pdf.Info.Title = "Converted TIFF to PDF/A";
|
||||||
pdf.Info.Creator = "RCEU_PDFWorkflowManager";
|
pdf.Info.Creator = "RCEU_PDFWorkflowManager";
|
||||||
|
|
||||||
mainForm.Invoke((MethodInvoker)(() =>
|
// Step 1: collect all TIFF pages
|
||||||
|
var allPages = new List<(string tiffFile, int pageIndex)>();
|
||||||
|
foreach (var tiffFile in Directory.GetFiles(workOutDir, "*.tif"))
|
||||||
{
|
{
|
||||||
progressBar.Maximum = totalPages;
|
using var tiff = Tiff.Open(tiffFile, "r");
|
||||||
progressBar.Value = 0;
|
int pageCount = tiff.NumberOfDirectories();
|
||||||
statusLabel.Text = "Converting TIFFs to PDF...";
|
for (int page = 0; page < pageCount; page++)
|
||||||
}));
|
allPages.Add((tiffFile, page));
|
||||||
|
}
|
||||||
|
|
||||||
bool success = true;
|
int totalPages = allPages.Count;
|
||||||
|
int processedPages = 0;
|
||||||
|
|
||||||
try
|
// Step 2: process pages in parallel
|
||||||
{
|
var parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = MaxDegreeOfParallelism };
|
||||||
await Task.Run(() =>
|
await Task.Run(() =>
|
||||||
{
|
{
|
||||||
foreach (var tiffFile in tiffFiles)
|
Parallel.ForEach(allPages, parallelOptions, pageInfo =>
|
||||||
{
|
{
|
||||||
using (var collection = new MagickImageCollection(tiffFile))
|
|
||||||
{
|
|
||||||
Parallel.ForEach(collection, new ParallelOptions { MaxDegreeOfParallelism = MaxDegreeOfParallelism }, magickImage =>
|
|
||||||
{
|
|
||||||
using (Bitmap bmp = magickImage.ToBitmap())
|
|
||||||
{
|
|
||||||
string extractedText = "";
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
extractedText = PerformOcr(bmp, selectedLanguage);
|
using var tiff = Tiff.Open(pageInfo.tiffFile, "r");
|
||||||
}
|
tiff.SetDirectory((short)pageInfo.pageIndex);
|
||||||
catch
|
|
||||||
{
|
|
||||||
// If OCR fails, continue but mark success false
|
|
||||||
success = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
int width = tiff.GetField(TiffTag.IMAGEWIDTH)[0].ToInt();
|
||||||
|
int height = tiff.GetField(TiffTag.IMAGELENGTH)[0].ToInt();
|
||||||
|
|
||||||
|
int[] raster = new int[width * height];
|
||||||
|
tiff.ReadRGBAImage(width, height, raster);
|
||||||
|
|
||||||
|
using var bmp = new Bitmap(width, height, PixelFormat.Format32bppArgb);
|
||||||
|
var bmpData = bmp.LockBits(new Rectangle(0, 0, width, height),
|
||||||
|
ImageLockMode.WriteOnly, bmp.PixelFormat);
|
||||||
|
Marshal.Copy(raster, 0, bmpData.Scan0, raster.Length);
|
||||||
|
bmp.UnlockBits(bmpData);
|
||||||
|
|
||||||
|
// Perform OCR
|
||||||
|
string extractedText = PerformOcr(bmp, ocrLanguage);
|
||||||
|
|
||||||
|
// Lock PDF for thread-safe writing
|
||||||
lock (pdf)
|
lock (pdf)
|
||||||
{
|
{
|
||||||
PdfPage page = pdf.AddPage();
|
PdfPage pagePdf = pdf.AddPage();
|
||||||
page.Width = XUnit.FromPoint(bmp.Width).Point;
|
pagePdf.Width = XUnit.FromPoint(width).Point;
|
||||||
page.Height = XUnit.FromPoint(bmp.Height).Point;
|
pagePdf.Height = XUnit.FromPoint(height).Point;
|
||||||
|
|
||||||
using (var gfx = XGraphics.FromPdfPage(page))
|
using var gfx = XGraphics.FromPdfPage(pagePdf);
|
||||||
using (var ms = new MemoryStream())
|
using var ms = new MemoryStream();
|
||||||
{
|
|
||||||
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
|
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
|
||||||
ms.Position = 0;
|
ms.Position = 0;
|
||||||
using (var ximg = XImage.FromStream(ms))
|
using var ximg = XImage.FromStream(ms);
|
||||||
gfx.DrawImage(ximg,
|
gfx.DrawImage(ximg, 0, 0, width, height);
|
||||||
XUnit.FromPoint(0),
|
|
||||||
XUnit.FromPoint(0),
|
|
||||||
XUnit.FromPoint(bmp.Width),
|
|
||||||
XUnit.FromPoint(bmp.Height));
|
|
||||||
}
|
|
||||||
|
|
||||||
OverlayTextOntoPdfPage(page, extractedText);
|
OverlayTextOntoPdfPage(pagePdf, extractedText);
|
||||||
}
|
|
||||||
|
|
||||||
|
// Update progress on UI thread
|
||||||
|
if (progressBar != null && statusLabel != null && mainForm != null)
|
||||||
|
{
|
||||||
mainForm.Invoke((MethodInvoker)(() =>
|
mainForm.Invoke((MethodInvoker)(() =>
|
||||||
{
|
{
|
||||||
progressBar.Value++;
|
processedPages++;
|
||||||
statusLabel.Text = $"Processing page {progressBar.Value} of {progressBar.Maximum}";
|
progressBar.Value = Math.Min(processedPages, totalPages);
|
||||||
|
statusLabel.Text = $"Processing page {processedPages}/{totalPages}";
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add banner page if selected
|
|
||||||
if (!string.IsNullOrEmpty(bannerPdfPath) && File.Exists(bannerPdfPath))
|
|
||||||
{
|
|
||||||
lock (pdf)
|
|
||||||
{
|
|
||||||
using (PdfDocument bannerDoc = PdfSharp.Pdf.IO.PdfReader.Open(bannerPdfPath, PdfSharp.Pdf.IO.PdfDocumentOpenMode.Import))
|
|
||||||
{
|
|
||||||
foreach (PdfPage bannerPage in bannerDoc.Pages)
|
|
||||||
{
|
|
||||||
pdf.AddPage(bannerPage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Only save if all pages processed successfully
|
|
||||||
if (success)
|
|
||||||
{
|
|
||||||
string outputPdfPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, outputPdfFileName);
|
|
||||||
pdf.Save(outputPdfPath);
|
|
||||||
mainForm.Invoke((MethodInvoker)(() => statusLabel.Text = $"PDF saved: {outputPdfPath}"));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
mainForm.Invoke((MethodInvoker)(() => statusLabel.Text = "Conversion incomplete, PDF not saved."));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
mainForm.Invoke((MethodInvoker)(() => statusLabel.Text = $"Error during conversion: {ex.Message}"));
|
// Optionally log the error, skip page
|
||||||
|
Console.WriteLine($"Error processing {pageInfo.tiffFile} page {pageInfo.pageIndex}: {ex.Message}");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// Step 3: append banner PDF if provided
|
||||||
|
if (!string.IsNullOrEmpty(bannerPdfPath) && File.Exists(bannerPdfPath))
|
||||||
|
{
|
||||||
|
PdfDocument bannerPdf = PdfReader.Open(bannerPdfPath, PdfDocumentOpenMode.Import);
|
||||||
|
foreach (var page in bannerPdf.Pages)
|
||||||
|
pdf.AddPage(page);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Step 4: save PDF after all pages processed
|
||||||
|
pdf.Save(outputPdfPath);
|
||||||
|
|
||||||
|
// Final UI update
|
||||||
|
if (statusLabel != null && mainForm != null)
|
||||||
|
{
|
||||||
|
mainForm.Invoke((MethodInvoker)(() =>
|
||||||
|
{
|
||||||
|
statusLabel.Text = "PDF conversion complete!";
|
||||||
|
if (progressBar != null) progressBar.Value = progressBar.Maximum;
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user