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

# Extrakce dat

> Vytvořte schéma, nahrajte soubor a extrahujte strukturovaná produktová data.

## 1. Vytvoření schématu

Schéma definuje sloupce, které chcete extrahovat.

```typescript theme={null}
const schema = await client.schemas.create({
  name: "Product Catalog",
  columns: [
    { key: "product_name", label: "Product Name", type: "text", required: true },
    { key: "price", label: "Price", type: "number" },
    { key: "description", label: "Description", type: "text" },
    { key: "image_url", label: "Image", type: "image" },
  ],
});

console.log(schema.id);
```

<Tip>
  Schéma můžete také vygenerovat automaticky ze vzorových dat:

  ```typescript theme={null}
  const schema = await client.schemas.generate({
    sample_data: "Product: iPhone 15 Pro, Price: $999, Storage: 128GB",
    name: "Smartphones",
  });
  ```
</Tip>

## 2. Nahrání souboru

Nahrajte PDF, tabulku nebo obrázek, ze kterého chcete extrahovat data.

```typescript theme={null}
const file = new File([buffer], "catalog.pdf", { type: "application/pdf" });
const uploaded = await client.files.upload(file, "catalog.pdf");

console.log(uploaded.id); // "file_abc123"
```

## 3. Vytvoření tabulky

Spusťte extrakci vytvořením tabulky s vaším schématem a nahraným souborem.

```typescript theme={null}
const table = await client.tables.create({
  schema_id: schema.id,
  name: "Q1 Product Catalog",
  file_ids: [uploaded.id],
});

console.log(table.id);     // "tbl_..."
console.log(table.status); // "processing"
```

## 4. Čekání na výsledky

SDK obsahuje pomocnou funkci pro polling, která čeká na dokončení extrakce.

```typescript theme={null}
const completed = await client.tables.waitForCompletion(table.id, {
  intervalMs: 3000,
  timeoutMs: 300000,
});

console.log(completed.status);     // "completed"
console.log(completed.total_rows); // 42
```

## 5. Získání řádků

```typescript theme={null}
const rows = await client.tables.rows(completed.id, { limit: 100 });

for (const row of rows.data) {
  console.log(row.data.product_name, row.data.price);
}
```

## Další

<Card title="Obohacení pomocí AI" icon="arrow-right" href="/cs/quickstart/typescript/enhance">
  Použijte AI ke generování popisků, překladu obsahu a obohacení vašich dat.
</Card>
