PdfDocument
このコンテンツはまだ日本語訳がありません。
Defined in: packages/core/src/types.ts:315
Represents an opened PDF document.
This interface provides methods to render PDF pages to images.
Implements AsyncDisposable for automatic resource cleanup
with ES2024 await using syntax.
Important: Always close the document when done to release resources.
Use await using for automatic cleanup, or call close manually.
Example
// Manual cleanupconst pdf = await openPdf('/path/to/document.pdf')try { for await (const page of pdf.renderPages()) { await fs.writeFile(`page-${page.pageNumber}.jpg`, page.buffer) }} finally { await pdf.close()}
// Automatic cleanup with await using (ES2024)await using pdf = await openPdf('/path/to/document.pdf')for await (const page of pdf.renderPages()) { await fs.writeFile(`page-${page.pageNumber}.jpg`, page.buffer)}// Automatically closed when scope endsExtends
AsyncDisposable
Properties
pageCount
readonlypageCount:number
Defined in: packages/core/src/types.ts:325
Total number of pages in the document.
Example
const pdf = await openPdf('/path/to/document.pdf')console.log(`Document has ${pdf.pageCount} pages`)Methods
[asyncDispose]()
[asyncDispose]():
PromiseLike<void>
Defined in: node_modules/.pnpm/@types+node@22.19.3/node_modules/@types/node/compatibility/disposable.d.ts:13
Returns
PromiseLike<void>
Inherited from
AsyncDisposable.[asyncDispose]
close()
close():
Promise<void>
Defined in: packages/core/src/types.ts:389
Close the document and release all resources.
After calling this method, the document cannot be used anymore. This method is idempotent (safe to call multiple times).
When using await using syntax, this method is called automatically.
Returns
Promise<void>
Example
const pdf = await openPdf('/path/to/document.pdf')// ... use the document ...await pdf.close()renderPage()
renderPage(
pageNumber,options?):Promise<RenderedPage>
Defined in: packages/core/src/types.ts:372
Render a single page to an image.
Use this method when you only need to render one specific page. For multiple pages, prefer renderPages for better memory efficiency.
Parameters
pageNumber
number
Page number to render (1-indexed)
options?
Omit<RenderOptions, "pages">
Rendering options (scale, format, quality). The pages option is ignored.
Returns
Promise<RenderedPage>
Promise resolving to the rendered page
Throws
PdfError with code INVALID_PAGE_NUMBER if page number is out of range
Example
// Render just the first pageconst firstPage = await pdf.renderPage(1)await fs.writeFile('first-page.jpg', firstPage.buffer)
// Render with custom optionsconst page = await pdf.renderPage(5, { scale: 2.0, format: 'png' })renderPages()
renderPages(
options?):AsyncGenerator<RenderedPage,void,unknown>
Defined in: packages/core/src/types.ts:349
Render pages as images using an async generator.
This method is memory-efficient: it processes one page at a time and releases resources for each page before moving to the next.
Parameters
options?
Rendering options (scale, format, quality, pages)
Returns
AsyncGenerator<RenderedPage, void, unknown>
Async generator yielding RenderedPage for each page
Example
// Render all pagesfor await (const page of pdf.renderPages({ scale: 1.5, format: 'jpeg' })) { await fs.writeFile(`page-${page.pageNumber}.jpg`, page.buffer)}
// Render specific pagesfor await (const page of pdf.renderPages({ pages: [1, 2, 3] })) { // Only pages 1, 2, and 3}