utility to convert excel to pdf in c# : Highlight text pdf file Library software class asp.net winforms web page ajax manual-report-generator-List-Label4-part1943

Other Important Concepts 
41 
Within the  single classes,  the properties can  easily be browsed  via  IntelliSense. A 
complete reference of all classes can be found in the component help for .NET. 
2.3.10
List & Label in WPF Applications 
As List & Label itself is a non-visual component, it can be used in WPF applications as 
well as in WinForms applications. The Designer itself is no WPF window, however 
this  does  not  affect  its  functionality.  The  WPF  Viewer can be used for  displaying 
preview files and is a replacement for the WinForms PreviewControl. 
Please note that the WPF viewer relies on the existence of the XPS Document 
Writer  printer  driver  on  the  target  system.  If  the  driver  is  not  available, 
documents cannot be displayed. 
2.3.11
Error Handling With Exceptions 
List & Label defines a number of internal exceptions, which are all derived from the 
common  base  class  ListLabelException  and  therefore  can  be caught  at a  central 
location. If the application is supposed to carry out its own Exception handling, calls 
to List & Label can be enclosed by an Exception handler: 
C#: 
ListLabel LL = new ListLabel(); 
LL.DataSource = CreateDataSet(); 
try 
LL.Design(); 
catch (ListLabelException ex) 
MessageBox.Show(ex.Message); 
LL.Dispose(); 
VB.NET: 
Dim LL As New ListLabel() 
LL.DataSource = CreateDataSet() 
Try 
LL.Design() 
Catch ex As ListLabelException 
MessageBox.Show(ex.Message) 
End Try 
LL.Dispose() 
Highlight text pdf file - C# PDF Text Highlight Library: add, delete, update PDF text highlight in C#.net, ASP.NET, MVC, Ajax, WPF
Sample Code for C#.NET Users to Highlight Selected PDF Text on PDF Page
how to highlight pdf documents in preview; highlight text pdf file
Highlight text pdf file - VB.NET PDF Text Highlight Library: add, delete, update PDF text highlight in vb.net, ASP.NET, MVC, Ajax, WPF
Online VB.NET Tutorial of How to Highlight Selected PDF Text on PDF Page
highlight pdf in google docs; highlight pdf reader
Programming With .NET 
42 
The Message  property  of  the  Exception  class  contains  an error text,  which  – if  a 
corresponding  language  kit  is  present  –  is  also  generally  localized  and  can  be 
displayed directly to the user. 
A complete reference of all Exception classes can be found in the component help 
for .NET. 
2.3.12
Debugging 
Problems  occurring  on  the  developer  PC  can  be easily found  in most cases.  The 
usual  features  of  the  development  environment  can  be  used  to  spot  a  problem 
relatively quickly. The first step is to catch any occurring exceptions and to find their 
cause (see section "Error Handling With Exceptions"). 
As a development component List & Label is naturally run under a variety of different 
constellations on the end user side. To find problems there as easily as possible a 
dedicated  debug  tool  is  available  which  provides a logging function  for problems 
occurring rarely or only on certain systems so problems can also be examined under 
systems without a debugger. 
Of course the logging function can also be used on the developer PC and provides 
the possibility to check all calls and return values at a glance as well. 
Create Log File 
If a problem only occurs on a customer system, the first thing to do is to create a log 
file. The tool Debwin3 can be used for this purpose. It can be found in the "Tools” 
directory of the List & Label installation. 
Debwin3 has to be started before the application. By Logging > Force Debug Mode 
the  logging  is  forced.  If  the  application  is  started  afterwards,  all  calls  of  the 
component with their return values as well as additional information about module 
versions, operation system, etc. will be logged. 
Every exception thrown under .NET represents a negative value of a function in the 
log. There is usually more helpful information in the log, a typical output could look as 
follows. 
CMLL21  : 12:30:02.082 00000df0/02 3  LlSelectFileDlgTitleEx(2,0X001310BE, 
BE, 
'(NULL)',0x00008002,0X0344F7C8,260,00000000) 
CMLL21  : 12:30:03.672 00000df0/02 4  =-99 (The user aborted the print.) -> 
.) -> 
'*.rpt' 
First to be seen is the DLL which causes the output, a timestamp for the output, the 
thread ID of the output thread, a consecutive number as well as the actual call with 
all  parameters. In  the  following  line  the  error  code (-99)  is returned as  well as  an 
explanation  for  it  – in this  case the  user has  aborted  the file selection dialog with 
"Cancel". 
If the application is supposed to create debug logs without the help of Debwin3, this 
can be done in the  configuration file of the application. Logging can  be forced as 
follows: 
C# PDF Text Extract Library: extract text content from PDF file in
Able to extract and get all and partial text content from PDF file. How to C#: Extract Text Content from PDF File. Add necessary references:
cannot highlight pdf; can't highlight text in pdf
VB.NET PDF Text Extract Library: extract text content from PDF
Extract and get partial and all text content from PDF file. Extract highlighted text out of PDF document. Extract Text Content from PDF File in VB.NET.
highlighting a pdf document; highlighting pdf documents
Usage in Web Applications 
43 
<configuration> 
<appSettings> 
<add key="ListLabel DebugLogFilePath" value="C:\Users\Public\debug.log" 
log" 
/> 
<add key="ListLabel EnableDebug" value="1" /> 
</appSettings> 
</configuration> 
2.4
Usage in Web Applications 
List  &  Label  can  also  be  used  within  web  applications,  albeit  with  a  number  of 
limitations. For ASP.NET-based web applications, List & Label contains components 
for displaying reports in the web browser, which also support complex features such 
as drill-down, as well as an independent version of the Designer with which reports 
ts 
can be designed on the server with the familiar List & Label Designer (Web Designer). 
2.4.1
Web Reporting 
Printing  within  a  web  application  is  basically  the  same  as  an  export  e.g.  to  PDF 
format, where all dialogs are suppressed. How this is done in general is described in 
section "Export Without User Interaction". After the report is generated that way, the 
browser  of  the user can be directed to the created  file by the usual mechanisms. 
Alternatively the file can be sent directly to the user via e-mail if the creation is to be 
scheduled (see section "Sending E-Mail"). 
Generally, the project files are created within a client application and then published 
together with the web application. For the design in the browser Designer controls 
are available for all common browsers. The provided web reporting sample for C# 
and VB.NET shows how to do this. 
Also on the server at least one printer driver has to be installed, so that printing 
can be successful. List & Label closely works together with the Windows GDI 
and therefore requires a printer device context for all operations. The Microsoft 
XPS printer driver might also be used as a reference printer (it is automatically 
installed with .NET Framework 3.5 on all systems). 
Important: 
As the process/service is executed in the context of the IIS, it is important that 
the  used  ApplicationPool  is  configured  accordingly  to  have  access  to  the 
installed  printer  driver.  From  IIS  versions  7.0/7.5  on  (from  Windows  7/Server 
2008 R2 on), however, the standard identity is the 'ApplicationPoolIdentity'. This 
is  a  so  called  virtual  account,  that  might  not  have  access  to  the  system 
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Also able to uncompress PDF file in VB.NET programs. Offer flexible and royalty-free developing library license for VB.NET programmers to compress PDF file.
how to highlight in pdf; how to highlight lines in pdf
C# PDF File Split Library: Split, seperate PDF into multiple files
Application. Best and professional adobe PDF file splitting SDK for Visual Studio .NET. outputOps); Divide PDF File into Two Using C#.
highlighting text in pdf reader; highlight pdf
Programming With .NET 
44 
resources  like  the  printer  driver.  Therefore,  it  is  mandatory  that  the  defined 
identity must be reconfigured to e.g. 'NetworkService'. 
The following image visualizes the principle: 
2.4.2
Web Designer 
The Web Designer is a special version of the Designer which can be used to design 
reports  on  a  web  server.  This  replaces  the  web  browser  plugin-based  designer 
control  (Internet  Explorer)  or  the  browser  extensions  (Mozilla  Firefox  and  Google 
Chrome) which were offered for this purpose up until List & Label 21. 
Updating the Browser Plugin-Based DesignerControl 
The web browsers Mozilla Firefox, Google Chrome, and Microsoft Edge (successor 
of Internet Explorer for Windows 10 and above) no longer support browser plugins or 
will stop doing so in the near future. Because List & Label's Web Designer had also 
been provided in the form of a browser plugin, starting with version 21, List & Label 
uses a browser-independent Web Designer which is installed as a regular Windows 
program on the client. In this way, the Web Designer no longer appears as a part of 
t of 
the website, but instead as an independent desktop program which is launched from 
your website. If the outdated browser plugin-based Web Designer is to be used, the 
property  PluginCompatibility  of  the  DesignerControl  object  will  need  to  be  set  to 
et  to 
True. However, we recommend that you switch to the Web Designer instead; to do 
do 
so, only steps 2 and 3 below are required. 
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
Professional VB.NET PDF file merging SDK support Visual Studio .NET. Merge PDF without size limitation. Append one PDF file to the end of another one in VB.NET.
highlight text in pdf reader; highlighting pdf document
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Professional VB.NET PDF file splitting SDK for Visual Studio and .NET framework 2.0. Split PDF file into two or multiple files in ASP.NET webpage online.
highlight pdf image; app to highlight pdf on ipad
Usage in Web Applications 
45 
Basic Concepts 
The List & Label Web Designer needs to be distributed together with your own 
application. To do so, you will have to store the setup file at a location (of your 
own choosing) on the web server. The users of the Designer will then download 
it and install it on their local computer. The Designer launches as an independent 
program outside the web browser! 
As was the case for the versions leading up to List & Label 21, you will need to 
place  DesignerControl  on  a  website  under  ASP.NET  WebForms  or  call  the 
command @Html.ListLabelMvcWebDesigner() under ASP.NET MVC from a view. 
w. 
This  ensures  that  the  web  browser  performing  the  call  launches  the  Web 
Designer or prompts the user to install it. 
On the server, you will only need to set a few parameters and add and assign 
the List & Label data provider as usual. The Web Designer will internally ensure 
that  the  data  from  the  data  source  on  the  web  server  is  forwarded  to  the 
Designer on the client for the real-time data preview. 
Integration 
To integrate the Web Designer into your application, proceed as follows. For more 
details, please refer to the application examples provided for ASP.NET. 
Step 1: Add Web Designer to Application 
Copy the setup file of the Web Designer ("LL21WebDesignerSetup.exe") to any one 
of the web application's folders so that clients are able to download it from there. 
The setup file is located in the List & Label installation folder under "Redistributable 
files". 
When switching to a new List & Label version (also for service packs), the setup 
file for the Web Designer on the server will need to be updated. The clients will 
then  automatically  prompt  the  user  to  perform  an  update  the  next  time  the 
application is launched. 
Finally, add a reference to the assembly "combit.ListLabel21.Web.dll". How the Web 
Designer call is inserted differs according to the web framework used. You will find 
the  necessary  code  in  the  programming  examples  in  the  List  &  Label  installation 
folder under "Programmable examples and declarations\Microsoft .NET\ASP.NET": 
Under ASP.NET WebForms: 
…\C# WebDesigner and AjaxViewer\Designer.aspx 
Under ASP.NET MVC: 
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
document file, and choose to create a new PDF file in .NET deleting, PDF document splitting, PDF page reordering and PDF page image and text extraction.
highlight text pdf document; highlight text in pdf image
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Reduce image resources: Since images are usually or large size, images size reducing can help to reduce PDF file size effectively.
how to highlight in pdf files; export highlighted text from pdf to word
Programming With .NET 
46 
…\C# MVC Web Reporting Sample\MVC Web Reporting 
ng 
Sample\Views\Home\Designer.cshtml 
tml 
…\C# MVC Web Reporting Sample\MVC Web Reporting 
ng 
Sample\Controllers\HomeController.cs 
Step 2: Configure Data Provider for Real-Time Data Preview 
The Web  Designer  also  supports  a  real-time  data  preview, just  as  in  the  normal, 
locally installed List & Label Designer. To do so, it connects to a regular (server-side) 
LL-DataProvider after it starts, which will need to be provided by your application in 
an event. 
For this to take place, add this function at a location of your own choosing: 
public static void WebDesignerConfig_OnRequestDataProvider(object sender,  
RequestDataProviderEventArgs e) 
e.DataProvider = new AdoDataProvider(DataAccess.CreateDataSet()); 
This function needs to be registered as an event handler for the Web Designer:  
WebDesignerConfig.OnRequestDataProvider += 
Designer.WebDesignerConfig_OnRequestDataProvider; 
It is recommended that this instruction be added to the Application_Start() method of 
of 
the Global.asax file, because it is a global setting. In particular, pay attention that this 
event handler is only bound once to the OnRequestDataProvider event! 
In  order  to  be  able  to  differentiate  between  different  data  providers  despite  the 
global event handler, you have the option of passing one or more IDs of your own 
choosing  when  rendering  the  DesignerControl  object  or  when  calling 
@Html.ListLabelMvcWebDesigner(): 
Under ASP.NET WebForms: 
DesignerControl1.DataSourceIDs = new 
System.Collections.Generic.List<string>(); 
DesignerControl1.DataSourceIDs.Add("My-Dataprovider"); 
DesignerControl1.ParentComponent = LL; 
Under ASP.NET MVC:  
@Html.ListLabelMvcWebDesigner( 
Usage in Web Applications 
47 
new WebDesignerOptions { DataSource = Model.DataSource, 
DataSourceIDs = Model.DataSourceIDs,  
… }) 
In the OnRequestDataProvider event, this ID (in this case, "My-Dataprovider")  is once 
nce 
again available: 
public static void WebDesignerConfig_OnRequestDataProvider(object sender,  
RequestDataProviderEventArgs e) 
if (e.DataSourceID == "My-Dataprovider") 
e.DataProvider = DataAccess.CreateProviderCollection(); 
} else 
throw new Exception("Unknown datasource was requested."); 
Step 3: Expand the Application Configuration 
The new  Web  Designer always  uses  ASP.NET MVC for the internal processing  of 
HTTP  requests.  Hence,  the  necessary  routes  will  need  to  be  registered  in  the 
Application_Start()  function  of  your  application  (Global.asax  file),  even  if  your 
ur 
application is not based on ASP.NET MVC. Add the following lines: 
WebDesignerConfig.RegisterRoutes(RouteTable.Routes); 
WebDesignerConfig.WebDesignerSetupFile = 
Server.MapPath("~/Webdesigner/LL21WebDesignerSetup.exe"); 
Important: 
If 
you 
are 
also 
using 
MVC/Web 
API, 
the 
WebDesignerConfig.RegisterRoutes  function  must  be  registered  before  your 
own routes. 
The  second  instruction  specifies  the  local  data  path  of  the  Web  Designer  setup 
which is downloaded if the client has not yet installed it. Distribute the Web Designer 
setup together with your web application and modify this link accordingly. 
Furthermore, ensure that the web.config file contains the right version of the handler 
"DesignerControlFileHandler": 
Programming With .NET 
48 
<system.webServer> 
<handlers> 
<add name="DesignerControlFileHandler" verb="*" path="*.ll*"  
type="combit.ListLabel21.Web.DesignerControlFileHandler" /> 
</handlers> 
</system.webServer> 
The Web Designer has now been completely set up. 
Troubleshooting 
Older  versions  of  IIS  may  not  work  properly  with  the  MVC  framework.  If  this 
happens,  try  adding  the  following  entries  to  the  web.config  file  under 
<system.webServer> \ <handlers >: 
>: 
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> 
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> 
<remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." 
." 
verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" 
scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.d
isapi.d
ll" preCondition="classicMode,runtimeVersionv4.0,bitness32" 
responseBufferLimit="0" /> 
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." 
*." 
verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" 
scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi
t_isapi
.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" 
responseBufferLimit="0" /> 
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." 
." 
verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" 
type="System.Web.Handlers.TransferRequestHandler" 
preCondition="integratedMode,runtimeVersionv4.0" /> 
Additional Information 
By  default,  the  Web  Designer  communicates  via  URLs  in  the  following  format: 
/WebDesigner/… 
/WebDesignerHandler/… 
If these  routes  are already being  used  by your own  application, you may use the 
optional parameter of the WebDesignerConfig.RegisterRoutes() command to assign 
gn 
the Web Designer other routes. 
2.4.3
HTML5 Viewer 
The  HTML5  Viewer  is  available  in  ASP.NET  WebForms  and  ASP.NET  MVC 
applications and supports all popular browsers. Therefore it is applicable on clients 
Usage in Web Applications 
49 
with  different  operating  systems.  It allows interactive input  through Drilldown and 
report parameters. 
Updating the Browser Plugin-Based DesignerControl 
The web browsers Mozilla Firefox, Google Chrome, and Microsoft Edge (successor 
of Internet Explorer for Windows 10 and above) no longer support browser plugins or 
will stop doing so in the near future. Therefore the previous Viewer-Plugin has been 
en 
replaced with a HTML5-based viewer. If the outdated browser plugin-based Viewer is 
is 
to  be  used,  use  the  ListLabelWebViewer-Control  or  the  HtmlHelper  extension 
nsion 
method  ListLabelMvcWebViewer.  However  we  recommend  to  switch  to  the  new 
HTML5 Viewer instead. 
Basic Concepts 
In  ASP.NET  WebForms  you  place  the  Html5ViewerControl  on  the  website.  In 
ASP.NET MVC you can use the HtmlHelp extension method. 
On the server side you set the DataSource, the project file, the temp path and some 
optional properties in an event that is called by the HTML5 Viewer. 
Integration 
To  integrate  the  HTML5  Viewer  into  your  application  proceed  as  follows.  Further 
details can be found in the provided application samples for ASP.NET. 
Step 1: Add HTML5 Viewer to your application 
tion 
Under ASP.NET WebForms: 
In  an  ASP.NET  WebForms  application  just  add  the  Html5ViewerControl  from  the 
combit.ListLabel21.Web  namespace of the combit.ListLabel21.Web.dll. Please also 
see  the  example  in  the  List  &  Label  installation  directory  under  "Programmable 
Samples  and  Declarations\Microsoft  .NET\ASP.NET\C#  Web  Reporting  Sample\ 
e\ 
HTML5Viewer.aspx". 
<%@ Register TagPrefix="combit" Namespace="combit.ListLabel21.Web" 
Assembly="combit.ListLabel21.Web" %> 
… 
<combit:Html5ViewerControl ID="Html5ViewerControl1" 
runat="server"></combit:Html5ViewerControl> 
Under ASP.NET MVC: 
@using combit.ListLabel21.Web 
@Html.Html5Viewer((string)ViewBag.InstanceName, new Html5ViewerOptions {}  
); 
Programming With .NET 
50 
Please  also  see  the  example  in  the  List  &  Label  installation  directory  under 
"Programmable  Samples  and  Declarations\Microsoft  .NET\ASP.NET\C#  MVC  Web 
Web 
Reporting Sample\MVC Web Reporting Sample\Views\Home\ HTML5Viewer.cshtml". 
tml". 
Step 2: Setup project file and other data on the server side 
In the file global.asax.cs the routes and the event handler for the HTML5 Viewer must 
be registered. 
protected void Application_Start(Object sender, EventArgs e) 
Html5ViewerConfig.RegisterRoutes(RouteTable.Routes); 
...Html5ViewerConfig.OnListLabelRequest += new 
EventHandler<ListLabelRequestEventArgs>(Services_OnListLabelRequest); 
Important: 
If 
you 
use 
MVC/Web 
API 
yourself, 
the 
Html5ViewerConfig.RegisterRoutes() function must be registered before your own 
own 
routes. 
In the event handler the data required for the HTML5 Viewer will be passed. 
void Services_OnListLabelRequest(object sender, ListLabelRequestEventArgs 
e) 
ListLabel ll = new ListLabel(); 
ll.DataSource = 
DataAccess.SampleData.CreateProviderCollection(reportName); 
ll.AutoProjectFile = _reportsPath + e.ReportName; 
e.ExportPath = Path.GetTempPath();  // set temp directory; 
e.NewInstance = ll; 
The name  of the selected  report  can  be  set  in ASP.NET  WebForms by  using the 
he 
ReportName  property  of  the  Html5ViewerControl  object.  In  ASP.NET  MVC  it  can 
directly  passed  as  a  parameter  of  the  HtmlHelper  extension  method 
@Html.Html5Viewer().  In  the  OnListLabelRequest  event  it  is  then  available  again 
under "e.ReportName", so that the corresponding data source and project file can be 
loaded. 
Options 
The  Html5ViewerOptions  class  that  you  assign  to  the  Options  property  of  the 
Html5ViewerControl  or  pass  as  a  parameter  of  the  HtmlHelper  extension  method 
@Html.Html5Viewer()  enables  you  to  define  where  required  jQuery  and  jQuery 
ry 
Mobile files  should  be  loaded from (CDNType),  which CSS files  should be loaded 
(ThemeCSSUrl, ThemeIconsCSSUrl) or which jQuery Mobile theme should  be used 
Documents you may be interested
Documents you may be interested