From d58c5636feacd6a4676f81c69f94a25bcb9d1cbb Mon Sep 17 00:00:00 2001 From: Yaminisrisf4389 Date: Tue, 26 May 2026 10:43:43 +0530 Subject: [PATCH] Readonly_formfields --- .../Formfields_Readonly.sln | 25 +++++ .../Formfields_Readonly/App.xaml | 9 ++ .../Formfields_Readonly/App.xaml.cs | 14 +++ .../Formfields_Readonly/AssemblyInfo.cs | 10 ++ .../Formfields_Readonly.csproj | 15 +++ .../Formfields_Readonly/Input.pdf | Bin 0 -> 2477 bytes .../Formfields_Readonly/MainWindow.xaml | 27 +++++ .../Formfields_Readonly/MainWindow.xaml.cs | 98 ++++++++++++++++++ 8 files changed, 198 insertions(+) create mode 100644 FormFields/Read_Only_FormFields/Formfields_Readonly.sln create mode 100644 FormFields/Read_Only_FormFields/Formfields_Readonly/App.xaml create mode 100644 FormFields/Read_Only_FormFields/Formfields_Readonly/App.xaml.cs create mode 100644 FormFields/Read_Only_FormFields/Formfields_Readonly/AssemblyInfo.cs create mode 100644 FormFields/Read_Only_FormFields/Formfields_Readonly/Formfields_Readonly.csproj create mode 100644 FormFields/Read_Only_FormFields/Formfields_Readonly/Input.pdf create mode 100644 FormFields/Read_Only_FormFields/Formfields_Readonly/MainWindow.xaml create mode 100644 FormFields/Read_Only_FormFields/Formfields_Readonly/MainWindow.xaml.cs diff --git a/FormFields/Read_Only_FormFields/Formfields_Readonly.sln b/FormFields/Read_Only_FormFields/Formfields_Readonly.sln new file mode 100644 index 0000000..e299e65 --- /dev/null +++ b/FormFields/Read_Only_FormFields/Formfields_Readonly.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.37216.2 d17.14 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Formfields_Readonly", "Formfields_Readonly\Formfields_Readonly.csproj", "{9909EFE3-E8EF-4E57-BCDD-9AC5DA9F0B54}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9909EFE3-E8EF-4E57-BCDD-9AC5DA9F0B54}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9909EFE3-E8EF-4E57-BCDD-9AC5DA9F0B54}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9909EFE3-E8EF-4E57-BCDD-9AC5DA9F0B54}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9909EFE3-E8EF-4E57-BCDD-9AC5DA9F0B54}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B2C5FFB4-25EC-486B-8CDB-EA071D870954} + EndGlobalSection +EndGlobal diff --git a/FormFields/Read_Only_FormFields/Formfields_Readonly/App.xaml b/FormFields/Read_Only_FormFields/Formfields_Readonly/App.xaml new file mode 100644 index 0000000..e7f7688 --- /dev/null +++ b/FormFields/Read_Only_FormFields/Formfields_Readonly/App.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/FormFields/Read_Only_FormFields/Formfields_Readonly/App.xaml.cs b/FormFields/Read_Only_FormFields/Formfields_Readonly/App.xaml.cs new file mode 100644 index 0000000..9031f6a --- /dev/null +++ b/FormFields/Read_Only_FormFields/Formfields_Readonly/App.xaml.cs @@ -0,0 +1,14 @@ +using System.Configuration; +using System.Data; +using System.Windows; + +namespace Formfields_Readonly +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + } + +} diff --git a/FormFields/Read_Only_FormFields/Formfields_Readonly/AssemblyInfo.cs b/FormFields/Read_Only_FormFields/Formfields_Readonly/AssemblyInfo.cs new file mode 100644 index 0000000..b0ec827 --- /dev/null +++ b/FormFields/Read_Only_FormFields/Formfields_Readonly/AssemblyInfo.cs @@ -0,0 +1,10 @@ +using System.Windows; + +[assembly: ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] diff --git a/FormFields/Read_Only_FormFields/Formfields_Readonly/Formfields_Readonly.csproj b/FormFields/Read_Only_FormFields/Formfields_Readonly/Formfields_Readonly.csproj new file mode 100644 index 0000000..1c15958 --- /dev/null +++ b/FormFields/Read_Only_FormFields/Formfields_Readonly/Formfields_Readonly.csproj @@ -0,0 +1,15 @@ + + + + WinExe + net8.0-windows + enable + enable + true + + + + + + + diff --git a/FormFields/Read_Only_FormFields/Formfields_Readonly/Input.pdf b/FormFields/Read_Only_FormFields/Formfields_Readonly/Input.pdf new file mode 100644 index 0000000000000000000000000000000000000000..41d2cb76d7a8346e9a4c0d5004aadcb0c9b5db09 GIT binary patch literal 2477 zcmbuBc{~*A8pka|j3y>2Yo=nzHjAl2b{QOM#@LghnXyc>ScYWF8p@DlD}{vU95Q1W z$(B<(lqGA&nGD^gM3y95<&1Ohx%X4I+duce_j%vv{e7O#`#jJ0ebjM>F}eu710bM! z!sWFuARqz)htN-vK|o_;5D?~kHjo5?S@|%0D0Dx8jq~v%g+P!3AH2Y_AOzDf^k6DP z|DPMCrXV1RM*QnK!tg60OaO&J3WmTi6dwlZFo{4Xk^}+{B$^+?AA&%FfSY$i7{MeT zDhL>U!b#JaCn6-WN9g`vihm#cEsli$U*Zy*;==7h1>YC{`U!p*xxPO9+t8acPuh3D zcRU;yUEQ{9J($d}%e}><(=O2Ck1aHo*}1uo<-3w%BE~4$%+JEA2Q4|u4;ou#d$wS9 z!LOIP(9B0}g?TuZ{u1Z=ytXW{{(NK2yW79)62|Bh?TBCcEQ^p{7rytQiT_ZfYw(rz z5M$@jbu>#cUb1@cluC~`s^bl)@w5FpSTr2UF-mq!94M3 zdB-;y-H5k0Ug&06l{)Qh#3kCxW{%?RiKv}v0sCDFgcluU$0B8uGuA9+*ph;?sI7AAaGO)%bbKk?43aN8=D+RGr^lKASEk@?O?yqBwPZo+U z_!nd4KZ`hA2bg_7H=CvRpYr@+Zcy-p-{z+Da&Pc8xXh!uC-d7Pr)o`Xhs`c=9tA{F zm0DwC#ZFsZ($@aiS6*E-cqGd~dI4_R#4h>lY8E}`-PAzH=nJ2;n#L%B(+3cfqKBnL z!-8Z#$MF@)(}cY?>`z_EL;LT3KVx%)JM*3ra#3T1w+utyZC=-)rdNROen>Ly#sAjj zN}wwATi;2&T&9*Yl(Qpy@OSy4x&tC^><3ld?Ar6jo-AK(Z^b@>{mNpU!VrF+B_1l* zrpH|MQG#<>N$iV}cV!aTq6Ki}>#FT%0@2JP%N*iKx>*PBt#=2&)V%G5I%-4$1StiI;yxs>x_oqB){k)*{1zr7L4Sw*OJO_s`AczBo0%jbAAO$`5FEU|Ik)0RQ8R+dnZK`_f)MF)xqdd#4qGQv!CC$R!@suai={3cytPTFf8z(K^s zfp7iJ6Co6BtyWdFDOp)t=&^_j$gO(F?L^WiFhWVIsvMJw5tl9UVa8{u%{1i5gN22r zGyM`7zIw2CwK1_u7d|4hy#dP&{7}C`ug7=mM4I`PdY+|B)mSW*%-RfO1ehW3g+?1C z2Ub6lSj*1A2l}ZLqp&G5)<<_X7XK>$leJ#m(-1LRMG=Y#eQ$H1Uf~~H!?DpWv*Odk zv&p<0FIJUR@?wwRa_fWqAD@Z-Af(hmJRR;D>s?_R#ec~@ol>o8Y@i%X_UdRkKI*wF zE)C6!>xqU3K}LzI$Q)ytI~q67MuD*^iJj7sw@qbcE+t?b8E~@> zp*fheehvOoTAI7+G7epv2L>3{O~u0}`ies(YmOPPc+NVS*moWr!sZk4s>K%_8HXjeX0r%XQu_Le_f^<|H?6{IzL2;DnE zLqa{=hFxqQm9JKF+Q8{8VO+2E5asdl@r6wUPVg5A;14O;{_`wsgy=OCY8MtJaMh)ATq O;1^R@x5i>Xz&`=|t{oi! literal 0 HcmV?d00001 diff --git a/FormFields/Read_Only_FormFields/Formfields_Readonly/MainWindow.xaml b/FormFields/Read_Only_FormFields/Formfields_Readonly/MainWindow.xaml new file mode 100644 index 0000000..a4b0a9d --- /dev/null +++ b/FormFields/Read_Only_FormFields/Formfields_Readonly/MainWindow.xaml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + diff --git a/FormFields/Read_Only_FormFields/Formfields_Readonly/MainWindow.xaml.cs b/FormFields/Read_Only_FormFields/Formfields_Readonly/MainWindow.xaml.cs new file mode 100644 index 0000000..7e0d009 --- /dev/null +++ b/FormFields/Read_Only_FormFields/Formfields_Readonly/MainWindow.xaml.cs @@ -0,0 +1,98 @@ +using Syncfusion.Pdf.Interactive; +using Syncfusion.Pdf.Parsing; +using System.Collections.ObjectModel; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Formfields_Readonly +{ + /// + /// Interaction logic for MainWindow.xaml + /// + public partial class MainWindow : Window + { + private ObservableCollection user1List = new ObservableCollection(); + private ObservableCollection user2List = new ObservableCollection(); + public MainWindow() + { + InitializeComponent(); + pdfViewer.Load("../../../Input.pdf"); + pdfViewer.DocumentLoaded += PdfViewer_DocumentLoaded; + } + + private void PdfViewer_DocumentLoaded(object sender, System.EventArgs e) + { + UpdateFormFields(); + } + + private void UpdateFormFields() + { + + if (pdfViewer.LoadedDocument.Form != null) + { + var FormFieldCollections = pdfViewer.LoadedDocument.Form.Fields; + + if (FormFieldCollections.Count > 0) + { + for (int i = 0; i < FormFieldCollections.Count; i++) + { + if (FormFieldCollections[i].Name == "User1_Name" || FormFieldCollections[i].Name == "User1_Age" || FormFieldCollections[i].Name == "User1_Country") + { + user1List.Add(FormFieldCollections[i]); + } + else + { + user2List.Add(FormFieldCollections[i]); + } + } + } + + + + } + } + private void UserComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) + { + if (pdfViewer.LoadedDocument == null) return; + + var selectedUser = (UserComboBox.SelectedItem as ComboBoxItem).Content.ToString(); + + if (selectedUser == "User1") + { + foreach (var field in user1List) + { + if (field is PdfLoadedTextBoxField textField) + textField.ReadOnly = false; + } + + foreach (var field in user2List) + { + if (field is PdfLoadedTextBoxField textField) + textField.ReadOnly = true; + } + } + else if (selectedUser == "User2") + { + foreach (var field in user2List) + { + if (field is PdfLoadedTextBoxField textField) + textField.ReadOnly = false; + } + + foreach (var field in user1List) + { + if (field is PdfLoadedTextBoxField textField) + textField.ReadOnly = true; + } + } + } + } +} \ No newline at end of file