> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/core/basic-operations.md).

# Basic operations

- [Basic document operations on Server/Desktop](https://docs.apryse.com/core/basic-operations/basics.md): Learn how to open, save, lock, access pages, and manipulate content in PDF documents. Generate, edit, and extract content efficiently. The Apryse Server SDK streamlines secure document processing with
- [Open a PDF on Server/Desktop](https://docs.apryse.com/core/basic-operations/open.md): Learn how to open a PDF document from a memory buffer with full source code examples. Explore the process of reading and writing PDF files efficiently using Apryse SDK. The Apryse Server SDK streamlin
- [Serialization / Saving PDFs on Server/Desktop](https://docs.apryse.com/core/basic-operations/save.md): Learn how to efficiently save PDF documents with Apryse SDK. Benefit from incremental save, linearization, and compressed object streams for smaller file sizes. Serialize to memory, stream, or disk ef
- [Lock a PDF document on Server/Desktop](https://docs.apryse.com/core/basic-operations/lock.md): Learn how to manage PDF document instances across multiple threads with Apryse SDK locking mechanisms. Ensure stability and avoid crashes by implementing proper document locking. Access full source co
- [Access PDF pages to add, copy, delete or rearrange on Server/Desktop](https://docs.apryse.com/core/basic-operations/pages.md): Learn how to efficiently manage PDF pages with code examples. Copy, delete, and rearrange pages using ImportPages() method for seamless operations. The Apryse Server SDK streamlines secure document pr
- [Access PDF content to read, write & edit on Server/Desktop](https://docs.apryse.com/core/basic-operations/page-content.md): Learn how to access PDF page content with the ElementReader API. Explore code samples and powerful features of Apryse SDK for efficient content extraction and dynamic PDF generation. The Apryse Server
- [Extraction](https://docs.apryse.com/core/basic-operations/extraction.md)
- [Server/Desktop PDF Content Extraction Library](https://docs.apryse.com/core/basic-operations/extraction/extraction.md): Unlock the power of PDF text extraction with our efficient tools and utilities. Extract text and embedded fonts effortlessly with PDF2Text. Get started now! The Apryse Server SDK streamlines secure do
- [Extracting text from a PDF on Server/Desktop](https://docs.apryse.com/core/basic-operations/extraction/text-extract.md): We show how to extract text from a PDF in Server/Desktop
- [Extracting images from a PDF on Server/Desktop](https://docs.apryse.com/core/basic-operations/extraction/image-extract.md): Learn how to extract image content from a PDF document with full code samples and various approaches. Understand PDF page content structure and how to traverse graphical elements efficiently. Master P
- [Embedded fonts on Server/Desktop](https://docs.apryse.com/core/basic-operations/extraction/embedded-fonts.md): Learn how to extract embedded fonts in PDF documents, understand where fonts are accessed from, and how to programmatically embed fonts using the Apryse SDK. Explore examples and best practices for wo
- [Explore Code Samples for PDF Extraction and Parsing on Server/Desktop](https://docs.apryse.com/core/basic-operations/extraction/samples.md): Discover how to work with PDF page labels, extract images, and traverse page display lists using ElementReader. Learn advanced PDF data extraction techniques. The Apryse Server SDK streamlines secure
- [APIs for PDF Extraction on Server/Desktop](https://docs.apryse.com/core/basic-operations/extraction/apis.md): Extract PDF documents efficiently with utility classes in C++, Java, Android, Web (Javascript), Node.js, .NET, .NET Core, iOS, Xamarin.Android, Xamarin.iOS, and UWP using PDFTron and PDFNet libraries.
- [Code samples for basic document operations on Server/Desktop](https://docs.apryse.com/core/basic-operations/samples.md): Learn how to read & write a PDF file from/to memory buffer, merge, copy, delete, rearrange PDF pages, extract data, and embed elements efficiently. The Apryse Server SDK streamlines secure document pr
- [APIs for basic document operations on Server/Desktop](https://docs.apryse.com/core/basic-operations/apis.md): Discover utility classes for basic operations on PDF documents with C++, Java, Android, Web, Node.js, .NET, .NET Core, iOS, Xamarin, and UWP using PDFDoc from PDFTron. The Apryse Server SDK streamline


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.apryse.com/core/basic-operations.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
