How does SDF API in PDFNet SDK compare to COS API in Acrobat
Besides the syntax differences, both SDF (Structured Document Format)
API in PDFNet and COS API in Acrobat Pro SDK offer the same type of
functionality. These API-s are used for low-level manipulation of PDF
documents. A useful analogy would be a comparison between different
DOM API-s in the world of XML. To put it technically, both SDF and COS
PDF offer read, write, and edit operation on the same 'infoset'.
For a short introduction to SDF please refer to
Although both SDF API in PDFNet and COS in Acrobat SDK can be used to
implement the same functionality, there are a number of advantages of
using SDF API in PDFNet:
- The SDF layer like the rest of PDFNet follows an object-oriented
paradigm and, as a result, is easier to use and is more elegant.
- The user is relieved from having to manually acquire and release
resources which can lead to memory and resource leaks.
- The exception support is transparent and seamlessly integrates into
any programming language (e.g. cross platform C++, C#, VB.Net, or any
other .NET language).
- The identical API is available for both managed languages (C#,
VB.NET, Java, Managed C++) and for native code (C/C++). As a result,
it is very straight forward to port applications back and forth
between managed and unmanaged mode.
- The SDF API seamlessly integrates with high-level API-s. For
example, a user can obtain a low-level object from any PDF object
using the GetSDFObj() method and can create a high-level PDF object
from an SDF object. As a result, the user is empowered with tools to
implement custom functionality that is not available in the high-level
- Finally, the number of lines of code required to implement the same
functionality using SDF API is significantly lower than the number of
lines required to implement the same function using Acrobat COS API.