프로젝트

일반

사용자정보

개정판 79f3f21a

ID79f3f21a6fcd5bf769ba2e2ad92526fe467c9c84
상위 224f1503
하위 fba57365

김동진이(가) 약 6년 전에 추가함

issue #781 text search modify

차이점 보기:

KCOM/Controls/Sample.xaml
513 513
                    </Grid.ColumnDefinitions>
514 514
                    <Grid.RowDefinitions>
515 515
                        <RowDefinition Height="Auto"/>
516
                        <RowDefinition Height="Auto"/>
516 517
                        <RowDefinition Height="*"/>
517 518
                    </Grid.RowDefinitions>
518 519
                    <Border BorderThickness="0,0,0,1" BorderBrush="#e6e6e6" Background="#f5f5f5">
......
539 540
                                                  ClearSelectionButtonVisibility="Visible" ClearSelectionButtonContent="Show All" SelectionChanged="commentPage_SelectionChanged"/>
540 541

  
541 542
                        </Grid>
543
                        
542 544
                    </Border>
545
                    <Border Grid.Row="1" Background="#f5f5f5" >
546
                        <StackPanel>
547
                            <Border>
548
                                <Grid>
549
                                    <Grid.ColumnDefinitions>
550
                                        <ColumnDefinition Width="7*"/>
551
                                        <ColumnDefinition Width="3*"/>
552
                                    </Grid.ColumnDefinitions>
553
                                    <TextBox  Background="#FFF3F3F3" BorderThickness="0.5" VerticalContentAlignment="Center" x:Name="tbSearch"/>
554
                                    
555
                                    <Border Background="#FF1258B6" CornerRadius="5" Grid.Column="1" Padding="5" Margin="10">
556
                                        <Button Background="Transparent" Foreground="White" Content="Search" BorderThickness="0" x:Name="btnSearch" Click="btnSearch_Click"/>
557
                                    </Border>
543 558

  
559
                                </Grid>
560
                            </Border>
561
                        </StackPanel>
562
                    </Border>
544 563
                    <Border Grid.Row="1" Background="#f5f5f5" Visibility="Collapsed">
545 564
                        <StackPanel>
546 565
                            <Border>
......
567 586
                        </StackPanel>
568 587
                    </Border>
569 588

  
570
                    <Border VerticalAlignment="Stretch" Margin="0" Grid.Row="1" BorderThickness="0,0,0,0.5" BorderBrush="#828282" x:Name="gogo">
589
                    <Border VerticalAlignment="Stretch" Margin="0" Grid.Row="2" BorderThickness="0,0,0,0.5" BorderBrush="#828282" x:Name="gogo">
571 590
                        <telerik:RadListBox telerik:StyleManager.Theme="Office2016" Padding="0" HorizontalAlignment="Stretch" x:Name="gogogo" ScrollViewer.VerticalScrollBarVisibility="Auto"
572 591
                                            Background="Transparent" ItemsSource="{Binding MarkupInfoSmallList}" Loaded="gogogo_Loaded">
573 592
                            <telerik:RadListBox.ItemContainerStyle>
......
587 606
                                                </Grid.ColumnDefinitions>
588 607

  
589 608
                                                <Image Source="{Binding Data_Type, Converter={StaticResource converterTypeImageConverter}}" Margin="5" Width="28" Height="28"/>
590
                                                <StackPanel Orientation="Vertical" Grid.Column="1" Margin="10" VerticalAlignment="Center">
609
                                                <StackPanel Orientation="Vertical" Grid.Row="0" Grid.Column="1" Margin="10" VerticalAlignment="Center">
591 610
                                                    <TextBlock Text="{Binding UserName}" FontWeight="DemiBold" Foreground="#3d3d3d"/>
592 611
                                                    <StackPanel Orientation="Horizontal">
593 612
                                                        <TextBlock Text="{Binding PageNumber}"/>
594 613
                                                        <TextBlock Text=" Page"/>
595 614
                                                    </StackPanel>
596 615
                                                </StackPanel>
616
                                                
597 617
                                                <Border Background="#FF1258B6" CornerRadius="5" Grid.Column="2" Padding="5" Margin="10">
598 618
                                                    <telerik:RadButton Background="Transparent" Foreground="White" Content="Move" BorderThickness="0" Click="RadButton_Click" CommandParameter="{Binding}"/>
599 619
                                                </Border>
KCOM/Controls/Sample.xaml.cs
676 676

  
677 677
        private void commentUser_SelectionChanged(object sender, SelectionChangedEventArgs e)
678 678
        {
679
            tbSearch.Text = string.Empty;
679 680
            if (e.AddedItems.Count > 0)
680 681
            {
681 682
                if (commentUser.Items.Count > 0)
......
923 924
        private void commentType_SelectionChanged(object sender, SelectionChangedEventArgs e)
924 925
        {
925 926
            gogogo.ItemsSource = null;
927
            tbSearch.Text = string.Empty;
926 928
            if (e.AddedItems.Count >0)
927 929
            {
928 930
                
......
937 939
        private void commentPage_SelectionChanged(object sender, SelectionChangedEventArgs e)
938 940
        {
939 941
            gogogo.ItemsSource = null;
942
            tbSearch.Text = string.Empty;
940 943
            if (e.AddedItems.Count > 0)
941 944
            {
942 945
                gogogo.ItemsSource = MarkupInfoSmallList.Where(d => d.PageNumber == Convert.ToInt32(e.AddedItems[0])).ToList();
......
951 954
        {
952 955
            ViewerDataModel.Instance.SystemMain.dzTopMenu.PanoramaShow();
953 956
        }
957

  
958
        private void btnSearch_Click(object sender, RoutedEventArgs e)
959
        {
960
            string search_str = tbSearch.Text;
961
            var sel_type = commentType.SelectedItem;
962
            var sel_user = commentUser.SelectedItem;
963
            var sel_page = commentPage.SelectedItem;
964
            List<MarkupInfoItemSmall> small_list = new List<MarkupInfoItemSmall>();
965
            List<MarkupInfoItemSmall> list = MarkupInfoSmallList;
966
            if(sel_page !=null)
967
            {
968
                list = list.Where(d => d.PageNumber == Convert.ToInt32(sel_page)).ToList();
969
            }
970
            if(sel_type !=null)
971
            {
972
                list = list.Where(d => d.Data_Type == Convert.ToInt32(sel_type)).ToList();
973
            }
974
            if (sel_user != null)
975
            {
976
                list = list.Where(d => d.UserID == (sel_user as MarkupInfoItem).UserID).ToList();
977
            }
978
            foreach (var item in list)
979
            {
980
                var data = MarkupToPDF.Serialize.Core.JsonSerializerHelper.UnCompressString(item.Data.ToString());
981
                
982
                switch (Enum.Parse(typeof(MarkupToPDF.Controls.Common.ControlType), item.Data_Type.ToString()))
983
                {                    
984
                    case MarkupToPDF.Controls.Common.ControlType.TextControl:
985
                    case MarkupToPDF.Controls.Common.ControlType.TextBorder:
986
                    case MarkupToPDF.Controls.Common.ControlType.TextCloud:
987
                        {
988
                            MarkupToPDF.Serialize.S_Control.S_TextControl instance = MarkupToPDF.Serialize.Core.JsonSerializerHelper.JsonDeserialize<MarkupToPDF.Serialize.S_Control.S_TextControl>(data);
989
                            if (instance.Text.Contains(search_str))
990
                            {                                
991
                                small_list.Add(item);
992
                            }
993
                        }
994
                        break;
995
                    case MarkupToPDF.Controls.Common.ControlType.ArrowTextBorderControl:
996
                    case MarkupToPDF.Controls.Common.ControlType.ArrowTextCloudControl:
997
                    case MarkupToPDF.Controls.Common.ControlType.ArrowTextControl:
998
                    case MarkupToPDF.Controls.Common.ControlType.ArrowTransTextBorderControl:
999
                    case MarkupToPDF.Controls.Common.ControlType.ArrowTransTextCloudControl:
1000
                    case MarkupToPDF.Controls.Common.ControlType.ArrowTransTextControl:
1001
                        {
1002
                            MarkupToPDF.Serialize.S_Control.S_ArrowTextControl instance = MarkupToPDF.Serialize.Core.JsonSerializerHelper.JsonDeserialize<MarkupToPDF.Serialize.S_Control.S_ArrowTextControl>(data);
1003
                            if (instance.ArrowText.Contains(search_str))
1004
                            {
1005
                                small_list.Add(item);
1006
                            }
1007
                        }
1008
                        break;
1009
                    
1010
                }
1011
                
1012
            }
1013
            
1014
            gogogo.ItemsSource = null;
1015
            gogogo.ItemsSource = small_list.OrderBy(d => d.PageNumber).ToList();
1016
            tbSearch.Text = string.Empty;
1017
        }
954 1018
    }
955 1019
}
KCOM/Controls/SearchPanel.xaml
23 23
            </Grid>
24 24
            <GroupBox Header="Option List">
25 25
                <StackPanel Margin="1">
26
                    <CheckBox Content="Current page only" Margin="3" x:Name="chkCurrentPageOnly"/>
26
                    <CheckBox Content="Current page only" Margin="3" x:Name="chkCurrentPageOnly" IsChecked="True"/>
27
                    <CheckBox Content="Comment Include" Margin="3" x:Name="chkCommentinclude" IsChecked="True"/>
27 28
                </StackPanel>
28 29
            </GroupBox>
29 30
            <GroupBox Header="Search Mode">
KCOM/Controls/SearchPanel.xaml.cs
31 31
        string RegistrationKey = "193B-FD48-42F4-68E6-2D35-4C94-D07";
32 32
        string RegistrationName = "license@doftech.co.kr";
33 33
        Bytescout.PDFExtractor.TextExtractor extractor;
34

  
34
        Bytescout.PDFExtractor.OCRAnalyzer ocrAnalyzer;
35 35
        public SearchPanel()
36 36
        {
37
            //InitializeComponent();
38
            this.Loaded += SearchPanel_Loaded;
37
            InitializeComponent();
38
            LibInit();
39
            //this.Loaded += SearchPanel_Loaded;
40
            btnSearch.Click += BtnSearch_Click;
41
            btnSearchPDFDownload.Click += BtnSearchPDFDownload_Click;
42
            SearchSet = new System.Collections.ObjectModel.ObservableCollection<SearchText>();
39 43
            
44
            tbSearch.KeyDown += tbSearch_KeyDown;
45
            this.DataContext = this;
46

  
47
            
48

  
49
            /*
50
            if (Common.ViewerDataModel.Instance.searchPDF ==null)
51
            {
52

  
53
            }
54
            else
55
            {
56
                border_Overlap.Visibility = Visibility.Collapsed;
57
                tbSearch.Focus();
58
                
59
            }
60
            */
61

  
62
            if (Common.ViewerDataModel.Instance.searchPDF != null)
63
            {
64
                border_Overlap.Visibility = Visibility.Collapsed;
65
                tbSearch.Focus();
66
            }
40 67
        }
41 68

  
42 69
        private void tbSearch_KeyDown(object sender, KeyEventArgs e)
......
46 73
                SearchMethod();
47 74
            }
48 75
        }
76
        private void LibInit()
77
        {
78
            extractor = new Bytescout.PDFExtractor.TextExtractor(RegistrationName, RegistrationKey);
79
            ocrAnalyzer = new Bytescout.PDFExtractor.OCRAnalyzer(RegistrationName, RegistrationKey);
80
            extractor.OCRMode = Bytescout.PDFExtractor.OCRMode.Auto;
81
            extractor.OCRLanguage = "eng";
82
            extractor.OCRLanguageDataFolder = System.AppDomain.CurrentDomain.BaseDirectory + "\\tessdata\\";
83
            extractor.OCRResolution = 300;
84
            
85
            ocrAnalyzer.OCRLanguage = "eng";
86
            ocrAnalyzer.OCRLanguageDataFolder = System.AppDomain.CurrentDomain.BaseDirectory + "\\tessdata\\";
49 87

  
88
        }
50 89
        private void SearchPanel_Loaded(object sender, RoutedEventArgs e)
51 90
        {
52 91
            //측정
......
54 93
            //sw.Start();
55 94
            InitializeComponent();
56 95
            //System.Diagnostics.Debug.WriteLine("SearchPanel() : " + sw.ElapsedMilliseconds.ToString() + "ms");
57

  
96
            
58 97
            btnSearch.Click += BtnSearch_Click;
59 98
            btnSearchPDFDownload.Click += BtnSearchPDFDownload_Click;
60 99
            SearchSet = new System.Collections.ObjectModel.ObservableCollection<SearchText>();
61 100
            extractor = new Bytescout.PDFExtractor.TextExtractor(RegistrationName, RegistrationKey);
62 101
            tbSearch.KeyDown += tbSearch_KeyDown;
63 102
            this.DataContext = this;
64

  
103
            
65 104
            /*
66 105
            if (Common.ViewerDataModel.Instance.searchPDF ==null)
67 106
            {
......
110 149
        {
111 150
            SearchMethod();
112 151
        }
113

  
152
         
114 153
        private void SearchMethod()
115 154
        {
116
            extractor.LoadDocumentFromFile(Common.ViewerDataModel.Instance.searchPDF.FullName);
155
                        
117 156
            SearchSet.Clear();
118 157
            string searchString = tbSearch.Text;
119
            int pageCount = extractor.GetPageCount();
158
            extractor.LoadDocumentFromFile(Common.ViewerDataModel.Instance.searchPDF.FullName);
159
            ocrAnalyzer.LoadDocumentFromFile(Common.ViewerDataModel.Instance.searchPDF.FullName);
120 160

  
121 161
            if (chkCurrentPageOnly.IsChecked.Value)
122 162
            {
123 163
                var currentPage = Common.ViewerDataModel.Instance.SystemMain.dzMainMenu.pageNavigator.CurrentPage.PageNumber - 1;
164
                
165
                Bytescout.PDFExtractor.OCRAnalysisResults analysisResults = ocrAnalyzer.AnalyzeByOCRConfidence(currentPage);
166
                ocrAnalyzer.ApplyResults(analysisResults, extractor);
167

  
124 168
                if (extractor.Find(currentPage, searchString, false))
125 169
                    do
126 170
                    {
......
130 174
            }
131 175
            else
132 176
            {
177
                int pageCount = extractor.GetPageCount();
133 178
                for (int i = 0; i < pageCount; i++)
134 179
                {
180
                    Bytescout.PDFExtractor.OCRAnalysisResults analysisResults = ocrAnalyzer.AnalyzeByOCRConfidence(i);
181
                    ocrAnalyzer.ApplyResults(analysisResults, extractor);
135 182
                    if (extractor.Find(i, searchString, false))
136 183
                        do
137 184
                        {
KCOM/KCOM.csproj
68 68
    <ApplicationManifest>Properties\app.manifest</ApplicationManifest>
69 69
  </PropertyGroup>
70 70
  <ItemGroup>
71
    <Reference Include="Bytescout.PDFExtractor, Version=9.1.0.3170, Culture=neutral, PublicKeyToken=f7dd1bd9d40a50eb, processorArchitecture=MSIL" />
72
    <Reference Include="Bytescout.PDFExtractor.OCRExtension, Version=9.0.0.3095, Culture=neutral, PublicKeyToken=f7dd1bd9d40a50eb, processorArchitecture=MSIL">
71
    <Reference Include="Bytescout.PDFExtractor, Version=9.2.0.3293, Culture=neutral, PublicKeyToken=f7dd1bd9d40a50eb, processorArchitecture=MSIL">
73 72
      <SpecificVersion>False</SpecificVersion>
74
      <HintPath>bin\x64\Debug\Bytescout.PDFExtractor.OCRExtension.dll</HintPath>
73
      <HintPath>..\packages\PDFExtractorSDK\FULL\net4.00\Bytescout.PDFExtractor.dll</HintPath>
74
    </Reference>
75
    <Reference Include="Bytescout.PDFExtractor.OCRExtension, Version=9.2.0.3293, Culture=neutral, PublicKeyToken=f7dd1bd9d40a50eb, processorArchitecture=MSIL">
76
      <SpecificVersion>False</SpecificVersion>
77
      <HintPath>..\packages\PDFExtractorSDK\FULL\net4.00\Bytescout.PDFExtractor.OCRExtension.dll</HintPath>
75 78
    </Reference>
76 79
    <Reference Include="EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
77 80
      <HintPath>..\packages\EntityFramework.4.3.1\lib\net40\EntityFramework.dll</HintPath>
......
508 511
      <Generator>SettingsSingleFileGenerator</Generator>
509 512
      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
510 513
    </None>
514
    <None Include="tessdata\deu.traineddata">
515
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
516
    </None>
517
    <None Include="tessdata\eng.traineddata">
518
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
519
    </None>
520
    <None Include="tessdata\fra.traineddata">
521
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
522
    </None>
523
    <None Include="tessdata\spa.traineddata">
524
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
525
    </None>
511 526
    <None Include="Web References\Get_FinalImage\Get_PdfImage.wsdl" />
512 527
    <None Include="Web References\Get_FinalImage\Reference.map">
513 528
      <Generator>MSDiscoCodeGenerator</Generator>
packages/PDFExtractorSDK/FULL/ActiveX/InstallAsActiveX.bat
1
@echo off
2

  
3
REM --------------------------------------------------------------------------------------
4
REM - This batch registers assemblies as ActiveX object using .NET 4.0 or 2.0            -
5
REM - for x86, x64 and x86 emulation modes.                                              -
6
REM - On Windows Vista and later this batch should be ran in "As Administrator" mode.    -
7
REM --------------------------------------------------------------------------------------
8

  
9
REM ! If you are getting error "System.IO.FileLoadException: Could not load file or 
10
REM ! assembly ‘file:///<filename>’ or one of its dependencies. Operation is not supported. 
11
REM ! (Exception from HRESULT: 0x80131515)." when executing this file, you have doubtless 
12
REM ! used Windows Explorer to extract files from the zip package and all files have been 
13
REM ! marked as blocked by security reason.
14
REM ! Solution:
15
REM ! - Use other application to unzip the package.
16
REM ! or
17
REM ! - Open properties of each extracted file, click `Unblock` and "Apply".
18

  
19

  
20
REM change current directory (required for Vista and higher)
21
@setlocal enableextensions
22
@cd /d "%~dp0"
23

  
24
SET DLLFILE=Bytescout.PDFExtractor.dll 
25
SET DLLFILE2=Bytescout.PDFExtractor.OCRExtension.dll 
26
SET TLBFILE=Bytescout.PDFExtractor.tlb
27

  
28
SET ERROR=0
29

  
30
echo ------------ x86 Windows installation ------------------------
31

  
32
IF NOT EXIST "%systemroot%\SYSWOW64\" (
33

  
34
    REM pure x86 mode 
35
    
36
    ECHO.
37
    ECHO Check if .NET 4.0 is available
38
    ECHO.
39

  
40
    IF EXIST "%windir%\Microsoft.NET\Framework\v4.0.30319\regasm.exe" (
41

  
42
        ECHO.
43
        ECHO Copying .NET 4.0 DLL and TLB files to 'System32'
44
        ECHO.
45

  
46
        copy "..\net4.00\%DLLFILE%" "%windir%\System32\%DLLFILE%"
47
        copy "..\net4.00\%DLLFILE2%" "%windir%\System32\%DLLFILE2%"
48
        copy "..\net4.00\%TLBFILE%" "%windir%\System32\%TLBFILE%"
49

  
50
        ECHO.
51
        ECHO Registering .NET 4.0 assembly as ActiveX
52
        ECHO.
53
        "%windir%\Microsoft.NET\Framework\v4.0.30319\regasm.exe" "%windir%\System32\%DLLFILE%" /tlb:"%windir%\System32\%TLBFILE%" /codebase
54

  
55
    REM Else try installing with .NET 2.0
56
    ) ELSE (
57

  
58
        ECHO.
59
        ECHO Check if .NET 2.0 is available 
60
        ECHO.
61

  
62
        IF EXIST "%windir%\Microsoft.NET\Framework\v2.0.50727\regasm.exe" (
63

  
64
            ECHO.
65
            ECHO Copying DLL and TLB files to 'System32'
66
            ECHO.
67

  
68
            copy "..\net2.00\%DLLFILE%" "%windir%\System32\%DLLFILE%"
69
            copy "..\net2.00\%DLLFILE2%" "%windir%\System32\%DLLFILE2%"
70
            copy "..\net2.00\%TLBFILE%" "%windir%\System32\%TLBFILE%"
71

  
72
            ECHO.
73
            ECHO Register .NET 2.0 assembly as ActiveX 
74
            ECHO.
75
            "%windir%\Microsoft.NET\Framework\v2.0.50727\regasm.exe" "%windir%\System32\%DLLFILE%" /tlb:"%windir%\System32\%TLBFILE%" /codebase
76

  
77
        REM Display error message
78
        ) ELSE (
79

  
80
            ECHO.
81
            ECHO ERROR: Could not find .NET 2.0 or .NET 4.0 framework installed.
82
            ECHO.
83
            
84
            ERROR = -1
85
            GOTO :SHOWERROR
86
        )
87

  
88
    )
89

  
90
)
91

  
92

  
93
echo ------------ x64 Windows installation ------------------------
94

  
95
REM Check if we are on Windows x64 
96
IF EXIST "%systemroot%\SYSWOW64\" (
97

  
98
    ECHO.
99
    ECHO x64 native mode and x86 emulation modes installations
100
    ECHO.
101

  
102
    REM --- x86 on x64
103
    ECHO.
104
    ECHO 1. x86 emulation mode on x64
105
    ECHO.
106

  
107
    ECHO.
108
    ECHO Check if .NET 4.0 for x86 is installed
109
    ECHO.
110

  
111
    IF EXIST "%windir%\Microsoft.NET\Framework\v4.0.30319\regasm.exe" (
112

  
113
        ECHO.
114
        ECHO Copying .NET 4.0 DLL and TLB files to /System32/
115
        ECHO.
116

  
117
        copy "..\net4.00\%DLLFILE%" "%systemroot%\SYSWOW64\%DLLFILE%"
118
        copy "..\net4.00\%DLLFILE2%" "%systemroot%\SYSWOW64\%DLLFILE2%"
119
        copy "..\net4.00\%TLBFILE%" "%systemroot%\SYSWOW64\%TLBFILE%"
120

  
121
        ECHO.
122
        ECHO Registering .NET 4.0 assembly as ActiveX in .NET x86 on x64
123
        ECHO.
124
        "%windir%\Microsoft.NET\Framework\v4.0.30319\regasm.exe" "%systemroot%\SYSWOW64\%DLLFILE%" /tlb:"%systemroot%\SYSWOW64\%TLBFILE%" /codebase
125

  
126
    ) ELSE (
127

  
128
        ECHO.
129
        ECHO Check if .NET 2.0 for x86 is installed
130
        ECHO.
131

  
132
        IF EXIST "%windir%\Microsoft.NET\Framework\v2.0.50727\regasm.exe" (
133

  
134
            ECHO.
135
            ECHO Copying .NET 2.0 DLL and TLB files to /System32/
136
            ECHO.
137

  
138
            copy "..\net2.00\%DLLFILE%" "%systemroot%\SYSWOW64\%DLLFILE%"
139
            copy "..\net2.00\%DLLFILE2%" "%systemroot%\SYSWOW64\%DLLFILE2%"
140
            copy "..\net2.00\%TLBFILE%" "%systemroot%\SYSWOW64\%TLBFILE%"
141

  
142
            ECHO.
143
            ECHO Registering .NET 2.0 assembly as ActiveX in .NET x86 on x64
144
            ECHO.
145
            "%windir%\Microsoft.NET\Framework\v2.0.50727\regasm.exe" "%systemroot%\SYSWOW64\%DLLFILE%" /tlb:"%systemroot%\SYSWOW64\%TLBFILE%" /codebase
146
        
147
        REM Display error message
148
        ) ELSE  (
149

  
150
            ECHO.
151
            ECHO ERROR: Could not find .NET 2.0 or .NET 4.0 framework installed.
152
            ECHO.
153
            
154
            ERROR = -2
155
            GOTO :SHOWERROR
156

  
157
        )
158
    )
159

  
160

  
161
    REM --- x64 mode
162

  
163
    ECHO.
164
    ECHO 2. x64 native mode on x64
165
    ECHO.
166

  
167
    IF EXIST "%windir%\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" (
168

  
169
        ECHO.
170
        ECHO Copying .NET 4.0 DLL and TLB files to 'System32'
171
        ECHO.
172

  
173
        IF EXIST "%systemroot%\sysnative\cmd.exe" (
174

  
175
            REM We call cmd.exe and regsvr32.exe from "sysnative" folder (special "alias" available when running x86 batch on x64).
176
            REM Although we call from "sysnative" folder, we should pass "system32" in command line parameters.
177

  
178
            ECHO Copying sysnative\%DLLFILE%"
179
            "%systemroot%\sysnative\cmd.exe" /c copy "..\net4.00\%DLLFILE%" "%systemroot%\system32\%DLLFILE%"
180
            ECHO copying sysnative\%DLLFILE2%"
181
            "%systemroot%\sysnative\cmd.exe" /c copy "..\net4.00\%DLLFILE2%" "%systemroot%\system32\%DLLFILE2%"
182
            ECHO Copying sysnative\%TLBFILE%"
183
            "%systemroot%\sysnative\cmd.exe" /c copy "..\net4.00\%TLBFILE%" "%systemroot%\system32\%TLBFILE%"
184

  
185
            ECHO.
186
            ECHO Registering .NET 4.0 assembly as ActiveX in .NET x64
187
            ECHO.
188
            "%windir%\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" "%windir%\System32\%DLLFILE%" /tlb:"%windir%\System32\%TLBFILE%" /codebase
189

  
190
        ) ELSE (
191
            
192
            ECHO Copying system32\%DLLFILE%"
193
            copy "..\net4.00\%DLLFILE%" "%windir%\System32\%DLLFILE%"
194
            ECHO copying system32\%DLLFILE2%"
195
            copy "..\net4.00\%DLLFILE2%" "%windir%\System32\%DLLFILE2%"
196
            ECHO Copying system32\%TLBFILE%"
197
            copy "..\net4.00\%TLBFILE%" "%windir%\System32\%TLBFILE%"
198

  
199
            ECHO.
200
            ECHO Registering .NET 4.0 assembly as ActiveX in .NET x64
201
            ECHO.
202
            "%windir%\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" "%windir%\System32\%DLLFILE%" /tlb:"%windir%\System32\%TLBFILE%" /codebase
203

  
204
        )
205

  
206
    ) ELSE (
207

  
208
        IF EXIST "%windir%\Microsoft.NET\Framework64\v2.0.50727\regasm.exe" (
209

  
210
            IF EXIST "%systemroot%\sysnative\cmd.exe" (
211

  
212
                REM We call cmd.exe and regsvr32.exe from "sysnative" folder (special "alias" available when running x86 batch on x64).
213
                REM Although we call from "sysnative" folder, we should pass "system32" in command line parameters.
214

  
215
                ECHO Copying sysnative\%DLLFILE%"
216
                "%systemroot%\sysnative\cmd.exe" /c copy "..\net2.00\%DLLFILE%" "%systemroot%\system32\%DLLFILE%"
217
                ECHO copying sysnative\%DLLFILE2%"
218
                "%systemroot%\sysnative\cmd.exe" /c copy "..\net2.00\%DLLFILE2%" "%systemroot%\system32\%DLLFILE2%"
219
                ECHO Copying sysnative\%TLBFILE%"
220
                "%systemroot%\sysnative\cmd.exe" /c copy "..\net2.00\%TLBFILE%" "%systemroot%\system32\%TLBFILE%"
221

  
222
                ECHO.
223
                ECHO Registering .NET 2.0 assembly as ActiveX in .NET x64
224
                ECHO.
225
                "%windir%\Microsoft.NET\Framework64\v2.0.50727\regasm.exe" "%windir%\system32\%DLLFILE%" /tlb:"%windir%\system32\%TLBFILE%" /codebase
226

  
227
            ) ELSE (
228

  
229
                ECHO Copying system32\%DLLFILE%"
230
                copy "..\net2.00\%DLLFILE%" "%windir%\System32\%DLLFILE%"
231
                ECHO copying system32\%DLLFILE2%"
232
                copy "..\net2.00\%DLLFILE2%" "%windir%\System32\%DLLFILE2%"
233
                ECHO Copying system32\%TLBFILE%"
234
                copy "..\net2.00\%TLBFILE%" "%windir%\System32\%TLBFILE%"
235

  
236
                ECHO.
237
                ECHO Registering .NET 2.0 assembly as ActiveX in .NET x64
238
                ECHO.
239
                "%windir%\Microsoft.NET\Framework64\v2.0.50727\regasm.exe" "%windir%\System32\%DLLFILE%" /tlb:"%windir%\System32\%TLBFILE%" /codebase
240

  
241
            )
242

  
243
        REM Display error message
244
        ) ELSE (
245

  
246
            ECHO.
247
            ECHO ERROR: Could not find .NET 2.0 or .NET 4.0 framework installed.
248
            ECHO.
249
            
250
            ERROR = -3
251
            GOTO :ERROR
252

  
253
        )
254

  
255
    )
256

  
257
)
258

  
259

  
260
if %ERROR% EQU 0 goto :EOF
261

  
262
:SHOWERROR
263

  
264
echo .
265
echo Could not register assemblies as ActiveX: %ERROR%
266
echo .
267

  
268
REM Exit %ERROR%
269

  
270
:EOF
packages/PDFExtractorSDK/FULL/ActiveX/UninstallAsActiveX.bat
1
@echo off
2

  
3
REM --------------------------------------------------------------------------------------
4
REM - This batch uninstalls assemblies as ActiveX object using .NET 2.0 or 4.0           -
5
REM - for x86, x64 and x86 emulation modes.                                              -
6
REM - On Windows Vista and later this batch should be ran in "As Administrator" mode.    -
7
REM --------------------------------------------------------------------------------------
8

  
9
SET DLLFILE=Bytescout.PDFExtractor.dll
10
SET DLLFILE2=Bytescout.PDFExtractor.OCRExtension.dll
11
SET TLBFILE=Bytescout.PDFExtractor.tlb
12

  
13
SET ERROR=0
14

  
15

  
16
REM ------------ x86 Windows deinstallation ------------------------
17

  
18
IF NOT EXIST "%systemroot%\SYSWOW64\" (
19

  
20
    IF NOT "%DLLFILE%"=="" IF NOT "%DLLFILE2%"=="" IF NOT "%TLBFILE%"=="" IF EXIST "%windir%\system32\%DLLFILE%" (
21

  
22
        REM Unregister assembly as ActiveX
23
        IF EXIST "%windir%\Microsoft.NET\Framework\v4.0.30319\regasm.exe" "%windir%\Microsoft.NET\Framework\v4.0.30319\regasm.exe" "%windir%\System32\%DLLFILE%" /tlb:"%windir%\System32\%TLBFILE%" /unregister 
24
        IF EXIST "%windir%\Microsoft.NET\Framework\v2.0.50727\regasm.exe" "%windir%\Microsoft.NET\Framework\v2.0.50727\regasm.exe" "%windir%\System32\%DLLFILE%" /tlb:"%windir%\System32\%TLBFILE%" /unregister 
25

  
26
        REM Delete files
27
        DEL "%windir%\System32\%DLLFILE%"
28
        DEL "%windir%\System32\%DLLFILE2%"
29
        DEL "%windir%\System32\%TLBFILE%"
30

  
31
    ) ELSE (
32

  
33
        ECHO.
34
        ECHO %DLLFILE% not found so nothing to uninstall
35
        ECHO.
36
    )
37

  
38
) ELSE (
39

  
40
    REM ------------ x64 Windows deinstallation ------------------------
41

  
42
    REM check x86 emulation mode files
43

  
44
    IF NOT "%DLLFILE%"=="" IF NOT "%DLLFILE2%"=="" IF NOT "%TLBFILE%"=="" IF EXIST "%windir%\SYSWOW64\%DLLFILE%" (
45

  
46
        echo.
47
        echo Unregistering assembly as ActiveX from x86 emulation mode
48
        echo.
49
        IF EXIST "%windir%\Microsoft.NET\Framework\v4.0.30319\regasm.exe" "%windir%\Microsoft.NET\Framework\v4.0.30319\regasm.exe" "%windir%\SYSWOW64\%DLLFILE%" /tlb:"%windir%\SYSWOW64\%TLBFILE%" /unregister 
50
        IF EXIST "%windir%\Microsoft.NET\Framework\v2.0.50727\regasm.exe" "%windir%\Microsoft.NET\Framework\v2.0.50727\regasm.exe" "%windir%\SYSWOW64\%DLLFILE%" /tlb:"%windir%\SYSWOW64\%TLBFILE%" /unregister 
51

  
52
        echo.
53
        echo Delete files from x86 emulation mode
54
        echo.
55
        DEL "%windir%\SYSWOW64\%DLLFILE%"
56
        DEL "%windir%\SYSWOW64\%DLLFILE2%"
57
        DEL "%windir%\SYSWOW64\%TLBFILE%"
58

  
59
    ) ELSE (
60

  
61
        ECHO.
62
        ECHO x86 emulation mode on x64: %DLLFILE% not found so nothing to uninstall
63
        ECHO.	
64
    )
65

  
66
    IF NOT "%DLLFILE%"=="" IF NOT "%DLLFILE2%"=="" IF NOT "%TLBFILE%"=="" (
67

  
68
        REM case #1 (this batch runs from x86 console so should use "sysnative" alias to access x64 folders)
69
        IF EXIST "%windir%\sysnative\%DLLFILE%" (
70

  
71
            echo.
72
            echo Unregistering .NET 4.0 version if registered 
73
            echo.
74
            IF EXIST "%windir%\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" "%windir%\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" "%windir%\system32\%DLLFILE%" /tlb:"%windir%\system32\%TLBFILE%" /unregister 
75
            echo.
76
            echo Unregistering .net 2.0 version if registered 
77
            echo.
78
            IF EXIST "%windir%\Microsoft.NET\Framework64\v2.0.50727\regasm.exe" "%windir%\Microsoft.NET\Framework64\v2.0.50727\regasm.exe" "%windir%\system32\%DLLFILE%" /tlb:"%windir%\system32\%TLBFILE%" /unregister 
79

  
80
            echo.
81
            echo Delete sysnative\%DLLFILE%
82
            echo.
83
            DEL "%windir%\sysnative\%DLLFILE%"
84
            echo.
85
            echo Delete sysnative\%DLLFILE2%
86
            echo.
87
            DEL "%windir%\sysnative\%DLLFILE2%"
88
            echo.
89
            echo Delete sysnative\%TLBFILE%
90
            echo.
91
            DEL "%windir%\sysnative\%TLBFILE%"
92

  
93
        ) ELSE (
94

  
95
            ECHO.
96
            ECHO x64 native mode: sysnative\%DLLFILE% not found so nothing to deinstall
97
            ECHO.	
98
        )
99

  
100
        REM case #2 (this batch runs from x64 console)
101
        IF EXIST "%windir%\system32\%DLLFILE%" (
102

  
103
            echo.
104
            echo Unregistering .NET 4.0 version if registered 
105
            echo.
106
            IF EXIST "%windir%\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" "%windir%\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" "%windir%\system32\%DLLFILE%" /tlb:"%windir%\system32\%TLBFILE%" /unregister 
107
            echo.
108
            echo Unregistering .NET 2.0 version if registered 
109
            echo.
110
            IF EXIST "%windir%\Microsoft.NET\Framework64\v2.0.50727\regasm.exe" "%windir%\Microsoft.NET\Framework64\v2.0.50727\regasm.exe" "%windir%\system32\%DLLFILE%" /tlb:"%windir%\system32\%TLBFILE%" /unregister 
111

  
112
            echo Delete system32\%DLLFILE%
113
            DEL "%windir%\system32\%DLLFILE%"
114
            echo Delete system32\%DLLFILE2%
115
            DEL "%windir%\system32\%DLLFILE2%"
116
            echo Delete system32\%TLBFILE%
117
            DEL "%windir%\system32\%TLBFILE%"
118

  
119
        ) ELSE (
120

  
121
            ECHO.
122
            ECHO x64 native mode: system32\%DLLFILE% not found so nothing to deinstall
123
            ECHO.	
124
        )
125

  
126
    ) ELSE (
127

  
128
        ECHO.
129
        ECHO x64 native mode: %DLLFILE% not found so nothing to deinstall
130
        ECHO.	
131
    )
132

  
133
)
packages/PDFExtractorSDK/FULL/net2.00/Bytescout.PDFExtractor.XML
1
<?xml version="1.0"?>
2
<doc>
3
    <assembly>
4
        <name>Bytescout.PDFExtractor</name>
5
    </assembly>
6
    <members>
7
        <member name="T:Bytescout.PDFExtractor.AttachmentInfo">
8
            <summary>
9
            Defines various attachment information.
10
            </summary>
11
        </member>
12
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.Name">
13
            <summary>
14
            Name of the attachment.
15
            </summary>
16
        </member>
17
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.FileName">
18
            <summary>
19
            Filename for the attachment.
20
            </summary>
21
        </member>
22
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.FileNameUnicode">
23
            <summary>
24
            Unicode Filename for the attachment (optional).
25
            </summary>
26
        </member>
27
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.Date">
28
            <summary>
29
            Date of the attachment (optional).
30
            Default DateTime.MinValue means undefined.
31
            </summary>
32
        </member>
33
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.DateModified">
34
            <summary>
35
            Date modified (optional).
36
            Default DateTime.MinValue means undefined.
37
            </summary>
38
        </member>
39
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.DateCreated">
40
            <summary>
41
            Date created (optional).
42
            Default DateTime.MinValue means undefined.
43
            </summary>
44
        </member>
45
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.FolderLocation">
46
            <summary>
47
            Folder location (optional).
48
            </summary>
49
        </member>
50
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.To">
51
            <summary>
52
            To field (optional).
53
            </summary>
54
        </member>
55
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.CC">
56
            <summary>
57
            CC field (optional).
58
            </summary>
59
        </member>
60
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.From">
61
            <summary>
62
            From field (optional).
63
            </summary>
64
        </member>
65
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.SubjectPrefix">
66
            <summary>
67
            Subject prefix, e.g. "RE: " (optional).
68
            </summary>
69
        </member>
70
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.Subject">
71
            <summary>
72
            Subject (optional).
73
            </summary>
74
        </member>
75
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.GUID">
76
            <summary>
77
            GUID (unique id) (optional).
78
            </summary>
79
        </member>
80
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.Importance">
81
            <summary>
82
            Importance, e.g. "High" (optional).
83
            </summary>
84
        </member>
85
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.Order">
86
            <summary>
87
            Order (optional).
88
            </summary>
89
        </member>
90
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.Subtype">
91
            <summary>
92
            Subtype based on MIME types, e.g. "application/pdf" (optional).
93
            </summary>
94
        </member>
95
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.Description">
96
            <summary>
97
            Description (optional).
98
            </summary>
99
        </member>
100
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.DisplayName">
101
            <summary>
102
            Display name  (optional).
103
            </summary>
104
        </member>
105
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.Summary">
106
            <summary>
107
            Summary (optional).
108
            </summary>
109
        </member>
110
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.FileSize">
111
            <summary>
112
            File size (optional).
113
            </summary>
114
        </member>
115
        <member name="P:Bytescout.PDFExtractor.AttachmentInfo.Thumbnail">
116
            <summary>
117
            Thumbnail (preview of the attachment) (optional).
118
            </summary>
119
        </member>
120
        <member name="T:Bytescout.PDFExtractor.AttachmentExtractor">
121
            <summary>
122
             Extracts attachments from PDF file.
123
            </summary>
124
        </member>
125
        <member name="M:Bytescout.PDFExtractor.AttachmentExtractor.#ctor">
126
            <summary>
127
             Initializes a new instance of the <see cref="T:Bytescout.PDFExtractor.AttachmentExtractor" /> class.
128
            </summary>
129
        </member>
130
        <member name="M:Bytescout.PDFExtractor.AttachmentExtractor.#ctor(System.String,System.String)">
131
            <summary>
132
             Initializes a new instance of the <see cref="T:Bytescout.PDFExtractor.AttachmentExtractor" /> class.
133
            </summary>
134
            <param name="registrationName">Registration name.</param>
135
            <param name="registrationKey">Registration key.</param>
136
        </member>
137
        <member name="M:Bytescout.PDFExtractor.AttachmentExtractor.LoadDocumentFromStream(System.IO.Stream)">
138
            <summary>
139
             Loads PDF document from provided stream.
140
            </summary>
141
            <param name="stream">Input stream.</param>
142
        </member>
143
        <member name="P:Bytescout.PDFExtractor.AttachmentExtractor.Count">
144
            <summary>
145
             Returns attachment count.
146
            </summary>
147
        </member>
148
        <member name="M:Bytescout.PDFExtractor.AttachmentExtractor.GetFileName(System.Int32)">
149
            <summary>
150
             Gets the attachment filename.
151
            </summary>
152
            <returns>Attachment filename.</returns>
153
            <param name="index">Attachment index.</param>
154
            <exception cref="T:Bytescout.PDFExtractor.PDFExtractorException"></exception>
155
        </member>
156
        <member name="M:Bytescout.PDFExtractor.AttachmentExtractor.GetSize(System.Int32)">
157
            <summary>
158
             Gets the attachment size (in bytes).
159
            </summary>
160
            <returns>Attachment size in bytes.</returns>
161
            <param name="index">Attachment index.</param>
162
            <exception cref="T:Bytescout.PDFExtractor.PDFExtractorException"></exception>
163
        </member>
164
        <member name="M:Bytescout.PDFExtractor.AttachmentExtractor.GetAttachmentInfo(System.Int32)">
165
            <summary>
166
            Gets the detailed attachment information.
167
            </summary>
168
            <param name="index">Attachment index.</param>
169
            <returns>Attachment information.</returns>
170
        </member>
171
        <member name="M:Bytescout.PDFExtractor.AttachmentExtractor.Save(System.Int32,System.String)">
172
            <summary>
173
             Saves the attachment to specified file.
174
            </summary>
175
            <returns>True if successful.</returns>
176
            <param name="index">Attachment index.</param>
177
            <param name="filename">Output file name.</param>
178
            <exception cref="T:Bytescout.PDFExtractor.PDFExtractorException"></exception>
179
        </member>
180
        <member name="M:Bytescout.PDFExtractor.AttachmentExtractor.SaveToFile(System.Int32,System.String)">
181
            <summary>
182
             Saves the attachment to specified file.
183
            </summary>
184
            <returns>True if successful.</returns>
185
            <param name="index">Attachment index.</param>
186
            <param name="filename">Output file name.</param>
187
            <exception cref="T:Bytescout.PDFExtractor.PDFExtractorException"></exception>
188
        </member>
189
        <member name="M:Bytescout.PDFExtractor.AttachmentExtractor.Save(System.Int32,System.IO.Stream)">
190
            <summary>
191
             Saves the attachment to stream.
192
            </summary>
193
            <param name="index">Attachment index.</param>
194
            <param name="outputStream">Output stream.</param>
195
            <returns>True if successful.</returns>
196
            <exception cref="T:Bytescout.PDFExtractor.PDFExtractorException"></exception>
197
        </member>
198
        <member name="M:Bytescout.PDFExtractor.AttachmentExtractor.SaveToStream(System.Int32,System.IO.Stream)">
199
            <summary>
200
             Saves the attachment to stream.
201
            </summary>
202
            <param name="index">Attachment index.</param>
203
            <param name="outputStream">Output stream.</param>
204
            <returns>True if successful.</returns>
205
            <exception cref="T:Bytescout.PDFExtractor.PDFExtractorException"></exception>
206
        </member>
207
        <member name="T:Bytescout.PDFExtractor.PDFContentType">
208
            <summary>
209
            Defines PDF content types.
210
            </summary>
211
        </member>
212
        <member name="F:Bytescout.PDFExtractor.PDFContentType.Document">
213
            <summary>
214
            (0) Normal document.
215
            </summary>
216
        </member>
217
        <member name="F:Bytescout.PDFExtractor.PDFContentType.Portfolio">
218
            <summary>
219
            (1) Portfolio. 
220
            </summary>
221
        </member>
222
        <member name="F:Bytescout.PDFExtractor.PDFContentType.XFAForm">
223
            <summary>
224
            (2) XFA Form.
225
            </summary>
226
        </member>
227
        <member name="T:Bytescout.PDFExtractor.ExtractionAreaUsageMode">
228
            <summary>
229
            Defines how extraction area (if any) is treated when doing text extraction or text search.
230
            </summary>
231
        </member>
232
        <member name="F:Bytescout.PDFExtractor.ExtractionAreaUsageMode.UseAllIntersectingObjects">
233
            <summary>
234
            (0) Extract or search within any text object intersecting with extraction area (if defined). Default mode.
235
            </summary>
236
        </member>
237
        <member name="F:Bytescout.PDFExtractor.ExtractionAreaUsageMode.UseObjectsCompetelyInsideAreaOnly">
238
            <summary>
239
            (1) Extracts or search within text objects which are completely inside extraction area.
240
            </summary>
241
        </member>
242
        <member name="T:Bytescout.PDFExtractor.PageDataCaching">
243
            <summary>
244
            Page data caching behaviour.
245
            </summary>
246
        </member>
247
        <member name="F:Bytescout.PDFExtractor.PageDataCaching.None">
248
            <summary>
249
             Previously accessed page data is not cached and disposed immediately after any other page accessed. Reduces memory usage.
250
            </summary>
251
        </member>
252
        <member name="F:Bytescout.PDFExtractor.PageDataCaching.KeepAllPages">
253
            <summary>
254
            Caches all parsed pages. You can manually dispose cached pages using <see cref="M:Bytescout.PDFExtractor.BaseTextExtractor.DisposePage(System.Int32)" /> method.
255
            </summary>
256
        </member>
257
        <member name="T:Bytescout.PDFExtractor.OngoingOperation">
258
            <summary>
259
            The ongoing operation for <see cref="E:Bytescout.PDFExtractor.BaseExtractor.ProgressChanged" /> event.
260
            </summary>
261
        </member>
262
        <member name="F:Bytescout.PDFExtractor.OngoingOperation.DocumentLoading">
263
            <summary>
264
            Document is being loaded.
265
            </summary>
266
        </member>
267
        <member name="F:Bytescout.PDFExtractor.OngoingOperation.DocumentProcessing">
268
            <summary>
269
            Document is being processed.
270
            </summary>
271
        </member>
272
        <member name="T:Bytescout.PDFExtractor.BaseExtractor">
273
            <summary>
274
             Defines a base class for PDF extractors.
275
            </summary>
276
        </member>
277
        <member name="T:Bytescout.PDFExtractor.BaseExtractor.ProgressEventHandler">
278
            <summary>
279
            Defines Progress event parameters.
280
            </summary>
281
            <param name="sender">Event sender.</param>
282
            <param name="ongoingOperation">Ongoing operaration the progress reported from.</param>
283
            <param name="progress">Progress value from 0 to 100.</param>
284
            <param name="cancel">Interruption flag. Set it <c>true</c> to interrupt the processing.</param>
285
        </member>
286
        <member name="E:Bytescout.PDFExtractor.BaseExtractor.ProgressChanged">
287
            <summary>
288
            Raised for each reported progress value. Allows to cancel the processing.
289
            </summary>
290
        </member>
291
        <member name="T:Bytescout.PDFExtractor.BaseExtractor.ParsingErrorEventHandler">
292
            <summary>
293
            Defines ParsingError event parameters.
294
            </summary>
295
            <param name="sender">Event sender.</param>
296
            <param name="exceptionInfo">Internal information about the parsing error.</param>
297
            <param name="abort">Interruption flag. If <c>true</c> the extractor will throw an exception that interrupts the processing.</param>
298
        </member>
299
        <member name="E:Bytescout.PDFExtractor.BaseExtractor.ParsingError">
300
            <summary>
301
            Raised on PDF document parsing errors. This usually indicates a damaged document.
302
            </summary>
303
            <remarks>
304
            If this event is handled, and the <c>abort</c> in the event args was set to <c>false</c>, 
305
            the extractor will skip the error and try to process the document further. 
306
            Otherwise the extractor will throw an exception interrupting the processing.
307
            </remarks>
308
        </member>
309
        <member name="E:Bytescout.PDFExtractor.BaseExtractor.PasswordRequired">
310
            <summary>
311
             Occurs when the password required to decrypt the document.
312
            </summary>
313
        </member>
314
        <member name="P:Bytescout.PDFExtractor.BaseExtractor.RegistrationName">
315
            <summary>
316
             Registration name.
317
            </summary>
318
        </member>
319
        <member name="P:Bytescout.PDFExtractor.BaseExtractor.RegistrationKey">
320
            <summary>
321
             Registration key.
322
            </summary>
323
        </member>
324
        <member name="P:Bytescout.PDFExtractor.BaseExtractor.Password">
325
            <summary>
326
             PDF document owner password.
327
            </summary>
328
        </member>
329
        <member name="P:Bytescout.PDFExtractor.BaseExtractor.Version">
330
            <summary>
331
             Gets the component version number.
332
            </summary>
333
        </member>
334
        <member name="P:Bytescout.PDFExtractor.BaseExtractor.Encrypted">
335
            <summary>
336
             Document encryption.
337
            </summary>
338
        </member>
339
        <member name="P:Bytescout.PDFExtractor.BaseExtractor.PageDataCaching">
340
            <summary>
341
            Controls page data caching behavior.
342
            </summary>
343
        </member>
344
        <member name="P:Bytescout.PDFExtractor.BaseExtractor.Profiles">
345
            <summary>
346
            Profiles, applied to object.
347
            </summary>
348
        </member>
349
        <member name="P:Bytescout.PDFExtractor.BaseExtractor.IsDocumentLoaded">
350
            <summary>
351
            Get the document loaded state.
352
            </summary>
353
        </member>
354
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.#ctor">
355
            <summary>
356
             Default constructor.
357
            </summary>
358
        </member>
359
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.#ctor(System.String,System.String)">
360
            <summary>
361
             Initializes a new instance of the extractor class.
362
            </summary>
363
            <param name="registrationName">Registration name.</param>
364
            <param name="registrationKey">Registration key.</param>
365
        </member>
366
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.Dispose">
367
            <summary>
368
            Releases the unmanaged resources used by the instance and optionally releases the managed resources.
369
            </summary>
370
        </member>
371
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.Reset">
372
            <summary>
373
             Resets the instance, disposes internal resources and releases the file.
374
             Use this method before loading another PDF file.
375
            </summary>
376
        </member>
377
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.LoadDocumentFromFile(System.String)">
378
            <summary>
379
             Loads PDF document from specified file. 
380
             Call .Reset() method before loading another file into the same instance so it will release the lock for the file.
381
            </summary>
382
            <param name="fileName">File name.</param>
383
        </member>
384
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.LoadDocumentFromStream(System.IO.Stream)">
385
            <summary>
386
             Loads PDF document from provided stream.
387
            </summary>
388
            <param name="stream">Input stream.</param>
389
        </member>
390
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.GetPageCount">
391
            <summary>
392
             Returns document page count.
393
            </summary>
394
            <returns>Page count.</returns>
395
            <exception cref="T:Bytescout.PDFExtractor.PDFExtractorException"></exception>
396
        </member>
397
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.GetPageRotationAngle(System.Int32)">
398
            <summary>
399
            Returns the rotation angle of specified page.
400
            </summary>
401
            <param name="pageIndex">Index of the page.</param>
402
            <returns>Rotation angle in degrees.</returns>
403
        </member>
404
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.GetPageRectangle(System.Int32)">
405
            <summary>
406
            Gets the page rectangle.
407
            </summary>
408
            <param name="pageIndex">Index of the page.</param>
409
        </member>
410
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.GetPageRect_Left(System.Int32)">
411
            <summary>
412
            Gets the specified page left coordinate.
413
            </summary>
414
            <param name="pageIndex">Index of the page.</param>
415
            <returns>Left coordinate in points.</returns>
416
        </member>
417
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.GetPageRect_Top(System.Int32)">
418
            <summary>
419
            Gets the specified page top coordinate.
420
            </summary>
421
            <param name="pageIndex">Index of the page.</param>
422
            <returns>Top coordinate in points.</returns>
423
        </member>
424
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.GetPageRect_Width(System.Int32)">
425
            <summary>
426
            Gets the specified page width.
427
            </summary>
428
            <param name="pageIndex">Index of the page.</param>
429
            <returns>Page width in points.</returns>
430
        </member>
431
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.GetPageRect_Height(System.Int32)">
432
            <summary>
433
            Gets the specified page height.
434
            </summary>
435
            <param name="pageIndex">Index of the page.</param>
436
            <returns>Page height in points.</returns>
437
        </member>
438
        <member name="P:Bytescout.PDFExtractor.BaseExtractor.ContentType">
439
            <summary>
440
            Returns content type of PDF document: normal document, portfolio or XFA form.
441
            To extract files from PDF portfolio please use AttachmentExtractor class.
442
            To extract XFA form content XFAFormExtractor class.
443
            </summary>
444
        </member>
445
        <member name="P:Bytescout.PDFExtractor.BaseExtractor.EmbeddedFileCount">
446
            <summary>
447
            Property is disabled to speed up the document loading. Please use <see cref="T:Bytescout.PDFExtractor.AttachmentExtractor" /> to work with attachments.
448
            </summary>
449
        </member>
450
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.IsEncrypted">
451
            <summary>
452
             Gets the document encrypted state.
453
            </summary>
454
            <returns>Encryption state.</returns>
455
            <exception cref="T:Bytescout.PDFExtractor.PDFExtractorException"></exception>
456
        </member>
457
        <member name="P:Bytescout.PDFExtractor.BaseExtractor.CheckPermissions">
458
            <summary>
459
            This option defines if the SDK should check permissions in the PDF document
460
            and generate PDFExtractorPermissionsException when permissions is not set for the desired action.
461
            Set to True by default. You should not change it to another value.
462
            IMPORTANT: THIS OPTION HAVE TO BE ENABLED AND SET TO "TRUE" TO RESPECT OWNERS OF PDF DOCUMENTS.
463
            IF YOU SET IT TO FALSE TO IGNORE PERMISSIONS WHICH ARE SET IN PDF DOCUMENT THEN 
464
            YOU ARE SOLELY LIABLE FOR THIS ACTION AND FOR ANY COPYRIGHT OR OTHER 
465
            VIOLATIONS AT YOUR OWN RISK. BYTESCOUT IS NOT LIABLE FOR ANY DAMAGES, LOSSES, COPYRIGHT INFRINGEMENTS OR ANY 
466
            OTHER CONSEQUENCES CAUSED BY IGNORING PERMISSIONS OF PDF DOCUMENT.
467
            BY CHANGING THIS OPTION YOU ARE CONFIRMING YOU ARE UNDERSTANDING ALL WRITTEN ABOVE AND DOING IT AT YOUR OWN RISK.
468
            </summary>
469
        </member>
470
        <member name="P:Bytescout.PDFExtractor.BaseExtractor.ExtractionAreaUsageMode">
471
            <summary>
472
            Controls how an extraction area (if any defined)
473
            is used when doing a text search to control if we are searching
474
            within any objects intersecting with an area or only within objects completely inside an area
475
            </summary>
476
        </member>
477
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.SetExtractionArea(System.Drawing.RectangleF)">
478
            <summary>
479
             Sets the extraction area by rectangle.
480
            </summary>
481
            <param name="rectangle"></param>
482
            <remarks>
483
             Note: the extraction is reset on document loading so set it after the loading.
484
             </remarks>
485
        </member>
486
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.SetExtractionArea(System.Single,System.Single,System.Single,System.Single)">
487
            <summary>
488
             Sets the extraction area by coordinates and dimensions.
489
            </summary>
490
            <remarks>
491
             Note: the extraction is reset on document loading so set it after the loading.
492
             </remarks>
493
        </member>
494
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.ResetExtractionArea">
495
            <summary>
496
             Resets the extraction area to full page.
497
            </summary>
498
        </member>
499
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.LoadProfiles(System.String)">
500
            <summary>
501
            Loads profiles from file.
502
            </summary>
503
            <param name="fileName">JSON file containing profiles.</param>
504
        </member>
505
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.LoadProfilesFromString(System.String)">
506
            <summary>
507
            Loads profiles from JSON string.
508
            </summary>
509
            <param name="jsonString">JSON string containing profiles.</param>
510
        </member>
511
        <member name="M:Bytescout.PDFExtractor.BaseExtractor.LoadAndApplyProfiles(System.String)">
512
            <summary>
513
            Loads profiles from JSON string and automatically applies them.
514
            </summary>
515
            <remarks>Note, all existing profiles are discarded before loading profiles from the provided string.</remarks>
516
            <param name="jsonString">JSON string containing profiles.</param>
517
        </member>
518
        <member name="T:Bytescout.PDFExtractor.OCRMode">
519
            <summary>
520
            OCR (Optical Character Recognition) usage mode.
521
            </summary>
522
        </member>
523
        <member name="F:Bytescout.PDFExtractor.OCRMode.Off">
524
            <summary>
525
            Off. No OCR is used.
526
            </summary>
527
        </member>
528
        <member name="F:Bytescout.PDFExtractor.OCRMode.Auto">
529
            <summary>
530
            Similar to TextFromImagesAndVectorsAndFonts but checks if the page contains raster images and vector drawings only to decide if should use OCR functionality.
531
            Runs OCR if page contains almost no text and have 1 or more images / vector drawings so tries to extract text from images and drawings
532
            The result contains text objects produced from images and vector drawings using OCR functionality if any.
533
            </summary>
534
        </member>
535
        <member name="F:Bytescout.PDFExtractor.OCRMode.TextFromImagesAndVectorsAndFonts">
536
            <summary>
537
            Always runs OCR to extract text from images and vector drawings (if any).
538
            See also .TextFromImagesAndFonts mode to read from objects except vector drawings.
539
            The result contains text objects from PDF and text objects produced from images and vector drawings using OCR functionality if any.
540
            </summary>
541
        </member>
542
        <member name="F:Bytescout.PDFExtractor.OCRMode.TextFromImagesAndVectorsAndRepairedFonts">
543
            <summary>
544
            Special mode: extracts text from images and vector drawings and repairs text from fonts fixing the incorrect encoding.
545
            Some PDF files contain visible text which is damaged when copied (appears as ? or other incorrect symbols when extracted or copied).
546
            This mode repairs damaged text like that using the OCR functionality.
547
            The result contains text objects from PDF and text objects produced from images and vector drawings using OCR functionality if any.
548
            </summary>
549
        </member>
550
        <member name="F:Bytescout.PDFExtractor.OCRMode.TextFromRepairedFontsOnly">
551
            <summary>
552
            Special mode: repairs text objects with incorrect encoding using OCR functionality. Images and vectors are not processed in this mode.
553
            Some PDF files contains visible text which is damaged when copied (appears as ? or other incorrect symbols when extracted or copied).
554
            This mode repairs damaged text like this using OCR function.
555
            This mode returns repaired text objects only (no images or vector drawings are processed).
556
            </summary>
557
        </member>
558
        <member name="F:Bytescout.PDFExtractor.OCRMode.TextFromImagesAndRepairedFonts">
559
            <summary>
560
            Special mode: extracts text from raster images (but skips vector drawings) and repairs text objects with incorrect encoding
561
            Some PDF files contains visible text which is damaged when copied (appears as ? or other incorrect symbols when extracted or copied).
562
            This mode repairs damaged text like this using the OCR functionality.
563
            This mode returns repaired text objects and text objects produced from raster images (no vector drawings are processed).
564
            </summary>
565
        </member>
566
        <member name="F:Bytescout.PDFExtractor.OCRMode.TextFromImagesAndFonts">
567
            <summary>
568
            Runs OCR to extract text from images (but skips vector drawings) plus the text objects.
569
            The result contains text objects from PDF and text objects produced from images (but no vector drawings are processed) using OCR functionality.
570
            </summary>
571
        </member>
572
        <member name="F:Bytescout.PDFExtractor.OCRMode.TextFromImagesOnly">
573
            <summary>
574
            Runs OCR to extract text from images (but skips vector drawings) plus the text objects.
575
            The result contains text extracted from images only.
576
            </summary>
577
        </member>
578
        <member name="F:Bytescout.PDFExtractor.OCRMode.TextFromVectorsOnly">
579
            <summary>
580
            Runs OCR to extract text from vector drawings only.
581
            The result contains text objects from vector drawings only.
582
            </summary>
583
        </member>
584
        <member name="F:Bytescout.PDFExtractor.OCRMode.TextFromImagesAndVectorsOnly">
585
            <summary>
586
            Runs OCR to extract text from images and vector drawings only. no text from pdf objects is included.
587
            The result contains text objects from vector drawings only.
588
            </summary>
589
        </member>
590
        <member name="T:Bytescout.PDFExtractor.OCRCacheMode">
591
            <summary>
592
            OCR results caching behavior. 
593
            Turned off by default (no cache is used).
594
            In "WholePage" caching mode you may save processing time as the SDK will check if need to re-run OCR on the page
595
            or can just pull results from previously cached OCR results.
596
            </summary>
597
        </member>
598
        <member name="F:Bytescout.PDFExtractor.OCRCacheMode.Off">
599
            <summary>
600
             no caching enabled
601
            </summary>
602
        </member>
603
        <member name="F:Bytescout.PDFExtractor.OCRCacheMode.WholePage">
604
            <summary>
605
            Whole page is cached. To use the cache extract with OCR from the whole page.
606
            And then read text data from regions inside page. Text will be taken from the cache for all regions inside the previous page wide region.
607
            </summary>
608
        </member>
609
        <member name="T:Bytescout.PDFExtractor.LineGroupingMode">
610
            <summary>
611
            Sets if lines are not checked to be merged, can be merged by rows, or inside columns
612
            </summary>
613
        </member>
614
        <member name="F:Bytescout.PDFExtractor.LineGroupingMode.None">
615
            <summary>
616
            No lines grouping. Each line is processed as a single row.
617
            </summary>
618
        </member>
619
        <member name="F:Bytescout.PDFExtractor.LineGroupingMode.GroupByRows">
620
            <summary>
621
            Each row is checked against next row to see if these rows can be grouped.
622
            Rows will be grouped only if all cells in the current row are allowed to be grouped with all cells in next row.
623
            </summary>
624
        </member>
625
        <member name="F:Bytescout.PDFExtractor.LineGroupingMode.GroupByColumns">
626
            <summary>
627
            Each cell is checked against cell below in next row to see if the can be grouped.
628
            Cells will be grouped inside the same column even if cells in another columns can't be grouped.
629
            </summary>
630
        </member>
631
        <member name="F:Bytescout.PDFExtractor.LineGroupingMode.JoinOrphanedRows">
632
            <summary>
633
            Join row with a single cell up to previous row if there is no separator between them.
634
            </summary>
635
        </member>
636
        <member name="T:Bytescout.PDFExtractor.ColumnDetectionMode">
637
            <summary>
638
            Defines how columns are detected in the text.
639
            </summary>
640
        </member>
641
        <member name="F:Bytescout.PDFExtractor.ColumnDetectionMode.ContentGroupsAndBorders">
642
            <summary>
643
            (0) Based on content groups and borders (vertical lines).
644
            </summary>
645
        </member>
646
        <member name="F:Bytescout.PDFExtractor.ColumnDetectionMode.ContentGroups">
647
            <summary>
648
            (1) Based on content groups only.
649
            </summary>
650
        </member>
651
        <member name="F:Bytescout.PDFExtractor.ColumnDetectionMode.Borders">
652
            <summary>
653
            (2) Based on borders (vertical lines) only.
654
            </summary>
655
        </member>
656
        <member name="F:Bytescout.PDFExtractor.ColumnDetectionMode.BorderedTables">
657
            <summary>
658
            (3) Detects columns inside bordered tables only. Uses optical recognition so may work slower than other modes.
659
            </summary>
660
        </member>
661
        <member name="T:Bytescout.PDFExtractor.BaseTextExtractor">
662
            <summary>
663
             Defines a base class for text-related PDF extractors.
664
            </summary>
665
        </member>
666
        <member name="P:Bytescout.PDFExtractor.BaseTextExtractor.XCoordinateToleranceFactor">
667
            <summary>
668
             X coordinate tolerance factor.
669
            </summary>
670
        </member>
671
        <member name="P:Bytescout.PDFExtractor.BaseTextExtractor.YCoordinateToleranceFactor">
672
            <summary>
673
             Y coordinate tolerance factor.
674
            </summary>
675
        </member>
676
        <member name="P:Bytescout.PDFExtractor.BaseTextExtractor.TableXMinIntersectionRequiredInPercents">
677
            <summary>
678
             Structured extraction (CSV, XML, XLS, StructuredExtractor, TextExtractor with PreserveFormatting = true)
679
             This option controls how much % of the cell's rectangle should intersect (by X coordinate axis) with previous cell to treat both cells belonging to the same column.
680
            </summary>
681
        </member>
682
        <member name="P:Bytescout.PDFExtractor.BaseTextExtractor.TableYMinIntersectionRequiredInPercents">
683
            <summary>
684
             Y coordinate tolerance factor when working with stuctured (table) data.
685
             This option controls how much % of the cell rectangle (by Y coordinate) should intersect with row to belong to it.
686
            </summary>
687
        </member>
688
        <member name="P:Bytescout.PDFExtractor.BaseTextExtractor.RTLTextAutoDetectionEnabled">
689
            <summary>
690
            Enables RTL (Right-To-Left) text auto detection.
691
            </summary>
692
        </member>
693
        <member name="P:Bytescout.PDFExtractor.BaseTextExtractor.ExtractInvisibleText">
694
            <summary>
695
            Gets or sets a value indicating whether to extract invisible text from PDF document.
696
            </summary>
697
            <value>
698
                <c>true</c> if extract invisible text; otherwise, <c>false</c>.
699
            </value>
700
        </member>
701
        <member name="P:Bytescout.PDFExtractor.BaseTextExtractor.ExtractShadowLikeText">
702
            <summary>
703
            Gets or sets a value indicating whether to include characters used to create "shadow" effect (when the same character appears with some offset) from PDF document.
704
            True by default (includes all encoded characters disregarding their real appearance).
705
            </summary>
706
            <value>
707
                <c>true</c> if extract shadow like characters in text; otherwise, <c>false</c>.
708
            </value>
709
        </member>
710
        <member name="P:Bytescout.PDFExtractor.BaseTextExtractor.ExtractAnnotations">
711
            <summary>
712
            Gets or sets a value indicating whether to extract text from annotation objects. Default is <c>true</c>.
713
            </summary>
714
            <value>
715
                <c>true</c> if extract annotations; otherwise, <c>false</c>.
716
            </value>
717
        </member>
718
        <member name="P:Bytescout.PDFExtractor.BaseTextExtractor.Unwrap">
719
            <summary>
720
            Gets or sets a value indicating whether to unwrap lines into single lines or not (especially could be useful in the column layout mode - see ExtractColumnByColumn property). Default is False.
721
            </summary>
722
            <remarks>Unwrapping works only when the formatting keeping is disabled (PreserveFormattingOnTextExtraction property is set to False).</remarks>
... 이 차이점은 표시할 수 있는 최대 줄수를 초과해서 이 차이점은 잘렸습니다.

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)