open pdf from windows form c# : Delete text in pdf file online SDK application service wpf azure asp.net dnn redp52352-part1722

21
unique, such as the letters PO followed by eight digits or something of that nature, consider 
using a regular expression to find that data.
Figure 18   Finding data with the zonal method preferred
With the keyword search, a key file is placed in the dco_<AppName> directory listing the 
keywords that might be used as labels around the data that you are searching for. Accounts 
Payable Capture ships with a limited set of keywords in the .key files. Add additional 
keywords as necessary.
After a keyword is found, we move one word to the right to see if that word contains data that 
is appropriate to the type of data we are looking for. If it does, we do an UpdateField action, 
which completes the process. The rest of the functions in the rule operate identically, but look 
at different words based on their location related to the keyword that was found.
This method is used for the majority of fields in a document where the data for that instance of 
a document is in a static location (because we are checking for the zone first).
Finding data that is not in a fixed position
Some data, such as the Invoice Total, Tax, and Shipping, and so on, are normally found on 
the last page of an invoice. Invoices might have a variable number of pages. One day you 
might get an invoice from a vendor that has one or two line items and everything fits on a 
single page. The next day, you might get an invoice from the same vendor that has dozens or 
hundreds of line items and is many pages long.
For this reason, we use a different method for data that typically occurs below the last line 
item on an invoice (Figure 19 on page 22).
Delete text in pdf file online - 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
delete text from pdf with acrobat; how to delete text in pdf file
Delete text in pdf file online - 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 erase in pdf text; pdf text watermark remover
22
IBM Datacap Accounts Payable Capture
Figure 19   Rule for finding data that is not in a static position on the page
In this case, we look for the last occurrence of a word in a document and then look “around” 
that word for data that fits the data type we are searching for. If the word is not found, we use 
the zone as a last resort.
Searching for and populating the detail lines
The technology includes finding detail lines. However, more is involved in the actual 
implementation than just the actions that search the CCO for lines as illustrated in Figure 20.
Figure 20   Finding detail lines in the Locate ruleset
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
NET read PDF, VB.NET convert PDF to text, VB.NET pages, VB.NET comment annotate PDF, VB.NET delete PDF pages, VB If you want to split PDF file into two or small
delete text pdf document; delete text from pdf acrobat
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
Online source codes for quick evaluation in VB.NET looking for a solution to conveniently delete one page which supports a variety of PDF file editing features
pdf text remover; how to delete text from pdf
23
As with some of the other rules in the Locate ruleset, we must check if we are running in the 
Verify task to prevent reprocessing the document unnecessarily. The first function does this 
check. If you are running under the Verify task, the ruleset does not use these actions to find 
detail lines.
The second function checks whether we are using FPXML and moves the FPXML zones to 
the detail structure. FPXML stores zones different from the Setup DCO. If FPXML is used, we 
must load the CCO again. The next two actions set up the zone for the multipage document, 
ensuring that the entire CCO is searched for line items, even though it contains a variable 
number of pages. Regardless of whether FPXML is used, after the zone is set up, 
ScanDetails creates the detail structure and puts each line item in its own child Lineitem field.
At the line-item level, if FPXML is used, we perform a ScanLineItemDynamic action using the 
recently loaded CCO. Alternatively, we perform the ScanLineItem function if the zones were 
read from the Setup DCO.
Finally, each field on the line item is populated with PopulateZNLineItemField.
The Clean ruleset
The Clean ruleset is used for a specific purpose on a limited number of fields in an Accounts 
Payable Capture workflow. Most field cleaning occurs in the Validate ruleset. When a data 
entry operator clicks a field, we want to remove unwanted characters and set the data format 
in fields, such as dates, to a specified format.
However, some fields are used for data lookup before we validate them. Therefore, those 
fields must be cleaned and potentially formatted using this ruleset. Also, we must check the 
data in certain line-item fields to ensure that it is the data that we are searching for before 
filtering the line items. 
Figure 21 on page 24 shows the default ruleset for cleaning invoices.
C# PDF Text Extract Library: extract text content from PDF file in
Free online source code for extracting text from adobe PDF document in C#.NET class. Able to extract and get all and partial text content from PDF file.
how to delete text in pdf file online; remove text from pdf acrobat
VB.NET PDF Text Extract Library: extract text content from PDF
advanced PDF Add-On, developers are able to extract target text content from source PDF document and save extracted text to other file formats through VB
how to edit and delete text in pdf file; erase pdf text
24
IBM Datacap Accounts Payable Capture
Figure 21   The Clean ruleset
The page-level rule indicates that the Clean ruleset must do nothing if we are running under 
the Sticky task profile and the current fingerprint is not eligible for sticky processing. If the rule 
fails, a first attempt is made to adjust the field positions from the MCCO to coordinates that 
are associated with each page.
Because the ZIP field is used in a vendor lookup, the data is cleaned of any character that is 
not a number (or potentially a dash, if postal codes contain dashes in your database). This 
action ensures that we have removed any spaces or extraneous characters that might cause 
the lookup to fail.
In the line-item fields, we delete any unexpected data. For example, if a Qty field contains the 
word “Thank,” which it might have captured when reading the bottom of an invoice, this word 
is deleted. The same is done for Price and Line Total in the detail-level fields.
Avoid the urge to clean fields in this ruleset that are not used in lookups or for detailed line 
filtering. Otherwise, you have to do it again in the Validate ruleset, which adds to maintenance 
if the cleaning parameters change.
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
size, images size reducing can help to reduce PDF file size effectively will also take up too much space, glyph file unreferenced can Delete unimportant contents
erase pdf text online; how to erase text in pdf
C# PDF File Split Library: Split, seperate PDF into multiple files
SharePoint. C#.NET control for splitting PDF file into two or multiple files online. Support to break a large PDF file into smaller files.
how to delete text from a pdf; delete text pdf preview
25
The Filter ruleset
The Filter ruleset is used to delete captured line items that do not fit the data types we are 
expecting.
The Filter ruleset used for invoices in the standard Accounts Payable Capture workflow is 
shown in Figure 22.
Figure 22   The Filter ruleset
The page-level rule avoids reprocessing line items if we are not in a condition where it is 
beneficial to do, such as when running under the Sticky task profile.
In the detail field, the CheckSubFields erases all line items that do not have valid data (after 
cleaning) in two of the three Qty, LineTotal, and Price fields. After cleaning, 
MCCOPositionAdjust adjusts the raw CCO coordinates for a multipage CCO into coordinates 
that are adjusted to the single page image from which the data originated.
The lookup ruleset populates the Vendor name in the vendor field. The Vendor name is stored 
in the fingerprint database. However, the ruleset has an option for pulling this information from 
a locally stored database. An example is a mobile computer for development that might be 
disconnected from a network installation. Therefore, the ruleset can still function in a 
disconnected state (Figure 23).
Figure 23   Lookup ruleset populating the Vendor field from the fingerprint database
The IsStationIDSuffix() examines the station ID of the users in Datacap and can conditionally 
run one of two OpenConnection actions that open a connection to a database. By default, 
these actions are set to the same value. However, the first function can be altered if you are 
working on a machine that is sometimes disconnected from the fingerprint database.
The ExecuteSQL action in the Vendor field checks the fingerprint database and retrieves the 
fingerprint classification. In Accounts Payable Capture, this classification provides the vendor 
name, but in Flex, this classification provides the document type.
The VendorNumLookup ruleset
The VendorNumLookup ruleset must be customized when Accounts Payable Capture is 
deployed at a customer site. It ships with an Access database so that the demos will work. 
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Ability to remove a range of pages from PDF file. document page deleting library control (XDoc.PDF) can be C#.NET class applications to delete any unnecessary
how to delete text in pdf preview; how to delete text from a pdf document
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Split PDF file into two or multiple files in ASP.NET webpage online. Support to break a large PDF file into smaller files in .NET WinForms.
how to erase in pdf text; delete text from pdf preview
26
IBM Datacap Accounts Payable Capture
In an installed system, Datacap Accounts Payable Capture gets the vendor numbers directly 
from the business application system or from a recent copy of the vendor database obtained 
from the business application system. The vendor number is not assigned to just a vendor 
name, but also to a vendor location, because many vendors have different addresses for the 
business application system to send checks to. 
You might want the vendor number to be found based on the PO number. This strategy is also 
successful if the business application system can supply such data through a lookup.
Because this ruleset must be customized, and a readily available version is identical in 
structure to the Lookup ruleset, we do not address this ruleset any further in this paper.
The Vendor NumberLookupClose ruleset
The Vendor NumberLookupClose ruleset falls into the same category as the 
VendorNumLookup ruleset. The Vendor NumberLookupClose ruleset ensures that you have 
closed off the connection to the vendor database in the production system.
The POLR ruleset
The purpose of the POLR ruleset is to try to furnish line item numbers to each of the 
recognized line items in the invoice. Similar to the previous two rulesets, this ruleset must be 
customized to pull the line item data from the customer’s business application system. 
POLR uses settings from the settings.ini file to do the work. In most cases, just altering 
these settings is sufficient to allow POLR to work at a customer site. Figure 24 lists the 
pertinent settings from the settings.ini file.
Figure 24   POLR settings stored in the settings.ini file
27
The first section in Figure 24 on page 26 is the [Database] section. Similar to the Lookup 
ruleset, POLR can also use a test database when it is being used in a disconnected state. 
The settings must point to the vendor business application table that contains PO information 
or the stored procedure that you use to retrieve the line items based on the current PO.
After the line items are successfully retrieved, POLR uses the ItemID, Qty, and Price 
keywords to determine which fields to use for automatch. In the previous example, lines 
automatch only if they have identical values for all three fields between the recognized line 
items and those retrieved from the business application system.
With manufacturing concerns, item prices are sometimes represented by a small fraction of 
the currency used. Therefore, a PriceTolerance is specified when automatching line items.
You might also want to output a list of any unused line items on a PO so that users can know 
that the invoice that they are paying does not close out a PO. For this reason, POLR also 
contains the capability to write the unused DCO lines to the DCO itself. Although the 
Accounts Payable Capture workflow does not immediately do anything with these line items, 
they are stored as variables on the Detail field of each Main_Page and can be exported if 
wanted. See the details section in Figure 25 to see how unused lines from the PO are stored. 
Figure 25   How POLR stores data in the runtime DCO
The actual PO values are stored for each line in variables at line-item level. The PO Line 
Number must be exported so that a three-way match can be accomplished programmatically. 
However, some systems use other criteria, such as the description, when matching lines for a 
three-way match. If so, consider exporting the line criteria that allows for the most accurate 
three-way matching. POLR allows the system and data entry operators to reconcile the lines 
to keep errors to a minimum. The goal is also to supply additional data to the three-way 
matching system. This way the knowledge workers assigned to that process can concentrate 
on actual issues (items not received, incorrect counts, different prices) and do not have to 
match the lines against the PO.
28
IBM Datacap Accounts Payable Capture
Although POLR runs in the Batch Profiler phase, it cannot do its job if the PO is initially 
misread. This task profile prematches as many line items as possible before verification. The 
data entry operator has an advanced POLR user interface to quickly match any line items that 
could not be matched in the background process.
The Validate ruleset
The Validate ruleset is used to clean and format data. It is also used to apply business rules 
to ensure data is the correct length and data type and is mathematically correct. Validation 
also checks to ensure that the data meets other business criteria before it can be successfully 
exported.
The Validate ruleset runs in several task profiles. When running in the Batch Profiler task 
profile on a background machine, before verification, this ruleset formats and checks each 
field before a data entry operator views the document. The ruleset then marks any problem 
fields that it finds so the data entry operator knows they need attention.
This ruleset also runs when the data entry operator has viewed a document, made any 
necessary corrections, and submitted it as complete. Having the business rules in this single 
code base saves a lot of development and maintenance time within Datacap systems.
The Validation ruleset in an Accounts Payable Capture workflow also employs enhanced error 
messaging. With this feature, you can write your own error messages, which are displayed to 
the operator, if the operator submits a form that fails validation.
This ruleset contains many rules, making it difficult to explain rule by rule. Instead, this section 
shows how different technologies are implemented within this ruleset. Figure 26 shows the 
page-level rule and a simple field showing Enhanced Error Messaging.
Figure 26   Page-level rule and error messaging in Validate ruleset
In the Validate Page rule, the Status_Preserve_OFF() action places the system in a state 
where the page and every field on the page have a status of 0. At this point in the process, a 
status of 0 means that all fields as well as the page itself have passed the validation rules. 
After the validate rules are run on each field, if a field fails validation it is assigned the problem 
status of 1. The page is then also assigned a status of 1.
Pages with a status of 1 are displayed to a data entry operator, while pages with a status of 0 
are not displayed. Fields with a status of 1 are displayed in pink during verification. This way 
the data entry operator can quickly see, by the color of the field, that it failed the business rule 
associated with it. More information about status is provided later in this section.
29
The ClearErrorMsg() action is part of the Advanced Error Messaging employed by Accounts 
Payable Capture. A page-level error message variable that contains text from every field that 
failed validation is displayed when a data entry operator submits a form that fails any business 
rules. This action clears that variable before running the field validations.
The CaptureOpInfo() action writes the current operator and station information to the DCO for 
export at a later time, if wanted.
The Routing_Instructions field is in the Accounts Payable Capture workflow. Normally this 
field is set to 
None
, but an operator can identify documents that they cannot process for some 
reason by choosing a predefined routing instruction. The rr_Compare() action at the end of 
the first page-level function (Function1) detects whether this field contains a value such as 
Delete, Rescan, or Review. If it contains anything other than None, the function returns 
False
and the second function (Function2) instructs the system to skip the validation rules on the 
fields.
For a sample field validation, see the Invoice Number Rule in Figure 27. Each rule can be set 
to 
overridable
or 
non-overridable
. Non-overridable fields must be corrected by the data entry 
operator. Otherwise, they are unable to proceed in verifying a batch.
Figure 27   Example of field validation
For this field, a minimum length of 2, with data that is at least 60% numeric, is required 
according to the first function, 
Field Filled function
. If those conditions are met, the rule is 
finished processing, and the status on the field remains 0.
If this field fails the conditions set in the first function, the second function, 
Field empty 
function
, checks whether the field has a maximum length of 0, meaning that it is blank. If this 
field passes that function, the rule is finished, and the status on the field returns 0.
If the first two functions fail, the Invoice Number Rule calls the 
Error Msg
function, which calls 
the AddToErrorMsg() action. This action sets the enhanced error message by writing to the 
page-level variable. Because every function failed on the validation, the status of the field is 
set to 1, meaning it is displayed in pink to the data entry operator. The page status is also set 
to 1, meaning that the page is displayed to the data entry operator.
Almost every field in the Accounts Payable Capture workflow contains similar validations to 
apply the appropriate business rules. A number of the fields have additional validation 
techniques applied to them, in particular localization actions and mathematical calculations. 
Figure 28 on page 30 shows the localization and mathematical techniques that are used.
30
IBM Datacap Accounts Payable Capture
Figure 28   LineTotal Rule for the Validate ruleset
The first action examines data and normalizes it to the decimal separator used on the local 
machine. Accounts Payable Capture supports both commas and periods as decimal 
separators. This action examines the data in the field and changes the decimal separator to 
the same decimal separator set on the machine processing the rules.
Next, the LineTotal Rule checks this separator so that it can properly clean the data of any 
currency symbols and remove any thousands separators that are present. Depending on the 
local decimal separator, different characters are allowed.
The LineTotal Rule then checks to ensure that the field is a currency field. It calculates the line 
item by multiplying the Qty by the Price and ensures that it equals the line total, within the 
tolerance specified as a parameter. In many applications, having a tolerance is important 
because the document might limit the number of decimal places that are displayed to fewer 
than what is required for an exact equivalence match.
If the calculation is correct, the field values must also be correct, even if they contain 
low-confidence characters. In this application, the fields involved in the calculation are marked 
as high confidence because we know they are correct based on the calculation.
The Routing ruleset
In general, the Routing ruleset is used to check a batch for low confidence characters and 
problem fields to determine whether the batch should go to a data entry operator. However, 
with the volume of data in a batch of invoices, it is unlikely that the data entry step can be 
skipped completely. Therefore, the Routing ruleset is used to do final preparation of the batch 
before a data entry operator sees it. Figure 29 on page 31 shows the Routing ruleset as 
implemented in the Accounts Payable Capture application.
Documents you may be interested
Documents you may be interested