> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markpdf.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Inicio rápido

> Su primera conversión con markpdf-cpp en menos de 15 líneas.

# Inicio rápido

## Convertir un archivo local

```cpp theme={null}
#include <markpdf/client.hpp>
#include <iostream>

int main() {
    markpdf::Client client("YOUR_API_KEY");

    markpdf::ConvertOptions opts;
    opts.mode = markpdf::Mode::Fast;

    auto result = client.convertFile("report.pdf", opts);
    if (!result) {
        std::cerr << "Error: " << result.error().detail << "\n";
        return 1;
    }
    std::cout << result->markdown << "\n";
}
```

`convertFile` devuelve `markpdf::Result<ConversionResult, MarkpdfError>`, un tipo como `expected<T, E>` (similar a `std::expected` de C++23, disponible aquí como su propia implementación compatible con C++17). Consulte con `if (!result)` antes de acceder al valor.

## Convertir de URL

```cpp theme={null}
auto result = client.convertFromUrl("https://bucket.example.com/report.pdf?sig=...");
if (result) {
    std::cout << result->markdown;
}
```

## CMakeLists.txt mínimo

```cmake theme={null}
cmake_minimum_required(VERSION 3.16)
project(mi_app CXX)

include(FetchContent)
FetchContent_Declare(markpdf-cpp GIT_REPOSITORY https://github.com/markpdf/markpdf-cpp.git GIT_TAG v1.0.0)
FetchContent_MakeAvailable(markpdf-cpp)

add_executable(mi_app main.cpp)
target_link_libraries(mi_app PRIVATE markpdf::markpdf)
target_compile_features(mi_app PRIVATE cxx_std_17)
```

## Solicitar metadatos además de Markdown

```cpp theme={null}
markpdf::ConvertOptions opts;
opts.responseFormat = markpdf::ResponseFormat::Json;

auto result = client.convertFile("report.pdf", opts);
if (result) {
    std::cout << result->engine << "\n";
    std::cout << result->timings.totalRequestMs << " ms\n";
    std::cout << result->tokenSavedEstimate << " tokens ahorrados\n";
}
```

## Siguiente paso

* [Referencia completa del cliente](/docs/public/es/sdks/cpp/reference)
* [Streaming y trabajos asincrónicos (202)](/docs/public/es/sdks/cpp/streaming-and-async)
* [Manejo de errores](/docs/public/es/sdks/cpp/error-handling)
