Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b474fc1257 | |||
| a5879ec9c2 | |||
| 0938553510 | |||
| c1fd18f355 | |||
| c0a8de2617 | |||
| 4d92f144f8 | |||
| c388e9daae |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -25,3 +25,5 @@ Thumbs.db
|
|||||||
obj/
|
obj/
|
||||||
[Rr]elease*/
|
[Rr]elease*/
|
||||||
_ReSharper*/
|
_ReSharper*/
|
||||||
|
*.userprefs
|
||||||
|
*.nupkg
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2014-2015 Valeriano Alfonso Rodriguez
|
Copyright (c) 2016-2017 Valeriano Alfonso Rodriguez
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ It is a simple Windows.Forms application, to test basic funcitionallity of the l
|
|||||||
## Building
|
## Building
|
||||||
A Visual Studio 2015 and 2010 solutions are provided. Simply, click build on the IDE.
|
A Visual Studio 2015 and 2010 solutions are provided. Simply, click build on the IDE.
|
||||||
|
|
||||||
|
A .nuget package can be build using:
|
||||||
|
VAR.PdfTools\Build.NuGet.cmd
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
1. Fork it!
|
1. Fork it!
|
||||||
2. Create your feature branch: `git checkout -b my-new-feature`
|
2. Create your feature branch: `git checkout -b my-new-feature`
|
||||||
@@ -47,7 +50,7 @@ A Visual Studio 2015 and 2010 solutions are provided. Simply, click build on the
|
|||||||
|
|
||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2014-2015 Valeriano Alfonso Rodriguez
|
Copyright (c) 2016-2017 Valeriano Alfonso Rodriguez
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -11,14 +11,17 @@ Global
|
|||||||
Release|Any CPU = Release|Any CPU
|
Release|Any CPU = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}.Release|Any CPU.Build.0 = Release|Any CPU
|
{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(MonoDevelopProperties) = preSolution
|
||||||
|
StartupItem = VAR.PdfTools.Workbench\VAR.PdfTools.Workbench.Net35.csproj
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|||||||
@@ -11,4 +11,4 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
[assembly: Guid("a5825d8e-9f81-49e0-b610-8ae5e46d02ea")]
|
[assembly: Guid("a5825d8e-9f81-49e0-b610-8ae5e46d02ea")]
|
||||||
[assembly: AssemblyVersion("1.1.*")]
|
[assembly: AssemblyVersion("1.2.*")]
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@@ -13,6 +13,8 @@
|
|||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
|
<ProductVersion>10.0.0</ProductVersion>
|
||||||
|
<SchemaVersion>2.0</SchemaVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
@@ -33,16 +35,12 @@
|
|||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
|
||||||
<StartupObject />
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
<Reference Include="System.Data" />
|
<Reference Include="System.Data" />
|
||||||
<Reference Include="System.Deployment" />
|
|
||||||
<Reference Include="System.Drawing" />
|
<Reference Include="System.Drawing" />
|
||||||
<Reference Include="System.Windows.Forms" />
|
<Reference Include="System.Windows.Forms" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
@@ -56,9 +54,6 @@
|
|||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Program.cs" />
|
<Compile Include="Program.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<EmbeddedResource Include="FrmPdfInfo.resx">
|
|
||||||
<DependentUpon>FrmPdfInfo.cs</DependentUpon>
|
|
||||||
</EmbeddedResource>
|
|
||||||
<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>
|
||||||
@@ -69,12 +64,6 @@
|
|||||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||||
</Compile>
|
</Compile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\VAR.PdfTools\VAR.PdfTools.csproj">
|
|
||||||
<Project>{eb7e003a-6a95-4002-809f-926c7c8a11e9}</Project>
|
|
||||||
<Name>VAR.PdfTools</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
@@ -83,4 +72,10 @@
|
|||||||
<Target Name="AfterBuild">
|
<Target Name="AfterBuild">
|
||||||
</Target>
|
</Target>
|
||||||
-->
|
-->
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\VAR.PdfTools\VAR.PdfTools.Net35.csproj">
|
||||||
|
<Project>{EB7E003A-6A95-4002-809F-926C7C8A11E9}</Project>
|
||||||
|
<Name>VAR.PdfTools.Net35</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -42,7 +42,6 @@
|
|||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
<Reference Include="System.Data" />
|
<Reference Include="System.Data" />
|
||||||
<Reference Include="System.Deployment" />
|
|
||||||
<Reference Include="System.Drawing" />
|
<Reference Include="System.Drawing" />
|
||||||
<Reference Include="System.Windows.Forms" />
|
<Reference Include="System.Windows.Forms" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
@@ -56,9 +55,6 @@
|
|||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Program.cs" />
|
<Compile Include="Program.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<EmbeddedResource Include="FrmPdfInfo.resx">
|
|
||||||
<DependentUpon>FrmPdfInfo.cs</DependentUpon>
|
|
||||||
</EmbeddedResource>
|
|
||||||
<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>
|
||||||
|
|||||||
@@ -1,22 +1,28 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio 14
|
# Visual Studio 14
|
||||||
VisualStudioVersion = 14.0.25123.0
|
VisualStudioVersion = 14.0.25420.1
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VAR.PdfTools", "VAR.PdfTools\VAR.PdfTools.csproj", "{EB7E003A-6A95-4002-809F-926C7C8A11E9}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VAR.PdfTools", "VAR.PdfTools\VAR.PdfTools.csproj", "{EB7E003A-6A95-4002-809F-926C7C8A11E9}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VAR.PdfTools.Workbench", "VAR.PdfTools.Workbench\VAR.PdfTools.Workbench.csproj", "{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VAR.PdfTools.Workbench", "VAR.PdfTools.Workbench\VAR.PdfTools.Workbench.csproj", "{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Notes", "Notes", "{CE2D7584-5D82-401E-9A88-A9961CBB6959}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
LICENSE.txt = LICENSE.txt
|
||||||
|
README.md = README.md
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
Release|Any CPU = Release|Any CPU
|
Release|Any CPU = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Debug|Any CPU.ActiveCfg = Debug .Net 4.6.1|Any CPU
|
||||||
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Debug|Any CPU.Build.0 = Debug .Net 4.6.1|Any CPU
|
||||||
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Release|Any CPU.ActiveCfg = Release .Net 4.6.1|Any CPU
|
||||||
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Release|Any CPU.Build.0 = Release|Any CPU
|
{EB7E003A-6A95-4002-809F-926C7C8A11E9}.Release|Any CPU.Build.0 = Release .Net 4.6.1|Any CPU
|
||||||
{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{A5825D8E-9F81-49E0-B610-8AE5E46D02EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
|||||||
24
VAR.PdfTools/Build.NuGet.cmd
Normal file
24
VAR.PdfTools/Build.NuGet.cmd
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
:: MSBuild and tools path
|
||||||
|
if exist "%ProgramFiles%\MSBuild\14.0\bin" set PATH=%ProgramFiles%\MSBuild\14.0\bin;%PATH%
|
||||||
|
if exist "%ProgramFiles(x86)%\MSBuild\14.0\bin" set PATH=%ProgramFiles(x86)%\MSBuild\14.0\bin;%PATH%
|
||||||
|
|
||||||
|
:: NuGet
|
||||||
|
set nuget="nuget"
|
||||||
|
if exist "%~dp0..\packages\NuGet.CommandLine.3.4.3\tools\NuGet.exe" set nuget="%~dp0\..\packages\NuGet.CommandLine.3.4.3\tools\NuGet.exe"
|
||||||
|
|
||||||
|
:: Release .Net 3.5
|
||||||
|
Title Building Release .Net 3.5
|
||||||
|
msbuild VAR.PdfTools.csproj /t:Build /p:Configuration="Release .Net 3.5" /p:Platform="AnyCPU"
|
||||||
|
|
||||||
|
:: Release .Net 4.6.1
|
||||||
|
Title Building Release .Net 4.6.1
|
||||||
|
msbuild VAR.PdfTools.csproj /t:Build /p:Configuration="Release .Net 4.6.1" /p:Platform="AnyCPU"
|
||||||
|
|
||||||
|
:: Packing Nuget
|
||||||
|
Title Packing Nuget
|
||||||
|
%nuget% pack VAR.PdfTools.csproj -Verbosity detailed -OutputDir "NuGet" -MSBuildVersion "14.0" -Properties Configuration="Release .Net 4.6.1" -Prop Platform=AnyCPU
|
||||||
|
|
||||||
|
title Finished
|
||||||
|
pause
|
||||||
0
VAR.PdfTools/NuGet/keep.txt
Normal file
0
VAR.PdfTools/NuGet/keep.txt
Normal file
@@ -1021,6 +1021,20 @@ namespace VAR.PdfTools
|
|||||||
PdfContentAction action = new PdfContentAction(token, elems);
|
PdfContentAction action = new PdfContentAction(token, elems);
|
||||||
elems = new List<IPdfElement>();
|
elems = new List<IPdfElement>();
|
||||||
actions.Add(action);
|
actions.Add(action);
|
||||||
|
if (action.Token == "ID")
|
||||||
|
{
|
||||||
|
// Embbed inline image
|
||||||
|
byte lineFeed = 0x0A;
|
||||||
|
byte carriageReturn = 0x0D;
|
||||||
|
long distToObject = MeasureToMarkers(new char[][] {
|
||||||
|
new char[] {(char)lineFeed, 'E', 'I'},
|
||||||
|
new char[] {(char)carriageReturn, (char)lineFeed, 'E', 'I'},
|
||||||
|
});
|
||||||
|
byte[] imageBody = GetRawData(distToObject);
|
||||||
|
SkipEndOfLine();
|
||||||
|
string endToken = ParseToken();
|
||||||
|
action.Parameters.Add(new PdfStream { OriginalData = imageBody, });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} while (IsEndOfStream() == false);
|
} while (IsEndOfStream() == false);
|
||||||
return actions;
|
return actions;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
@@ -56,6 +57,11 @@ namespace VAR.PdfTools
|
|||||||
Idenity();
|
Idenity();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Matrix3x3(double a, double b, double c, double d, double e, double f)
|
||||||
|
{
|
||||||
|
Set(a, b, c, d, e, f);
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Public methods
|
#region Public methods
|
||||||
@@ -73,6 +79,19 @@ namespace VAR.PdfTools
|
|||||||
_matrix[2, 2] = 1.0;
|
_matrix[2, 2] = 1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Set(double a, double b, double c, double d, double e, double f)
|
||||||
|
{
|
||||||
|
_matrix[0, 0] = a;
|
||||||
|
_matrix[1, 0] = b;
|
||||||
|
_matrix[2, 0] = 0;
|
||||||
|
_matrix[0, 1] = c;
|
||||||
|
_matrix[1, 1] = d;
|
||||||
|
_matrix[2, 1] = 0;
|
||||||
|
_matrix[0, 2] = e;
|
||||||
|
_matrix[1, 2] = f;
|
||||||
|
_matrix[2, 2] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
public Vector3D Multiply(Vector3D vect)
|
public Vector3D Multiply(Vector3D vect)
|
||||||
{
|
{
|
||||||
Vector3D vectResult = new Vector3D();
|
Vector3D vectResult = new Vector3D();
|
||||||
@@ -118,6 +137,19 @@ namespace VAR.PdfTools
|
|||||||
return newMatrix;
|
return newMatrix;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool IsCollinear(Matrix3x3 otherMatrix, double horizontalDelta = 0.00001, double verticalDelta = 0.00001)
|
||||||
|
{
|
||||||
|
double epsilon = 0.00001;
|
||||||
|
return (
|
||||||
|
Math.Abs(_matrix[0, 0] - otherMatrix.Matrix[0, 0]) <= epsilon &&
|
||||||
|
Math.Abs(_matrix[1, 0] - otherMatrix.Matrix[1, 0]) <= epsilon &&
|
||||||
|
Math.Abs(_matrix[0, 1] - otherMatrix.Matrix[0, 1]) <= epsilon &&
|
||||||
|
Math.Abs(_matrix[1, 1] - otherMatrix.Matrix[1, 1]) <= epsilon &&
|
||||||
|
Math.Abs(_matrix[0, 2] - otherMatrix.Matrix[0, 2]) <= horizontalDelta &&
|
||||||
|
Math.Abs(_matrix[1, 2] - otherMatrix.Matrix[1, 2]) <= verticalDelta &&
|
||||||
|
true);
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -367,15 +399,7 @@ namespace VAR.PdfTools
|
|||||||
|
|
||||||
private void OpSetGraphMatrix(double a, double b, double c, double d, double e, double f)
|
private void OpSetGraphMatrix(double a, double b, double c, double d, double e, double f)
|
||||||
{
|
{
|
||||||
_graphicsMatrix.Matrix[0, 0] = a;
|
_graphicsMatrix.Set(a, b, c, d, e, f);
|
||||||
_graphicsMatrix.Matrix[1, 0] = b;
|
|
||||||
_graphicsMatrix.Matrix[2, 0] = 0;
|
|
||||||
_graphicsMatrix.Matrix[0, 1] = c;
|
|
||||||
_graphicsMatrix.Matrix[1, 1] = d;
|
|
||||||
_graphicsMatrix.Matrix[2, 1] = 0;
|
|
||||||
_graphicsMatrix.Matrix[0, 2] = e;
|
|
||||||
_graphicsMatrix.Matrix[1, 2] = f;
|
|
||||||
_graphicsMatrix.Matrix[2, 2] = 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OpBeginText()
|
private void OpBeginText()
|
||||||
@@ -418,16 +442,35 @@ namespace VAR.PdfTools
|
|||||||
|
|
||||||
private void OpSetTextMatrix(double a, double b, double c, double d, double e, double f)
|
private void OpSetTextMatrix(double a, double b, double c, double d, double e, double f)
|
||||||
{
|
{
|
||||||
|
double halfSpaceWidth = 0;
|
||||||
|
double horizontalDelta = 0;
|
||||||
|
Matrix3x3 newMatrix = new Matrix3x3(a, b, c, d, e, f);
|
||||||
|
|
||||||
|
if (_font != null)
|
||||||
|
{
|
||||||
|
halfSpaceWidth = _font.GetCharWidth(' ') * _fontSize;
|
||||||
|
}
|
||||||
|
horizontalDelta = (_textWidth + halfSpaceWidth);
|
||||||
|
if (_textMatrix.IsCollinear(newMatrix, horizontalDelta: horizontalDelta))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (_currentTextElement != null)
|
||||||
|
{
|
||||||
|
if (_currentTextElement.Font != null)
|
||||||
|
{
|
||||||
|
halfSpaceWidth = _currentTextElement.Font.GetCharWidth(' ') * _currentTextElement.FontSize;
|
||||||
|
}
|
||||||
|
horizontalDelta = (_currentTextElement.VisibleWidth + halfSpaceWidth);
|
||||||
|
if (_currentTextElement.Matrix.IsCollinear(newMatrix, horizontalDelta: horizontalDelta))
|
||||||
|
{
|
||||||
|
FlushTextElementSoft();
|
||||||
|
_textMatrix = newMatrix;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
FlushTextElement();
|
FlushTextElement();
|
||||||
_textMatrix.Matrix[0, 0] = a;
|
_textMatrix = newMatrix;
|
||||||
_textMatrix.Matrix[1, 0] = b;
|
|
||||||
_textMatrix.Matrix[2, 0] = 0;
|
|
||||||
_textMatrix.Matrix[0, 1] = c;
|
|
||||||
_textMatrix.Matrix[1, 1] = d;
|
|
||||||
_textMatrix.Matrix[2, 1] = 0;
|
|
||||||
_textMatrix.Matrix[0, 2] = e;
|
|
||||||
_textMatrix.Matrix[1, 2] = f;
|
|
||||||
_textMatrix.Matrix[2, 2] = 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OpTextPut(string text)
|
private void OpTextPut(string text)
|
||||||
@@ -455,7 +498,8 @@ namespace VAR.PdfTools
|
|||||||
else if(elem is PdfInteger || elem is PdfReal)
|
else if(elem is PdfInteger || elem is PdfReal)
|
||||||
{
|
{
|
||||||
double spacing = PdfElementUtils.GetReal(elem, 0);
|
double spacing = PdfElementUtils.GetReal(elem, 0);
|
||||||
_textWidth += spacing;
|
// FIXME: Apply correctly spacing
|
||||||
|
//_textWidth += spacing;
|
||||||
}
|
}
|
||||||
else if(elem is PdfArray)
|
else if(elem is PdfArray)
|
||||||
{
|
{
|
||||||
@@ -470,8 +514,10 @@ namespace VAR.PdfTools
|
|||||||
|
|
||||||
private void ProcessPage()
|
private void ProcessPage()
|
||||||
{
|
{
|
||||||
foreach (PdfContentAction action in _page.ContentActions)
|
int unknowCount = 0;
|
||||||
|
for (int i = 0; i < _page.ContentActions.Count; i++)
|
||||||
{
|
{
|
||||||
|
PdfContentAction action = _page.ContentActions[i];
|
||||||
// Graphics Operations
|
// Graphics Operations
|
||||||
if (action.Token == "q")
|
if (action.Token == "q")
|
||||||
{
|
{
|
||||||
@@ -578,6 +624,50 @@ namespace VAR.PdfTools
|
|||||||
{
|
{
|
||||||
OpTextPutMultiple(((PdfArray)action.Parameters[0]));
|
OpTextPutMultiple(((PdfArray)action.Parameters[0]));
|
||||||
}
|
}
|
||||||
|
else if (action.Token == "re")
|
||||||
|
{
|
||||||
|
// FIXME: Interpret this
|
||||||
|
}
|
||||||
|
else if (action.Token == "f")
|
||||||
|
{
|
||||||
|
// FIXME: Interpret this
|
||||||
|
}
|
||||||
|
else if (action.Token == "g")
|
||||||
|
{
|
||||||
|
// FIXME: Interpret this
|
||||||
|
}
|
||||||
|
else if (action.Token == "rg")
|
||||||
|
{
|
||||||
|
// FIXME: Interpret this
|
||||||
|
}
|
||||||
|
else if (action.Token == "BI")
|
||||||
|
{
|
||||||
|
// FIXME: Interpret this
|
||||||
|
}
|
||||||
|
else if (action.Token == "ID")
|
||||||
|
{
|
||||||
|
// FIXME: Interpret this
|
||||||
|
}
|
||||||
|
else if (action.Token == "EI")
|
||||||
|
{
|
||||||
|
// FIXME: Interpret this
|
||||||
|
}
|
||||||
|
else if (action.Token == "W")
|
||||||
|
{
|
||||||
|
// FIXME: Interpret this
|
||||||
|
}
|
||||||
|
else if (action.Token == "n")
|
||||||
|
{
|
||||||
|
// FIXME: Interpret this
|
||||||
|
}
|
||||||
|
else if (action.Token == "Do")
|
||||||
|
{
|
||||||
|
// FIXME: Interpret this
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
unknowCount++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
FlushTextElement();
|
FlushTextElement();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("VAR")]
|
[assembly: AssemblyCompany("VAR")]
|
||||||
[assembly: AssemblyProduct("VAR.PdfTools")]
|
[assembly: AssemblyProduct("VAR.PdfTools")]
|
||||||
[assembly: AssemblyCopyright("Copyright © VAR 2016")]
|
[assembly: AssemblyCopyright("Copyright © VAR 2016-2017")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
[assembly: Guid("eb7e003a-6a95-4002-809f-926c7c8a11e9")]
|
[assembly: Guid("eb7e003a-6a95-4002-809f-926c7c8a11e9")]
|
||||||
[assembly: AssemblyVersion("1.1.*")]
|
[assembly: AssemblyVersion("1.2.*")]
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@@ -12,6 +12,8 @@
|
|||||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
|
<ProductVersion>10.0.0</ProductVersion>
|
||||||
|
<SchemaVersion>2.0</SchemaVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
|||||||
@@ -13,22 +13,43 @@
|
|||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<TargetFrameworkProfile />
|
<TargetFrameworkProfile />
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug .Net 4.6.1|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
<DebugType>full</DebugType>
|
<DebugType>full</DebugType>
|
||||||
<Optimize>false</Optimize>
|
<Optimize>false</Optimize>
|
||||||
<OutputPath>bin\Debug\</OutputPath>
|
<OutputPath>bin\Debug\net461</OutputPath>
|
||||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release .Net 4.6.1|AnyCPU' ">
|
||||||
<DebugType>pdbonly</DebugType>
|
<DebugType>pdbonly</DebugType>
|
||||||
<Optimize>true</Optimize>
|
<Optimize>true</Optimize>
|
||||||
<OutputPath>bin\Release\</OutputPath>
|
<OutputPath>bin\Release\net461</OutputPath>
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
<ErrorReport>prompt</ErrorReport>
|
<ErrorReport>prompt</ErrorReport>
|
||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug .Net 3.5|AnyCPU' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\net35</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release .Net 3.5|AnyCPU' ">
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\net35</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
@@ -50,6 +71,14 @@
|
|||||||
<Compile Include="PdfTextExtractor.cs" />
|
<Compile Include="PdfTextExtractor.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="NuGet\keep.txt" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Build.NuGet.cmd" />
|
||||||
|
<None Include="packages.config" />
|
||||||
|
<None Include="VAR.PdfTools.nuspec" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
|||||||
22
VAR.PdfTools/VAR.PdfTools.nuspec
Normal file
22
VAR.PdfTools/VAR.PdfTools.nuspec
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<package >
|
||||||
|
<metadata>
|
||||||
|
<id>$id$</id>
|
||||||
|
<version>$version$</version>
|
||||||
|
<title>$title$</title>
|
||||||
|
<authors>$author$</authors>
|
||||||
|
<owners>$author$</owners>
|
||||||
|
<licenseUrl>https://github.com/Kableado/VAR.PdfTools/blob/master/LICENSE.txt</licenseUrl>
|
||||||
|
<projectUrl>https://github.com/Kableado/VAR.PdfTools</projectUrl>
|
||||||
|
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||||
|
<description>$description$</description>
|
||||||
|
<copyright>Copyright VAR 2016-2017</copyright>
|
||||||
|
<tags>PDF Library</tags>
|
||||||
|
</metadata>
|
||||||
|
<files>
|
||||||
|
<file src="bin\Release\net461\VAR.PdfTools.dll" target="lib\net461\VAR.PdfTools.dll" />
|
||||||
|
<file src="bin\Release\net461\VAR.PdfTools.pdb" target="lib\net461\VAR.PdfTools.pdb" />
|
||||||
|
<file src="bin\Release\net35\VAR.PdfTools.dll" target="lib\net35\VAR.PdfTools.dll" />
|
||||||
|
<file src="bin\Release\net35\VAR.PdfTools.pdb" target="lib\net35\VAR.PdfTools.pdb" />
|
||||||
|
</files>
|
||||||
|
</package>
|
||||||
4
VAR.PdfTools/packages.config
Normal file
4
VAR.PdfTools/packages.config
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="NuGet.CommandLine" version="3.4.3" targetFramework="net461" developmentDependency="true" />
|
||||||
|
</packages>
|
||||||
Reference in New Issue
Block a user