mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 04:38:11 +00:00

This commit adds a parser as well as the Reader class, which serves as a utility to aid in reading the PDF both forwards and in reverse. The parser currently is capable of reading xref tables, as well as all values. We don't really do anything with any of this information, however.
22 lines
455 B
C++
22 lines
455 B
C++
/*
|
|
* Copyright (c) 2021, Matthew Olsson <mattco@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#include <LibPDF/Document.h>
|
|
#include <LibPDF/Parser.h>
|
|
|
|
namespace PDF {
|
|
|
|
Document::Document(const ReadonlyBytes& bytes)
|
|
: m_parser(Parser({}, bytes))
|
|
{
|
|
VERIFY(m_parser.perform_validation());
|
|
auto [xref_table, trailer] = m_parser.parse_last_xref_table_and_trailer();
|
|
|
|
m_xref_table = xref_table;
|
|
m_trailer = trailer;
|
|
}
|
|
|
|
}
|