open pdf in webbrowser control c# : Delete text pdf Library application component .net windows html mvc hostwin26-part227

2. If you move the OLE object within the FRAME entry during visual editing (in 
BUILD mode), the object returns to its original position when you click outside 
of it (ending the visual editing session). If you want to move the object to another 
position in the FRAME entry, end the visual editing session and then move the 
object region.
3. Most OLE objects require that you double-click on them to activate them. 
However, a few types of objects require only a single-click to activate them.
4. If you attempt to edit a linked object or an OLE object whose server application 
does not support visual editing, the server application launches as a separate 
instance and enables you to edit the object. This action is known as open editing 
and is consistent with the behavior of linked objects and all OLE 1.0 objects.
Invoking OLE Verbs
Each OLE object (except OLE controls) has a default action that it performs when you 
double-click on it. For many objects, the default action is Edit (invoking a visual editing 
session for OLE 2.0 or an open editing session for linked objects and all OLE 1.0 
objects). However, there are some objects for which the Edit action is secondary (for 
example, a Media Clip object, where Play is the primary action). Also, many objects 
have more than one action that they can perform, so they understand more than one OLE 
verb. (Double-clicking on an OLE object in BUILD: DISPLAY mode does not perform 
the default action, but double-clicking on the object in TESTAF mode does.)
To access the menu of OLE verbs for an OLE object in BUILD mode, click on the object 
with the right mouse button. The name of the OLE object is located at the bottom of the 
pop-up menu. In the cascading menu, there is a list of valid OLE verbs for the object. 
Select a verb from this menu to perform that action. The default verb appears first in the 
list of verbs.
For example, a Microsoft Excel object understands Edit (for visual editing) and Open 
(for open editing). A Media Clip object understands Play and Edit.
You can also access the list of valid verbs by clicking on the Associated Verbs item in 
the Object Attributes dialog box for the object. This list just contains the names of the 
verbs; you cannot initiate the verbs from here. Again, the verb at the top of the list is the 
default verb.
Using SCL, you can invoke any verb that a particular OLE object understands by using 
the _EXECUTE_ method with the verb as an argument. For example, this code would 
invoke the verb Play on the OLE object mediaobj:
call notify('mediaobj', '_EXECUTE_', 'Play');
You can specify multiple verbs in a single call to _EXECUTE_. For more information 
about the _EXECUTE_ method, see “_EXECUTE_” on page 622 .
Invoking OLE Verbs
241
Delete text pdf - delete, remove text from PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# developers to use mature APIs to delete and remove text content from PDF document
how to delete text in pdf document; erase text in pdf document
Delete text pdf - VB.NET PDF delete text library: delete, remove text from PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Programming Guide to Delete Text from PDF File
delete text from pdf online; remove text watermark from pdf online
Using Linked OLE Objects
Overview of Using Linked OLE Objects
A linked OLE object contains information about the object's server application and 
points to the data file that resides on disk, but does not contain data for the object itself. 
The object contains a static picture that represents the contents of the linked source.
Using the Links dialog box, you can specify to update a linked object:
• When you update the source file that an object points to, use the Links dialog box to 
update the linked object automatically. (You must reload the FRAME entry before it 
reflects the change.)
• manually, by choosing Update Now in the Links dialog box or by using the 
_UPDATE_ method in SCL.
• manually, by pointing the object to a different source file using either the Links 
dialog box or the _UPDATE_ method in SCL.
Linked OLE objects that you include in a FRAME entry:
• support open editing only (as opposed to visual editing, described in “Editing an 
OLE Object within a FRAME Entry” on page 240 ). When you double-click on the 
object's representation in the FRAME, the server application is invoked in a separate 
window with the object's data file open.
You can also update the data of a linked object by using the server application to 
open the data file the object points to.
• must point to existing data files. If you change the location of a data file to which an 
object is linked, you must update the links information for the object.
If you create a linked object using OLE - Paste Special, the data source that you paste 
from must be permanent (you must have saved it to disk). If you create a linked object 
from a temporary data source, SAS is unable to locate the data to update the object when 
the data source no longer exists.
Updating a Linked Object with the Links Dialog Box
To update the links information with the Links dialog box (shown in Figure 9.2 on page 
243 ):
1. Click on the object with the right mouse button. A pop-up menu appears. The object 
type is listed as the bottom menu item.
2. Click on the bottom menu item. A cascading menu containing valid OLE verbs for 
the object appears.
3. Click Links. The Links dialog box appears, containing link information for all of the 
linked objects in the FRAME entry. (If there are no linked objects in the FRAME, 
then the Links item is disabled.)
4. Use the Links dialog box to change information about the object as necessary. For 
example, if the data file resides in a different location, you can change the source for 
the object link.
242
Chapter 9 • Using OLE in SAS/AF Software under Windows
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
›› VB.NET PDF: Delete PDF Page. VB.NET PDF - How to Delete PDF Document Page in VB.NET. Visual Basic Sample Codes to Delete PDF Document Page in VB.NET Class.
remove text from pdf preview; erase pdf text
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Page: Delete Existing PDF Pages. |. Home ›› XDoc.PDF ›› C# PDF: Delete PDF Page. C#.NET PDF Library - Delete PDF Document Page in C#.NET.
remove text from pdf online; remove text watermark from pdf
An alternate way to open the Links dialog box for a linked OLE object is to use the 
DLGLINKS command from the command line. You can also use the _EXECUTE_ 
method in SCL to invoke the DLGLINKS command. For example:
call notify('linkobj','_execute_','dlglinks');
Figure 9.2 Links Dialog Box
Updating a Linked Object Programmatically
To change the source of a linked object programmatically with SCL, use the _UPDATE_ 
method to specify a new HSERVICE entry to associate with the object. The _UPDATE_ 
method for OLE objects accepts the name of an HSERVICE entry as a third argument. 
(This method overrides the Widget class _UPDATE_ method.) For the syntax of the 
OLE _UPDATE_ method, see “_UPDATE_” on page 627.
Converting OLE Objects
An OLE object can be associated with only one server application, but some OLE 
objects can be converted for use with a different server application than the one that 
created them.
You can convert an object by using the Convert dialog box (shown in Figure 9.3 on page 
244 ). This dialog box lets you:
• change the object's view from an icon to object content and vice versa.
• change the object's type from one server application to another. 
• activate the object with a different server application than originally created it, 
without altering the object type. 
Converting OLE Objects
243
VB.NET PDF Text Extract Library: extract text content from PDF
PDF ›› VB.NET PDF: Extract PDF Text. VB.NET PDF - Extract Text from PDF Using VB. How to Extract Text from PDF with VB.NET Sample Codes in .NET Application.
delete text from pdf; how to delete text in a pdf file
C# PDF Text Extract Library: extract text content from PDF file in
XDoc.PDF ›› C# PDF: Extract PDF Text. C# PDF - Extract Text from PDF in C#.NET. Feel Free to Extract Text from PDF Page, Page Region or the Whole PDF File.
pdf editor online delete text; delete text from pdf file
Figure 9.3 Convert Dialog Box
To convert an OLE object within a SAS/AF FRAME entry:
1. Click on the object with the right mouse button.
2. At the bottom of the pop-up menu, select the object's name (thus revealing the 
cascading menu).
3. In the cascading menu, select Convert. The Convert dialog box appears, listing the 
valid object types to which you can convert the selected object.
4. If you want to actually convert the object to another type, select the desired target 
object type and click OK.
If you want to toggle the object between icon view and content view, check Display 
As Icon.
If you want to activate the object using another server, click Activate as and then 
select the server application to use.
5. Click OK.
An alternate way to open the Convert dialog box for an OLE object is to select the object 
and issue the DLGCONVERT command on the command line. Also, you can use the 
_EXECUTE_ method in SCL to invoke the DLGCONVERT command. For example:
call notify('sheetobj','_execute_',
'dlgconvert');
Automating OLE Objects and Applications
Overview of Automating OLE Objects and Applications
Some Windows applications provide a scripting language that enables you to control and 
update objects and external applications through automation. In SAS/AF software, you 
can use SAS Component Language (SCL) for OLE automation. Using SCL code to send 
instructions to the OLE object, you can update the object's data based on a user's actions 
in your SAS/AF application.
In SAS/AF software, you can automate:
• OLE objects embedded in a FRAME entry, using the OLE class
244
Chapter 9 • Using OLE in SAS/AF Software under Windows
C# PDF insert text Library: insert text into PDF content in C#.net
Text to PDF. C#.NET PDF SDK - Insert Text to PDF Document in C#.NET. Providing C# Demo Code for Adding and Inserting Text to PDF File Page with .NET PDF Library.
how to delete text from pdf with acrobat; acrobat remove text from pdf
C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net
C#.NET PDF SDK - Convert PDF to Text in C#.NET. Integrate following RasterEdge C#.NET text to PDF converter SDK dlls into your C#.NET project assemblies;
how to erase text in pdf online; online pdf editor to delete text
• OLE objects linked to a FRAME entry, using the OLE class
• OLE applications not associated with a FRAME entry, using the OLE Automation 
class.
Using SCL, you can communicate with any OLE object or application that supports 
OLE automation as a server. In this communication, SAS acts as a client while the 
automation application acts as a server. The server provides OLE automation objects, 
which you can control with SCL code. Using SCL methods, you can send OLE methods 
to the server for execution. You can also get and set the properties of the objects that you 
control. OLE automation servers can support multiple types of objects. They can have a 
unique set of methods and properties. The SCL methods that you can use are listed in 
Table 9.1 on page 245 and described in detail in “Summary of OLE Class Methods” on 
page 619 .
Note: Do not confuse the SCL OLE automation methods (listed in the table) with the 
methods provided by the OLE automation server. In SAS/AF software, the 
_COMPUTE_ and _DO_ SCL methods provide access to the methods supported by 
the OLE automation server. Each OLE automation server supports different methods, 
but you must always use the _COMPUTE_ or _DO_ method in SCL to invoke them. 
(You can use subclassing to create new methods that encapsulate these methods, such 
as the methods listed in this table.)
Table 9.1 OLE Automation Class Methods
OLE Automation Method
Description
_COMPUTE_
invokes a method supported by the OLE automation 
server and returns a value
_DO_
invokes a method supported by the OLE automation 
server (with no return value)
_GET_PROPERTY_
retrieves the value of a property exposed by the 
OLE automation server
_GET_REFERENCE_ID_
returns the reference identifier of an object provided 
by the OLE automation server
_IN_ERROR_
returns an object's ERROR status
_NEW_
assigns an SCL identifier to an external instance of 
an OLE automation server
_SET_PROPERTY_
sets the value of a property exposed by the OLE 
automation server
Note: The return values and arguments passed between the automation server and SAS 
using the OLE automation methods are passed by value, not by reference--including 
those arguments that the server defines as pass-by-reference. The arguments contain 
actual static values, not pointers to values that you can modify.
Accessing Array Values Returned by the OLE Automation Server
Using SCL methods and the OLE automation server, SAS lets you
Automating OLE Objects and Applications
245
VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net
VB.NET PDF - Convert PDF to Text Using VB. Integrate following RasterEdge text to PDF converter SDK dlls into your VB.NET project assemblies;
remove text from pdf acrobat; erase text from pdf
C# PDF Text Search Library: search text inside PDF file in C#.net
Text: Search Text in PDF. C# Guide about How to Search Text in PDF Document and Obtain Text Content and Location Information with .NET PDF Control.
how to delete text from a pdf document; how to delete text in a pdf acrobat
• receive a single-dimensional array that is passed to SAS as an SCL list
• send or receive multi-dimensional SCL arrays.
In this first example, the SCL code creates and populates a list box in a Microsoft Excel 
worksheet and stores the contents of the list box in an SCL list:
list=makelist();  /* create the SCL list */
/* Add a Listbox in a worksheet */
call send(worksht, '_COMPUTE_', 'Listboxes',
listbox);
call send(listbox, '_DO_', 'Add', 20, 50,
40, 100);
call send(worksht, '_COMPUTE_', 'Listboxes',
1, listone);
/* Fill the Listbox with a range of */
/* values from the worksheet        */
call send(listone, '_SET_PROPERTY_',
'ListFillRange', 'A1:A3');
/* Get the contents of the Listbox */
call send(listone, '_GET_PROPERTY_',
'List', list);
Using several SCL arrays, the following SCL code creates and populates another 
Microsoft Excel worksheet:
Init:
/* Initialization */
HostClass = loadclass('sashelp.fsp.hauto');
/* Instantiate the Excel object and make it visible */
call send (Hostclass, '_NEW_', ExcelObj, 0, 'Excel.Application');
call send (ExcelObj, '_SET_PROPERTY_', 'Visible', -1);
/* Get the Workbook Object, add a new Sheet and get the Sheet object */
call send (ExcelObj, '_GET_PROPERTY_', 'Workbooks', WkBkObj);
call send (WkBkObj, '_DO_', 'Add');
call send (ExcelObj, '_GET_PROPERTY_', 'ActiveSheet', WkShtObj);
dcl char names{3,2) =  ('Lucy', 'Ricky',
'Julliette', 'Romeo',
'Elizabeth', 'Richard');
/* Set the range to be A1:A4 and fill that range with names */
call send(WkShtObj, '_COMPUTE_', 'Range', 'A1', 'B3', RangeObj);
call send(RangeObj, '_SET_PROPERTY_', 'Value', names);
dcl num primes{2,4} = ( 1, 3, 5, 7,
11, 13, 17, 23);
/* Set the range to be A5:D6 and fill that range with ints values */
call send(WkShtObj, '_COMPUTE_', 'Range', 'A5', 'D6', RangeObj);
call send(RangeObj, '_SET_PROPERTY_', 'Value', primes);
dcl char totals{1,4} = ('=SUM(A5,A6)',
'=SUM(B5,B6)',
'=SUM(C5,C6)',
'=SUM(D5,D6)');
246
Chapter 9 • Using OLE in SAS/AF Software under Windows
/* Set the range to be A1:A4 and fill that range with totals */
call send(WkShtObj, '_COMPUTE_', 'Range', 'A7', 'D7', RangeObj);
call send(RangeObj, '_SET_PROPERTY_', 'Value', totals);
dcl char vals{7,4};
call send(WkShtObj, '_COMPUTE_', 'Range', 'A5', 'D7', RangeObj);
call send(RangeObj, '_GET_PROPERTY_', 'Value', vals);
return;
Using Value Properties
OLE automation servers (including OLE custom controls) can designate one of their 
properties or methods as a value property, which is used as the default property or 
method when the automation code accesses an object provided by the server without 
explicitly specifying a property or method name.
In SCL, you can access the value property of a server by specifying an empty string in 
place of the property name when invoking _GET_PROPERTY_ or _SET_PROPERTY_, 
or in place of the method name when using _DO_ or _COMPUTE_. For example, if the 
Text property is the value property, then the following code:
call notify('sascombo', '_set_property_', '',
'An excellent choice');
is equivalent to:
call notify ('sascombo', '_set_property_',
'Text', 'An excellent choice');
Both the SAS ComboBox and SAS Edit controls (supplied with SAS) designate Text as 
their value property.
Specifying Optional Parameters in OLE Server Methods
Some OLE server applications expose methods that have optional parameters. If you do 
not specify a value for one or more of the parameters that a method supports, the OLE 
server uses a default value for those parameters. Refer to the documentation for the OLE 
server application that you are using for information about which parameters are 
optional.
SAS supports the use of optional parameters by letting you specify a SAS missing value 
in place of the parameter that you want to omit. The default missing value character is a 
period (but that can be changed by using the MISSING system option).
For example, Microsoft Excel supports a ChartWizard method that accepts 11 
arguments, most of which are optional. This SCL code invokes this method with all of 
its arguments:
call send(chart, '_DO_', 'ChartWizard', hcell,
-4098, 6, 1, 0, 0, 1,
"Automation at work!",
'Column', 'Value', 'Row');
Here is the equivalent SCL code that omits the optional parameters (substituting the 
missing value character):
call send(chart, '_DO_', 'ChartWizard', hcell,
Automating OLE Objects and Applications
247
., ., ., ., ., .,
"Automation at work!",
., ., .);
Note: Your SCL code must still respect the position of the optional parameters when 
invoking methods. When you specify a missing value character as an argument, it 
must be in place of a parameter that is optional to the OLE server's method.
Creating an External OLE Automation Instance
External OLE Automation Instances can be for an application on your local machine or 
an application on a remote machine. Before you can automate an external OLE 
application, you must create an instance of the OLE Automation class. (This action is 
not necessary when you automate objects that you embed or link in your FRAME entry, 
because placing them in the FRAME entry creates the instance for you.) Unlike the OLE 
class, the OLE Automation class is not derived from the Widget class and therefore has 
no visual component to include in a FRAME entry. Instead, you must load an instance of 
the HAUTO class (using the LOADCLASS function) in the SCL code that drives the 
automation. For example:
hostcl=loadclass('sashelp.fsp.hauto');
After you create an instance of the OLE Automation class, you must associate the new 
instance with an SCL object identifier (which you need to use when calling methods 
with CALL SEND) and an OLE server application. To obtain the identifier, use the 
_NEW_ method on the newly created instance of the OLE Automation class. This 
example stores the object identifier in oleauto and associates the object with Microsoft 
Excel (which has the identifier Excel.Application in the Windows registry) on the 
local machine.
call send(hostcl, '_NEW_', oleauto, 0,
'Excel.Application');
To create an instance of the OLE Automation class for a remote machine, the remote 
machine must be configured to permit the user to start remote instances using 
Distributed COM Configuration Properties (DCOMCNFG.EXE). The 
DCOMCNFG.EXE is located in the \Windows\SYSTEM32 folder. For more 
information about Distributed COM Configuration Properties, see your Windows 
documentation. The following example creates an instance of Microsoft Excel on a 
remote machine. Once created, the method and property calls to that instance work as if 
it were on a local machine.
Init:
HostClass = loadclass('sashelp.fsp.hauto');
ExcelObj = 0;
/* Define the machine name and put it in a list  */
machineName = '\\Aladdin';
inslist = makelist();
attrlist = makelist ();
rc = insertc (attrlist, machineName, -1, 'remoteServer');
rc = insertl (inslist, attrlist, -1, '_ATTRS_');
/* Instantiate the Excel object and make it visible */
call send (HostClass, '_NEW_',ExcelObj, inslist,
248
Chapter 9 • Using OLE in SAS/AF Software under Windows
'Excel.Application');
call send (ExcelObj, '_SET_PROPERTY_', 'Visible', -1);
return;
For more information about the _NEW_ method, see “_NEW_” on page 626 .
After you create an instance of an OLE Automation object, you can automate that object 
in much the same way you would automate an object that you have embedded or linked 
in your frame. The following table notes some key differences between the types of 
objects.
Table 9.2 OLE Automation Objects
SAS OLE Objects
SAS OLE Automation Objects
Are derived from the Widget class.
Are derived from the Object class.
Have a visual component (the object that you 
place in the FRAME entry).
Have no visual component within the FRAME 
entry.
Are created by placing the object in a region 
in the FRAME entry (using drag and drop).
Are created by using the LOADCLASS 
statement and the _NEW_ method in SCL.
Represent the specific type of data object 
(which you choose) supported by the OLE 
server.
Represent the top-level application object 
supported by the OLE server, which you then 
might use to open objects of specific data 
types.
Enable you to call methods with CALL 
NOTIFY by passing in the object name from 
the FRAME entry.
Require you to call methods with CALL 
SEND, passing in the object identifier 
returned by the _NEW_, 
_GET_PROPERTY_, or _COMPUTE_ 
methods.
Example: Populating a Microsoft Excel Spreadsheet with SAS Data
The following table contains SCL code to populate a Microsoft Excel spreadsheet with 
data from a SAS data set.
Table 9.3 SCL Code for Populating a Microsoft Excel Spreadsheet
Action
SCL Code
Load an instance of the OLE 
Automation class and invoke Excel. 
Set the object to Visible, so you can 
see the automation in progress.
LAUNCHXL:
hostcl = loadclass('sashelp.fsp.hauto');
call send(hostcl, '_NEW_', excelobj, 0,
'Excel.Application');
call send(excelobj, '_SET_PROPERTY_', 'Visible', 'True');
return;
Automating OLE Objects and Applications
249
Action
SCL Code
Get the identifier for the current 
Workbooks property and add a 
worksheet. Then get the identifier 
for the new worksheet.
CREATEWS:
call send(excelobj, '_GET_PROPERTY_', 'Workbooks',
wbsobj);
call send(wbsobj, '_DO_', 'Add' );
call send(excelobj, '_GET_PROPERTY_', 'ActiveSheet',
wsobj);
Open a SAS data set.
dsid=open('sasuser.class','i');
call set(dsid);
rc=fetch(dsid);
nvar=attrn(dsid, 'NVARS');
nobs=attrn(dsid, 'NOBS');
Traverse the data set and populate 
the cells of the Excel worksheet with 
its data, row by row.
do
col=1 to nvar;
call send(wsobj, '_COMPUTE_', 'Cells',1,col,retcell);
var=varname(dsid,col);
call send(retcell,'_SET_PROPERTY_', 'Value',var);
end;
do while (rc ne -1);
do row = 1 to nobs;
do col = 1 to nvar;
r=row+1;
call send (wsobj, '_COMPUTE_', 'Cells', r ,col,retcell);
if vartype(dsid,col) eq 'N' then do;
varn=getvarn(dsid,col);
call send(retcell, '_SET_PROPERTY_', 'Value' ,varn);
end;
else do;
varc=getvarc(dsid,col);
call send(retcell, '_SET_PROPERTY_', 'Value' ,varc);
end;
end;
rc=fetch(dsid);
end;
end;
dsid=close(dsid);
return;
Close the worksheet and end the 
Excel session. The _TERM_ method 
deletes the OLE automation 
instance.
QUITXL:
call send(excelobj,'_GET_PROPERTY_', 'ActiveWorkbook',
awbobj);
call send(awbobj,  '_DO_', 'Close', 'False');
call send(excelobj, '_DO_', 'Quit');
call send(excelobj, '_TERM_');
return;
As you can see from this example, automating an application object requires some 
knowledge of the object's properties and methods. To help you decide which SCL 
commands to use for an Excel automation object, you can use the Macro Recorder in 
Excel to perform the task that you want to automate. Visual Basic code is generated. It is 
then relatively simple to map the Visual Basic code to comparable SCL statements and 
functions.
250
Chapter 9 • Using OLE in SAS/AF Software under Windows
Documents you may be interested
Documents you may be interested