pdf viewer c# : How to add image to pdf form software application dll windows winforms asp.net web forms OUTPUT_MANAGEMENT_GUIDE_SP37_23-part2030

© SAP AG 
31 
4.3.1  Customizing 
In the Customizing activity Maintain Output Management Adapter Settings, you assign output 
agents to different nodes of a business object. 
In a transportation scenario, for example, you can maintain outputs in both the root node of a 
freight order BO as well as the tendering request node of the same BO. 
Due to technical constraints in the current release, the node names are not displayed on 
the UI even though multiple assignments are possible in different nodes. You must, 
therefore, ensure that the action definitions used within action profiles as well as the 
action profiles for such assignments themselves are unique and not reused. 
The Customizing activity Maintain Output Management Adapter Settings also enables you to 
assign multiple action profiles to a business object node. 
Possible reasons for assigning multiple action profiles to a BO node include the following: 
For performance reasons, you may want to differentiate between critical and non-critical 
outputs. Critical outputs are those that must be completed within the logical unit of work 
(LUW) such as B2B method calls or workflows. Non-critical outputs are those that fall 
under the category of communication methods, such as printouts, e-mails, and faxes. 
You can specify whether output is critical or non-critical in the Output Type column. 
You may have multiple business scenarios that result in multiple action profiles for a BO 
node. A classic example is one action profile for each mode of transport. 
Within a business scenario, therefore, it may be the case that not all of the action profiles are 
relevant for a BO node. It would be more efficient and effective (in terms of performance) to 
automatically choose only the relevant action profiles based on the business case. 
The output management adapter provides two ways of making decisions and determining data: 
ABAP and BRFplus. To make the configuration settings at PPF level more generic and 
accommodate any restrictions based on the business scenarios, generic ABAP callback methods 
or BRF functions are provided that: 
Identify PPF action provides that are specific to the status of the BO node 
Schedule decision-making to generate triggers for a given set of action definitions, the 
application data record, and a given set of partners (schedule conditions) 
Start decision-making for processing the output of a trigger (start conditions) 
Determine BO node-specific document partners 
Determine the print form for a given trigger 
Initialize alert data 
Determine the printer for a given trigger 
Determine the BO partner-specific language 
How to add image to pdf form - insert images into PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sample C# code to add image, picture, logo or digital photo into PDF document page using PDF page editor control
add picture to pdf document; adding image to pdf in preview
How to add image to pdf form - VB.NET PDF insert image library: insert images into PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide VB.NET Programmers How to Add Images in PDF Document
how to add image to pdf acrobat; add picture pdf
© SAP AG 
32 
Enable the system to share the same action definition among a group of business 
documents. 
Procedure 
1.  Call transaction 
SPRO
and open Customizing for SAP. 
2.  Choose 
Cross-Application Components 
Processes and Tools for Enterprise 
Applications 
Reusable Objects and Functions for BOPF Environment 
PPF Adapter for 
Output Management 
Maintain Output Management Adapter Setting 
You can use ABAP or BRFplus to make decisions. 
Defining PPF Output Agents for BO Nodes 
1.  Enter the name of the business object and node for which you have configured the action 
profile, in the relevant fields. 
2.  In the Output Agent field, enter a meaningful name for the PPF output agent. For 
example, 
/BOFU/DEMO1
3.  In the Agent Class for BO Node field, enter the class that implements class 
/BOFU/CL_PPF_SERV_FOR_BO
(see Output Management Callbacks [Page 38]). 
4.  Administrative data in the fields Created By, Created On, Changed by, and Changed On 
is completed automatically. 
Using the BRFplus Capabilities to Define PPF Output Agents for BO Nodes 
1.  In the Appl. ID for Node field, enter the BRFplus application ID for the node. This 
application has BRFplus functions to select the PPF profiles for the given node and the 
document partner data. 
2.  In the Func. for Act. Prof. field, enter the BRFplus selection function that returns the list of 
PPF profiles for a given BO node. 
3.  In the Func. for Partners field, enter the BRFplus selection function that returns the list of 
PPF partners for a given BO and node. 
4.  Enter the Catalog ID for node: This is the catalog of other objects. In this case, the 
catalog ID is used for the where-used analysis in BRFplus so that accidental deletion of 
decision functions can be prevented. The catalog is available to business users for 
navigation and as a workplace. Business users can also maintain the attributes and 
structure of the catalog. 
Class 
/BOFU/CL_PPF_SERV_FOR_BO
is available for use in the default implementation, 
which can be used if no special application-specific implementation is required to obtain the 
PPF profiles. You must redefine the methods in this class. 
Assigning PPF Profiles 
VB.NET PDF Form Data Read library: extract form data from PDF in
featured PDF software, it should have functions for processing text, image as well can help you have a quick evaluation of our PDF SDK. Add necessary references
add a picture to a pdf file; add an image to a pdf with acrobat
C# PDF Form Data Read Library: extract form data from PDF in C#.
featured PDF software, it should have functions for processing text, image as well can help you have a quick evaluation of our PDF SDK. Add necessary references
adding image to pdf form; add photo to pdf form
© SAP AG 
33 
1.  Select the name of the action profile that you maintained in transaction 
SPPFCADM
for 
your BO and node (for more information, see Defining Action Profiles [Page 26]). 
2.  Specify the output type. As explained in the Defining Action Profiles document, if the 
output is critical, select Has Critical O/P: Process immediate Actions before commit
Otherwise, select Has uncritical O/P: Process immediate Actions after commit
3. Create DB Image: If your output is not critical and you require a data snapshot for a 
particular BO, select this indicator. 
4.  Administrative data in the fields Created By, Created On, Changed by, and Changed On 
is completed automatically. 
Using BRFplus Capabilities to Assign PPF Profiles 
To use the BRFplus capabilities, in the Appl. for Act. Prof. field, enter the BRFplus application for 
the action profile. 
Specifying Action Settings (Optional) 
1.  In the Action Definition field, use the input help (F4) to enter the name of the action 
previously created in transaction 
SPPFCADM
. For more information, see Creating Action 
Definitions [Page 27]. 
2. Can Generate Without Condition Check: Select this indicator if you want to skip the 
relevant schedule conditions and allow the action to be generated. 
3.  Select the Aggregate checkbox to enable the user to use the action definition in all the 
business documents that you have grouped in the agent class logic (see Output 
Management Callbacks [Page 38]). This feature is available only if you have 
implemented SP05 of SAP_BS_FND 7.31 or note 1706788
You can group documents FU1 and FU2 in the agent class logic. In Customizing, 
you specify an action definition as aggregate. The system uses the action 
definition in FU1 and FU2. When you change and save an action definition in 
FU1, the change appears in FU2. If you delete and save the action definition in 
FU1, the system deletes the action definition in FU2. 
Using BRFplus Capabilities to Specify Action Settings (Optional) 
1.  In the Action Gen Func. field, enter the name of the BRFplus function that evaluates the 
schedule condition. 
2.  In the Find Printer field, enter the name of the BRFplus function that determines the 
name of the printer. 
Specifying Processing Type Settings (Optional) 
1.  In the field for the class name, use the input help (F4) to enter the name of the 
processing type (class name of the context). The system enters the description 
automatically. 
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Scan image to PDF, tiff and various image formats. Get image information, such as its location, zonal information Able to edit, add, delete, move, and output PDF
add photo to pdf preview; acrobat insert image into pdf
VB.NET PDF Password Library: add, remove, edit PDF file password
passwordSetting.IsAnnot = True ' Allow to fill form. passwordSetting document. passwordSetting.IsAssemble = True ' Add password to PDF file. PDFDocument
adding an image to a pdf form; add a picture to a pdf document
© SAP AG 
34 
2. Can Execute Without Condition Check: Select this indicator if you want to skip the 
relevant schedule conditions and allow the action to be executed. This setting is relevant 
only for processing type External Communication
3. Text Template: Use this to specify a text template maintained using the transaction 
SO10
This field is used to default the text of the e-mail in the Communication Details tab for the 
relevant action in the Output Management user interface (UI). This setting is relevant only 
for processing type External Communication
4. Proc. Type Dsc: Use this field if at runtime you want to display a descriptive text in the 
Output Management UI, for actions with processing type Method Call
o
In the Output Management UI, the text in the field for Processing Types is 
defaulted to the processing type text, for example, External Communication
Method Call, or Alert
o
The texts, created through 
SO10
, have to be manually included in a transport 
request if they need to be transported. 
Using BRFplus Capabilities to Specify Processing Type Settings 
1.  In the Action Start Func. field, enter the name of the BRFplus function that evaluates the 
start condition. 
2.  In the Change Form Func. field, enter the name of the BRFplus function that determines 
the print form so that the print form can be changed. 
3.  In the Initialize Alert Func. field, enter the name of the BRFplus function that determines 
the print form so that the alert data can be initialized. 
Transient Action Definitions (Optional) 
1.  In the agent class logic, you specify one business document as the source and another 
document as the target (see Output Management Callbacks [Page 38]). 
2.  In the Maintain PPF Settings screen, you assign an action definition to an action profile. 
In the Assign Transient Actions screen, you then assign the same action definition to 
another profile as a transient action definition. You assign the first action profile to the 
source business document. You assign the action profile with the transient action 
definition to a target business document. 
When you execute and save the action definition in the source business document, the system 
makes the same action definition available in the target business document. 
You can only edit the action definition in one document at a time. When you change and save an 
action definition in a particular business document, the change appears in all the business 
documents that use the action definition. 
In the agent class logic, you specify that FU2 is the source document and FW01 is the 
target document. In Customizing, you specify the action definition of freight unit FU2 as 
transient for forwarding order FWO1. When you generate and save the action definition in 
FU2, the system makes the same action definition available in FWO1. When you change 
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
multiple types of image from PDF file in VB.NET, like XObject Image, XObject Form, Inline Image DLLs for PDF Image Extraction in VB.NET. Add necessary references
how to add an image to a pdf; add image to pdf reader
C# PDF Password Library: add, remove, edit PDF file password in C#
passwordSetting.IsAnnot = true; // Allow to fill form. passwordSetting document. passwordSetting.IsAssemble = true; // Add password to PDF file. PDFDocument
how to add an image to a pdf file; add picture to pdf online
© SAP AG 
35 
and save an action definition in FWO1, the change appears in FU2. If you delete the 
action definition in FWO1, the system also deletes the action definition in FU2. 
You can generate transient actions only in the source business document and not in the 
target business document. You can generate aggregate action definitions in all the 
business documents you have grouped in the agent class logic. The aggregate feature is 
available only if you have implemented SP05 of SAP_BS_FND 7.31 or note 1706788
You have specified the following logic in the agent class: 
Business documents FU1 and FU2 grouped as aggregate 
Target business document FWO1 for source business document FU2 
Target business document FWO1 for source business document FU3 
You have specified the following settings in Customizing: 
Selected the Aggregate checkbox for action definitions AFU1 and AFU2 for a 
business object of TOR and node of ROOT 
AFU2 as a transient action for document FWO1 
AFU3 as an action definition for document FU3 
AFU3 as a transient action for document FWO1 
After you create business documents FWO1, FU1, FU2, and FU3, the system makes the 
following action definitions available: 
AFU1 and AFU2 as aggregate in FU1 and FU2 
AFU3 in FU3 
FU3 is the transient source for FWO1. Therefore, when you generate action AFU3 in 
FU3, the system makes the action in FU3 available to FWO1. 
When you generate action AFU2 in FU1, the system makes the action available in FU2. 
Since FU2 is the transient source for FWO1, the system also makes action AFU2 
available in FWO1. 
C# Create PDF from images Library to convert Jpeg, png images to
List<Bitmap> images = new List<Bitmap>(); images.Add(new Bitmap(Program.RootPath + "\\" 1.gif")); / Build a PDF document with GIF image.
add jpg to pdf preview; add image to pdf acrobat reader
C# PDF Sticky Note Library: add, delete, update PDF note in C#.net
C#.NET PDF SDK - Add Sticky Note to PDF Page in C#.NET. Able to add notes to PDF using C# source code in Visual Studio .NET framework.
add an image to a pdf in preview; add photo to pdf for
© SAP AG 
36 
4.3.2  PPF Exits 
PPF offers various exits to the consuming BOs to provide the relevant business information. 
These exits are listed in the table below: 
BAdI Name 
Implementation Name 
Filter Value 
Description 
EVAL_SCHEDCOND_PP
/BOFU/PPF_STD_EV_SCH  /BOFU/EVAL_SCHEDULE
_CONDITION 
Used to evaluate the 
business determination 
rules to select the actions 
to be generated 
EVAL_STARTCOND_PPF  /BOFU/PPF_STD_EV_STA  /BOFU/EVAL_START_CO
NDITION 
Used to evaluate the 
business checks to 
determine when to execute 
the generated outputs 
COMPLETE_PROC_PPF  Customer specific BAdI 
implementation needs to be 
provided 
Not applicable 
Used to complete 
processing 
PRINTER_DETERM_PPF  Customer specific BAdI 
implementation needs to be 
provided 
Not applicable 
Used to identify the printer 
used to print the action 
EXEC_METHODCALL_P
PF 
/BOFU/PPF_STD_METHOD  /BOFU/PPF_STANDARD 
Used to execute actions 
with the method call 
processing type 
GET_PARTN_ROLES_PP
Customer specific BAdI 
implementation needs to be 
provided 
PPF application, profile 
Used to retrieve the 
possible partner functions 
of the application 
DOC_PERSONALIZE_BC
/BOFU/PPF_STD_DOCBCS  /BOFU/PPF_STANDARD 
Used to retrieve data from 
the business object and 
personalize the document 
ALERT_EXIT_LOCAL_PP
Customer specific BAdI 
implementation needs to be 
provided 
Action profile, action 
Used to read application 
data for an alert 
Output management handles the enhancements offered by PPF using the BAdI façade 
/BOFU/CL_PPF_BADI_FACADE. This class contains all the BAdIs that PPF offers. Wherever 
possible in output management, a standard BAdI implementation is provided that calls the BAdI 
façade. Examples of standard BAdI implementations are START_CONDITION and 
SCHEDULE_CONDITION. 
In certain cases, using standard implementations is not possible. For example, where the BAdI 
filter depends on PPF settings such as PPF action name and PPF action profile. In these cases, 
you have to create your own BAdI implementation and use the BAdI façade to plug it into output 
management. To do this, from your BAdI implementation, delegate the call to the appropriate 
method in the BAdI façade. This will ensure that the system calls the corresponding methods in 
your agent class. 
© SAP AG 
37 
The following is a coding example for a BAdI method complete_mail. Identify the BAdI 
façade method that you need to call and make the call as given in the example. Replace 
the method name and parameters according to your needs. 
METHOD if_ex_complete_proc_ppf~complete_mail. “BAdI implementation 
method
DATA lo_facade TYPE REF TO /bofu/cl_ppf_badi_facade.
lo_facade ?= /bofu/cl_ppf_badi_facade=>get_instance( ).
CALL METHOD lo_facade->if_ex_complete_proc_ppf~complete_mail
EXPORTING
io_context = io_context
ip_protocol = ip_protocol
ip_no_protocol = ip_no_protocol
io_medium = io_medium
flt_val = flt_val.
ENDMETHOD. "IF_EX_COMPLETE_PROC_PPF~COMPLETE_MAIL
© SAP AG 
38 
4.3.3  Output Management Callbacks 
Since Output Management is deployed in the SAP_BS_FND layer, the business data required to 
execute outputs and make decisions must be identified by and transferred from the consuming 
business objects. 
All of the PPF BAdI interfaces are aggregated into a BAdI facade class 
/BOFU/CL_PPF_BADI_FACADE
, which in turn triggers the corresponding method of the agent 
class. The standard implementations of the PPF BAdI interfaces instantiate the BAdI facade and 
trigger the corresponding method in the BAdI facade. 
You can retrieve business data and make decisions by extending the agent-class callback 
methods provided by the Output Management adapter. In this case, class 
/BOFU/CL_PPF_SERV_FOR_BO
must be inherited and the necessary methods redefined in the 
agent class implementation. 
Class 
/BOFU/CL_PPF_SERV_FOR_BO
provides a generic implementation of interface 
/BOFU/IF_PPF_SERV_FOR_BO
. The business objects or application users in output 
management must inherit this class and redefine the methods in line with the relevant business 
scenarios. BO information and error or information messages can be transferred to the output 
management layer using the method parameters. Parameter 
IO_MESSAGE
is important since any 
exceptions caused in the BO layer would need to be communicated to the OM layer. This 
facilitates the debugging process should errors occur. 
Example class: 
/BOFU/CL_PPF_SERV_BO_DEMO_SO
, which has extended 
/BOFU/CL_PPF_SERV_FOR_BO
It is sufficient to extend the agent class and implement all of the necessary callback methods 
(including BAdI methods). The figure below shows how the agent class is called when the BAdI 
method is called in output management. 
© SAP AG 
39 
Output Agent for BO Node Customizing
Aggregation
PPF
PPF 
Exits
PPF Exits
PRINTER_DETERM_PPF
EVAL_SCHEDCOND_PPF
...
Standard BAdI 
Implementations
BAdI Facade Class
Methods:
IF_EX_ALERT_EXIT_LOCAL_PPF~GET_ALERT_DATA
IF_EX_EVAL_STARTCOND_PPF~EVALUATE_START_CONDITION
Agent Class
Methods
/BOFU/IF_PPF_SERV_FOR_BO~DETERMINE_PRINTER
/BOFU/IF_PPF_SERV_FOR_BO~CAN_SCHEDULE_ACTION
Output Management Callback Mechanism 
The following sections explain the various determinations and condition checks that can be 
carried out in the methods of the agent class. 
© SAP AG 
40 
4.3.3.1  Action Profile Determination 
In some cases, multiple action profiles are valid for a use case. In a transportation scenario, for 
example, you can assign multiple action profiles to a document type. However, the relevant 
profiles must be communicated to the output management adapter. You can select the action 
profiles based on the business scenario. All of the business logic and criteria for selecting the 
relevant action profiles can be implemented in method 
GET_PROFILES ()
Each of the interface methods can use the ABAP implementation as well as the variant for 
BRFplus. Implement the appropriate variant depending on the usage, that is, redefine the method 
with either the suffix ABAP or FDT depending on your scenario. 
You must redefine method 
GET_PROFILES_BY_ABAP ()
.If this method is not redefined, 
the OM adapter takes into account all of the assigned action profiles. This may impact 
performance since the PPF considers all of the action profiles assigned to the BO node. 
Method: 
GET_PROFILES_BY_ABAP()
If you use an ABAP implementation, you can redefine this method to write the following: 
Appropriate application state-specific logic to select the action profile for the given input 
keys. The keys correspond to node instances. 
Appropriate logic to obtain the alternative key from the business object for the given input 
keys. If an alternative key is not available, use the node ID (GUID) as the PPF key. 
Method: 
GET_PROFILES_BY_FDT()
If you use a BRFplus function, there is a method that does not require a business add-in (BAdI) 
implementation since the function returns the required PPF profiles and alternative keys. 
Documents you may be interested
Documents you may be interested