pdf viewer c# : Add image to pdf Library control class asp.net web page html ajax OReilly_-_POSIX_Programmers_Guide3-part1964

AEG Modcomp
Harris Computer Systems Division
Alliant Computer Corp.
Hewlett-Packard
Amdahl Corp.
Hitachi
Apple Computer
Intel
AT&T
Intergraph Corp.
Bull
International Business Machines
Charles River Data Systems
Kendall Square Research Corp.
Concurrent Com
puter
Motorola
Control Data Corporation
NeXT, Inc.
Convergent Technology
Stratus Computer
Cray Research Inc.
Sun Microsystems
Data General Corporation
Tandem Computer
Digital Equipment Corp
Texas Instruments
Fujitsu Limited
Unisys
Gould Computer Systems Di
vision
Xerox
Grumman Data Systems
Of course, a list of hardware vendors like that will get lots of software vendors signed up to
help. Some of the major software vendors are The Open Software Foundation, AT&T Unix
System Laboratories, and Microsoft.
Now, if all these players agree on something, it must be important!
* The name POSIX comes from Portable Operating System interface for unIX. The name was
suggested by Richard Stallman.
**By the time you read this there will be even more! 
P
age 3
The POSIX Family of Standards
POSIX, in time, will be a rich family of standards. The project names for the various POSIX
projects was revised in 1993. The current list
*
of POSIX projects is:
1003.1
defines the interface between portable application programs and the operating system, based on
historical UNIX system models. This consists of a library of functions that are frequently
Add image to pdf - 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 form; add picture to pdf
Add image to pdf - 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
adding an image to a pdf form; add image to pdf acrobat
implemented as system calls. This project is now complete and i
s IEEE Std 1003.1-1990.
P1003.1a
Miscellaneous interpretations, clarifications and extensions (including symbolic links) to the
1990 standard. Look for an expanded POSIX. 1 standard by the end of 1994.
P1003.1b
(formerly POSIX.4) Real-time extensions approved as IEE Std 1003.lb1993 and covers:
·
Binary Semaphores
·
Process memory locking
·
Memory-mapped files and shared memory
·
Priority scheduling
·
Real-time signal extensions
·
Timers
·
Interprocess communication
·
Synchronized I/O
·
Asynchronous I/O
P1003.1c
(formerly POSIX.4a) add functions to support threads (light weight processes) to POSIX. This
will allow multiple flows of control within a POSIX process, a requirement for tightly coupled
real-time (as well as transaction processing) applications.
P1003.ld
(formerly POSIX.4b) further real-time extensions
P1003.1e
formerly POSIX.6) is a set of security enhancements meeting the criteria published by the
United States Department of Defense in 
Trusted Computer System Evaluation Criteria
(TCSEC). This covers four areas:
·
Access control lists on POSIX objects.
* This list was correct in February 1994. POSIX is very active and this information will be out of date
by the time you read it. Late breaking information is posted to the USENET 
comp.std.unix
newsgroup. The USENIX Association publishes a quarterly update 
of standards activities.
Membership information is available from USENIX association, 2560 Ninth Street, Suite 215,
Berkeley CA 94710 or 
office@usenix org
P
age 4
·
Support for labeling of subjects and objects, and for mandatory access control rules to
avoid leaking information.
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Get image information, such as its location, zonal information, metadata, and so on. Able to edit, add, delete, move, and output PDF document image.
how to add image to pdf reader; acrobat insert image in pdf
VB.NET PDF Password Library: add, remove, edit PDF file password
VB: Add Password to PDF with Permission Settings Applied. This VB.NET example shows how to add PDF file password with access permission setting.
how to add image to pdf document; add photo pdf
·
Defining auditable events for POSIX. 1 interfaces, and standard audit trail record formats
and functions.
·
Defining interfaces for altering process privileges.
P1003.1e
is currently balloting the required extension to P1003.1.
P1003.1f
(formerly POSIX.8) is working on Transparent File Access over a network. Transparent File
Access is the ability to access remote files as if they were local.
P1003.1g
(formerly POSIX.12) covers Protocol Independent Interfaces to network services.
P1003.lh
(new) real-time distributed systems.
P1003.2
specifies a shell command language based on the System V shell with some features from the C
Shell and the Korn Shell. It provides a few services to access shell services from applications.
POSIX.2 provides over 70 utilities to be called from shell
scripts or from applications
directly.
POSIX.2 was originally intended to allow shell scripts to be portable. Later, it was decided to
add a User Portability Extension (now called POSIX.2a) to allow users to move from one
system to another without retraining. The POSIX.2a covers about 35 additi
onal utilities like the
vi
editor, 
more,man,mailx
, etc.
POSIX.2/.2a has passed all of the steps in the standardization process and is now approved as
ISO/IEC 9945-2:1993 and IEE Std 1003.2-1992.
P1003.2b
miscellaneous extensions (including symbolic links) to the P1003.2 standard.
P1003.2c
security extensions. These are the command and utilities that go along with P1003.1e
P1003.2d
(formerly POSIX. 15) batch queueing extensions
P1003.3
provides the detailed testing and verification requirements for the POSIX family. The standard
(IEEE Std 1003.3-1991) consists of general requirements for how test suites should be written
and administered.
The National Institute for Standards and Technology (NIST), part of the United States
Government, produced the POSIX FIPS Conformance Test Suite (PCTS). The ability to test
that an implementation meets the standard allows programmers and users to get the f
ull
portability that they expect. The specific tests for a POSIX component are numbered 2003 so
the tests for IEEE Std 1003.1-1990 are called IEE Std 2003.1-1992.
C# PDF Password Library: add, remove, edit PDF file password in C#
C# Sample Code: Add Password to PDF with Permission Settings Applied in C#.NET. This example shows how to add PDF file password with access permission setting.
how to add an image to a pdf in acrobat; adding image to pdf in preview
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
DLLs for PDF Image Extraction in VB.NET. In order to run the sample code, the following steps would be necessary. Add necessary references:
how to add image to pdf file; add photo to pdf form
P
age 5
P1003.5
is a set of ADA bindings to the basic system services defined in POSIX. 1 (IEEE Std
1003.5-1992).
P1387
(formerly POSIX.7) is going to provide standard system administration. System administration
is one of the least standard areas in UNIX. There are several subprojects:
P1387.1 Framework for system administration
P1387.2 Software management
P1387.3 Us
er management
P1387.4 Printer management
P1003.9
is a set of FORTRAN-77 bindings to the basic system services defined in POSIX.1 (IEEE Std
1003.9-1992)
P1003.10
is a supercomputing Application Environment Profile (AEP). The idea is to specify the
requirements that supercomputer users have for the other POSIX groups. For example, batch
processing and checkpoint/restart facilities.
P1003.11
was the Transaction Processing AEP currently inactive.
P1003.13
is the Real-Time AEP. There is no POSIX. 13 committee. The work is done by POSIX.4
P1003.14
is the Multiprocessor AEP.
P1003.16
is a set of C language bindings to the basic system services defined in POSIX.1 (inactive)
P1224.2
(formerly POSIX. 17) covers programming interfaces to network directory services (IEEE Std
1224.2-1993).
POSIX.18
is the POSIX Platform Environment Profile. It will cover what options are required to support
POSIX applications.
POSIX. 19
is a set of Fortran 90 bindings to the basic system services defined in POSIX.1 (inactive)
POSIX.20
is a set of Ada bindings to the real time services defined in POSIX.4
POSIX.0
is a Guide to POSIX Open Systems Environment. This is not a standard in the same sense as
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.
how to add picture to pdf; add image pdf document
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.
adding a png to a pdf; how to add a jpeg to a pdf file
POSIX.1 or POSIX.2. It is more of an introduction to the other standards.
Most of these projects have not yet produced a standard. 1003.1, .2, .3, .5, .9 and 1224.2 are
official standards. The rest are in ballot or still in the hands of their respective committees.
P
age 6
The POSIX.1 Standard Document
The POSIX. 1 Standard Document is dedicated to POSIX. 1 which produced an IEEE standard
in 1988 and an international standard in 1990. The full legal name is: IEEE Std. 1003.1-1990
Standard for Information Technology—Portable Operating System Interface
(PO
SIX)—PART 1. System Application Programming Interface (API) [C Language]. 
The
Publications section in the Reference Manual at the back of this book gives the ordering
information for this and other standards.
For the rest of this book, we will use the word POSIX to mean POSIX.1.
POSIX covers the basic operating system interface. This includes:
1.
The POSIX standard starts out with a set of definitions and general requirements. I have
distributed this information throughout this book so that you are not hit with 89 definitions
all at once.
2.
POSIX next covers the 
Process Primitives. 
I cover this information in Chapter 6, 
Working
with Processes.
3.
Next comes 
Process Environment, 
which I cover in Chapter 7, 
Obtaining Information at
Run-time.
4.
The POSIX sections on 
Files and Directories 
and 
Input and Output Primitives 
are
covered in Chapter 3, 
Standard File and Terminal I/O, 
Chapter 4, 
Files and Directories
and Chapter 5, 
Advanced File Operations.
5.
Device- and Class-Specific Functions 
are covered in Chapter 8, 
Terminal I/O. 
Terminals
are the only device that POSIX standardizes.
6.
The POSIX chapter 
Language-specific Services for the C Programming Language 
is
covered in Chapter 9, 
POSIX and Standard C. 
The POSIX standard assumes that you have
complete knowledge of 
ANSI Std X3.159-1989—American National Standard for
Information Sys
tems—Programming Language—C. 
I have brought the relevant
information from that standard into Chapter 9 (as well as other places in this book).
7.
The early drafts of POSIX had a chapter on 
System Databases 
covering the
/etc/passwd
and 
/etc/groups
files. These files are no longer part of POSIX The
system database is accessed with library functions such as 
getpwnam().
The POSIX
chapter remained 
Sys
tem Databases. 
I cover the related functions in Chapter 7, 
Obtaining
Information at Run-time.
8.
The POSIX standard defines the 
tar
and 
cpio - c
file formats. I do not cover these
because they do not affect application programs. What you do need to know is that you can
write an archive on one POSIX system using 
tar
or 
cpio -c
and read it on another
C# PDF remove image library: remove, delete images from PDF in C#.
C# Read: PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image to PDF; Remove Image from PDF Page Using C#. Add necessary references:
add photo to pdf file; add a jpeg to a pdf
VB.NET PDF remove image library: remove, delete images from PDF in
C# Read: PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image to PDF; VB.NET: Remove Image from PDF Page. Add necessary references:
how to add jpg to pdf file; add jpg to pdf acrobat
POSIX system.
POSIX provides the facilities you will need to write most ordinary character-based
application programs. However, POSIX.1 does not address some significant areas such as
P
age 7
networking and graphics. Networking is being addressed by POSIX.8. This is a large complex
area and will require several standards that will take until the mid-90s to complete. Graphics,
graphic user interfaces, and windowing systems standards are all unde
r development.
POSIX also ignores system administration. How do you add users? How do you back up the
file system? How do you install a package? These are not considered issues for portable
applications.
The same force that made POSIX.1 a success is delaying these other areas: a large body of
existing practice and a consensus on the best solution. Most of the features of POSIX and
Standard C had been built and tested by several vendors before being include
d in an
international standard. Is OSF/Motif the correct user interface? Should it be an international
standard? It is too early to have a broad consensus.
The Design of POSIX
The committee that worked on POSIX had several ''grand principles" to guide their work:
·
POSIX is aimed at application portability across many systems. These include not only
UNIX systems but non-UNIX systems such as VAX/VMS and OS/2. Unisys Corp. has
developed a POSIX front end for the CTOS operating system.
·
POSIX describes the contract between the application and the operating system. POSIX
does not say how to write applications programs or how to write operating systems.
·
The standard has been defined exclusively at the source code level. A strictly conforming
source program can be compiled to execute on any conforming system. The standard does
not guarantee that the object or binary code will execute under a different co
nforming
implementation, even if the underlying hardware is identical. This applies even to two
identical computers with the same operating system.
·
The standard is written in terms of Standard C. The standard does not require that an
implementation support Standard C. FORTRAN and ADA interfaces to POSIX are being
developed.
·
There was no intention to specify all aspects of an operating system. Only functions used by
ordinary applications are included. There are no system administration functions.
·
The standard is as small as possible.
·
The POSIX interface is suitable for the broadest possible range of systems.
·
While no known UNIX system was 100% POSIX compatible, the changes required to meet
the standard were kept as small as possible.
P
age 8
·
POSIX is designed to make less work for developers, not more. However, because no
UNIX system prior to POSIX was POSIX conforming, some existing applications had to
change to become strictly portable.
POSIX and UNIX
POSIX is based on UNIX System V and Berkeley UNIX, but it is not itself an operating system.
Instead, POSIX defines the interface between applications and their libraries. POSIX does not
talk about "system calls" or make any distinction between the kernel 
and the user.
Vendors can adapt any UNIX variant, or even another operating system, to provide POSIX
interfaces. Applications can be moved from one system to another because they see only the
POSIX interface and have no idea what system is under the interface.
An 
implementation 
consists of both a set of libraries and an operating system. The POSIX
standard defines only the interface between the application and the library. Consider Figure
1-1.
Figure 1-1. Software layers
POSIX defines how the application talks to the library and how the library and underlying
operating system behave in response. Each implementation can have its own way of dividing
the work between the library and the operating system.
P
age 9
POSIX and Non-UNIX Operating Systems
Because the POSIX standard is the contract between the application and the library, POSIX
allows applications to be ported between operating systems by using a different library to
"glue" the application to the operating system.
For example, there is a function called 
getcwd()
which returns the current working
directory. Some systems may have an operating system trap that returns this information. Other
systems may have a much larger chore of reading directories and computing the 
current
working directory. The applications programmer does not care. All systems must provide a
getcwd()
which works exactly as described in this book.
POSIX, C, ANSI C, and Standard C
This book covers POSIX and Standard C. It is possible to write a book about POSIX without
getting involved in programming languages. The standards committees are moving in that
direction: one topic per standard.
However, programmers must program in a programming language. Divorcing the operating
system interface from the way a programmer accesses that interface may be good for the
standards lawyers, but it is bad for the programmer. We are going to talk about POSI
X and
Standard C together.
The IEEE POSIX.5 committee is defining the ADA interface to POSIX and the IEEE POSIX.9
committee is defining the FORTRAN interface to POSIX. In early 1991 those standards are in
the first round of balloting. At some point, it will be possible to write POSI
X programs in
ADA or FORTRAN. At the moment, C is the only real choice.
The POSIX standard is written in terms of the C programming language. POSIX supports two
programming environments. One is based on the traditional C language. The other is based on
the Standard C language defined by 
American National Standard for Informati
on
Systems—Programming Language—C, 
X3.159-1989. Standard C defines the C language in a
more precise way and allows for more portability than traditional C.
Since Standard C was developed by the American National Standards Institute (ANSI), some
people call it ANSI C. The International Organization for Standards has adopted ANSI
X3.158-1989 as ISO/IEC 9899: 
Information Processing Systems—Programming
Language—C
I will use the term Standard C instead of ANSI C to reflect its status as an
international standard.
Since POSIX was being developed in parallel with Standard C, the POSIX committee did not
want to require its use. Today, there are many Standard C compilers on the market and most
platforms support one or more of them. Writing a new application in traditio
nal C exposes you
to additional portability risks. Standard C also allows better compile-time checking. This
makes your programs easier to debug. There is no need to use traditional C if Standard C is
available.
P
age 10
Why Standard C?
We could look for a subset of C that works on all computers. Let's call that Least Common
Denominator (LCD) C. The problem is that LCD C is hard to define. There are two major
reasons for this:
1.
Documentation prior to the publication 
of American National Standard for Info
r
mation
Systems—Programming Language—C 
was unclear at times.
2.
Even where the books were clear, implementations got it wrong and there were no test
suites to validate the implementation.
As a result, finding a common subset of C requires a large amount of trial and error. Several
books have been written on C-compiler compatibility. Harbison and Steele's 
C. A Reference
Manual 
does a good job of pointing out the fuzzy edge of C and how to av
oid it. In the 1990s,
avoiding the fuzzy edge is unnecessary. POSIX became a standard in 1988 and C in 1989.
Systems that implement those standards are just coming to market in 1991. It is unlikely that you
will find a system that conforms to the POSIX sta
ndard and does not also supply a Standard C
compiler and libraries.
The Standard C libraries are important. POSIX supplies only one part of the programming
toolkit. We need the libraries provided as part of Standard C in order to write interesting
programs. It is not worth wasting brain cells remembering which tools are in
the Standard C
box and which are in the POSIX box. It is better to remember our tools by function. This is like
sorting our tools into screwdrivers and wrenches instead of Craftsman tools and Stanley tools.
In this book, I have attempted to integrate the 
two standards and present them as a complete
toolkit.
Working Outside the Standards
Most programs have only a few areas which need to go outside of the standards. Keep those
area isolated to a few modules. Keep most of the code POSIX conforming.
For example, I have an amateur radio application which I share with many friends. The
program's structure is shown in Figure 1-2.
Modules in the Program Core do not have any knowledge of the user interface. If I need, for
example, to get a decimal number from the user, I call 
get_decimal_with_prompt()
.
That is one of the routines I wrote in the user interface module. On a system with
a graphic user
interface, there is a dialog box. On an ordinary terminal there is a question and a pause for the
user to type a number.
Most of the program remains unchanged over several operating systems and user interfaces. I
can build a version for different operating systems and user interfaces by changing that module.
P
age 11
Figure 1-2. Example of a portable application
Finding The POSIX Libraries
The POSIX libraries are part of the standard system libraries. You can indicate that you want
all vendor extensions hidden from you by defining the symbol 
_POSIX_SOURCE
with the
statement:
#define _POSIX_SOURCE 1
According to the rules of Standard C, only those symbols that are in the base standard or are
enabled by a specific 
#define
feature test are allowed to be visible. However, many
vendors require a special command to get the Standard C behavior. They include
their 
added
value 
by default. By defining 
_POSIX_SOURCE
you should protect yourself from this added
value.
Every conforming POSIX system must provide a ''conformance document" that describes its
implementation. This document will tell you if there is any magic you need to perform to get
standard behavior. We will talk more about the POSIX development environmen
t in the next
chapter.
Converting Existing Programs
Since POSIX is based on existing practice, this is often very easy. It does require checking the
library functions that you use and verifying that you are using them as defined in the standard.
The Functions section in the Reference Manual in the back of this book lists every library
function. For each function there is a section labeled CONVERSION. This is a description of
the changes you have to make from the various releases of AT&T System V a
nd Berkeley
Software Distribution (BSD) to make your application POSIX-conforming.
P
age 12
One easy test is to add the statement:
#define _POSIX_SOURCE 1
to the front of each module, compile and test your application. While this will not verify
complete POSIX conformance, it is a quick way to get close.
Several companies make C portability verifiers. A good one is Flex Lint available from
Gimpel Software, 3207 Hogarth Lane, Collegeville, PA 19426. The phone number is
(215)584-4261 and the FAX is (215)584-4266
P
age 13
CHAPTER 2
Developing POSIX Applications
In this chapter, we discuss how to access the C language bindings as well as the POSIX
Documents you may be interested
Documents you may be interested