pdf reader in asp.net c# : How to remove text watermark from pdf control Library system azure asp.net wpf console Milos_DocumentManagement_DownloadFileAttachment7-part824

71
www.cod
e
-m
a
g
a
z
in
e
.com
G
e
tting St
a
rt
e
d with th
e
Windows Liv
e
Tools
objContact.EmailPersonal =
txtEmail.ToString().Trim();
objContacts.Add(objContact);
Contacts1.CreateContacts(objContacts);
Contacts1.CommitContacts();
}
Lis
t
ing
3 also has btn
A
ddList_Clic
k
, which you use 
to  submit  multiple  contacts  for  addition.  You  can 
submit a maximum of 30 contacts in one operation. 
Use btnDeleteList_Clic
k
to perform batch deletions 
of contacts. You will notice that you must call the 
CommitContacts method after create or delete opera-
tions; otherwise, these operations won’t be fi nalized. 
btnDeleteList_Clic
k
also highlights how errors are re-
ported back from create
/
delete operations. In btnDe-
leteList_Clic
k
, the code is attempting to delete four 
contacts where the fourth contact was never added. 
Once  the CommitContacts  method  executes  (after 
The  event  handler, btn
A
dd_Clic
k
(defi ned  in 
Lis
t
i
n
g
3), shows that it is very easy to add contacts 
to a user’s contacts. You start with creating a Contact 
object—set the data elements that you are interested 
in, create a generic List of contacts, and then pass it 
to the CreateContacts method. The Contacts control 
can then either abort or commit the operation. The 
following code snippet only shows how to set this 
for e-mail; however, you can extend the code to set 
whatever data elements your application desires:
//add contact to signed-in users' contacts
protected void btnAdd_Click(object sender, 
EventArgs e)
{
List<Contact> objContacts = new
List<Contact>();
Contact objContact = new Contact();
using System;
using System.Data;
using System.Confi guration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using Microsoft.Live.ServerControls;
using System.Collections.Generic;
using System.Diagnostics;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Contacts1_OnServerData(object sender,
ServerDataEventArgs e)
{
foreach (Microsoft.Live.ServerControls.Contact objContact in
e.Contacts)
{
//Process the contacts received
}
}
//add contact to signed-in user's contacts
protected void btnAdd_Click(object sender, EventArgs e)
{
List<Contact> objContacts = new List<Contact>();
Contact objContact = new Contact();
objContact.EmailPersonal = txtEmail.ToString().Trim();
objContacts.Add(objContact);
Contacts1.CreateContacts(objContacts);
Contacts1.CommitContacts();
}
//add list of contacts to signed-in user's contacts
protected void btnAddList_Click(object sender, EventArgs e)
{
List<Contact> objContacts = new List<Contact>();
Contact objContact1 = new Contact();
objContact1.EmailPersonal = "devlivedemo_1@hotmail.com";
objContacts.Add(objContact1);
Contact objContact2 = new Contact();
objContact2.EmailPersonal = "devlivedemo_2@hotmail.com";
objContacts.Add(objContact2);
Contact objContact3 = new Contact();
objContact3.EmailPersonal = "devlivedemo_3@hotmail.com";
objContacts.Add(objContact3);
Contacts1.CreateContacts(objContacts);
Contacts1.CommitContacts();
}
//delete list of contacts from signed-in user's contacts
protected void btnDeleteList_Click(object sender, EventArgs e)
{
List<String> Emails = new List<string>();
Emails.Add("devlivedemo_1@hotmail.com");
Emails.Add("devlivedemo_1@hotmail.com");
Emails.Add("devlivedemo_1@hotmail.com");
Emails.Add("devlivedemo_1@hotmail.com");
Contacts1.DeleteContacts(Emails);
Contacts1.CommitContacts();
}
//OnServerCommit event handler
protected void Contacts1_OnServerCommit(object sender,
ServerCommitEventArgs e)
{
if (e.ServerCommitErrors.Count > 0)
{
foreach (ServerCommitError objError in 
e.ServerCommitErrors)
{
Debug.WriteLine(objError.CommitError);
Debug.WriteLine(objError.Key);
Debug.WriteLine(objError.CommitActivity);
}
}
}
}
Li
s
ting 3: D
e
f
a
ult.
a
spx.cs.
R
eg
i
ster
i
ng Your 
App
l
i
cat
i
on w
i
th 
W
i
ndows 
L
i
ve I
D
W
i
ndows 
L
i
ve 
I
D
W
eb 
A
uthent
i
cat
i
on requ
i
res no server 
i
nsta
l
l
i
t s
i
mp
l
y needs you to 
spec
i
f
y a return 
U
R
L
f
or your 
W
eb s
i
te and encrypt
i
on token 
(
app
l
i
cat
i
on secret
)
W
i
ndows 
L
i
ve 
I
D
prov
i
des you w
i
th an 
app
l
i
cat
i
on 
I
D
f
or your 
W
eb s
i
te. 
Y
ou can use th
i
s app
l
i
cat
i
on 
I
D
and encrypt
i
on token to 
i
dent
i
f
the 
W
eb s
i
te v
i
s
i
tors when they 
s
i
gn 
i
nto your 
W
eb s
i
te. 
F
or more 
deta
i
l
s on prov
i
s
i
on
i
ng your 
W
eb 
s
i
te and gett
i
ng an app
l
i
cat
i
on 
I
D
p
l
ease v
i
s
i
t: 
http://m
s
dn2.mi
c
ro
s
oft.
c
om/en-
u
s
/librar
y
/bb676626.a
s
p
x
How to remove text watermark from 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
remove text from pdf; how to delete text from pdf reader
How to remove text watermark from 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
how to delete text from pdf; how to delete text in a pdf file
72
www.cod
e
-m
a
g
a
z
in
e
.com
G
e
tting St
a
rt
e
d with th
e
Windows Liv
e
Tools
M
i
crosoft 
S
i
l
ver
l
i
ght 
S
tream
i
ng 
S
erv
i
ce
M
i
croso
f
t S
i
l
ver
l
i
ght Stream
i
ng 
Serv
i
ce by 
W
i
ndows 
L
i
ve o
f
f
ers 
des
i
gners and 
W
eb deve
l
opers 
an eas
i
er and 
f
ree so
l
ut
i
on 
f
or 
host
i
ng and stream
i
ng cross-
p
l
at
f
orm, cross-browser med
i
exper
i
ences and r
i
ch 
i
nteract
i
ve 
app
l
i
cat
i
ons 
(
us
i
ng 
M
i
croso
f
S
i
l
ver
l
i
ght
)
that run on 
W
i
ndows 
and 
M
ac. 
T
o get a 
f
ree S
i
l
ver
l
i
ght 
Stream
i
ng serv
i
ce account, 
p
l
ease v
i
s
i
t: 
http://
s
il
v
erlight.li
v
e.
c
om
A
pplicationSecretConfi
gKey properties and reads 
the Web.Confi
g keys.
The following  snippet from Web.Confi
g highlights 
this:
<appSettings>
<add key="wll_appid" value="FF167FFE80FFF932" />
<add key="wll_secret" value="CoDeMagazine123" />
</appSettings>
The  HTML  declaration  for  IDLoginStatus  looks 
like the following:
<live:IDLoginStatus ID="IDLoginStatus1"
runat="server"
ApplicationIDConfi gKey="wll_appid"
ApplicationSecretConfi gKey="wll_secret" />
IDLoginStatus offers both client-side and server-side 
events for sign-in
/
sign-out. IDLoginStatus also returns 
A
uthEvent
A
rgs, which contains the 
A
pplicationUse-
rIDTimeStamp (the time the user authenticated in 
seconds measured from Jan 1, 1970 GMT), and 
A
ppli-
cationContext (a parameter to round trip your appli-
cation state through the redirections to and from the 
Windows Live servers). The 
A
pplicationUserID is the 
unique site-specifi c identifi er for the signed-in user.
DeleteContacts) and the user approves the opera-
tion, a delete request is posted to Windows Live serv-
ers. After the request completes, the OnClientCom-
mit event is raised followed by the OnServerCommit 
event. Figu
r
e
4 shows the event argument returned 
on the client-side args, which reports an error for the 
attempt to delete the nonexistent contact.
The Contacts control also offers other events for 
sign-in
/
sign-out, error handling, and properties for 
styling (text, color, height, and width). The refer-
ence for the Contacts control is available online at 
http://de
v
.li
v
e.
c
om/tool
s
/
c
onta
c
t
s
api.a
s
p
x
.
I
D
L
og
i
n
S
tatus
IDLoginStatus provides Windows Live ID authen-
tication, which can be used to identify  visitors to 
your Web  site.  IDLoginStatus provides  a  unique, 
site-specifi c identifi er for each Windows Live user. 
This allows the Web site to personalize the experi-
ence for the visiting user.
When a user clicks the Sign-in link, the IDLogin-
Status control redirects to the sign-in Web page on 
Windows Live servers (http:
/
/
login.live.com) along 
with an application ID. After the user enters their 
credentials, the sign-in page redirects the user to the 
page with the IDLoginStatus control.
To obtain an application ID for your Web site, you 
need to register your application with the Windows 
Live ID service. You can do so by visiting http:
/
/
msm.live.com
/
app  (see sidebar: “Registering
Y
o
u
r
A
pplication
with
Windows
Live
ID”).
IDLoginStatus provides an easy workfl ow for de-
velopers within the Visual Studio development en-
vironment. After you drag-and-drop the IDLogin-
Status control onto your Web page, you can get a 
new application ID by clicking “Create new Appli-
cation ID” from the IDLoginStatus tasks (Fig
u
r
e
5). 
After you complete the registration of your applica-
tion and close the form, the IDLoginStatus control 
saves the application ID and application secret into 
Web.Confi
g and sets the 
A
pplicationIDConfi
gKey 
and 
A
pplicationSecretConfi
gKey properties on the 
IDLoginStatus  control.  The  control  adds wll_ap-
pid and wll_secret keys into the <appSettings> sec-
tion of the Web.Confi
g fi le. At run time, the control 
checks the values of 
A
pplicationIDConfi
gKey and 
I
D
L
og
i
nV
i
ew does 
temp
l
ate sw
i
tch
i
ng and assoc
i
at
i
on 
of W
i
ndows 
L
i
ve I
D
and A
S
P.
N
E
membersh
i
p profi 
l
es.
Figure 4: 
C
li
e
nt-sid
e
e
rror r
e
porting with th
e
O
n
C
li
e
nt
C
ommit 
e
v
e
nt.
Figure 5: IDLoginSt
a
tus—you 
c
a
n g
e
a
n
e
a
pplic
a
tion ID from 
within Visu
a
l Studio by clicking 
C
r
e
a
t
e
n
e
w Applic
a
tion ID”.
If you are using ASP.NET membership, IDLogin-
Status enables single-sign-on. You can set the 
A
u
-
tomaticallyConvert
A
u
thentication property to true. 
When this property is set to true, the IDLoginSta-
tus control  verifi es  whether the current signed-in 
user  has  previously  associated  with  an ASP.NET 
membership  profi le  and  automatically  logs-in  to 
ASP.NET membership on existence of an associa-
tion. Read more about this in IDLoginView.
You can fi nd the complete reference for the IDLog-
inStatus control at http:
/
/
dev.live.com
/
tools
/
idlog-
inapi.aspx.
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
console application. Able to remove a single page from PDF document. Ability to remove a range of pages from PDF file. Free trial package
acrobat remove text from pdf; remove text from pdf online
C# PDF Password Library: add, remove, edit PDF file password in C#
String outputFilePath = Program.RootPath + "\\" Remove.pdf"; // Remove password in the input file and output to a new file. int
remove text from pdf acrobat; how to delete text from a pdf in acrobat
73
www.cod
e
-m
a
g
a
z
in
e
.com
G
e
tting St
a
rt
e
d with th
e
Windows Liv
e
Tools
LoggedI
n
Templa
t
e
 Displayed  to  Web  site 
users who are logged into ASP.NET member-
ship  at  the  Web site  (inherited from  Login-
View).
LoggedI
n
IDTempla
t
e
: Displayed to Web site 
users who are logged in with Windows Live ID 
at the Web site.
LoggedI
n
AllTempla
t
e
: Displayed to Web site 
users  who  are  logged  into  both  ASP.NET 
membership and Windows Live ID.
Associa
t
eP
r
omp
t
Templa
t
e
: Displayed to Web 
site users when they have logged in with both 
ASP.NET  membership  and  Windows  Live 
ID,  but  have  not  yet  associated  these  two 
identities.
I
D
L
og
i
nV
i
ew
The IDLoginView control extends ASP.NET’s Log-
inView control. Where the LoginView control pro-
vides template switching based on a user’s logged-in 
state in ASP.NET membership, IDLoginView pro-
vides switching based on a user’s logged-in state in 
both ASP.NET membership and Windows Live ID.
IDLoginView adds three new templates in addition 
to the two provided in the LoginView control:
A
n
o
n
ymo
u
sTempla
t
e
: Displayed to Web site 
users who are not logged into the Web site (in-
herited from LoginView).
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="IDLoginView.aspx.cs" Inherits="IDLoginView" %>
<%@ Register Assembly="Microsoft.Live.ServerControls"
Namespace="Microsoft.Live.ServerControls"
TagPrefi x="live" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>CoDe Magazine Article - IDLoginView</title>
</head>
<body>
<form id="frmIDLoginView" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<live:IDLoginStatus ID="IDLoginStatus1" runat="server" />
<br />
<live:IDLoginView ID="IDLoginView1" runat="server"
AutomaticallyAssociateAuthentication="True"
PromptOnAssociation="True">
<AnonymousTemplate>
<asp:Login ID="Login1" runat="server"></asp:Login>
<br />
This is anonymous template
</AnonymousTemplate>
<AssociatePromptTemplate>
Associate your user name for this Website
with your Windows Live ID?<br>
<asp:Button runat="server" 
CommandName="associate_yes"
Text="Yes" Width="55px"
ID="IDLoginView1_livepromptyes">
</asp:Button>
<asp:Button runat="server"
CommandName="associate_no"
Text="No" Width="55px"
ID="IDLoginView1_livepromptno">
</asp:Button>
</AssociatePromptTemplate>
<LoggedInTemplate>
<asp:LoginStatus ID="LoginStatus1"
runat="server" />
This template is for ASP.NET logged in users
</LoggedInTemplate>
<LoggedInIDTemplate>
<asp:Login ID="Login1" runat="server">
</asp:Login><br />
This template is for Windows Live ID
signed in users
</LoggedInIDTemplate>
<LoggedInAllTemplate>
This template is for users logged in both
Windows Live ID and ASP.NET membership<br />
<asp:Button ID="btnRemove" runat="server"
Text="Remove Association"
onclick="btnRemove_Click" />
</LoggedInAllTemplate>
</live:IDLoginView>
</div>
</form>
</body>
</html>
Li
s
ting 4: IDLoginVi
e
w.
a
spx.
using System;
using System.Collections;
using System.Confi guration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Microsoft.Live.ServerControls;
public partial class IDLoginView : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
//Remove Association
protected void btnRemove_Click(object sender, EventArgs e)
{
AssociationManager.RemoveAssociation
(IDLoginStatus1.ApplicationUserID);
}
}
Li
s
ting 5: IDLoginVi
e
w.
a
spx.cs.
C# PDF bookmark Library: add, remove, update PDF bookmarks in C#.
Ability to remove and delete bookmark and outline entry.GetLocation()); Console.WriteLine("Text: " + entry.GetText NET Sample Code: Update PDF Document Outline
remove text from pdf preview; how to edit and delete text in pdf file
C# PDF metadata Library: add, remove, update PDF metadata in C#.
Add metadata to PDF document in C# .NET framework program. Remove and delete metadata from PDF file. Also a PDF metadata extraction control.
delete text from pdf with acrobat; delete text from pdf
74
www.cod
e
-m
a
g
a
z
in
e
.com
G
e
tting St
a
rt
e
d with th
e
Windows Liv
e
Tools
tures in IDLoginStatus and IDLoginView, as pro-
vided in Lis
t
ing
4 and Lis
t
ing
5.
You may be surprised to see that all of the tem-
plate switching and association functionality can 
be realized without you having to write a single 
line of code.
When a Web site visitor signs-in to your Web page 
using  the  IDLoginStatus  control,  IDLoginStatus 
sets the weba
u
th cookie, which contains the Ap-
plicationUserID for the signed-in user. The IDLog-
inView detects the state change after the IDLogin-
Status control sets this cookie. IDLoginView then 
switches the template to the LoggedInIDTemplate 
and renders the specifi ed contents. You can pro-
vide the content applicable to users having Win-
dows  Live  ID  in  this  template.  Then,  if  a  user 
signs-in  to  ASP.NET  membership,  IDLoginView 
switches to the LoggedInAllTemplate. At this time, 
if you had set the 
A
u
tomatically
A
ssociate
A
u
then-
tication and  PromptOn
A
ssociation properties to 
true, IDLoginView renders the AssociatePrompt-
Template to the user. If the user chooses to asso-
ciate the two identities, IDLoginStatus creates an 
association between Windows  Live  ID and ASP.
NET membership.
The
btnRemove_Clic
k
event handler (Lis
t
ing
5) 
shows how a developer can remove this associa-
tion, if the user so chooses.
AssociationManager
The  AssociationManager  allows  a  developer  to 
directly query, set,  or remove associations for the 
signed-in  user.  The  Microsoft.Live.ServerControls 
namespace  contains  this  class.  Include  a  using 
statement  for  the  Microsoft.Live.ServerControls 
namespace in your program.
S
i
l
ver
l
i
ght
S
tream
i
ngMed
i
aP
l
ayer
You can upload cool videos you created to your 
Silverlight  Streaming  account  (http://
s
il
v
erlight.
Not  only  does  IDLoginView  provide  template 
switching based on a user’s logged-in state, but it 
also allows  association  of Windows  Live  ID and 
ASP.NET  membership  identities.  Based  on  your 
choice, the AssociatePromptTemplate is presented 
to the user asking whether they want to associate 
their Windows Live ID and ASP.NET membership 
for a single-sign-on experience.
Refer to Lis
t
i
n
g
4 (IDLoginView.aspx) and Lis
t
i
n
g
(IDLoginView.aspx.cs)  for  the  following  discus-
sion.
After you drag and drop the IDLoginView control 
onto your Web page, start by setting these two prop-
erties: 
A
u
tomatically
A
ssociate
A
u
thentication and 
PromptOn
A
ssociation. Setting the 
A
u
tomatically-
A
ssociate
A
u
thentication property to true instructs 
the  IDLoginView  control  to  associate  ASP.NET 
membership and Windows Live ID when the user is 
logged in with both identities. IDLoginView calls 
A
s-
sociationManager.
A
ssociate
A
u
thentication passing 
the 
A
pplicationUserID (Windows Live ID’s unique 
identifi er for the signed-in user at your Web site) and 
the ASP.NET membership identity. If you chose to 
set the PromptOn
A
ssociation property to true, the 
IDLoginView asks the user whether to associate their 
Windows Live ID with their ASP.NET membership 
before establishing an association (Fig
u
r
e
6).
If  you  haven’t  yet,  you  need  to  launch  the 
ASP.NET Web Site Administration Tool from Web-
site  |  ASP.NET  Confi guration.  Please  make  sure 
that you make the following changes:
Set Authentication type to “From the Internet”. 
• 
By default, this is not the case. You can access 
this setting from the Security tab of ASP.NET 
Web Site Administration, and then click “Se-
lect the authentication type”.
Set up a few users by choosing “Create User”. 
• 
This will create users for your Web site who 
will be saved in the ASPNETDB.MDF data-
base in the App_Data folder.
Having set up the users for the Web site, you can 
test  the template switching and association fea-
Figure 7: Th
e
Silv
e
rlightStr
e
a
mingM
e
di
a
Pl
a
y
e
r control.
C# PDF url edit Library: insert, remove PDF links in C#.net, ASP.
Able to insert and delete PDF links. Able to embed link to specific PDF pages. Easy to put link into specified position of PDF text, image and PDF table.
delete text pdf file; how to delete text in pdf using acrobat professional
C# PDF File Compress Library: Compress reduce PDF size in C#.net
NET framework. Remove bookmarks, annotations, watermark, page labels and article threads from PDF while compressing. C# class demo
delete text from pdf file; delete text pdf preview
75
www.cod
e
-m
a
g
a
z
in
e
.com
G
e
tting St
a
rt
e
d with th
e
Windows Liv
e
Tools
$fi nd("StreamingMediaPlayer1");
objSLSMPlayer.set_mediaSource("streaming:
/20709/VideoLibrary/Assets/Lake.wmv");
}
</script>
Details about the underlying ASP.NET MediaPlay-
er are available at this link: http:
/
/
quickstarts.asp.
net
/
3-5-extensions
/
silverlight
/
MediaPlayerControl.
aspx.
Wrapp
i
ng 
U
p
I hope the above is helpful in getting you started 
with the Windows Live Tools. I would love to hear 
your feedback about Windows Live Tools and how 
you are going to use it. You can leave your sugges-
tions  to improve the feature set  or bugs you fi nd 
as you are using Windows Live Tools at http:
/
/
dev.
live.com
/
tools.
li
v
e.
c
om) and play them on your Web site with 
drag-and-drop.
This control allows you to play your videos from 
a Silverlight Streaming service account. It extends 
the MediaPlayer control provided by the ASP.NET 
3.5 Extensions Preview release.
Developers  at  design  time  can  provide  account 
credentials for their Silverlight Streaming account 
and choose the video that their Web page should 
play.  After  you  drag-and-drop  this  control  onto 
your Web  page, you  can specify the video to be 
played through the “Select Media File” form. This 
form is accessible through the control’s tasks win-
dow or property grid (Fig
u
r
e
7). Developers don’t 
need to write code to make a connection to Sil-
verlight Streaming servers and choose videos. All 
this is encapsulated so that you can just specify the 
credentials and choose a video.
After you choose the video you want to play, the 
control saves this video URL in streaming:
/
/
for-
mat in the control’s MediaSo
u
rce property. Also, 
it  saves  the  Account  and  Key  for  your  Silver-
light Streaming account into Web.Confi g’s <app-
Settings>  section.  The  following  snippet  from 
Web.Confi
g highlights this. I’ve used example val-
ues for the AccountID and AccountKey keys:
<appSettings>
<add key="AccountID" value="MyAccount…" />
<add key="AccountKey" value="MyKey…" />
</appSettings>
The control’s declaration would look like the fol-
lowing snippet:
<live:SilverlightStreamingMediaPlayer
ID="SilverlightStreamingMediaPlayer1"    
runat="server"
Height="240px"
Width="320px"
MediaSource="streaming:/20709/VideoLibrary
/Assets/Bear.wmv">
</live:SilverlightStreamingMediaPlayer>
At run time, the control converts streaming:
/
/
URLs 
to HTTP URLs. You can also set the URL of the vid-
eo from client-side JavaScript with the code snippet 
below—you need to hook this JavaScript function to 
an action, say the click of a button:
<script type="text/javascript">
//set URL for Silverlight 
//streaming media player
function SetMediaUrl()
{
var objSLSMPlayer = 
Figure 6: IDLoginVi
e
w Associ
a
t
e
PromptT
e
mpl
a
t
e
(d
e
sign
e
vi
e
w).
Vi
k
as
A
h
u
ja
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
key. Quick to remove watermark and save PDF text, image, table, hyperlink and bookmark to Word without losing format. Powerful components
how to erase text in pdf; pdf editor online delete text
C# PDF Text Redact Library: select, redact text content from PDF
Text: Delete Text from PDF. Text: Replace Text in PDF. Image: Remove Image from PDF Page. Image: Copy, Paste Edit, Delete Metadata. Watermark: Add Watermark to PDF
erase text in pdf document; how to delete text in a pdf acrobat
76
www.cod
e
-m
a
g
a
z
in
e
.com
Windows Liv
e
Admin 
C
e
nt
e
r
O
N
L
I
N
E
Q
U
I
C
K
I
D
0
8
0
4
1
1
2
Jon Ark
i
ng
J
onar
k
ing@hotmail.
c
om
Jon Arking is 
a
n ind
e
p
e
nd
e
nt 
syst
e
ms 
a
rchit
e
ct, tr
a
in
e
r, 
a
nd 
a
uthor working in th
e
gr
e
a
t
e
Phil
a
d
e
lphi
a
r
e
gion. H
e
sp
e
nds 
his tim
e
consulting on l
a
rg
e
e
nt
e
rpris
e
syst
e
ms on both 
Microsoft 
a
nd non-Microsoft 
pl
a
tforms. His most r
e
c
e
ntly 
publish
e
d work, Prof
e
ssion
a
Windows Liv
e
Progr
a
mming 
from Wrox Pr
e
ss, 2007, is 
th
e
d
e
fi nitiv
e
h
a
ndbook for 
d
e
v
e
lop
e
rs looking to build 
Liv
e
-pow
e
r
e
a
pplic
a
tions 
a
nd 
und
e
rst
a
nd th
e
Windows Liv
e
busin
e
ss lif
e
cycl
e
. Jon liv
e
with his wif
e
a
nd childr
e
n in 
south J
e
rs
e
y wh
e
r
e
h
e
a
lso 
consults r
e
gul
a
rly for th
e
C
ity 
of Phil
a
d
e
lphi
a
.
W
i
ndows L
i
ve Adm
i
n Cen
t
e
r
W
h
e
n
d
e
v
e
l
o
p
i
n
g
w
i
t
h
Wi
n
d
o
w
s
Li
v
e
s
e
r
v
i
c
e
s
,
y
o
u
o
p
e
n
y
o
u
r
a
p
p
li
c
a
t
i
o
n
t
o
a
w
h
o
l
e
n
e
w
w
o
rl
d
o
f
s
o
f
t
w
a
r
e
i
n
t
e
g
r
a
t
i
o
n
.
In
this
fascinating
realm
of
mashup
mania,
developers
can
find
tools
for
adding
maps,
searches,
video,
chats,
and
even
social
networ
k
ing
services
directly
into
their
applications
and
ultimately
right
into
their
users’
browsers.
The
benefit
of
adding
services
li
k
e
Virtual
Earth
and
Silverlight
Streaming
are
obvious—creating
dazzling
content
and
facilitating
rich
user
experiences.
Y
et
services
li
k
e
these
are
still
limited
to
specific
contexts
within
your
program.
They
are
perfectly
wonderful
for
beefing
up
the
user
experience
in
Web
sites,
but
wouldn’t
it
be
great
if
the
fol
k
s
at
Microsoft
provided
a
service
that
helps
you
administer
user
accounts
and
customize
services
around
your
Web
site?
Well
indeed
they
have,
and
its
name
is
Windows
Live
A
dmin
Center
(admincenter.live.com).
is not only unique, but recognizable across all Live-
powered applications. Likewise, a Live ID account 
is a means of entry to other Live services. A single 
Live ID account comes with all of the Windows Live 
features,  including  a  page  on 
Live Spaces, an account on Live 
Expo,  search macros, personal-
ized alerts, a chat account, and 
lots of other tools and features of 
Live  that  compliment your on-
line content.
Still, Live ID has its limitations. 
If  your  Web  site requires  users 
to have a Live ID to access your 
site the accounts aren’t entirely 
user  friendly.  They  have  the 
non-descriptive  @hotmail.com 
or @live.com domain suffi x that prevents users from 
identifying with your application. They have access 
to free e-mail, but of course the e-mail is branded as 
Hotmail, again preventing users from identifying with 
your service. And of course, there is the not-too-sub-
tle separation of services that keeps a Webmaster at 
arms length from account maintenance. Even though 
you might be consuming Live ID and, with it, allow-
ing people to log into your application, you have no 
ability to administer the accounts themselves.
Here is where Windows Live Admin Center shines. 
Admin Center is a service that bridges those other-
wise awkward disconnects between your application 
and Windows Live, resulting in a powerful compro-
mise  that  facilitates  customization  while  allowing 
users to take  full advantage of  the Live ID model. 
Instead of accounts with hotmail.com names, each 
corresponds to whichever domain name you choose 
to register. Instead of hosting your own mail services 
and authentication servers, Microsoft does it all for 
you.  What’s  more,  Live  IDs  created  using  Admin 
Center aren’t subject to many of the expirations and 
maintenance rules that apply to a normal Live ID ac-
count. The accounts you create are yours to manage 
and control.
W
indows Live Admin Center (formerly known 
as Custom Domains) is a service provided by 
Microsoft that allows users to create domain-
specifi c Live ID accounts. Up until this point you’ve 
likely spent a lot of time reading 
about  Live  services  that  work 
within your Web sites or Web-
enabled  applications.  Admin 
Center marks a subtle shift from 
these services, representing one 
of the few features of Windows 
Live  that  works around  your 
application.  On  the  surface  its 
purpose is simple: allow users to 
create Live ID user names with-
in your site’s URL. For example, 
if you are the owner of a domain 
named  coragi.com,  you  could 
register that domain name with Windows Live Ad-
min Center and, through it, create Live ID accounts 
with names such as 
B
ig
J
on@
c
oragi.
c
om or Sheila2388@
c
oragi.
c
om. Once the domain is registered, Webmas-
ters have the ability to administer these accounts di-
rectly, adding names, removing users, and performing 
basic account maintenance as they see fi t.
I know what you’re thinking…so what
?
!! Most Web-
masters with only a moderate amount of experience 
know how to create accounts like this on their own. 
After all, most hosting services already provide the 
administrative features and mail services needed to 
create an almost limitless list of domain-specifi c ac-
counts. Who needs yet another service to do this for 
you
?
At fi rst, I thought the same thing. However I 
soon learned that the power behind Windows Live 
Admin Center lies not in the simple creation of ac-
counts, but rather in the power that drives Windows 
Live ID and in the power of service integration and 
site federation.
Consider  what a Live ID really is.  It  is  a key that 
identifi es a user to literally thousands of Live-pow-
ered Web applications. Since Windows Live ID sup-
ports a single sign-on model, each Live ID account 
Th
e
lat
e
s
t v
e
r
s
ion of Window
s
Liv
e
Admin C
e
nt
e
r i
s
flu
s
with n
e
w f
e
atur
e
s
in
c
luding an 
e
nhan
c
e
d SDK, 
s
upport for 
e
-mail optional 
domain
s
, and th
e
c
r
e
ation of 
up to 500 d
e
fault 
m
e
mb
e
r a
c
c
ount
s
.
Fa
s
t Fa
c
t
s
C# PDF Text Highlight Library: add, delete, update PDF text
etc. Able to remove highlighted text in PDF document in C#.NET. Support to change PDF highlight color in Visual C# .NET class. Able
how to delete text from a pdf document; how to delete text in pdf file
77
www.cod
e
-m
a
g
a
z
in
e
.com
Windows Liv
e
Admin 
C
e
nt
e
r
O
n
l
i
ne 
R
eg
i
strat
i
on and Account 
Adm
i
n
i
strat
i
on
The best way to familiarize oneself with Admin Cen-
ter is to jump right in and register an account. The 
administration  site  is  located  at http://admin
c
enter.
li
v
e.
c
om. First time users should begin by clicking the 
“Get started” button located towards the bottom of 
the page. This begins the wizard-like application that 
helps guide users through the setup process. The fi rst 
thing you’ll need to have to begin using Admin Cen-
ter is your own domain name. Thus, the fi rst page 
of the wizard allows you to either enter an existing 
domain name (that you own) or select an option for 
purchasing a new one (Figu
r
e
1). Managing a domain 
name requires some understanding of registrars and 
general Web concepts and falls outside of the scope 
of this article. Microsoft has partnered with a handful 
of public registrars, such as Melbourne IT and Regis-
ter.com; however, developers should feel free to use 
whatever registration service they prefer. If you click 
the link labeled “I need to purchase a domain” you’ll 
be given a choice of roughly four registration services 
from which to choose (offered in English only, other 
languages will not have this option), and then the 
Admin Center registration process stops. Inevitably 
you’ll be forwarded back to this initial page with a 
valid domain name to continue.
In this example I have purchased the domain name 
“coragi.com”, so I will enter that name into the text 
fi eld  at  the  top  of the  page  and  click  “Continue”. 
Notice that I did not change the default mail setting 
“Set up Windows Live Hotmail for my domain”. This 
newer option that comes with later versions of Ad-
min Center allows advanced Webmasters to forego 
the automatic mail service that accompanies an Ad-
min Center account. Since the e-mail that comes with 
each account is a popular feature, let’s leave this set-
ting alone. The next few pages require users to sign 
in with a valid Windows Live ID and to agree to the 
terms of use. The Live ID you choose to associate 
Figure 1: 
E
nt
e
r your Dom
a
in N
a
m
e
or purch
a
s
e
a
n
e
w on
e
.
Figure 2: Th
e
Admin 
C
e
nt
e
r onlin
e
a
dministr
a
tion p
a
g
e
.
…the power 
beh
i
nd W
i
ndows 
L
i
ve Adm
i
C
enter 
l
i
es not 
i
n the 
s
i
mp
l
e creat
i
on 
of accounts, 
but rather 
i
n the 
power that dr
i
ves 
W
i
ndows 
L
i
ve I
D
and 
i
n the power of 
serv
i
ce 
i
ntegrat
i
on 
and s
i
te federat
i
on.
78
www.cod
e
-m
a
g
a
z
in
e
.com
Windows Liv
e
Admin 
C
e
nt
e
r
looking  to take advantage of  other  services  in the 
Windows Live family but you don’t want to give up 
your own domain URLs, take a gander at the Cus-
tom Addresses section. This tool lets you map domain 
friendly CNAME entries and subdomains  to other 
Live services such as Hotmail, Live Spaces, and Live 
Maps. For example, say you want users to be able 
to come to coragi.com and click a link that shows a 
map of Philadelphia with a pushpin over 1500 Mar-
ket Street. You want the link to read “maps.coragi.
com”, since it’s  simple to  remember, but  you want 
the user to be taken to Live maps directly. With Ad-
min Center, it’s easy! Simply click the “Custom Ad-
dresses” link in the navigation menu, select “maps” 
from the drop-down list,  and  then click the “Add” 
button. In the subsequent pop-up window, enter the 
CNAME entry that you would like your site to use (in 
this case “maps”), and then enter the address as you 
would have typed it into maps.live.com. You’ll need 
to go into the host site or where you administer DNS 
entries and add a CNAME entry for maps.coragi.com 
(should  point  to  go.domains.live.com).  Now  enter 
“maps.coragi.com” into a  browser and a  Windows 
Live map appears with a focus right over Center City, 
Philadelphia, as shown in Figu
r
e
3. You can use this 
feature to create domain-friendly URLs that point to 
individual Spaces pages, Search Macros, a collective 
e-mail account, and more.
One more feature worth talking about is the co-brand-
ing link. Admin Center is all about integrating your 
site’s content seamlessly with the various services and 
tools inherent to the Windows Live family. By utiliz-
ing Admin Center’s e-mail services, you provide your 
users with an almost limitless amount of mail space 
while never having to worry about hosting or e-mail 
with this account will be the same account you’ll use 
when administering your accounts through the API. 
Remember it because you’ll need it when sampling 
the API. Be sure to read through each of the terms, 
and then click the “I Agree” button to continue.
If this is the very fi rst time you are logging in you’ll 
likely see some warning messages indicating that your 
account status is “Pending DNS Confi guration”. You’ll 
need  to go into your domain  host’s administration 
page (or wherever you keep your DNS records) and 
add an MX DNS entry pointing to the MX address 
listed with the status message. Once you’ve done that, 
your Admin Center account should look like Figu
r
e
2. 
There is a lot going on in this page. Headings like “Ad-
ministrator Status” and “Mail” indicate the statuses of 
the Admin Hotmail account and whether there is a 
valid DNS entry for your Hotmail service.
In  the  upper left-hand side of  the  page you’ll fi nd 
a small navigation menu for accessing some of the 
features of your account. Create a new member ac-
count by clicking the “Member Accounts” link, and 
then clicking the “+ADD” button at the top of the 
page.  Enter  the  requested  information.  Remember 
that each name you enter into the “Account Name” 
fi eld is appended with your domain name. Adding the 
name “Mike” into your Add-Members page will cre-
ate an account with a user name of Mi
k
e@
c
oragi.
c
om
Each account you create is a valid Live ID account. 
Experiment  with them by going  to other Windows 
Live sites like Spaces.live.com and log in using the 
new account name.
Adding and removing Live IDs from your domains is 
one of a few cool features of Admin Center. If you’re 
Figure 3: A 
C
ustom Addr
e
ss pointing to 
a
sp
e
cifi c loc
a
tion on m
a
ps.liv
e
.com.
79
www.cod
e
-m
a
g
a
z
in
e
.com
Windows Liv
e
Admin 
C
e
nt
e
r
really understanding Admin Center is knowing which 
method to use and when.
Consider a typical registration scenario. You’ve got a 
great new Web site that delivers triathlon information 
and lets competitors enter their personal stats. Each 
competitor needs to register with your Web site in or-
der to access their personal stats and enter in data from 
each of their races. You’d like to furnish users with Live 
IDs so that they can also chat with one another, create 
blogs and connect them with their Spaces accounts, 
and maybe even post some fl yers on Live Expo. You’ve 
already got all of the pieces you need to integrate Live 
ID into your authentication process, but you need to 
be able to  automatically  create  Admin  Center user 
names each time the user clicks that “register’ button 
on your site. So the registration process really requires 
three distinct steps in order to integrate:
Create an administrative session for authorized 
1. 
management of accounts.
Check to see if an account name already exists.
2. 
If available, add a new account to your Admin 
3. 
Center domain and activate the Live ID.
That’s a good start for this article. You’ll dig in by set-
ting up a small sample application that demonstrates 
these tasks.  In this example you’ll be using a Con-
sole application written in C
#
and created in Visual 
Studio .NET 2008. Of course in the real world you’ll 
more likely be using server code in an ASP.NET ap-
plication; however, a console piece should prove suf-
fi cient for this article.
Setting up the 
V
isual Studio .N
E
T
C
onsole 
Application
You’ll need to fi rst create a Visual Studio .NET Con-
sole Application project and create a reference to the 
Admin Center Web service endpoint.
1.  Open Visual Studio .NET 2008 and select the 
New Project option from the File menu.
2.  Find the option for creating a C
#
Console Ap-
plication and enter a project name of MyAd-
minCenterSample, as shown in Fig
u
r
e
4. For 
account management. Of course, it might help if the 
e-mail page users logged into bore some signet of your 
site, am I right
?
Click the co-branding link and that’s 
precisely what you’ll get. Most basic users will be able 
to see a link for customizing the header. This option 
allows you to upload a small Web site image or logo 
that will be visible on the headers of all co-brandable 
headers in Windows Live. As Microsoft expands this 
capability, you’ll be able to subtly layer in other ele-
ments of your Web site’s look and feel to maintain the 
semblance of a single-site user experience.
There are other features in Admin Center available 
for Webmasters to customize. Some of these features 
allow you to open your membership model to users 
interested in creating their own Live IDs (see Sidebar 
on “Open Membership”). Other features may only be 
available to certain types of Admin Center member-
ships. Everything I have covered so far pertains to 
those features available to any Web site interested in 
federating  with  Windows  Live  Services.  However, 
other  offer  types  within  the  Admin Center  frame-
work that cater to different interest groups may pro-
vide different features in addition to those discussed. 
Live@edu is one such special offer, allowing schools 
to  outsource  their  e-mail  and  online  services  for 
students and alumni. Interested parties should visit 
http://www.li
v
eatedu.
c
om. Other offer types such as 
Live@net allow network operators to offer enhanced 
e-mail  services  to  their  broadband  subscribers.  In 
fact,  the  Web  site  you  just  registered,  coragi.com, 
technically falls into the offer known as Communi-
tyBuilder (see www.
c
ommunit
y
builder.
c
om). My point 
being that Admin Center comes in a few different 
fl avors,  some  of  which  might  offer  more  features 
and  tools  you’ll  want  to  explore.  For  more  infor-
mation on special interest offers and features go to 
http://partner.li
v
e.
c
om.
Adm
i
C
enter 
S
D
K
The online administrative site that accompanies your 
account is nice to have, but falls short of delivering the 
automation you really need to integrate Admin Center 
accounts into your Web site. After all, if you want users 
to register with your Web site and automatically receive 
a sleek, new Live ID with your domain name in it, you 
need a way of adding users and managing accounts 
within your code. For this, you’ll need to access the Ad-
min Center SDK. The Admin Center SDK comes with 
API documentation and samples that you can down-
load by clicking the “Download the full SDK” link at 
http://m
s
dn2.mi
c
ro
s
oft.
c
om/en-u
s
/librar
y
/bb259721.a
s
p
x
Since the scope of this article is necessarily limited, 
refer to these documents for the full defi nitions of all 
available API. The Admin Center API exposes a single 
Web service endpoint containing a fl ush list of pub-
lic methods available for all sorts of member service 
administration. You can use some methods, such as 
CreateMember  and  GetMemberNameState,  for  di-
rect integration with your registration process. Other 
methods, such as GetMemberCount and GetDomain-
Info, are available for more comprehensive adminis-
tration of your domains and accounts. The trick to 
Figure 4: S
e
l
e
ct 
a
C
C
onsol
e
a
pplic
a
tion in 
Visu
a
l Studio .N
E
T 2008.
You can use 
the 
C
ustom 
Addresses feature 
to create doma
i
n-
fr
i
end
l
U
R
L
s that 
po
i
nt to 
i
nd
i
v
i
dua
l
S
paces pages, 
search macros, 
a co
l
l
ect
i
ve e-ma
i
l
account, 
and more.
80
www.cod
e
-m
a
g
a
z
in
e
.com
Windows Liv
e
Admin 
C
e
nt
e
r
O
pen Membersh
i
p
O
ne o
f
the more 
i
nterest
i
ng 
f
eatures o
f
W
i
ndows 
L
i
ve 
A
dm
i
C
enter 
i
s the 
O
pen 
M
embersh
i
opt
i
on. 
U
s
i
ng a prepared 
H
T
M
L
modu
l
e that 
W
ebmasters can 
custom
i
ze 
i
n the 
A
dm
i
C
enter 
adm
i
n
i
strat
i
on pages, users can 
create the
i
r own e-ma
i
l
accounts 
i
ns
i
de o
f
your doma
i
n. 
L
i
ke a
l
l
A
dm
i
C
enter member accounts, 
each name becomes 
i
ts own 
L
i
ve 
I
D
T
hat means that a user not 
on
l
y gets an e-ma
i
l
account w
i
th 
your doma
i
n name, but a
l
so a 
L
i
ve Spaces account, a 
L
i
ve 
E
xpo 
account, and much more.
O
pen 
M
embersh
i
i
s an 
i
dea
l
way to generate more tra
f
f
i
c to 
your doma
i
n and each name 
created he
l
ps to promote your 
W
eb s
i
te. 
W
hat’s more, 
O
pen 
M
embersh
i
p takes a 
l
ot o
f
the 
hass
l
e o
f
account management 
away 
f
rom 
W
ebmasters and 
p
l
aces 
i
t square
l
y on the 
shou
l
ders o
f
W
i
ndows 
L
i
ve. 
H
owever, the 
O
pen 
M
embersh
i
opt
i
on may not be su
i
tab
l
f
or 
W
eb s
i
tes that requ
i
re a spec
i
f
i
reg
i
strat
i
on process or those that 
need to approve users be
f
ore 
the
i
r accounts can be act
i
vated. 
T
here
f
ore, adm
i
n
i
strators can 
choose to enab
l
e or d
i
sab
l
e th
i
opt
i
on as they see 
f
i
t.
ministrative session. This works similarly to the way 
you might log into a secure administrative site, only 
instead of creating a valid session cookie, you’ll be 
creating an authorized ticket. This process uses three 
API methods: GetLoginUrl, GetLoginDataTemplate, 
and  VerifyAuthData. The GetLoginUrl  call  simply 
returns the specifi c Web address to which your ap-
plication needs to post in order to create an autho-
rized ticket. The address might change over time and 
can be different for each application used; however, 
by calling this method specifi cally, your code is ab-
stracted  from  any  unpredictable  address  changes. 
GetLoginDataTemplate returns the string used spe-
cifi cally by the ticket-generating URL for passing in 
your administrating Live ID account name and its 
corresponding  password. Note that the  format  for 
this string is quite specifi c. You must make a call to 
the  GetLoginDataTemplate method each time you 
authenticate  to  be  sure  you’re  conforming  to  the 
expected standards. Once the template is obtained, 
you’ll need to replace the “Name” and “Password” 
placeholders with your own credentials. You’ll then 
pass this new string to the URL provided in the Get-
LoginUrl method using standard C
#
Web classes to 
receive your valid session ticket. You then verify that 
no errors occurred by passing the ticket to the Veri-
fyAuthData method and, if valid, save the valid ticket 
and associate it with your Web reference.
the purposes of simplicity, leave all other de-
fault settings alone.
3.  Once loaded, add a Web reference to your ap-
plication by right-clicking the References link 
in  the  Solution  Explorer  and  selecting  “Add 
Web Reference” from the pop-up menu.
4.  Enter the following URL in the Web Reference 
URL  fi eld: http
s
://domain
s
.li
v
e.
c
om/
s
er
v
i
c
e/man-
agedomain2.a
s
m
x
.
5.  Then enter “AdminCenterAPI” as the Web ref-
erence name. Your screen  should look some-
thing like Fig
u
r
e
5. NOTE: The Admin Center 
service endpoint uses SSL encryption to ensure 
that the user data sent to the service cannot be 
read during transport. Click OK in response to 
the digital certifi cate pop-up to continue load-
ing the service endpoint.
6.  Since you will be making calls to Web classes 
not immediately available within the default ap-
plication’s scope, add the following 
using
state-
ments to the top of the Program.cs page:
using System.IO;
using System.Net;
That should be enough to begin. Bear in mind that 
everything you will be doing from here requires the 
use of a fully registered, active Admin Center account. 
While following along, assume that you can replace 
any calls made to coragi.com or its supporting ele-
ments with your own account names and elements.
C
reating an Administrative Session
Before you can create user accounts and view do-
main information, you’ll need to create a valid ad-
The Adm
i
C
enter API exposes 
a s
i
ng
l
e Web serv
i
ce endpo
i
nt 
conta
i
n
i
ng a fl ush 
l
i
st of pub
l
i
methods ava
i
l
ab
l
e for a
l
l
sorts of 
member serv
i
ce adm
i
n
i
strat
i
on.
Figure 5: Adding 
a
W
e
b r
e
f
e
r
e
nc
e
to th
e
Admin 
C
e
nt
e
r W
e
b s
e
rvic
e
e
ndpoint.
This may seem like a lot of work at fi rst, but it be-
comes a no-brainer once you get used to it. In the 
Program.cs fi le, add the following code directly below 
your static void Main function:
private static string CreateAuthTicket()
{
}
You’ll call this function from the Main method  di-
rectly, isolating all of the requisite tasks for generating 
the ticket from the Main function’s code.
NOTE: Since I am trying to keep this sample simple 
and easy to follow, I am going to place all code in 
the Program.cs fi le. A stronger example would likely 
separate most of the code into one or more classes.
Since you’ll need a class-wide reference to the Admin 
Center Web reference, go ahead and add the follow-
ing declaration directly  above the static void  Main 
method:
static AdminCenterAPI.ManageDomain2 srvc;
Documents you may be interested
Documents you may be interested