mvc return pdf : C# convert pdf to text file SDK control project winforms web page .net UWP manual-report-generator-List-Label35-part153

The Export Modules 
351 
C# convert pdf to text file - SDK control project:C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net, ASP.NET MVC, WinForms, WPF application
C# PDF to Text (TXT) Converting Library to Convert PDF to Text
www.rasteredge.com
C# convert pdf to text file - SDK control project:VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net, ASP.NET MVC, WinForms, WPF application
VB.NET Guide and Sample Codes to Convert PDF to Text in .NET Project
www.rasteredge.com
Miscellaneous Programming Topics 
352 
7. Miscellaneous Programming Topics 
7.1. Passing NULL Values 
You can use NULL values in List & Label by passing a special string to the APIs. This 
means that this field has no current value, e.g. a delivery date for a shipment that has 
not yet occurred. Most database drivers may return a field content of NULL, which 
you need to pass on to List & Label as "(NULL)", although that string can be altered if 
needed.  Basically  the  List  &  Label  components  handle  database  NULL  values 
automatically. 
List  &  Label  handles  NULL-values  according  to  the  SQL-92  specification  where 
possible.  An  important  effect  of  that  is,  that  functions  and  operators,  which  get 
NULL-values as parameter or operator generally also return NULL as the result. An 
example is the following Designer formula: 
Title+" "+Firstname+" "+Lastname 
If Title is filled  with NULL,  the result of the formula is also NULL according to the 
standard. To change this behaviour please refer to the option LL_OPTION_NULL_IS_-
NONDESTRUCTIVE. 
7.2. Rounding 
Please  read  the  following  important  notes  to  ensure  that  you  do  not  run  into 
inconsistencies with the data from your database: sum variables are not rounded, so 
if you are not using only integers (i.e. invoices), we suggest that you use a rounding 
function, or (better) do not use multiplication or division for sum variables. 
7.3. Optimizing Speed  
List  &  Label's  standard  settings  are  a  good  compromise  between  file  sizes  and 
performance. Change the following settings and mind the following hints to tweak 
performance for mission critical applications:  
Make sure a job is opened all the time. This prevents the repetitive loading 
and unloading of DLLs. 
When  printing  to  preview:  switch  off  compression  (see 
LL_OPTION_COMPRESSSTORAGE).  Keep  in  mind  that  this  might  lead  to 
considerably larger preview files, though. 
Set LL_OPTION_VARSCASESENSITIVE to 1. Note that this will mean that all 
variables  and  fields  are  treated  case  sensitive  from  the  moment  of  this 
change. This may render existing projects unusable!  
SDK control project:C# PDF Text Extract Library: extract text content from PDF file in
How to C#: Extract Text Content from PDF File. Add necessary references: RasterEdge.Imaging.Basic.dll. RasterEdge.Imaging.Basic.Codec.dll.
www.rasteredge.com
SDK control project:C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
In the following example, this C#.NET PDF to JPEG converter library will name the converted JPEG image file Output.jpg. Convert PDF to JPEG Using C#.NET.
www.rasteredge.com
Miscellaneous Programming Topics 
353 
Avoid using RTF- and HTML-text where possible and use the "normal" text 
object instead. 
7.4. Project Parameters 
List & Label enables you to set project specific parameters. The user may set these 
and the application may query the values at print time. 
For example, List & Label uses these parameters itself for the fax and email settings. 
However,  your own application may also save information to the project file in the 
same way, too.  
7.4.1. Parameter Types 
There  are  different  types  of  parameters  that  are  distinguished  by  the  nFlags 
parameter  passed to  LlSetDefaultProjectParameter(). One of each of the three flag 
alternatives FORMULA/VALUE,  PUBLIC/PRIVATE  and GLOBAL/LOCAL needs  to be 
used: 
LL_PARAMETERFLAG_FORMULA (default) 
The  parameter  is  a  formula  that is  evaluated  at  print time.  The evaluated 
value is returned with LlPrintGetProjectParameter(). 
LL_PARAMETERFLAG_VALUE 
The  parameter  is  a  fixed  value.  This  value  is  returned  with 
LlPrintGetProjectParameter(). 
LL_PARAMETERFLAG_PUBLIC (default) 
The parameter can be changed within the Designer in the Project>Settings 
dialog, where the user can enter a formula or value. 
LL_PARAMETERFLAG_PRIVATE 
The parameter cannot be changed in the Designer. 
LL_PARAMETERFLAG_GLOBAL (default) 
The parameter is added to the print project parameter list and will be saved 
to the preview file if applicable (see LlStgsysGetJobOptionStringEx()). 
LL_PARAMETERFLAG_LOCAL 
The parameter is not added to the print project parameter list and will not be 
saved to the preview file, as it is only valid for the local user or machine.  
If the parameters are passed using LlSetDefaultProjectParameter(), they represent the 
default  values  that  the  user  may  change  according  to  his  needs  (if 
LL_PARAMETERFLAG_PUBLIC is set). 
SDK control project:C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
it extremely easy for C# developers to convert and transform The HTML document file, converted by C#.NET PDF style that are included in target PDF document file
www.rasteredge.com
SDK control project:C# PDF File Split Library: Split, seperate PDF into multiple files
C#.NET control for splitting PDF file into two or multiple files online. This is an C# example of splitting a PDF file into multiple ones by number of pages.
www.rasteredge.com
Miscellaneous Programming Topics 
354 
If  the  project  is  loaded  afterwards  (LlDefineLayout(),  LlPrint[WithBox]Start())  the 
passed parameters will be replaced by those saved to the project file, i.e. they are 
overwritten. Unchanged parameters are not saved to the project file and thus remain 
with 
their 
default 
values. 
If 
required, 
you 
may 
set 
the 
LL_PARAMETERFLAG_SAVEDEFAULT  to  override  this  behavior.  This  is  especially 
useful if the project parameter is queried before printing with LlGetUserParameter() to 
offer report parametrization to the user. 
Note:  you  may  not  pass  multiple  parameters  with  the  same  name  but  different 
types! 
7.4.2. Querying Parameter Values While Printing 
After  starting  the  printout  using  LlPrint[WithBox]Start(),  the  values  for  the  project 
parameters can be queried using LlPrintGetProjectParameter().  
You  may also  change these  values using LlPrintSetProjectParameter()  or even add 
further parameters. As the parameters may be (see above) saved to the preview file 
and  can  be  extracted  from  there  using  LlStgsysGetJobOptionStringEx(),  you  may 
consistently  save  your  own  information  in  this  way.  In  the  preview  file,  the 
parameters are saved with the prefix "ProjectParameter" before the actual name. 
7.4.3. Predefined Project Parameters 
List & Label  uses  project  parameters for  sending emails  and faxes. The  user  may 
change and edit the values. As List & Label expects the contents to be a formula, it 
will be necessary  to mask them  as  a string value ("…") whenever fixed values  are 
used. 
Example: 
LlPrintSetProjectParameter(hJob,"LL.FAX.RecipNumber","\"+497531906018\"",0); 
LL.FAX.Queue 
LOCAL, PRIVATE 
LL.FAX.RecipNumber 
GLOBAL, PUBLIC 
[LL_OPTIONSTR_FAX_RECIPNUMBER] 
LL.FAX.RecipName 
GLOBAL, PUBLIC 
[LL_OPTIONSTR_FAX_RECIPNAME] 
LL.FAX.SenderName  
GLOBAL, PRIVATE 
[LL_OPTIONSTR_FAX_SENDERNAME] 
LL.FAX.SenderCompany  
GLOBAL, PRIVATE 
[LL_OPTIONSTR_FAX_SENDERCOMPANY] 
LL.FAX.SenderDepartment  
GLOBAL, PRIVATE 
[LL_OPTIONSTR_FAX_SENDERDEPT] 
SDK control project:C# PDF File Compress Library: Compress reduce PDF size in C#.net
Hidden layer content. Convert smooth lines to curves. Detect and merge image fragments. Flatten visible layers. C#.NET DLLs: Compress PDF Document.
www.rasteredge.com
SDK control project:C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
C#.NET PDF SDK - Convert PDF to TIFF in C#.NET. Online C# Tutorial for How to Convert PDF File to Tiff Image File with .NET XDoc.PDF Control in C#.NET Class.
www.rasteredge.com
Miscellaneous Programming Topics 
355 
LL.FAX.SenderBillingCode 
GLOBAL, PRIVATE 
[LL_OPTIONSTR_FAX_SENDERBILLINGCODE] 
LL.MinPageCount 
GLOBAL, FORMULA, PUBLIC 
LL.ProjectDescription 
GLOBAL, VALUE, PUBLIC 
LL.IssueCount 
GLOBAL, FORMULA, PUBLIC 
LL.PageCondition 
GLOBAL, FORMULA, PUBLIC 
LL.PrintJobLCID 
GLOBAL, FORMULA, PUBLIC 
Further information on the project parameters can be found in the Designer manual. 
Analog  to  the  LL.FAX  parameters  LL.MAIL  parameters  exists,  see  chapter  6.5.1. 
Setting Mail Parameters by Code for further information. 
Parameters that are not defined prior  to LlDefineLayout() or  were defined  with the 
PRIVATE-Flag are not editable. 
For example, the application could pass the value for "LL.Mail.To" using an email field 
(here: "EMAIL") from a database: 
LlSetDefaultProjectParameter(hJob,"LL.MAIL.To","EMAIL",0); 
The user may then  add  a "FIRSTNAME"  and "NAME"  field in  order to enhance  the 
address: 
FIRSTNAME + " " + NAME + " <" + EMAIL + ">" 
The preview control automatically adopts the values of LL.FAX.* and LL.MAIL.*. In 
addition, the values  are passed to  the export modules  – these  also  use  the user-
defined contents. 
Please note a change in the behavior of the export modules up to version List & Label 
9: if the  user enters an  email address in the settings dialog, the export result will 
always  be  sent  to  this  address,  regardless  of  the  settings  made  using 
LlXSetParameter().  We  recommend  setting  all  mail  settings  using  the  project 
parameter API. Unchanged projects should behave as before. 
7.4.4. Automatic Storage of Form Data 
If you are using the form elements, it is possible to perform automatic storage after 
completion of the preview with the project parameters. For this purpose, you can use 
the following project parameters: 
SaveAs.Format 
Desired export format, e.g. "XML" 
Supported formats are "TTY", "PDF", "EMF", "XPS", 
"PRN", "TIFF" resp. "PICTURE_MULTITIFF", "JPEG" 
SDK control project:C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
PDF page deleting, PDF document splitting, PDF page reordering and PDF page image and text extraction. Remarkably, all those C#.NET PDF document page
www.rasteredge.com
SDK control project:C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
Quick to remove watermark and save PDF text, image, table for batch converting PDF documents in C#.NET program. Convert PDF to multiple MS Word formats such as
www.rasteredge.com
Miscellaneous Programming Topics 
356 
resp. "PICTURE_JPEG", "PNG" resp. 
"PICTURE_PNG", "LL resp. "PRV", "XML" resp. 
"XFDF". Further information can be found in 
chapter "6. The Export Modules". 
SaveAs.Filename 
Output file name, e.g. "test.xml" 
SaveAs.ShowDialog 
Allows the save dialog to be enabled ("1") or 
disabled ("0") 
SaveAs.NoSaveQuery 
Disables the request as to whether the file should 
be saved after completion or not.  
Example: 
LlPrintSetProjectParameter(hJob,"SaveAs.Format","XML", 
LL_PARAMETERFLAG_VALUE); 
LlPrintSetProjectParameter(hJob,"SaveAs.Filename","test.xml", 
LL_PARAMETERFLAG_VALUE); 
LlPrintSetProjectParameter(hJob,"SaveAs.ShowDialog","0", 
LL_PARAMETERFLAG_VALUE); 
LlPrintSetProjectParameter(hJob,"SaveAs.NoSaveQuery","1", 
LL_PARAMETERFLAG_VALUE); 
Miscellaneous Programming Topics 
357 
7.5. Web Reporting 
Using  List  &  Label  with  ASP.NET  is  described  in  detail  in  chapter  "2.2.8.  Web 
Reporting".  Of  course  you  can  also  use  other  programming  languages  for  web 
reporting. In general the following requirements apply: 
The  server  has  to  be  a  Windows  system,  List  &  Label  can  only  be  run  on 
Windows platforms. This restriction of course does not apply to the clients. 
The user account, under which the web application is running, requires access to 
 printer  driver.  The  dedicated  printer  does  not  have  to  be  in  the  system 
physically, the simple driver installation is sufficient. Also it has to be ensured that 
the used user account can load the List & Label DLLs, meaning that the rights for 
the DLL path were assigned. 
The actual web application carries out a silent export without user interaction (see 
chapter  "6.2.5.  Export  Without  User  Interaction")  and  directs  the  client  to  the 
export file e.g. by a redirect. 
The following image visualizes the principle: 
Error Codes 
358 
8. Error Codes 
8.1. General Error Codes 
The  return  codes  are  provided  below.  They  start  with  LL_ERR_,  for  example 
BAD_JOBHANDLE means LL_ERR_BAD_JOBHANDLE. The values in brackets are the 
decimal numbers that are written in the debug output. 
In  order  to  provide  error  handling  within  your  application,  the  LlGetErrortext()  API 
returns a displayable, localized error description for each error code. 
Value 
Meaning 
BAD_JOBHANDLE (-1) 
A function is called with a job handle not 
generated with LlJobOpen() or the job was 
closed. 
TASK_ACTIVE (-2) 
Only one Designer window can be open for each 
application; you have tried to open a second 
window (only if hWnd in LlDefineLayout() is 
NULL).  
BAD_OBJECTTYPE (-3) 
An invalid type was passed to a function which 
requires the type of object as a parameter. 
Valid types: LL_PROJECT_LABEL, LL_PROJECT_-
LIST, LL_PROJECT_CARD 
PRINTING_JOB (-4) 
A print function was called, although no print job 
had been started. 
NO_BOX (-5) 
LlPrintSetBoxText() was called and the print job 
was not opened with LlPrintWithBoxStart(). 
ALREADY_PRINTING (-6) 
The current operation cannot be performed 
while a print job is open. 
NOT_YET_PRINTING (-7) 
LlPrint[G|S]etOption[String](), LlPrintResetProject-
State(). The print job has not started yet. 
NO_PROJECT (-10) 
LlPrint[WithBox]Start():There is no object with the 
given object name. Identical to LL_ERR_NO_-
OBJECT 
NO_PRINTER (-11) 
LlPrint[WithBox]Start(): Printer job could not be 
started as no printer device could be opened. 
List & Label requires a printer driver to be 
installed. 
PRINTING (-12) 
An error occurred during print. Most frequent 
cause: print spooler is full. Other reasons: no 
sufficient disk space, paper jam, general printer 
failure. 
Error Codes 
359 
EXPORTING (-13) 
An error occurred during print (e.g. no access 
rights to the destination path, export file already 
existing and write-protected,…) 
NEEDS_VB (-14) 
This DLL version requires Visual Basic. 
BAD_PRINTER (-15) 
LlPrintOptionsDialogTitle(): No printer available. 
NO_PREVIEWMODE (-16) 
Preview functions: No preview mode is set. 
NO_PREVIEWFILES (-17) 
LlPreviewDisplay(): No preview files found. 
PARAMETER (-18) 
NULL pointer as a parameter is not allowed, 
other parameter errors are also possible. Please 
use the debug mode to determine the error. 
BAD_EXPRESSION (-19) 
New expression mode: an expression in LlExpr-
Evaluate() could not be interpreted. 
BAD_EXPRMODE (-20) 
Unknown expression mode in LlSetOption(). 
CFGNOTFOUND (-22) 
LlPrint[WithBox]Start(): Project file not found. 
EXPRESSION (-23) 
LlPrint[WithBox]Start(),LlDefineLayout(): One of 
the expressions used has an error. When 
starting the Designer, these errors will be 
displayed interactively. When printing, the errors 
are logged to Debwin. When working with 
LlExprEval() use LlExprError() to find the error. 
CFGBADFILE (-24) 
LlPrint[WithBox]Start():Project file has the wrong 
format or is defective. 
BADOBJNAME (-25) 
LlPrintEnableObject(): The object name is not 
correct. 
UNKNOWNOBJECT (-27) 
LlPrintEnableObject(): No object exists with this 
object name. 
NO_TABLEOBJECT (-28) 
LlPrint[WithBox]Start(): No table available in the 
list mode. 
NO_OBJECT (-29) 
LlPrint[WithBox]Start(): The project has no 
objects, and empty pages can be printed 
another way! 
NO_TEXTOBJECT (-30) 
LlPrintGetTextCharsPrinted(): No text object in 
this project. 
UNKNOWN (-31) 
LlPrintIsVariableUsed(), LlPrintIsFieldUsed(: The 
given variable does not exist. 
LlGetUsedIdentifiers(): The project contains no 
information about variables and fields used 
because it has not yet been saved with List & 
Label 11 or newer. 
BAD_MODE (-32) 
Field functions were used, although the project 
is not a list project. 
CFGBADMODE (-33) 
LlPrint[WithBox]Start(), LlDefineLayout(): The 
expression mode of the project file is the new 
mode, but the old mode is set (see 
LlSetOption()). 
Error Codes 
360 
ONLYWITHONETABLE (-34) 
This error code can only be returned if - in the list 
mode - the OneTable mode (LL_OPTION_ 
ONLYONETABLE) is chosen, but more than one 
table is present when loading the project with 
LlPrint[WithBox]Start()(See LlSetOption()). 
UNKNOWNVARIABLE (-35) 
The variable given with LlGetVariableType() or 
LlGetVariableContents() has not been defined. 
UNKNOWNFIELD (-36) 
The field given with LlGetFieldType() or 
LlGetFieldContents() has not been defined. 
UNKNOWNSORTORDER (-37) 
The sorting order given by the ID for the 
grouping functions has not been defined. 
NOPRINTERCFG (-38) 
LlPrintCopyPrinterConfiguration(): File not found 
or wrong format 
SAVEPRINTERCFG (-39) 
LlPrintCopyPrinterConfiguration(): File write error 
(network rights allow writing/creation, disk full?) 
RESERVED (-40) 
Function not implemented yet 
NOVALIDPAGES (-41) 
Storage file contains no valid pages. 
NOTINHOSTPRINTERMODE (-42)  This command cannot be called in 
HOSTPRINTER mode (LlSetPrinterInPrinterFile(), 
LlPrintCopyPrinterConfiguration()) 
NOTFINISHED(-43) 
One or more objects have not been completely 
printed. 
BUFFERTOOSMALL(-44) 
Ll[G|S]etOptionString(),LlPrint[G|S]etOptionString
(), ... A buffer passed to List & Label is not large 
enough for the data that should be stored in it. 
The data is not complete. 
BADCODEPAGE (-45) 
LL_OPTION_CODEPAGE: The code page is 
invalid (NLS not installed). 
CANNOTCREATETEMPFILE(-46) 
A temporary file could not be created 
NODESTINATION(-47) 
List & Label has no valid print medium (see 
LL_OPTIONSTRING_EXPORTS_ALLOWED) 
NOCHART(-48) 
LlPrintDeclareChartRow(): No chart object exists 
in the project. 
TOO_MANY_CONCURRENT_-
PRINTJOBS (-49) 
Only in server/web server applications. The 
count of current users is above the number of 
licensed users. 
BAD_WEBSERVER_LICENSE 
(-50) 
Only in server/web server applications. The web 
server license file (*.wsl) is invalid or damaged. 
NO_WEBSERVER_LICENSE 
(-51) 
Only in server/web server applications. The 
webserver license file (*.wsl) could not be found. 
ERR_INVALIDDATE (-52) 
LlSystemTimeFromLocaleString(): invalid date 
format has been used 
DRAWINGNOTFOUND(-53) 
A required drawing file could not be found, see 
also LL_OPTION_ERR_ON_FILENOTFOUND 
Documents you may be interested
Documents you may be interested