프로젝트

일반

사용자정보

개정판 f1f822e9

IDf1f822e9f92e5aee7771ced9ff1123813c8a29b2
상위 c095f3cb
하위 3abe8d4e

김태성이(가) 일년 이상 전에 추가함

issue #00000 svg 기능 수정

Change-Id: Ic1575964db1f861ca637c7073dfa382fee4bbcd4

차이점 보기:

KCOM/Common/Converter/SvgImageConverter.cs
1
using Svg2Xaml;
1
using SharpVectors.Converters;
2
using SharpVectors.Dom.Utils;
2 3
using System;
3 4
using System.Collections.Generic;
5
using System.ComponentModel;
4 6
using System.Globalization;
7
using System.IO;
5 8
using System.Linq;
6 9
using System.Text;
7 10
using System.Threading.Tasks;
8 11
using System.Windows.Controls;
9 12
using System.Windows.Data;
13
using System.Windows.Markup;
10 14
using System.Windows.Media;
11 15
using System.Windows.Media.Imaging;
12 16

  
13 17
namespace KCOM.Common.Converter
14 18
{
15
    class SvgImageConverter : IValueConverter
19
    public class SvgImageConverter : SvgImageBase, IValueConverter
16 20
    {
21
        #region Private Fields
22

  
23
        private Uri _baseUri;
24
        private readonly UriTypeConverter _uriConverter;
25

  
26
        #endregion
27

  
28
        public SvgImageConverter()
29
        {
30
            _uriConverter = new UriTypeConverter();
31
        }
17 32

  
18 33
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
19 34
        {
20
            if(value == null)
35
            try
21 36
            {
22
                return null;
23
            }
37
                if (string.IsNullOrWhiteSpace(_appName))
38
                {
39
                    if (this.IsDesignMode() || LicenseManager.UsageMode == LicenseUsageMode.Designtime)
40
                    {
41
                        this.GetAppName();
42
                    }
43
                }
24 44

  
25
            //var uri = string.Format("pack://application:,,,/images/{0}{1}.png", values); // for example
26
            var uri = value.ToString();
45
                Uri inputUri = null;
46
                if (parameter != null)
47
                {
48
                    inputUri = this.ResolveUri(parameter.ToString());
49
                }
50
                else if (value != null)
51
                {
52
                    inputUri = _uriConverter.ConvertFrom(value) as Uri;
53
                    if (inputUri == null)
54
                    {
55
                        inputUri = this.ResolveUri(value.ToString());
56
                    }
57
                    else if (!inputUri.IsAbsoluteUri)
58
                    {
59
                        inputUri = this.ResolveUri(value.ToString());
60
                    }
61
                }
27 62

  
28
            Image img = new Image();
29
            if (uri.Contains(".svg"))
30
            {
31
                byte[] imageData = null;
32
                DrawingImage image = null;
33
                using (System.Net.WebClient web = new System.Net.WebClient())
63
                if (inputUri == null)
34 64
                {
35
                    imageData = web.DownloadData(new Uri(uri));
36
                    System.IO.Stream stream = new System.IO.MemoryStream(imageData);
37
                    image = SvgReader.Load(stream);
65
                    return null;
66
                }
67
                var svgSource = inputUri.IsAbsoluteUri ? inputUri : new Uri(_baseUri, inputUri);
68

  
69
                if (svgSource.ToString().EndsWith(".svg"))
70
                {
71
                    return this.GetImage(svgSource);
72
                }
73
                else
74
                {
75
                    return new BitmapImage(new Uri(value.ToString()));
38 76
                }
39
                img.Source = image;
40 77

  
41 78
            }
42
            else
79
            catch
43 80
            {
44
                img.Source = new BitmapImage(new Uri(uri));
81
                //throw; #82
45 82
            }
46

  
47
            //return new BitmapImage(new Uri(uri));
48
            return img.Source;
83
            return null;
49 84
        }
50 85

  
51 86
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
52 87
        {
53 88
            throw new NotImplementedException();
54 89
        }
90

  
91
        public override object ProvideValue(IServiceProvider serviceProvider)
92
        {
93
            var uriContext = serviceProvider.GetService(typeof(IUriContext)) as IUriContext;
94
            if (uriContext != null)
95
            {
96
                _baseUri = uriContext.BaseUri;
97
            }
98

  
99
            return this;
100
        }
101

  
102

  
103
        #region Private Methods
104

  
105
        /// <summary>
106
        /// Converts the SVG source file to <see cref="Uri"/>
107
        /// </summary>
108
        /// <param name="inputParameter">
109
        /// Object that can provide services for the markup extension.
110
        /// </param>
111
        /// <returns>
112
        /// Returns the valid <see cref="Uri"/> of the SVG source path if
113
        /// successful; otherwise, it returns <see langword="null"/>.
114
        /// </returns>
115
        private Uri ResolveUri(string inputParameter)
116
        {
117
            if (string.IsNullOrWhiteSpace(inputParameter))
118
            {
119
                return null;
120
            }
121
            if (string.IsNullOrWhiteSpace(_appName))
122
            {
123
                this.GetAppName();
124
            }
125
            var comparer = StringComparison.OrdinalIgnoreCase;
126

  
127
            Uri svgSource;
128
            if (Uri.TryCreate(inputParameter, UriKind.RelativeOrAbsolute, out svgSource))
129
            {
130
                if (svgSource.IsAbsoluteUri)
131
                {
132
                    return svgSource;
133
                }
134
                // Try getting a local file in the same directory....
135
                string svgPath = inputParameter;
136
                if (inputParameter[0] == '\\' || inputParameter[0] == '/')
137
                {
138
                    svgPath = inputParameter.Substring(1);
139
                }
140
                svgPath = svgPath.Replace('/', '\\');
141

  
142
                var assembly = this.GetExecutingAssembly();
143
                if (assembly != null)
144
                {
145
                    string localFile = PathUtils.Combine(assembly, svgPath);
146

  
147
                    if (File.Exists(localFile))
148
                    {
149
                        return new Uri(localFile);
150
                    }
151
                }
152

  
153
                // Try getting it as resource file...
154
                var inputUri = _uriConverter.ConvertFrom(inputParameter) as Uri;
155
                if (inputUri != null)
156
                {
157
                    if (inputUri.IsAbsoluteUri)
158
                    {
159
                        return inputUri;
160
                    }
161
                    if (_baseUri != null)
162
                    {
163
                        var validUri = new Uri(_baseUri, inputUri);
164
                        if (validUri.IsAbsoluteUri)
165
                        {
166
                            if (validUri.IsFile && File.Exists(validUri.LocalPath))
167
                            {
168
                                return validUri;
169
                            }
170
                        }
171
                    }
172
                }
173

  
174
                string asmName = _appName;
175
                if (string.IsNullOrWhiteSpace(asmName) && assembly != null)
176
                {
177
                    // It should not be the SharpVectors.Converters.Wpf.dll, which contains this extension...
178
                    string tempName = assembly.GetName().Name;
179
                    if (!string.Equals("SharpVectors.Converters.Wpf", tempName, comparer)
180
                        && !string.Equals("WpfSurface", tempName, comparer))
181
                    {
182
                        asmName = tempName;
183
                    }
184
                }
185

  
186
                svgPath = inputParameter;
187
                if (inputParameter.StartsWith("/", comparer))
188
                {
189
                    svgPath = svgPath.TrimStart('/');
190
                }
191

  
192
                // A little hack to display preview in design mode
193
                if (this.IsDesignMode() && !string.IsNullOrWhiteSpace(_appName))
194
                {
195
                    //string uriDesign = string.Format("/{0};component/{1}", _appName, svgPath);
196
                    //return new Uri(uriDesign, UriKind.Relative);
197

  
198
                    // The relative path is not working with the Converter...
199
                    string uriDesign = string.Format("pack://application:,,,/{0};component/{1}",
200
                        _appName, svgPath);
201

  
202
                    return new Uri(uriDesign);
203
                }
204

  
205
                string uriString = string.Format("pack://application:,,,/{0};component/{1}",
206
                    asmName, svgPath);
207

  
208
                return new Uri(uriString);
209
            }
210

  
211
            return null;
212
        }
213

  
214
        #endregion
55 215
    }
56 216
}
KCOM/Controls/Symbol.xaml
1
<UserControl x:Class="KCOM.Controls.Symbol"
2
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
5
             xmlns:common="clr-namespace:KCOM.Common"
6
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
7
             xmlns:WrapPanel ="clr-namespace:KCOM.WrapPanel"
8
             xmlns:local="clr-namespace:KCOM.Controls"
9
              xmlns:ZoomAndPan="clr-namespace:ZoomAndPan;assembly=ZoomAndPan"
10
      	     xmlns:telerikDragDrop="clr-namespace:Telerik.Windows.DragDrop;assembly=Telerik.Windows.Controls"
11
             	 xmlns:dragDrop="clr-namespace:Telerik.Windows.Controls.DragDrop;assembly=Telerik.Windows.Controls"
12
             xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
13
             xmlns:converter="clr-namespace:KCOM.Common.Converter"
14
             xmlns:Behaviors="clr-namespace:KCOM.Behaviors"
15
             mc:Ignorable="d" Background="#f5f5f5"
16
             d:DesignHeight="900" d:DesignWidth="300">
1
<UserControl
2
    x:Class="KCOM.Controls.Symbol"
3
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
4
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5
    xmlns:Behaviors="clr-namespace:KCOM.Behaviors"
6
    xmlns:WrapPanel="[WrapPanel ]clr-namespace:KCOM.WrapPanel"
7
    xmlns:ZoomAndPan="clr-namespace:ZoomAndPan;assembly=ZoomAndPan"
8
    xmlns:common="clr-namespace:KCOM.Common"
9
    xmlns:converter="clr-namespace:KCOM.Common.Converter"
10
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
11
    xmlns:dragDrop="clr-namespace:Telerik.Windows.Controls.DragDrop;assembly=Telerik.Windows.Controls"
12
    xmlns:local="clr-namespace:KCOM.Controls"
13
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
14
    xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
15
    xmlns:telerikDragDrop="clr-namespace:Telerik.Windows.DragDrop;assembly=Telerik.Windows.Controls"
16
    d:DesignHeight="900"
17
    d:DesignWidth="300"
18
    Background="#f5f5f5"
19
    mc:Ignorable="d">
17 20
    <UserControl.Resources>
18
        <converter:SvgImageConverter x:Key="SvgImageConverter"/>
19
        <Style x:Key="CustomDragVisualStyle2" TargetType="telerik:DragVisual" BasedOn="{StaticResource DragVisualStyle}">
21
        <converter:SvgImageConverter x:Key="SvgImageConverter" />
22
        <Style
23
            x:Key="CustomDragVisualStyle2"
24
            BasedOn="{StaticResource DragVisualStyle}"
25
            TargetType="telerik:DragVisual">
20 26
            <Setter Property="Background" Value="Transparent" />
21 27
            <Setter Property="BorderThickness" Value="0" />
22
            <Setter Property="Margin"  Value="0" />
23
            <Setter Property="Padding"  Value="0" />
28
            <Setter Property="Margin" Value="0" />
29
            <Setter Property="Padding" Value="0" />
24 30
        </Style>
25
        <Style TargetType="telerik:RadListBoxItem" BasedOn="{StaticResource RadListBoxItemStyle}">
26
            <Setter Property="telerik:DragDropManager.AllowCapturedDrag" Value="True"/>
31
        <Style BasedOn="{StaticResource RadListBoxItemStyle}" TargetType="telerik:RadListBoxItem">
32
            <Setter Property="telerik:DragDropManager.AllowCapturedDrag" Value="True" />
27 33
            <!--<Setter Property="telerik:TouchManager.DragStartTrigger" Value="TapHoldAndMove"/>-->
28 34
        </Style>
29 35
        <DataTemplate x:Key="SymbolTemplate_Private">
30
            <StackPanel MouseLeftButtonDown="Move_Symbol" AllowDrop="False" MouseLeave="StackPanel_MouseLeave" MouseUp="StackPanel_MouseUp" ToolTipService.ToolTip="{Binding Name}">
36
            <StackPanel
37
                AllowDrop="False"
38
                MouseLeave="StackPanel_MouseLeave"
39
                MouseLeftButtonDown="Move_Symbol"
40
                MouseUp="StackPanel_MouseUp"
41
                ToolTipService.ToolTip="{Binding Name}">
31 42
                <Grid>
32 43
                    <StackPanel>
33 44
                        <!--<Border Background="#FF1FA3EB">-->
34 45
                        <Border Background="#FF2A579A">
35
                            <TextBox MaxWidth="200"
36
                                    Background="#FF2A579A"
37
                                    HorizontalAlignment="Center"
38
                                    VerticalAlignment="Center"
39
                                    Foreground="White"
40
                                    Text="{Binding Name}" 
41
                                    x:Name="symbolName"          
42
                                    BorderBrush="#FF2A579A"
43
                                    KeyDown="OnKeyDownHandler"/>
46
                            <TextBox
47
                                x:Name="symbolName"
48
                                MaxWidth="200"
49
                                HorizontalAlignment="Center"
50
                                VerticalAlignment="Center"
51
                                Background="#FF2A579A"
52
                                BorderBrush="#FF2A579A"
53
                                Foreground="White"
54
                                KeyDown="OnKeyDownHandler"
55
                                Text="{Binding Name}" />
44 56
                        </Border>
45
                        <Image Width="200"
57
                        <Image
58
                            x:Name="symbolImage"
59
                            Width="200"
46 60
                            Height="64"
47 61
                            Margin="3"
48 62
                            HorizontalAlignment="Center"
49
                               Source="{Binding ImageUri,Converter={StaticResource SvgImageConverter},UpdateSourceTrigger=PropertyChanged}"
50
                            x:Name="symbolImage"/>
63
                            Source="{Binding ImageUri, Converter={StaticResource SvgImageConverter}, UpdateSourceTrigger=PropertyChanged}" />
51 64
                    </StackPanel>
52
                    <Rectangle Opacity="0.7"
53
                            Stroke="#ff6c6d6d"
54
                            StrokeThickness="1" />
65
                    <Rectangle
66
                        Opacity="0.7"
67
                        Stroke="#ff6c6d6d"
68
                        StrokeThickness="1" />
55 69
                </Grid>
56 70
            </StackPanel>
57 71
        </DataTemplate>
58 72
    </UserControl.Resources>
59
    <Grid  Margin="10">
60
        <telerik:RadTabControl BorderThickness="0" x:Name="RadTab" telerik:StyleManager.Theme="Office2016"  HeaderBackground="#f5f5f5" FontSize="10" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch"
61
                               ScrollViewer.HorizontalScrollBarVisibility ="Disabled" SelectedIndex="0" PreviewSelectionChanged="RadTabControl_PreviewSelectionChanged">
73
    <Grid Margin="10">
74
        <telerik:RadTabControl
75
            x:Name="RadTab"
76
            HorizontalAlignment="Stretch"
77
            HorizontalContentAlignment="Stretch"
78
            telerik:StyleManager.Theme="Office2016"
79
            BorderThickness="0"
80
            FontSize="10"
81
            HeaderBackground="#f5f5f5"
82
            PreviewSelectionChanged="RadTabControl_PreviewSelectionChanged"
83
            ScrollViewer.HorizontalScrollBarVisibility="Disabled"
84
            SelectedIndex="0">
62 85

  
63
            <telerik:RadTabItem Header="Private" FontSize="10" FontWeight="Bold" HeaderForeground="{DynamicResource KCOMColor_MarkerBrush}">
86
            <telerik:RadTabItem
87
                FontSize="10"
88
                FontWeight="Bold"
89
                Header="Private"
90
                HeaderForeground="{DynamicResource KCOMColor_MarkerBrush}">
64 91
                <Grid>
65 92
                    <Grid.RowDefinitions>
66
                        <RowDefinition Height="Auto"/>
67
                        <RowDefinition Height="Auto"/>
68
                        <RowDefinition Height="*"/>
93
                        <RowDefinition Height="Auto" />
94
                        <RowDefinition Height="Auto" />
95
                        <RowDefinition Height="*" />
69 96
                    </Grid.RowDefinitions>
70 97

  
71 98
                    <StackPanel Grid.Row="0" Orientation="Vertical">
72 99
                        <Grid Margin="0,10">
73 100
                            <Grid.ColumnDefinitions>
74
                                <ColumnDefinition Width="3*"/>
75
                                <ColumnDefinition Width="3*"/>
76
                                <ColumnDefinition Width="3*"/>
77
                                <ColumnDefinition Width="3*"/>
101
                                <ColumnDefinition Width="3*" />
102
                                <ColumnDefinition Width="3*" />
103
                                <ColumnDefinition Width="3*" />
104
                                <ColumnDefinition Width="3*" />
78 105
                            </Grid.ColumnDefinitions>
79
                            <Button Content="Place"     Grid.Column="0" Click="Place_Symbol"  Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>
80
                            <Button Content="Capture"  Grid.Column="1" Click="Image_Place_Register"  Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>
81
                            <Button Content="Register"  Grid.Column="2" Click="Create_Symbol" Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>
106
                            <Button
107
                                Grid.Column="0"
108
                                Margin="5,0,0,0"
109
                                Padding="5"
110
                                Background="#3d3d3d"
111
                                Click="Place_Symbol"
112
                                Content="Place"
113
                                FontWeight="Normal"
114
                                Foreground="White" />
115
                            <Button
116
                                Grid.Column="1"
117
                                Margin="5,0,0,0"
118
                                Padding="5"
119
                                Background="#3d3d3d"
120
                                Click="Image_Place_Register"
121
                                Content="Capture"
122
                                FontWeight="Normal"
123
                                Foreground="White" />
124
                            <Button
125
                                Grid.Column="2"
126
                                Margin="5,0,0,0"
127
                                Padding="5"
128
                                Background="#3d3d3d"
129
                                Click="Create_Symbol"
130
                                Content="Register"
131
                                FontWeight="Normal"
132
                                Foreground="White" />
82 133
                            <!-- <Button Content="Rename"    Grid.Column="2" Click="Rename_Symbol" Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/> -->
83
                            
84
                            <Button Content="Remove"    Grid.Column="3" Click="Remove_Symbol" Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>
134

  
135
                            <Button
136
                                Grid.Column="3"
137
                                Margin="5,0,0,0"
138
                                Padding="5"
139
                                Background="#3d3d3d"
140
                                Click="Remove_Symbol"
141
                                Content="Remove"
142
                                FontWeight="Normal"
143
                                Foreground="White" />
85 144
                        </Grid>
86 145
                        <Grid Margin="0,0,0,10">
87 146
                            <Grid.ColumnDefinitions>
88
                                <ColumnDefinition Width="*"/>
147
                                <ColumnDefinition Width="*" />
89 148
                            </Grid.ColumnDefinitions>
90
                            <TextBlock Text="[Tip : Double Click]" Grid.Column="0" FontSize="10" VerticalAlignment="Center" HorizontalAlignment="Right"/>
149
                            <TextBlock
150
                                Grid.Column="0"
151
                                HorizontalAlignment="Right"
152
                                VerticalAlignment="Center"
153
                                FontSize="10"
154
                                Text="[Tip : Double Click]" />
91 155
                        </Grid>
92 156
                    </StackPanel>
93
                    <ScrollViewer x:Name="ScView" Grid.Row="2" >
94
                        <telerik:RadListBox x:Name="lstSymbolPrivate" Background="#f5f5f5" FontWeight="Normal"
95
                                 ItemTemplate="{StaticResource SymbolTemplate_Private}" 
96
                                 MouseDown="lstSymbolPrivate_MouseDown" 
97
                                 PreviewMouseUp="lstSymbolPrivate_PreviewMouseUp"
98
                                 MouseLeave="lstSymbolPrivate_MouseLeave" AllowDrop="False"
99
                                 PreviewMouseWheel ="lstSymbolPrivate_PreviewMouseWheel">
157
                    <ScrollViewer x:Name="ScView" Grid.Row="2">
158
                        <telerik:RadListBox
159
                            x:Name="lstSymbolPrivate"
160
                            AllowDrop="False"
161
                            Background="#f5f5f5"
162
                            FontWeight="Normal"
163
                            ItemTemplate="{StaticResource SymbolTemplate_Private}"
164
                            MouseDown="lstSymbolPrivate_MouseDown"
165
                            MouseLeave="lstSymbolPrivate_MouseLeave"
166
                            PreviewMouseUp="lstSymbolPrivate_PreviewMouseUp"
167
                            PreviewMouseWheel="lstSymbolPrivate_PreviewMouseWheel">
100 168
                            <!--<telerik:RadListBox.DragDropBehavior>
101 169
                                <telerik:ListBoxDragDropBehavior AllowReorder="True" />
102 170
                            </telerik:RadListBox.DragDropBehavior>-->
......
106 174
                                        <DataTemplate>
107 175
                                            <Grid Width="80">
108 176
                                                <Image
109
                                            Source="{Binding ImageUri,Converter={StaticResource SvgImageConverter}}"
110
                                            HorizontalAlignment="Left"/>
177
                                                    HorizontalAlignment="Left"
178
                                                    Source="{Binding ImageUri, Converter={StaticResource SvgImageConverter}}"
179
                                                    Stretch="UniformToFill" />
111 180
                                            </Grid>
112 181
                                        </DataTemplate>
113 182
                                    </Behaviors:RadListBoxDragVisualProvider.DraggedItemTemplate>
......
118 187
                </Grid>
119 188
            </telerik:RadTabItem>
120 189

  
121
            <telerik:RadTabItem Header="Public" FontWeight="Bold" FontSize="10" HeaderForeground="{DynamicResource KCOMColor_MarkerBrush}" >
190
            <telerik:RadTabItem
191
                FontSize="10"
192
                FontWeight="Bold"
193
                Header="Public"
194
                HeaderForeground="{DynamicResource KCOMColor_MarkerBrush}">
122 195
                <Grid>
123 196
                    <Grid.RowDefinitions>
124
                        <RowDefinition Height="Auto"/>
125
                        <RowDefinition Height="*"/>
197
                        <RowDefinition Height="Auto" />
198
                        <RowDefinition Height="*" />
126 199
                    </Grid.RowDefinitions>
127 200

  
128 201
                    <StackPanel Grid.Row="0" Orientation="Vertical">
129 202
                        <Grid Margin="0,10">
130 203
                            <Grid.ColumnDefinitions>
131
                                <ColumnDefinition Width="1*"/>
132
                                <ColumnDefinition Width="3*"/>
204
                                <ColumnDefinition Width="1*" />
205
                                <ColumnDefinition Width="3*" />
133 206
                            </Grid.ColumnDefinitions>
134 207

  
135
                            <TextBlock FontWeight="Normal" VerticalAlignment="Center">Department</TextBlock>
136
                            <telerik:RadComboBox FontWeight="Normal" EmptyText="ALL" Grid.Column="1"  HorizontalAlignment="Stretch" Margin="5" DropDownWidth="*" Background="White" BorderBrush="#d6d6d6" x:Name="deptlist"
137
                                                  ClearSelectionButtonVisibility="Visible" ClearSelectionButtonContent="Show All" SelectionChanged="deptlist_SelectionChanged"/>
208
                            <TextBlock VerticalAlignment="Center" FontWeight="Normal">Department</TextBlock>
209
                            <telerik:RadComboBox
210
                                x:Name="deptlist"
211
                                Grid.Column="1"
212
                                Margin="5"
213
                                HorizontalAlignment="Stretch"
214
                                Background="White"
215
                                BorderBrush="#d6d6d6"
216
                                ClearSelectionButtonContent="Show All"
217
                                ClearSelectionButtonVisibility="Visible"
218
                                DropDownWidth="*"
219
                                EmptyText="ALL"
220
                                FontWeight="Normal"
221
                                SelectionChanged="deptlist_SelectionChanged" />
138 222

  
139 223
                        </Grid>
140 224

  
141 225
                        <Grid Margin="0,0">
142 226
                            <Grid.ColumnDefinitions>
143
                                <ColumnDefinition Width="3*"/>
144
                                <ColumnDefinition Width="3*"/>
145
                                <ColumnDefinition Width="3*"/>
146
                                <ColumnDefinition Width="3*"/>
227
                                <ColumnDefinition Width="3*" />
228
                                <ColumnDefinition Width="3*" />
229
                                <ColumnDefinition Width="3*" />
230
                                <ColumnDefinition Width="3*" />
147 231
                            </Grid.ColumnDefinitions>
148
                            <Button Content="Place" Click="Place_Symbol_Public" Grid.Column="0"  Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>
149
                            <Button Content="Capture"  Grid.Column="1" Click="Image_Place_Register"  Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>
150
                            <Button Content="Register" Grid.Column="2" Click="Create_Symbol" Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>                            
232
                            <Button
233
                                Grid.Column="0"
234
                                Margin="5,0,0,0"
235
                                Padding="5"
236
                                Background="#3d3d3d"
237
                                Click="Place_Symbol_Public"
238
                                Content="Place"
239
                                FontWeight="Normal"
240
                                Foreground="White" />
241
                            <Button
242
                                Grid.Column="1"
243
                                Margin="5,0,0,0"
244
                                Padding="5"
245
                                Background="#3d3d3d"
246
                                Click="Image_Place_Register"
247
                                Content="Capture"
248
                                FontWeight="Normal"
249
                                Foreground="White" />
250
                            <Button
251
                                Grid.Column="2"
252
                                Margin="5,0,0,0"
253
                                Padding="5"
254
                                Background="#3d3d3d"
255
                                Click="Create_Symbol"
256
                                Content="Register"
257
                                FontWeight="Normal"
258
                                Foreground="White" />
151 259
                            <!--<Button Content="Rename" Grid.Column="2" Click="Rename_Symbol_Public" Margin="5,0,0,0" FontWeight="Normal" Padding="5" Background="#3d3d3d" Foreground="White"/>-->
152
                            <Button Content="Remove" Grid.Column="3" Click="Remove_Symbol_Public" Margin="5,0,0,0" FontWeight="Normal" Padding="5"  Background="#3d3d3d" Foreground="White"/>
260
                            <Button
261
                                Grid.Column="3"
262
                                Margin="5,0,0,0"
263
                                Padding="5"
264
                                Background="#3d3d3d"
265
                                Click="Remove_Symbol_Public"
266
                                Content="Remove"
267
                                FontWeight="Normal"
268
                                Foreground="White" />
153 269
                        </Grid>
154 270
                        <Grid Margin="0,10">
155 271
                            <Grid.ColumnDefinitions>
156
                                <ColumnDefinition Width="*"/>
272
                                <ColumnDefinition Width="*" />
157 273
                            </Grid.ColumnDefinitions>
158
                            <TextBlock Text="[Tip : Double Click]" Grid.Column="0" FontSize="10" VerticalAlignment="Center" HorizontalAlignment="Right"/>
274
                            <TextBlock
275
                                Grid.Column="0"
276
                                HorizontalAlignment="Right"
277
                                VerticalAlignment="Center"
278
                                FontSize="10"
279
                                Text="[Tip : Double Click]" />
159 280
                        </Grid>
160 281
                    </StackPanel>
161
                    <ScrollViewer x:Name="ScView_Public" Grid.Row="2" >
162
                        <telerik:RadListBox x:Name="lstSymbolPublic" Background="#f5f5f5" FontWeight="Normal"
163
                                 ItemTemplate="{StaticResource SymbolTemplate_Private}"   AllowDrop="False"
164
                                 MouseDown="lstSymbolPrivate_MouseDown"
165
                                 PreviewMouseUp="lstSymbolPrivate_PreviewMouseUp"
166
                                 MouseLeave="lstSymbolPrivate_MouseLeave"
167
                                 PreviewMouseWheel ="lstSymbolPublic_PreviewMouseWheel">
282
                    <ScrollViewer x:Name="ScView_Public" Grid.Row="2">
283
                        <telerik:RadListBox
284
                            x:Name="lstSymbolPublic"
285
                            AllowDrop="False"
286
                            Background="#f5f5f5"
287
                            FontWeight="Normal"
288
                            ItemTemplate="{StaticResource SymbolTemplate_Private}"
289
                            MouseDown="lstSymbolPrivate_MouseDown"
290
                            MouseLeave="lstSymbolPrivate_MouseLeave"
291
                            PreviewMouseUp="lstSymbolPrivate_PreviewMouseUp"
292
                            PreviewMouseWheel="lstSymbolPublic_PreviewMouseWheel">
168 293
                            <telerik:RadListBox.DragDropBehavior>
169 294
                                <telerik:ListBoxDragDropBehavior AllowReorder="True" />
170 295
                            </telerik:RadListBox.DragDropBehavior>
......
173 298
                                    <Behaviors:RadListBoxDragVisualProvider.DraggedItemTemplate>
174 299
                                        <DataTemplate>
175 300
                                            <Grid>
176
                                                <Image Width="80" x:Name="SymbolImage" Source="{Binding ImageUri,Converter={StaticResource SvgImageConverter}}"/>
301
                                                <Image
302
                                                    x:Name="SymbolImage"
303
                                                    Width="80"
304
                                                    Source="{Binding ImageUri, Converter={StaticResource SvgImageConverter}}"
305
                                                    Stretch="Fill" />
177 306
                                            </Grid>
178 307
                                        </DataTemplate>
179 308
                                    </Behaviors:RadListBoxDragVisualProvider.DraggedItemTemplate>
KCOM/Controls/Symbol.xaml.cs
5 5
using KCOMDataModel.DataModel;
6 6
using MarkupToPDF.Common;
7 7
using MarkupToPDF.Controls.Parsing;
8
using Svg2Xaml;
9 8
using System;
10 9
using System.Collections.Generic;
11 10
using System.ComponentModel;
......
301 300
                        byte[] Img_byte = fs.ToArray();
302 301

  
303 302
                        kr.co.devdoftech.cloud.FileUpload fileUploader = App.FileUploader;
304
                        filename = fileUploader.Run(App.ViewInfo.ProjectNO, Common.ViewerDataModel.Instance.SystemMain.dzMainMenu._DocItem.DOCUMENT_NO, App.ViewInfo.UserID, Commons.shortGuid() + ".png", Img_byte);
303
                        filename = fileUploader.RunSymbol(App.ViewInfo.ProjectNO, Common.ViewerDataModel.Instance.SystemMain.dzMainMenu._DocItem.DOCUMENT_NO, App.ViewInfo.UserID, Commons.shortGuid() + ".png", Img_byte);
305 304
                        Check_Uri.UriCheck(filename);
306 305
                        if (RadTab.SelectedIndex == 0)
307 306
                        {
......
579 578
                    //img.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri(Data_));
580 579
                    if (Data_.Contains(".svg"))
581 580
                    {
582
                        byte[] imageData = null;
583
                        DrawingImage image = null;
584
                        using (System.Net.WebClient web = new System.Net.WebClient())
585
                        {
586
                            imageData = web.DownloadData(new Uri(Data_));
587
                            System.IO.Stream stream = new System.IO.MemoryStream(imageData);
588
                            image = SvgReader.Load(stream);
589
                        }
590
                        img.Source = image;
581
                        SharpVectors.Converters.SvgImageExtension svgImage = new SharpVectors.Converters.SvgImageExtension(Data_);
582
                        img.Source = (DrawingImage)svgImage.ProvideValue(null);
591 583
                    }
592 584
                    else
593 585
                    {
KCOM/Events/Event_KeyEvent.cs
2 2
using KCOM.Events;
3 3
using MarkupToPDF.Common;
4 4
using MarkupToPDF.Controls.Parsing;
5
using Svg2Xaml;
6 5
using System;
7 6
using System.Collections.Generic;
8 7
using System.ComponentModel;
KCOM/Events/Implementation/TopMenuEvent.cs
4 4
using KCOM.Events;
5 5
using KCOMDataModel.DataModel;
6 6
using MarkupToPDF.Common;
7
using Svg2Xaml;
8 7
using System;
9 8
using System.Collections.Generic;
10 9
using System.Linq;
......
3176 3175
                    Image img = new Image();
3177 3176
                    if (filename.Contains(".svg"))
3178 3177
                    {
3179
                        byte[] imageData = null;
3180
                        DrawingImage image = null;
3181
                        using (System.Net.WebClient web = new System.Net.WebClient())
3182
                        {
3183
                            imageData = web.DownloadData(new Uri(filename));
3184
                            System.IO.Stream stream = new System.IO.MemoryStream(imageData);
3185
                            image = SvgReader.Load(stream);
3186
                        }
3187
                        img.Source = image;
3178
                        SharpVectors.Converters.SvgImageExtension svgImage = new SharpVectors.Converters.SvgImageExtension(filename);
3179
                        img.Source = (DrawingImage)svgImage.ProvideValue(null);
3188 3180
                    }
3189 3181
                    else
3190 3182
                    {
KCOM/Events/PasteCommand.cs
7 7
using Newtonsoft.Json.Converters;
8 8
using Newtonsoft.Json.Linq;
9 9
using Newtonsoft.Json.Serialization;
10
using Svg2Xaml;
11 10
using System;
12 11
using System.Collections;
13 12
using System.Collections.Generic;
......
174 173
                    System.Windows.Controls.Image img = new System.Windows.Controls.Image();
175 174
                    if (filename.Contains(".svg"))
176 175
                    {
177
                        byte[] imageData = null;
178
                        DrawingImage image = null;
179
                        using (System.Net.WebClient web = new System.Net.WebClient())
180
                        {
181
                            imageData = web.DownloadData(new Uri(filename));
182
                            System.IO.Stream stream = new System.IO.MemoryStream(imageData);
183
                            image = SvgReader.Load(stream);
184
                        }
185
                        img.Source = image;
176
                        SharpVectors.Converters.SvgImageExtension svgImage = new SharpVectors.Converters.SvgImageExtension(filename);
177
                        img.Source = (DrawingImage)svgImage.ProvideValue(null);
186 178
                    }
187 179
                    else
188 180
                    {
KCOM/KCOM.csproj
438 438
    <Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
439 439
      <HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
440 440
    </Reference>
441
    <Reference Include="Svg2Xaml, Version=0.3.0.5, Culture=neutral, processorArchitecture=MSIL">
442
      <HintPath>..\packages\Svg2Xaml.0.3.0.5\lib\net40\Svg2Xaml.dll</HintPath>
441
    <Reference Include="SharpVectors.Converters.Wpf, Version=1.8.1.0, Culture=neutral, PublicKeyToken=b532964b8548be77, processorArchitecture=MSIL">
442
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Converters.Wpf.dll</HintPath>
443
    </Reference>
444
    <Reference Include="SharpVectors.Core, Version=1.8.1.0, Culture=neutral, PublicKeyToken=7407205e337c98ef, processorArchitecture=MSIL">
445
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Core.dll</HintPath>
446
    </Reference>
447
    <Reference Include="SharpVectors.Css, Version=1.8.1.0, Culture=neutral, PublicKeyToken=7a46e3f532fdb787, processorArchitecture=MSIL">
448
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Css.dll</HintPath>
449
    </Reference>
450
    <Reference Include="SharpVectors.Dom, Version=1.8.1.0, Culture=neutral, PublicKeyToken=517340b6277b1a7a, processorArchitecture=MSIL">
451
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Dom.dll</HintPath>
452
    </Reference>
453
    <Reference Include="SharpVectors.Model, Version=1.8.1.0, Culture=neutral, PublicKeyToken=2236cfc76b505845, processorArchitecture=MSIL">
454
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Model.dll</HintPath>
455
    </Reference>
456
    <Reference Include="SharpVectors.Rendering.Wpf, Version=1.8.1.0, Culture=neutral, PublicKeyToken=d0902381100df30e, processorArchitecture=MSIL">
457
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Rendering.Wpf.dll</HintPath>
458
    </Reference>
459
    <Reference Include="SharpVectors.Runtime.Wpf, Version=1.8.1.0, Culture=neutral, PublicKeyToken=d16e717f0a981fb9, processorArchitecture=MSIL">
460
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Runtime.Wpf.dll</HintPath>
443 461
    </Reference>
444 462
    <Reference Include="System" />
445 463
    <Reference Include="System.ComponentModel.DataAnnotations" />
......
1210 1228
      <CachedAppSettingsObjectName>Settings</CachedAppSettingsObjectName>
1211 1229
      <CachedSettingsPropName>KCOM_Get_FinalImage_Get_PdfImage</CachedSettingsPropName>
1212 1230
    </WebReferenceUrl>
1213
    <WebReferenceUrl Include="https://localhost:44301/ImageUpload/FileUpload.asmx">
1231
    <WebReferenceUrl Include="http://localhost:44301/ImageUpload/FileUpload.asmx">
1214 1232
      <UrlBehavior>Dynamic</UrlBehavior>
1215 1233
      <RelPath>Web References\kr.co.devdoftech.cloud\</RelPath>
1216
      <UpdateFromURL>https://localhost:44301/ImageUpload/FileUpload.asmx</UpdateFromURL>
1234
      <UpdateFromURL>http://localhost:44301/ImageUpload/FileUpload.asmx</UpdateFromURL>
1217 1235
      <ServiceLocationURL>
1218 1236
      </ServiceLocationURL>
1219 1237
      <CachedDynamicPropName>
KCOM/Properties/AssemblyInfo.cs
51 51
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로
52 52
// 지정되도록 할 수 있습니다.
53 53
// [assembly: AssemblyVersion("1.0.*")]
54
[assembly: AssemblyVersion("5.3.1.0")]
55
[assembly: AssemblyFileVersion("5.3.1.0")]
54
[assembly: AssemblyVersion("5.4.0.0")]
55
[assembly: AssemblyFileVersion("5.4.0.0")]
56 56
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log.config", Watch = true)]
KCOM/Properties/Settings.Designer.cs
12 12
    
13 13
    
14 14
    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
15
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
16 16
    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 17
        
18 18
        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
......
38 38
        [global::System.Configuration.ApplicationScopedSettingAttribute()]
39 39
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
40 40
        [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.WebServiceUrl)]
41
        [global::System.Configuration.DefaultSettingValueAttribute("https://localhost:44301/ImageUpload/FileUpload.asmx")]
41
        [global::System.Configuration.DefaultSettingValueAttribute("http://localhost:44301/ImageUpload/FileUpload.asmx")]
42 42
        public string KCOM_kr_co_devdoftech_cloud_FileUpload {
43 43
            get {
44 44
                return ((string)(this["KCOM_kr_co_devdoftech_cloud_FileUpload"]));
KCOM/Properties/Settings.settings
6 6
      <Value Profile="(Default)">http://www.devdoftech.co.kr:5979</Value>
7 7
    </Setting>
8 8
    <Setting Name="KCOM_kr_co_devdoftech_cloud_FileUpload" Type="(Web Service URL)" Scope="Application">
9
      <Value Profile="(Default)">https://localhost:44301/ImageUpload/FileUpload.asmx</Value>
9
      <Value Profile="(Default)">http://localhost:44301/ImageUpload/FileUpload.asmx</Value>
10 10
    </Setting>
11 11
    <Setting Name="KCOM_Get_FinalImage_Get_PdfImage" Type="(Web Service URL)" Scope="Application">
12 12
      <Value Profile="(Default)">http://cloud.devdoftech.co.kr:5977/Get_FInalImage/Get_PdfImage.asmx</Value>
KCOM/Views/MainMenu.xaml.cs
12 12
using MarkupToPDF.Controls.Polygon;
13 13
using MarkupToPDF.Controls.Shape;
14 14
using MarkupToPDF.Controls.Text;
15
using Svg2Xaml;
16 15
using System;
17 16
using System.Collections.Generic;
18 17
using System.Diagnostics;
......
565 564
                    ViewerDataModel.Instance.SystemMain.dzMainMenu.searchPanel_Instance.SetSerachPDFFile(instnaceFile);
566 565
                    ViewerDataModel.Instance.IsDownloadOriginal = true;
567 566
                    (sender as IIpc.WcfServer).IpcFileDownloadReceived -= WcfServer_IpcFileDownloadReceived;
568
                    //(sender as IIpc.WcfServer).Stop();
567
                    (sender as IIpc.WcfServer).Stop();
569 568
                }
570 569
            }
571 570
            catch (Exception ex)
......
2634 2633
                    //img.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri(Data_));
2635 2634
                    if (Data_.Contains(".svg"))
2636 2635
                    {
2637
                        byte[] imageData = null;
2638
                        DrawingImage image = null;
2639
                        using (System.Net.WebClient web = new System.Net.WebClient())
2640
                        {
2641
                            imageData = web.DownloadData(new Uri(Data_));
2642
                            System.IO.Stream stream = new System.IO.MemoryStream(imageData);
2643
                            image = SvgReader.Load(stream);
2644
                        }
2645
                        img.Source = image;
2636
                        SharpVectors.Converters.SvgImageExtension svgImage = new SharpVectors.Converters.SvgImageExtension(Data_);
2637
                        img.Source = (DrawingImage)svgImage.ProvideValue(null);
2646 2638
                    }
2647 2639
                    else
2648 2640
                    {
......
3758 3750
                                        Image img = new Image();
3759 3751
                                        if (filename.Contains(".svg"))
3760 3752
                                        {
3761
                                            byte[] imageData = null;
3762
                                            DrawingImage image = null;
3763
                                            using (System.Net.WebClient web = new System.Net.WebClient())
3764
                                            {
3765
                                                imageData = web.DownloadData(uri.Uri);
3766
                                                System.IO.Stream stream = new System.IO.MemoryStream(imageData);
3767
                                                image = SvgReader.Load(stream);
3768
                                            }
3769
                                            img.Source = image;
3753
                                            SharpVectors.Converters.SvgImageExtension svgImage = new SharpVectors.Converters.SvgImageExtension(uri.Uri.ToString());
3754
                                            img.Source = (DrawingImage)svgImage.ProvideValue(null);
3770 3755
                                        }
3771 3756
                                        else
3772 3757
                                        {
KCOM/Web References/kr.co.devdoftech.cloud/FileUpload.disco
1 1
<?xml version="1.0" encoding="utf-8"?>
2 2
<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
3
  <contractRef ref="https://localhost:44301/ImageUpload/FileUpload.asmx?wsdl" docRef="https://localhost:44301/ImageUpload/FileUpload.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
4
  <soap address="https://localhost:44301/ImageUpload/FileUpload.asmx" xmlns:q1="http://tempuri.org/" binding="q1:FileUploadSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
5
  <soap address="https://localhost:44301/ImageUpload/FileUpload.asmx" xmlns:q2="http://tempuri.org/" binding="q2:FileUploadSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
3
  <contractRef ref="http://localhost:44301/ImageUpload/FileUpload.asmx?wsdl" docRef="http://localhost:44301/ImageUpload/FileUpload.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
4
  <soap address="http://localhost:44301/ImageUpload/FileUpload.asmx" xmlns:q1="http://tempuri.org/" binding="q1:FileUploadSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
5
  <soap address="http://localhost:44301/ImageUpload/FileUpload.asmx" xmlns:q2="http://tempuri.org/" binding="q2:FileUploadSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
6 6
</discovery>
KCOM/Web References/kr.co.devdoftech.cloud/FileUpload.wsdl
20 20
          </s:sequence>
21 21
        </s:complexType>
22 22
      </s:element>
23
      <s:element name="RunSymbol">
24
        <s:complexType>
25
          <s:sequence>
26
            <s:element minOccurs="0" maxOccurs="1" name="ProjectNo" type="s:string" />
27
            <s:element minOccurs="0" maxOccurs="1" name="VPNo" type="s:string" />
28
            <s:element minOccurs="0" maxOccurs="1" name="UserID" type="s:string" />
29
            <s:element minOccurs="0" maxOccurs="1" name="FileName" type="s:string" />
30
            <s:element minOccurs="0" maxOccurs="1" name="f" type="s:base64Binary" />
31
          </s:sequence>
32
        </s:complexType>
33
      </s:element>
34
      <s:element name="RunSymbolResponse">
35
        <s:complexType>
36
          <s:sequence>
37
            <s:element minOccurs="0" maxOccurs="1" name="RunSymbolResult" type="s:string" />
38
          </s:sequence>
39
        </s:complexType>
40
      </s:element>
41
      <s:element name="ServerMapPathTest">
42
        <s:complexType>
43
          <s:sequence>
44
            <s:element minOccurs="0" maxOccurs="1" name="uri" type="s:string" />
45
          </s:sequence>
46
        </s:complexType>
47
      </s:element>
48
      <s:element name="ServerMapPathTestResponse">
49
        <s:complexType>
50
          <s:sequence>
51
            <s:element minOccurs="0" maxOccurs="1" name="ServerMapPathTestResult" type="s:string" />
52
          </s:sequence>
53
        </s:complexType>
54
      </s:element>
55
      <s:element name="SymbolRegen">
56
        <s:complexType />
57
      </s:element>
58
      <s:element name="SymbolRegenResponse">
59
        <s:complexType>
60
          <s:sequence>
61
            <s:element minOccurs="0" maxOccurs="1" name="SymbolRegenResult" type="s:string" />
62
          </s:sequence>
63
        </s:complexType>
64
      </s:element>
23 65
    </s:schema>
24 66
  </wsdl:types>
25 67
  <wsdl:message name="RunSoapIn">
......
28 70
  <wsdl:message name="RunSoapOut">
29 71
    <wsdl:part name="parameters" element="tns:RunResponse" />
30 72
  </wsdl:message>
73
  <wsdl:message name="RunSymbolSoapIn">
74
    <wsdl:part name="parameters" element="tns:RunSymbol" />
75
  </wsdl:message>
76
  <wsdl:message name="RunSymbolSoapOut">
77
    <wsdl:part name="parameters" element="tns:RunSymbolResponse" />
78
  </wsdl:message>
79
  <wsdl:message name="ServerMapPathTestSoapIn">
80
    <wsdl:part name="parameters" element="tns:ServerMapPathTest" />
81
  </wsdl:message>
82
  <wsdl:message name="ServerMapPathTestSoapOut">
83
    <wsdl:part name="parameters" element="tns:ServerMapPathTestResponse" />
84
  </wsdl:message>
85
  <wsdl:message name="SymbolRegenSoapIn">
86
    <wsdl:part name="parameters" element="tns:SymbolRegen" />
87
  </wsdl:message>
88
  <wsdl:message name="SymbolRegenSoapOut">
89
    <wsdl:part name="parameters" element="tns:SymbolRegenResponse" />
90
  </wsdl:message>
31 91
  <wsdl:portType name="FileUploadSoap">
32 92
    <wsdl:operation name="Run">
33 93
      <wsdl:input message="tns:RunSoapIn" />
34 94
      <wsdl:output message="tns:RunSoapOut" />
35 95
    </wsdl:operation>
96
    <wsdl:operation name="RunSymbol">
97
      <wsdl:input message="tns:RunSymbolSoapIn" />
98
      <wsdl:output message="tns:RunSymbolSoapOut" />
99
    </wsdl:operation>
100
    <wsdl:operation name="ServerMapPathTest">
101
      <wsdl:input message="tns:ServerMapPathTestSoapIn" />
102
      <wsdl:output message="tns:ServerMapPathTestSoapOut" />
103
    </wsdl:operation>
104
    <wsdl:operation name="SymbolRegen">
105
      <wsdl:input message="tns:SymbolRegenSoapIn" />
106
      <wsdl:output message="tns:SymbolRegenSoapOut" />
107
    </wsdl:operation>
36 108
  </wsdl:portType>
37 109
  <wsdl:binding name="FileUploadSoap" type="tns:FileUploadSoap">
38 110
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
......
45 117
        <soap:body use="literal" />
46 118
      </wsdl:output>
47 119
    </wsdl:operation>
120
    <wsdl:operation name="RunSymbol">
121
      <soap:operation soapAction="http://tempuri.org/RunSymbol" style="document" />
122
      <wsdl:input>
123
        <soap:body use="literal" />
124
      </wsdl:input>
125
      <wsdl:output>
126
        <soap:body use="literal" />
127
      </wsdl:output>
128
    </wsdl:operation>
129
    <wsdl:operation name="ServerMapPathTest">
130
      <soap:operation soapAction="http://tempuri.org/ServerMapPathTest" style="document" />
131
      <wsdl:input>
132
        <soap:body use="literal" />
133
      </wsdl:input>
134
      <wsdl:output>
135
        <soap:body use="literal" />
136
      </wsdl:output>
137
    </wsdl:operation>
138
    <wsdl:operation name="SymbolRegen">
139
      <soap:operation soapAction="http://tempuri.org/SymbolRegen" style="document" />
140
      <wsdl:input>
141
        <soap:body use="literal" />
142
      </wsdl:input>
143
      <wsdl:output>
144
        <soap:body use="literal" />
145
      </wsdl:output>
146
    </wsdl:operation>
48 147
  </wsdl:binding>
49 148
  <wsdl:binding name="FileUploadSoap12" type="tns:FileUploadSoap">
50 149
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
......
57 156
        <soap12:body use="literal" />
58 157
      </wsdl:output>
59 158
    </wsdl:operation>
159
    <wsdl:operation name="RunSymbol">
160
      <soap12:operation soapAction="http://tempuri.org/RunSymbol" style="document" />
161
      <wsdl:input>
162
        <soap12:body use="literal" />
163
      </wsdl:input>
164
      <wsdl:output>
165
        <soap12:body use="literal" />
166
      </wsdl:output>
167
    </wsdl:operation>
168
    <wsdl:operation name="ServerMapPathTest">
169
      <soap12:operation soapAction="http://tempuri.org/ServerMapPathTest" style="document" />
170
      <wsdl:input>
171
        <soap12:body use="literal" />
172
      </wsdl:input>
173
      <wsdl:output>
174
        <soap12:body use="literal" />
175
      </wsdl:output>
176
    </wsdl:operation>
177
    <wsdl:operation name="SymbolRegen">
178
      <soap12:operation soapAction="http://tempuri.org/SymbolRegen" style="document" />
179
      <wsdl:input>
180
        <soap12:body use="literal" />
181
      </wsdl:input>
182
      <wsdl:output>
183
        <soap12:body use="literal" />
184
      </wsdl:output>
185
    </wsdl:operation>
60 186
  </wsdl:binding>
61 187
  <wsdl:service name="FileUpload">
62 188
    <wsdl:port name="FileUploadSoap" binding="tns:FileUploadSoap">
63
      <soap:address location="https://localhost:44301/ImageUpload/FileUpload.asmx" />
189
      <soap:address location="http://localhost:44301/ImageUpload/FileUpload.asmx" />
64 190
    </wsdl:port>
65 191
    <wsdl:port name="FileUploadSoap12" binding="tns:FileUploadSoap12">
66
      <soap12:address location="https://localhost:44301/ImageUpload/FileUpload.asmx" />
192
      <soap12:address location="http://localhost:44301/ImageUpload/FileUpload.asmx" />
67 193
    </wsdl:port>
68 194
  </wsdl:service>
69 195
</wsdl:definitions>
KCOM/Web References/kr.co.devdoftech.cloud/Reference.cs
23 23
    
24 24
    
25 25
    /// <remarks/>
26
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.3752.0")]
26
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.9037.0")]
27 27
    [System.Diagnostics.DebuggerStepThroughAttribute()]
28 28
    [System.ComponentModel.DesignerCategoryAttribute("code")]
29 29
    [System.Web.Services.WebServiceBindingAttribute(Name="FileUploadSoap", Namespace="http://tempuri.org/")]
......
31 31
        
32 32
        private System.Threading.SendOrPostCallback RunOperationCompleted;
33 33
        
34
        private System.Threading.SendOrPostCallback RunSymbolOperationCompleted;
35
        
36
        private System.Threading.SendOrPostCallback ServerMapPathTestOperationCompleted;
37
        
38
        private System.Threading.SendOrPostCallback SymbolRegenOperationCompleted;
39
        
34 40
        private bool useDefaultCredentialsSetExplicitly;
35 41
        
36 42
        /// <remarks/>
......
73 79
        public event RunCompletedEventHandler RunCompleted;
74 80
        
75 81
        /// <remarks/>
82
        public event RunSymbolCompletedEventHandler RunSymbolCompleted;
83
        
84
        /// <remarks/>
85
        public event ServerMapPathTestCompletedEventHandler ServerMapPathTestCompleted;
86
        
87
        /// <remarks/>
88
        public event SymbolRegenCompletedEventHandler SymbolRegenCompleted;
89
        
90
        /// <remarks/>
76 91
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/Run", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
77 92
        public string Run(string ProjectNo, string VPNo, string UserID, string FileName, [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")] byte[] f) {
78 93
            object[] results = this.Invoke("Run", new object[] {
......
110 125
        }
111 126
        
112 127
        /// <remarks/>
128
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/RunSymbol", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
129
        public string RunSymbol(string ProjectNo, string VPNo, string UserID, string FileName, [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")] byte[] f) {
130
            object[] results = this.Invoke("RunSymbol", new object[] {
131
                        ProjectNo,
132
                        VPNo,
133
                        UserID,
134
                        FileName,
135
                        f});
136
            return ((string)(results[0]));
137
        }
138
        
139
        /// <remarks/>
140
        public void RunSymbolAsync(string ProjectNo, string VPNo, string UserID, string FileName, byte[] f) {
141
            this.RunSymbolAsync(ProjectNo, VPNo, UserID, FileName, f, null);
142
        }
143
        
144
        /// <remarks/>
145
        public void RunSymbolAsync(string ProjectNo, string VPNo, string UserID, string FileName, byte[] f, object userState) {
146
            if ((this.RunSymbolOperationCompleted == null)) {
147
                this.RunSymbolOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRunSymbolOperationCompleted);
148
            }
149
            this.InvokeAsync("RunSymbol", new object[] {
150
                        ProjectNo,
151
                        VPNo,
152
                        UserID,
153
                        FileName,
154
                        f}, this.RunSymbolOperationCompleted, userState);
155
        }
156
        
157
        private void OnRunSymbolOperationCompleted(object arg) {
158
            if ((this.RunSymbolCompleted != null)) {
159
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
160
                this.RunSymbolCompleted(this, new RunSymbolCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
161
            }
162
        }
163
        
164
        /// <remarks/>
165
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/ServerMapPathTest", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
166
        public string ServerMapPathTest(string uri) {
167
            object[] results = this.Invoke("ServerMapPathTest", new object[] {
168
                        uri});
169
            return ((string)(results[0]));
170
        }
171
        
172
        /// <remarks/>
173
        public void ServerMapPathTestAsync(string uri) {
174
            this.ServerMapPathTestAsync(uri, null);
175
        }
176
        
177
        /// <remarks/>
178
        public void ServerMapPathTestAsync(string uri, object userState) {
179
            if ((this.ServerMapPathTestOperationCompleted == null)) {
180
                this.ServerMapPathTestOperationCompleted = new System.Threading.SendOrPostCallback(this.OnServerMapPathTestOperationCompleted);
181
            }
182
            this.InvokeAsync("ServerMapPathTest", new object[] {
183
                        uri}, this.ServerMapPathTestOperationCompleted, userState);
184
        }
185
        
186
        private void OnServerMapPathTestOperationCompleted(object arg) {
187
            if ((this.ServerMapPathTestCompleted != null)) {
188
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
189
                this.ServerMapPathTestCompleted(this, new ServerMapPathTestCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
190
            }
191
        }
192
        
193
        /// <remarks/>
194
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SymbolRegen", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
195
        public string SymbolRegen() {
196
            object[] results = this.Invoke("SymbolRegen", new object[0]);
197
            return ((string)(results[0]));
198
        }
199
        
200
        /// <remarks/>
201
        public void SymbolRegenAsync() {
202
            this.SymbolRegenAsync(null);
203
        }
204
        
205
        /// <remarks/>
206
        public void SymbolRegenAsync(object userState) {
207
            if ((this.SymbolRegenOperationCompleted == null)) {
208
                this.SymbolRegenOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSymbolRegenOperationCompleted);
209
            }
210
            this.InvokeAsync("SymbolRegen", new object[0], this.SymbolRegenOperationCompleted, userState);
211
        }
212
        
213
        private void OnSymbolRegenOperationCompleted(object arg) {
214
            if ((this.SymbolRegenCompleted != null)) {
215
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
216
                this.SymbolRegenCompleted(this, new SymbolRegenCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
217
            }
218
        }
219
        
220
        /// <remarks/>
113 221
        public new void CancelAsync(object userState) {
114 222
            base.CancelAsync(userState);
115 223
        }
......
129 237
    }
130 238
    
131 239
    /// <remarks/>
132
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.3752.0")]
240
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.9037.0")]
133 241
    public delegate void RunCompletedEventHandler(object sender, RunCompletedEventArgs e);
134 242
    
135 243
    /// <remarks/>
136
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.3752.0")]
244
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.9037.0")]
137 245
    [System.Diagnostics.DebuggerStepThroughAttribute()]
138 246
    [System.ComponentModel.DesignerCategoryAttribute("code")]
139 247
    public partial class RunCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
......
153 261
            }
154 262
        }
155 263
    }
264
    
265
    /// <remarks/>
266
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.9037.0")]
267
    public delegate void RunSymbolCompletedEventHandler(object sender, RunSymbolCompletedEventArgs e);
268
    
269
    /// <remarks/>
270
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.9037.0")]
271
    [System.Diagnostics.DebuggerStepThroughAttribute()]
272
    [System.ComponentModel.DesignerCategoryAttribute("code")]
273
    public partial class RunSymbolCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
274
        
275
        private object[] results;
276
        
277
        internal RunSymbolCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
278
                base(exception, cancelled, userState) {
279
            this.results = results;
280
        }
281
        
282
        /// <remarks/>
283
        public string Result {
284
            get {
285
                this.RaiseExceptionIfNecessary();
286
                return ((string)(this.results[0]));
287
            }
288
        }
289
    }
290
    
291
    /// <remarks/>
292
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.9037.0")]
293
    public delegate void ServerMapPathTestCompletedEventHandler(object sender, ServerMapPathTestCompletedEventArgs e);
294
    
295
    /// <remarks/>
296
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.9037.0")]
297
    [System.Diagnostics.DebuggerStepThroughAttribute()]
298
    [System.ComponentModel.DesignerCategoryAttribute("code")]
299
    public partial class ServerMapPathTestCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
300
        
301
        private object[] results;
302
        
303
        internal ServerMapPathTestCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
304
                base(exception, cancelled, userState) {
305
            this.results = results;
306
        }
307
        
308
        /// <remarks/>
309
        public string Result {
310
            get {
311
                this.RaiseExceptionIfNecessary();
312
                return ((string)(this.results[0]));
313
            }
314
        }
315
    }
316
    
317
    /// <remarks/>
318
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.9037.0")]
319
    public delegate void SymbolRegenCompletedEventHandler(object sender, SymbolRegenCompletedEventArgs e);
320
    
321
    /// <remarks/>
322
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.8.9037.0")]
323
    [System.Diagnostics.DebuggerStepThroughAttribute()]
324
    [System.ComponentModel.DesignerCategoryAttribute("code")]
325
    public partial class SymbolRegenCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
326
        
327
        private object[] results;
328
        
329
        internal SymbolRegenCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
330
                base(exception, cancelled, userState) {
331
            this.results = results;
332
        }
333
        
334
        /// <remarks/>
335
        public string Result {
336
            get {
337
                this.RaiseExceptionIfNecessary();
338
                return ((string)(this.results[0]));
339
            }
340
        }
341
    }
156 342
}
157 343

  
158 344
#pragma warning restore 1591
KCOM/Web References/kr.co.devdoftech.cloud/Reference.map
1 1
<?xml version="1.0" encoding="utf-8"?>
2 2
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3 3
  <Results>
4
    <DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="https://localhost:44301/ImageUpload/FileUpload.asmx?disco" filename="FileUpload.disco" />
5
    <DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="https://localhost:44301/ImageUpload/FileUpload.asmx?wsdl" filename="FileUpload.wsdl" />
4
    <DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://localhost:44301/ImageUpload/FileUpload.asmx?wsdl" filename="FileUpload.wsdl" />
5
    <DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://localhost:44301/ImageUpload/FileUpload.asmx?disco" filename="FileUpload.disco" />
6 6
  </Results>
7 7
</DiscoveryClientResultsFile>
KCOM/app.config
123 123
  <applicationSettings>
124 124
    <KCOM.Properties.Settings>
125 125
      <setting name="KCOM_kr_co_devdoftech_cloud_FileUpload" serializeAs="String">
126
        <value>https://localhost:44301/ImageUpload/FileUpload.asmx</value>
126
        <value>http://localhost:44301/ImageUpload/FileUpload.asmx</value>
127 127
      </setting>
128 128
      <setting name="KCOM_Get_FinalImage_Get_PdfImage" serializeAs="String">
129 129
        <value>http://cloud.devdoftech.co.kr:5977/Get_FInalImage/Get_PdfImage.asmx</value>
KCOM/packages.config
10 10
  <package id="Newtonsoft.Json" version="12.0.3" targetFramework="net461" />
11 11
  <package id="Obfuscar" version="2.2.29" targetFramework="net461" developmentDependency="true" />
12 12
  <package id="Salaros.ConfigParser" version="0.3.4" targetFramework="net461" />
13
  <package id="Svg2Xaml" version="0.3.0.5" targetFramework="net45" />
13
  <package id="SharpVectors.Wpf" version="1.8.1" targetFramework="net461" />
14 14
  <package id="System.Windows.Interactivity.WPF" version="2.0.20525" targetFramework="net40" />
15 15
  <package id="ToggleSwitch" version="1.1.2" targetFramework="net40" />
16 16
  <package id="WCFExtensions" version="1.0.0" targetFramework="net461" />
MarkupToPDF/Controls/Etc/ImgControl.cs
16 16
using MarkupToPDF.Serialize.Core;
17 17
using MarkupToPDF.Serialize.S_Control;
18 18
using System.Windows.Media.Imaging;
19
using Svg2Xaml;
20 19

  
21 20
namespace MarkupToPDF.Controls.Etc
22 21
{
......
474 473
                Image img = new Image();
475 474
                if (s.ImagePath.Contains(".svg"))
476 475
                {
477
                    byte[] imageData = null;
478
                    DrawingImage image = null;
479
                    using (System.Net.WebClient web = new System.Net.WebClient())
480
                    {
481
                        imageData = web.DownloadData(uri.Uri);
482
                        System.IO.Stream stream = new System.IO.MemoryStream(imageData);
483
                        image = SvgReader.Load(stream);
484
                    }
485
                    img.Source = image;
476
                    SharpVectors.Converters.SvgImageExtension svgImage = new SharpVectors.Converters.SvgImageExtension(uri.ToString());
477
                    var svg = svgImage.ProvideValue(null);
478

  
479
                    img.Source = (DrawingImage)svg;
486 480
                }
487 481
                else
488 482
                {
MarkupToPDF/Controls/Parsing/MarkupParse.cs
26 26
using System.Net.Cache;
27 27
using System.Collections.ObjectModel;
28 28
using MarkupToPDF.Common;
29
using Svg2Xaml;
30 29
using MarkupToPDF.Controls.Cad;
31 30
using MarkupToPDF.Controls.Common;
32 31
using System.Threading.Tasks;
MarkupToPDF/MarkupToPDF.csproj
298 298
    </Reference>
299 299
    <Reference Include="PresentationCore" />
300 300
    <Reference Include="PresentationFramework" />
301
    <Reference Include="Svg2Xaml, Version=0.3.0.5, Culture=neutral, processorArchitecture=MSIL">
302
      <HintPath>..\packages\Svg2Xaml.0.3.0.5\lib\net40\Svg2Xaml.dll</HintPath>
301
    <Reference Include="SharpVectors.Converters.Wpf, Version=1.8.1.0, Culture=neutral, PublicKeyToken=b532964b8548be77, processorArchitecture=MSIL">
302
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Converters.Wpf.dll</HintPath>
303
    </Reference>
304
    <Reference Include="SharpVectors.Core, Version=1.8.1.0, Culture=neutral, PublicKeyToken=7407205e337c98ef, processorArchitecture=MSIL">
305
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Core.dll</HintPath>
306
    </Reference>
307
    <Reference Include="SharpVectors.Css, Version=1.8.1.0, Culture=neutral, PublicKeyToken=7a46e3f532fdb787, processorArchitecture=MSIL">
308
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Css.dll</HintPath>
309
    </Reference>
310
    <Reference Include="SharpVectors.Dom, Version=1.8.1.0, Culture=neutral, PublicKeyToken=517340b6277b1a7a, processorArchitecture=MSIL">
311
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Dom.dll</HintPath>
312
    </Reference>
313
    <Reference Include="SharpVectors.Model, Version=1.8.1.0, Culture=neutral, PublicKeyToken=2236cfc76b505845, processorArchitecture=MSIL">
314
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Model.dll</HintPath>
315
    </Reference>
316
    <Reference Include="SharpVectors.Rendering.Wpf, Version=1.8.1.0, Culture=neutral, PublicKeyToken=d0902381100df30e, processorArchitecture=MSIL">
317
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Rendering.Wpf.dll</HintPath>
318
    </Reference>
319
    <Reference Include="SharpVectors.Runtime.Wpf, Version=1.8.1.0, Culture=neutral, PublicKeyToken=d16e717f0a981fb9, processorArchitecture=MSIL">
320
      <HintPath>..\packages\SharpVectors.Wpf.1.8.1\lib\net46\SharpVectors.Runtime.Wpf.dll</HintPath>
303 321
    </Reference>
304 322
    <Reference Include="System" />
305 323
    <Reference Include="System.ComponentModel.DataAnnotations" />
MarkupToPDF/packages.config
4 4
  <package id="EntityFramework.ko" version="5.0.0" targetFramework="net45" />
5 5
  <package id="iTextSharp" version="5.5.12" targetFramework="net40" />
6 6
  <package id="Newtonsoft.Json" version="12.0.3" targetFramework="net461" />
7
  <package id="Svg2Xaml" version="0.3.0.5" targetFramework="net40" />
7
  <package id="SharpVectors.Wpf" version="1.8.1" targetFramework="net461" />
8 8
</packages>

내보내기 Unified diff

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