view pdf winform c# : Add a link to a pdf file control Library platform web page asp.net azure web browser TMS%20TAdvStringGrid%20Developers%20Guide12-part143

TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
121 | Page 
ppTopCenter : page number is printed centered on top 
ppBottomLeft : page number is printed in bottom left corner 
ppBottomCenter : page number is printed centered at bottom 
ppBottomRight : page number is printed in bottom right corner 
PageNumberOffset  
Sets the offset of the page numbers printed. 
PageNumSep  
Sets the separator between actual printed page and total nr. of pages. If 
PageNumSep is a zero length string, total number of pages is not printed. 
Default value is '/' 
PagePrefix  
Sets the prefix for page numbering for printout 
PageSuffix  
Sets the suffix for page numbering for printout 
PrintComments 
When true, the comment triangles in cells are printed 
PrintGraphics  
When true, graphics are printed 
RepeatFixedCols  
When true, printout of fixed columns is repeated on each page. 
RepeatFixedRows  
When true, printout of fixed rows is repeated on each page. 
RightSize  
Controls distance to skip at right side of page in units of 1/10mm. 
RowSpacing  
Controls distance to skip between 2 columns in units of 1/10mm. 
Time  
Sets the position where time of printout needs to be printed. The position 
is of the type TPrintPosition and can be: 
ppNone : no time is printed 
ppTopLeft : time is printed in top left corner 
ppTopRight : time is printed in top right corner 
ppTopCenter : time is printed centered on top 
ppBottomLeft : time is printed in bottom left corner 
ppBottomCenter : time is printed centered at bottom 
ppBottomRight : time is printed in bottom right corner 
Title  
Defines where the title is printed. This is of the type TPrintPosition with 
equal settings as for Time 
TitleLines 
TitleLines is a stringlist that can be used instead of TitleText to hold a 
multiple title lines 
TitleSpacing 
Controls the space between the grid title and the actual grid data in 0.1mm 
units 
TitleText 
TitleText holds a single line title only. When using multiline titles, use the 
TitleLines property 
UseFixedHeight 
If true, uses value FixedHeight, else auto calculation is done 
UseFixedWidth 
If true, uses value FixedWidth, else auto calculation is done 
Add a link to a pdf file - insert, remove PDF links in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Free C# example code is offered for users to edit PDF document hyperlink (url), like inserting and deleting
adding a link to a pdf; add links in pdf
Add a link to a pdf file - VB.NET PDF url edit library: insert, remove PDF links in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Help to Insert a Hyperlink to Specified PDF Document Page
add url link to pdf; convert excel to pdf with hyperlinks
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
122 | Page 
UseDisplayFont 
When true, the PrintSettings.Font and PrintSettings.FixedFont properties 
are ignored and the grid’s display fonts are used for printing 
UseDefaultOrientation  When true, the default printer orientation is used as opposed to forcing the 
orientation to the PrintSettings.Orientation setting. 
Print methods 
The methods available for printing are listed here. Two categories exist: the methods that print to 
the currently selected default printer and equivalent methods that just draw on the selected 
canvas. Printing can be done for: full grid, programmatically choosen rectangle of cells, selected 
cells, disjunct selected rows or disjunct selected columns. 
procedure Print; 
procedure PrintRect(Gridrect:TGridRect); 
procedure PrintSelection; 
procedure PrintSelectedRows
procedure PrintSelectedCols; 
procedure PrintPreview(Canvas:TCanvas;Displayrect:TRect); 
procedure PrintPreviewRect(Canvas:TCanvas; Displayrect:TRect; 
Gridrect:TGridRect); 
procedure PrintPreviewSelection(Canvas:TCanvas; Displayrect:TRect);     
procedure PrintPreviewSelectedRows(Canvas:TCanvas; Displayrect:TRect); 
procedure PrintPreviewSelectedCols(Canvas:TCanvas; Displayrect:TRect); 
Print related events 
OnPrintPage 
Event triggered at start of each page 
OnPrintPageDone 
Event triggered after printing of a page completes 
OnPrintStart 
Event triggered before starting printing pages. This event returns the 
number of pages that will be required for the print and through 
parameters FromPage, ToPage it is possible to select a subset of pages 
to be printed 
OnPrintCancel 
Event triggered after printing each page with parameter Cancel that can 
be set true to cancel further printing 
OnFitToPage 
Event triggered after fit to page calculations have been done. This 
allows to override the calculated scale factor 
OnPrintNewPage 
Event triggered after each row is printed allowing to force a page break 
on an arbitrary row in the grid 
OnPrintSetColumnWidth  Event triggered after calculation of required column widths, allowing to 
override the calculated column width 
OnPrintSetRowHeight 
Event triggered after calculation of required row heights, allowing to 
override the calculated row height 
C# PDF Library SDK to view, edit, convert, process PDF file for C#
and quick navigation link in PDF bookmark. C#.NET: Edit PDF Metadata. PDF SDK for .NET allows you to read, add, edit, update, and delete PDF file metadata, like
add link to pdf file; add hyperlink pdf document
VB.NET PDF Password Library: add, remove, edit PDF file password
This VB.NET example shows how to add PDF file password with access permission setting. passwordSetting.IsAssemble = True ' Add password to PDF file.
accessible links in pdf; add links to pdf online
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
123 | Page 
Using the helper dialog components TAdvPreviewDialog and TAdvGridPrintSettingsDialog 
Using these dialogs is straightforward. Both dialogs have a property Grid. Put the component on the 
same form as the grid’s form and assign the grid to the AdvPreviewDialog.Grid or 
AdvGridPrintSettingsDialog.Grid property.  
For the printsettings dialog following configurations are possible: 
Caption 
Sets the caption text of the printsettings dialog 
INIFile 
Sets the filename where to load/store printsettings 
Options 
Selects which parts of the print settings are enabled for changing. By default 
all settings are enabled for changing 
PrintDimensions 
Selects which dimensions are used in the settings dialog. This can be inches 
or millimetres 
PrintPreview 
When true, a small preview rectangle is displayed in the print settings dialog 
For the print preview dialog following configurations are possible: 
CloseAfterPrint 
When true, if the Print button is pressed on the preview dialog to start a 
print, the dialog is automatically closed after printing has finished 
DialogCaption 
Sets the caption text of the preview dialog 
DialogCloseBtn 
Sets the close button text  
DialogNextBtn 
Sets the text of the next page button 
DialogPrevBtn 
Sets the text of the previous page button 
DialogPrintBtn 
Sets the text of the print button 
PreviewCenter 
Positions the preview dialog always in the screencenter 
PreviewFast 
Shows a preview without doing page number calculation resulting in a faster 
display 
PreviewHeight 
PreviewWidth 
PreviewLeft 
PreviewTop 
Sets the dimensions and position of the preview dialog 
PrinterSetupDialog 
When true, choosing Print from the preview dialog will first show the printer 
setup dialog before starting the print 
PrintSelectedCols 
Shows only selected columns in the preview. Mutually exclusive with 
PrintSelectedRows and PrintSelection 
PrintSelectedRows 
Shows only selected rows in the preview. Mutually exclusive with 
PrintSelectedCols and PrintSelection 
C# PDF Password Library: add, remove, edit PDF file password in C#
This example shows how to add PDF file password with access permission setting. passwordSetting.IsAssemble = true; // Add password to PDF file.
adding hyperlinks to pdf; add a link to a pdf
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
Insert Image to PDF. Image: Remove Image from PDF Page. Copy, Paste, Cut Image in Page. Link: Edit URL. Images. Redact Pages. Annotation & Drawing. Add Sticky Note
pdf links; add links to pdf document
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
124 | Page 
PrintSelection 
Shows only selected cells in the preview. Mutually exclusive with 
PrintSelectedRows and PrintSelectedCols 
ShowMaximized 
When true, the preview dialog is started in maximized state 
Public print related properties 
A series of additional public read-only properties are available that return information during the 
printing process: 
PrintPageRect:TRect; 
Returns the physical dimensions (in logical coordinates) of 
the currently printed page 
PrintPageWidth: Integer; 
Returns the page width in logical coordinates 
PrintColWidth[ACol: Integer]: Integer;  Returns the width of the column on paper in logical 
coordinates 
PrintColOffset[ACol: Integer]: Integer;  Returns the indent from left of the column on paper in 
logical coordinates 
PrintColStart: Integer; 
Position from left in logical coordinates of the first column 
left border 
PrintColEnd: Integer; 
Position from right in logical coordinates of the last 
column right border 
PrintNrOfPages: Integer; 
Returns number of pages required 
Example: printing a company logo in the page header 
The OnPrintPage event is used to print  a custom header on each page. This event is triggered for 
each page and thus allows to add any custom information on the printout.  In this example, the 
space allocated for the custom header is set through the PrintSettings.HeaderSize property. It is 
important to know that printing is happening in MM_LOMETRIC mode, meaning a positive X-axis used 
but a negative Y-axis. 
procedure TForm1.AdvStringGrid1PrintPage(Sender: TObject; Canvas: TCanvas; 
pagenr, pagexsize, pageysize: Integer); 
var 
bmp: TBitmap; 
r: TRect; 
ratio: double; 
begin 
bmp := TBitmap.Create; 
bmp.LoadFromFile('athena.bmp'); 
ratio := bmp.Width/bmp.Height; 
r.Left := AdvStringGrid1.PrintColOffset[1]; 
r.Top := -0; 
r.Right := r.Left + Round(AdvStringGrid1.PrintSettings.Headersize*ratio); 
C# PDF insert image Library: insert images into PDF in C#.net, ASP
using RasterEdge.Imaging.Basic; using RasterEdge.XDoc.PDF; Have a try with this sample C#.NET code to add an image to the first page of PDF file.
add hyperlink in pdf; change link in pdf file
VB.NET PDF insert image library: insert images into PDF in vb.net
using RasterEdge.XDoc.PDF; Have a try with this sample VB.NET code to add an image to the first page of PDF file. ' Open a document.
add links to pdf acrobat; pdf link to attached file
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
125 | Page 
r.Bottom := r.Top - AdvStringGrid1.PrintSettings.Headersize; 
Canvas.StretchDraw(r,bmp); 
bmp.Free; 
r.Left := r.Right; 
r.Top := 0; 
Canvas.TextOut(r.Left,r.Top,'Printed with TAdvStringGrid'); 
r.Top := r.Top - Canvas.TextHeight('gh'); 
Canvas.TextOut(r.left,r.top,'showing how to add a bitmap in the header'); 
r.Left := AdvStringGrid1.PrintColOffset[1]; 
r.Right := AdvStringgrid1.PrintColOffset[8]; 
r.Top := -AdvStringgrid1.PrintSettings.HeaderSize+2; 
Canvas.MoveTo(r.left,r.top); 
Canvas.LineTo(r.right,r.top); 
end; 
How to C#: Basic SDK Concept of XDoc.PDF for .NET
You may add PDF document protection functionality into your C# of PDF document, including editing PDF url links and quick navigation link in bookmark
pdf hyperlink; add links to pdf
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Add necessary references: using RasterEdge.XDoc.PDF; Note: When you get the error "Could not load file or assembly 'RasterEdge.Imaging.Basic' or any other
clickable links in pdf from word; change link in pdf file
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
126 | Page 
TAdvStringGrid clipboard handling 
Handling standard keyboard shortcuts for clipboard is enabled by setting the property 
grid.Navigation.AllowClipboardShortCuts to True. Note that by default clipboard cut and paste 
operations only apply on editable cells. This can be overridden by setting the property 
Grid.Navigation.AllowClipboardAlways to true. When clipboard actions are performed by keyboard 
shortcuts in the grid, the following events are triggered: 
OnClipboardPaste 
OnClipboardPasteDone 
OnClipboardBeforePasteCell 
OnClipboardAfterPasteCell 
OnClipboardBeforePasteWideCell 
OnClipboardAfterPasteWideCell 
OnClipboardCopy 
OnClipboardCopyDone 
OnClipboardCut 
OnClipboardCutDone 
These events have a parameter Allow, through which the clipboard operation can be cancelled by 
setting it to false. These clipboard events are called one time before the clipboard action happens 
and thus affect multiple cells in case multiple cells are involved in the clipboard operation.  
In addition, the event OnClipboardBeforePasteCell is triggered before each cell value is replaced by 
its new value, allowing programmatic control whether the pasted values can be accepted or 
automatic replacement of pasted values. The OnClipboardBeforePasteWideCell is the equivalent 
event in case a Unicode text value is pasted in a cell.  
The OnClipboardAfterPasteCell and OnClipboardAfterPasteWideCell are triggered after the actual 
paste for the cell was performed. 
Finally, following clipboard methods are available to do programmatic clipboard operations: 
procedure CutToClipboard; 
procedure CutSelectionToClipboard; 
procedure CopyToClipBoard; 
procedure CopyToClipBoardAsHTML; 
procedure CopySelectionToClipboard; 
procedure PasteFromClipboard; 
procedure PasteSelectionFromClipboard; 
TAdvStringgrid supports following clipboard formats: 
1) Standard text format (Unicode text for Delphi 2009, ANSI text for older versions)  
This mode performs a copy & paste of just unformatted text. This mode is compatible with tables in 
many other applications such as Microsoft Excel, Microsoft Word or any text editor. 
2) Rich text format 
This mode performs a copy & paste of cell text including cells with rich text formatting 
3) Binary format (proprietary format)  
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
127 | Page 
This mode performs a copy & paste of cells including cell properties such as color, alignment, font, 
… This clipboard format can only be pasted within TAdvStringGrid. 
By default, standard text format is enabled. To allow rich text clipboard format, set 
grid.Navigation.AllowRTFClipboard to true.  To allow also formatted text copy & paste, set 
grid.Navigation.AllowFmtClipboard to true. 
A paste operation will by  default always overwrite the cells starting from the top/left cell of the 
selection in the grid. A paste operation can also insert cells instead. This mode is selected with 
grid.Navigation.ClipboardPasteAction. 
In this sample code snippet, pasting in the grid will automatically insert new cells. By implementing 
the OnClipboardBeforePasteCell, it is ensured in code that no cell text will be longer than 4 
characters when pasting text: 
procedure TForm1.AdvStringGrid1ClipboardBeforePasteCell(Sender: TObject; 
ACol, ARow: Integer; var Value: string; var Allow: Boolean); 
begin 
if length(Value) > 4 then 
Value := copy(Value,1,4); 
end; 
procedure TForm1.FormCreate(Sender: TObject); 
begin 
AdvStringGrid1.Navigation.AllowClipboardShortCuts := true; 
AdvStringGrid1.Navigation.ClipboardPasteAction := paInsert; 
end; 
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
128 | Page 
TAdvStringGrid floating footer use 
With the floating footer (for which the settings are organised in the property grid.FloatingFooter) an 
always visible fixed footer can be displayed in the grid. This footer is always visible independent of 
vertical scrolling in the grid. The floating footer can currently be organised in 3 different ways set 
by the FooterStyle property: 
fsFixedLastRow 
fsColumnPreview  
fsCustomPreview 
With the fsFixedLastRow style, the last row is always displayed in the fixed floating footer instead 
of in regular grid cells. With the fsFixedLastRow style, all columns are displayed in the fixed footer 
in the same way these would be displayed normally in the last row. This means that all settings that 
affect display of row with index RowCount - 1 (= last row) apply to the display of the fixed floating 
footer.  
In fsColumnPreview mode, the fixed floating footer displays the column set by 
grid.FloatingFooter.Column: Integer for the current focused row. This can be used as a convenient 
way to display cell contents that would not fit in a small column, in the full grid width of the fixed 
floating footer for the selected row.  
Finally, the fsCustomPreview mode enables combined column previewing through the 
CustomTemplate. With the custom template, different column contents can be shown by a 
referencing HTML tag. Suppose column 1 contains the name of a person, column 2 the prename and 
column 3 the address. This can be combined in a convenient preview of full name and address 
through a CustomTemplate like : 
'Person : <B><#1> <#2></B> Address : <i><#3>'; 
Example: using fsFixedLastRow style to display always visible last row of the grid 
The fsFixedLastRow style is choosen in the FloatingFooter settings and the last row is used to display 
the column sums. The following method puts the column sums into the last row :  
procedure TForm1.UpdateSums; 
var 
i: Integer; 
begin 
for i := 1 to AdvStringGrid1.ColCount - 1 do 
AdvStringGrid1.Floats[i,AdvStringGrid1.RowCount - 1] := 
AdvStringGrid1.ColumnSum(i,1,AdvStringGrid1.RowCount - 2); 
AdvStringGrid1.FloatingFooter.Invalidate;  
end; 
To synchronise updating the floating footer whenever a cell value changes through editing, the 
UpdateSums method is called from the OnCellValidate event which is triggered whenever editing 
changes a cell. 
procedure TForm1.AdvStringGrid1CellValidate(Sender: TObject; Col, 
Row: Integer; var Value: String; var Valid: Boolean); 
begin 
UpdateSums; 
end; 
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
129 | Page 
While the above example shows how displaying custom calculated values in the floating footer can 
be achieved, TAdvStringGrid already provides some predefined column calculation methods. The 
predefined column calculations can be set with: 
Grid.FloatingFooter.ColumnCalc[ColumnIndex: Integer]: TColumnCalcType; 
Where TColumnCalcType is: 
TColumnCalcType = (acNONE,acSUM,acAVG,acCOUNT,acMIN,acMAX,acCUSTOM); 
acAVG 
Auto calculated column average 
acCOUNT 
Auto calculated column row count 
acCUSTOM 
Whenever a floating footer value needs to be updated, the event 
OnFooterCalc is triggered 
acMAX 
Auto calculated column maximum value 
acMIN 
Auto calculated column minimum value 
acNONE 
No automatic calculation done 
acSUM 
Auto calculated column sum 
acDISTINCT  Returns the nr. of distinct values in the column 
acSTDDEV 
Calculates the standard deviation of values in a column 
Default type is acNone, thus by default the value in the floating footer in fsFixedLastRow style is 
the contents of the last row cell. 
Example: setting up column 2 with auto calculated sum and colum 4 with auto calculated average 
Grid.FloatingFooter.ColumnCalc[2] := acSum; 
Grid.FloatingFooter.ColumnCalc[4] := acAverage; 
Example: using custom footer calculation to calculate standard deviation 
This code initializes a default grid with a visible floating footer and calculation acCUSTOM for the 
first editable column.  The OnFooterCalc event calculates the standard deviation while the sum is 
automatically calculated for the 2
nd
editable column: 
procedure TForm1.FormCreate(Sender: TObject); 
begin 
 with AdvStringGrid1 do 
begin 
ColCount := 20; 
RandomFill(false,100); 
Options := Options + [goEditing]; 
FloatingFooter.Visible := true; 
FloatingFooter.ColumnCalc[1] := acCUSTOM; 
FloatingFooter.ColumnCalc[2] := acSUM; 
 end; 
end; 
TMS SOFTWARE  
TADVSTRINGGRID  
DEVELOPERS GUIDE 
130 | Page 
procedure TForm1.AdvStringGrid1FooterCalc(Sender: TObject; ACol, ARow: 
Integer; var Value: string); 
var 
i: integer; 
d, m, sd: double; 
begin 
// calculate mean 
:= 0; 
for i := advstringgrid1.FixedRows to ARow do 
begin 
:= m + advstringgrid1.Floats[ACol,i]; 
end; 
:= m / (ARow - advstringgrid1.FixedRows + 1); 
// calculate standard deviation 
sd := 0; 
for i := advstringgrid1.FixedRows to ARow do 
begin 
sd := sd + sqr(advstringgrid1.Floats[ACol,i] - m); 
end; 
sd := sd / (ARow - advstringgrid1.FixedRows); 
Value := Format(advstringgrid1.FloatFormat,[sqrt(sd)]); 
end; 
Direct column calculations 
Other than automatically perform calculation on column values and display the result in the floating 
footer, these functions can also be called directly to display the result on other controls. Available 
column calculation functions. The FromRow, ToRow parameters are default parameters and when 
not used, it returns the result of the values in all normal cells in a column (excluding fixed cell 
values) 
grid.ColumnSum(AColumn: Integer; FromRow, ToRow: integer default -1); 
Calculates column sums  
grid.ColumnAvg(AColumn: Integer; FromRow, ToRow: integer default -1); 
Calculates column averages 
Grid.ColumnMin(AColumn: Integer; FromRow, ToRow: integer default -1); 
Calculates column minimum  
Grid.ColumnMax(AColumn: Integer; FromRow, ToRow: integer default -1); 
Calculates column minimum  
Grid.ColumnCount(AColumn: Integer; FromRow, ToRow: integer default -1); 
Calculates number of rows in a column 
Grid.ColumnDistinct(AColumn: Integer; FromRow, ToRow: integer default -1); 
Documents you may be interested
Documents you may be interested