# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2015-2025, Artifex
# This file is distributed under the same license as the PyMuPDF package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PyMuPDF 1.26.7\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-25 23:33+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ko\n"
"Language-Team: ko <LL@li.org>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.10.3\n"

#: ../../header.rst:-1 75434c61000b4a94a1404a3d68f178d3
msgid "Artifex"
msgstr "Artifex"

#: ../../header.rst:-1 ddfdaa7abef4454c84dd019f11c20c87
msgid ""
"PyMuPDF is a high-performance Python library for data extraction, "
"analysis, conversion & manipulation of PDF (and other) documents."
msgstr "|PyMuPDF| 는 |PDF| 및 기타 문서의 데이터 추출, 분석, 변환, 조작을 위한 고성능 Python 라이브러리입니다."

#: ../../header.rst:-1 903f0a7765df4517bf839cf576bb4cd7
msgid ""
"PDF Text Extraction, PDF Image Extraction, PDF Conversion, PDF Tables, "
"PDF Splitting, PDF Creation, Pyodide, PyScript"
msgstr "|PDF| 텍스트 추출, |PDF| 이미지 추출, |PDF| 변환, |PDF| 테이블, |PDF| 분할, |PDF| 생성, Pyodide, PyScript"

#: ../../recipes-low-level-interfaces.rst:7 876f381a92644748ae6580657c5d6371
msgid "Low-Level Interfaces"
msgstr "저수준 인터페이스"

#: ../../recipes-low-level-interfaces.rst:10 56a6762686bb479a903f22b76be1b5e4
msgid ""
"Numerous methods are available to access and manipulate PDF files on a "
"fairly low level. Admittedly, a clear distinction between \"low level\" "
"and \"normal\" functionality is not always possible or subject to "
"personal taste."
msgstr "PDF 파일에 상당히 낮은 수준으로 액세스하고 조작할 수 있는 많은 메서드가 있습니다. 인정하건대, \"낮은 수준\"과 \"일반\" 기능 간의 명확한 구분이 항상 가능한 것은 아니며 개인 취향에 따라 다를 수 있습니다."

#: ../../recipes-low-level-interfaces.rst:12 509bc82d522c4d62bd7cf935e205a083
msgid ""
"It also may happen, that functionality previously deemed low-level is "
"later on assessed as being part of the normal interface. This has "
"happened in v1.14.0 for the class :ref:`Tools` - you now find it as an "
"item in the Classes chapter."
msgstr "이전에 낮은 수준으로 간주되었던 기능이 나중에 일반 인터페이스의 일부로 평가될 수도 있습니다. 이것은 v1.14.0에서 :ref:`Tools` 클래스에 대해 발생했습니다 -- 이제 Classes 장에서 항목으로 찾을 수 있습니다."

#: ../../recipes-low-level-interfaces.rst:14 20061f0fd15a4e39ad5408b30f02ea0d
msgid ""
"It is a matter of documentation only in which chapter of the "
"documentation you find what you are looking for. Everything is available "
"and always via the same interface."
msgstr "문서의 어느 장에서 찾고 있는 것을 찾을 수 있는지는 문서화의 문제일 뿐입니다. 모든 것이 사용 가능하며 항상 동일한 인터페이스를 통해 제공됩니다."

#: ../../recipes-low-level-interfaces.rst:19 3d2eebf5f47c48afb777b5e1cbe85fa9
msgid "How to Iterate through the :data:`xref` Table"
msgstr ":data:`xref` 테이블을 반복하는 방법"

#: ../../recipes-low-level-interfaces.rst:20 c9233e278f7a44a5b599e88a0848f67a
msgid ""
"A PDF's :data:`xref` table is a list of all objects defined in the file. "
"This table may easily contain many thousands of entries -- the manual "
":ref:`AdobeManual` for example has 127,000 objects. Table entry \"0\" is "
"reserved and must not be touched. The following script loops through the "
":data:`xref` table and prints each object's definition::"
msgstr "PDF의 :data:`xref` 테이블은 파일에 정의된 모든 객체의 목록입니다. 이 테이블은 수천 개의 항목을 쉽게 포함할 수 있습니다 -- 예를 들어 :ref:`AdobeManual` 에는 127,000개의 객체가 있습니다. 테이블 항목 \"0\"은 예약되어 있으며 건드리면 안 됩니다. 다음 스크립트는 :data:`xref` 테이블을 반복하고 각 객체의 정의를 인쇄합니다::"

#: ../../recipes-low-level-interfaces.rst:32 b93c9745639841dabd4c68c0cc52e782
msgid "This produces the following output::"
msgstr "이것은 다음 출력을 생성합니다::"

#: ../../recipes-low-level-interfaces.rst:72 d3c70e3964ee4a28b58534c83ad26bbc
msgid "A PDF object definition is an ordinary ASCII string."
msgstr "PDF 객체 정의는 일반 ASCII 문자열입니다."

#: ../../recipes-low-level-interfaces.rst:77 493207cb244546a59a72c418fd16281c
msgid "How to Handle Object Streams"
msgstr "객체 스트림 처리 방법"

#: ../../recipes-low-level-interfaces.rst:78 e736d6692a344e6280ec68ba8aa262da
msgid ""
"Some object types contain additional data apart from their object "
"definition. Examples are images, fonts, embedded files or commands "
"describing the appearance of a page."
msgstr "일부 객체 유형은 객체 정의 외에 추가 데이터를 포함합니다. 예로는 이미지, 글꼴, 임베디드 파일 또는 페이지 모양을 설명하는 명령이 있습니다."

#: ../../recipes-low-level-interfaces.rst:80 cabdb524e1d849448046bf6e2d206342
msgid ""
"Objects of these types are called \"stream objects\". PyMuPDF allows "
"reading an object's stream via method :meth:`Document.xref_stream` with "
"the object's :data:`xref` as an argument. It is also possible to write "
"back a modified version of a stream using :meth:`Document.update_stream`."
msgstr "이러한 유형의 객체를 \"스트림 객체\"라고 합니다. |PyMuPDF| 는 객체의 :data:`xref` 를 인수로 사용하여 :meth:`Document.xref_stream` 메서드를 통해 객체의 스트림을 읽을 수 있게 합니다. :meth:`Document.update_stream` 을 사용하여 수정된 스트림 버전을 다시 쓸 수도 있습니다."

#: ../../recipes-low-level-interfaces.rst:82 ba7bea2d5ccf47818f2fbbdf71fff7fd
msgid ""
"Assume that the following snippet wants to read all streams of a PDF for "
"whatever reason::"
msgstr "다음 코드 조각이 어떤 이유로든 PDF의 모든 스트림을 읽고 싶다고 가정합니다::"

#: ../../recipes-low-level-interfaces.rst:91 9047c6fd5efa437b8bc7bc5353205ab2
msgid ""
":meth:`Document.xref_stream` automatically returns a stream decompressed "
"as a bytes object -- and :meth:`Document.update_stream` automatically "
"compresses it if beneficial."
msgstr ":meth:`Document.xref_stream` 은 스트림을 자동으로 압축 해제하여 bytes 객체로 반환합니다 -- 그리고 :meth:`Document.update_stream` 은 유리한 경우 자동으로 압축합니다."

#: ../../recipes-low-level-interfaces.rst:96 5546055dde52483fab745bbc48f96b0f
msgid "How to Handle Page Contents"
msgstr "페이지 콘텐츠 처리 방법"

#: ../../recipes-low-level-interfaces.rst:97 9e0c2c1ba3df4e1d8317099f96c3c0a6
msgid ""
"A PDF page can have zero or multiple :data:`contents` objects. These are "
"stream objects describing **what** appears **where** and **how** on a "
"page (like text and images). They are written in a special mini-language "
"described e.g. in chapter \"APPENDIX A - Operator Summary\" on page 643 "
"of the :ref:`AdobeManual`."
msgstr "PDF 페이지는 0개 또는 여러 개의 :data:`contents` 객체를 가질 수 있습니다. 이것들은 페이지에서 **무엇** 이 **어디에** 그리고 **어떻게** 나타나는지(텍스트 및 이미지와 같은) 설명하는 스트림 객체입니다. 이것들은 :ref:`AdobeManual` 의 643페이지 \"APPENDIX A - Operator Summary\" 장에 설명된 특수 미니 언어로 작성됩니다."

#: ../../recipes-low-level-interfaces.rst:99 386e5519cf9249b2ba829b533c775316
msgid ""
"Every PDF reader application must be able to interpret the contents "
"syntax to reproduce the intended appearance of the page."
msgstr "모든 PDF 리더 애플리케이션은 페이지의 의도된 모양을 재현하기 위해 콘텐츠 구문을 해석할 수 있어야 합니다."

#: ../../recipes-low-level-interfaces.rst:101 28d8cbd998214286ac22c11bab9374a1
msgid ""
"If multiple :data:`contents` objects are provided, they must be "
"interpreted in the specified sequence in exactly the same way as if they "
"were provided as a concatenation of the several."
msgstr "여러 :data:`contents` 객체가 제공되는 경우, 여러 개의 연결로 제공된 것과 정확히 동일한 방식으로 지정된 순서로 해석되어야 합니다."

#: ../../recipes-low-level-interfaces.rst:103 d47ff2ffa881474caad92f60fd6bdb53
msgid ""
"There are good technical arguments for having multiple :data:`contents` "
"objects:"
msgstr "여러 :data:`contents` 객체를 갖는 것에 대한 좋은 기술적 논거가 있습니다:"

#: ../../recipes-low-level-interfaces.rst:105 0a53f856d8904323aef9b42981091b99
msgid ""
"It is a lot easier and faster to just add new :data:`contents` objects "
"than maintaining a single big one (which entails reading, decompressing, "
"modifying, recompressing, and rewriting it for each change)."
msgstr "하나의 큰 객체를 유지하는 것(각 변경에 대해 읽기, 압축 해제, 수정, 재압축 및 다시 쓰기를 수반함)보다 새로운 :data:`contents` 객체를 추가하는 것이 훨씬 쉽고 빠릅니다."

#: ../../recipes-low-level-interfaces.rst:106 fcbe0dac945345dd948d48f71cb2211d
msgid ""
"When working with incremental updates, a modified big :data:`contents` "
"object will bloat the update delta and can thus easily negate the "
"efficiency of incremental saves."
msgstr ""
"증분 업데이트로 작업할 때 수정된 큰 :data:`contents` 객체는 업데이트 델타를 부풀려서 증분 저장의 효율성을 쉽게 무효화할 "
"수 있습니다."

#: ../../recipes-low-level-interfaces.rst:108 0d451f51c5ee4fd7a0f796fedca1aaef
msgid ""
"For example, PyMuPDF adds new, small :data:`contents` objects in methods "
":meth:`Page.insert_image`, :meth:`Page.show_pdf_page` and the "
":ref:`Shape` methods."
msgstr ""
"예를 들어, |PyMuPDF| 는 :meth:`Page.insert_image`, :meth:`Page.show_pdf_page` 및 "
":ref:`Shape` 메서드에서 새로운 작은 :data:`contents` 객체를 추가합니다."

#: ../../recipes-low-level-interfaces.rst:110 89445c95103d4a92beb375bccb7fa5ab
msgid ""
"However, there are also situations when a **single** :data:`contents` "
"object is beneficial: it is easier to interpret and more compressible "
"than multiple smaller ones."
msgstr ""
"그러나 **단일** :data:`contents` 객체가 유리한 상황도 있습니다: 여러 개의 작은 객체보다 해석하기 쉽고 압축률이 "
"더 높습니다."

#: ../../recipes-low-level-interfaces.rst:112 2a0b4642b4364684a16adb1d39489ec3
msgid "Here are two ways of combining multiple contents of a page::"
msgstr "다음은 페이지의 여러 콘텐츠를 결합하는 두 가지 방법입니다::"

#: ../../recipes-low-level-interfaces.rst:124 6057b6061a91411ea964bce99b20537e
msgid ""
"The clean function :meth:`Page.clean_contents` does a lot more than just "
"glueing :data:`contents` objects: it also corrects and optimizes the PDF "
"operator syntax of the page and removes any inconsistencies with the "
"page's object definition."
msgstr ""
"정리 함수 :meth:`Page.clean_contents` 는 :data:`contents` 객체를 결합하는 것 이상의 작업을 수행합니다: "
"페이지의 PDF 연산자 구문을 수정하고 최적화하며 페이지 객체 정의와의 불일치를 제거합니다."

#: ../../recipes-low-level-interfaces.rst:129 844f10a12b4048188390d4080ce7c9c3
msgid "How to Access the PDF Catalog"
msgstr "PDF 카탈로그 액세스 방법"

#: ../../recipes-low-level-interfaces.rst:130 fb4cc97df02e4b7dabd01a2eb37ac0ce
msgid ""
"This is a central (\"root\") object of a PDF. It serves as a starting "
"point to reach important other objects and it also contains some global "
"options for the PDF::"
msgstr ""
"이것은 PDF의 중앙(\"루트\") 객체입니다. 중요한 다른 객체에 도달하기 위한 시작점 역할을 하며 PDF에 대한 일부 전역 옵션도 "
"포함합니다::"

#: ../../recipes-low-level-interfaces.rst:146 1a3be34ec5154f478840f9583752a6dd
msgid ""
"Indentation, line breaks and comments are inserted here for clarification"
" purposes only and will not normally appear. For more information on the "
"PDF catalog see section 7.7.2 on page 71 of the :ref:`AdobeManual`."
msgstr ""
"들여쓰기, 줄 바꿈 및 주석은 설명 목적으로만 여기에 삽입되었으며 일반적으로 나타나지 않습니다. PDF 카탈로그에 대한 자세한 "
"내용은 :ref:`AdobeManual` 의 71페이지 섹션 7.7.2를 참조하세요."

#: ../../recipes-low-level-interfaces.rst:151 f6cb282ffd654805b67324bd72b4ae19
msgid "How to Access the PDF File Trailer"
msgstr "PDF 파일 트레일러 액세스 방법"

#: ../../recipes-low-level-interfaces.rst:152 2f99555ea9464790998c72d9bb928af6
msgid ""
"The trailer of a PDF file is a :data:`dictionary` located towards the end"
" of the file. It contains special objects, and pointers to important "
"other information. See :ref:`AdobeManual` p. 42. Here is an overview:"
msgstr ""
"PDF 파일의 트레일러는 파일 끝 부분에 위치한 :data:`dictionary` 입니다. 특수 객체와 중요한 다른 정보에 대한 포인터를 "
"포함합니다. :ref:`AdobeManual` 42페이지를 참조하세요. 다음은 개요입니다:"

#: ../../recipes-low-level-interfaces.rst:155 04bff59ce53f4b8fa7cc2d5c1e5eea13
msgid "**Key**"
msgstr "**키**"

#: ../../recipes-low-level-interfaces.rst:155 8e89e5f4179345d481243a717e85c672
msgid "**Type**"
msgstr "**유형**"

#: ../../recipes-low-level-interfaces.rst:155 903806d55c7b4a6ba366a2fb6723087b
msgid "**Value**"
msgstr "**값**"

#: ../../recipes-low-level-interfaces.rst:157 3f86ae718b944400beb0abe4e3c0ffc6
msgid "Size"
msgstr "Size"

#: ../../recipes-low-level-interfaces.rst:157
#: ../../recipes-low-level-interfaces.rst:158
#: ../../recipes-low-level-interfaces.rst:163 0151f1cab4e14722a6078e4d9d1ef692
#: 65f366157b6d48fd9a44282c78eeb3fb f3e5b4c1111842a3bdd6a8d28b0ace69
msgid "int"
msgstr "int"

#: ../../recipes-low-level-interfaces.rst:157 b687a9563e5445e1a4a96170f23fd4ed
msgid "Number of entries in the cross-reference table + 1."
msgstr "교차 참조 테이블의 항목 수 + 1."

#: ../../recipes-low-level-interfaces.rst:158 c04f76c59d18423996a207301fe05b6c
msgid "Prev"
msgstr "Prev"

#: ../../recipes-low-level-interfaces.rst:158 f3def7a36286442a9177758486e19b60
msgid "Offset to previous :data:`xref` section (indicates incremental updates)."
msgstr "이전 :data:`xref` 섹션으로의 오프셋(증분 업데이트를 나타냄)."

#: ../../recipes-low-level-interfaces.rst:159 c31d927f0f504e1eab1cc5069c67fb84
msgid "Root"
msgstr "Root"

#: ../../recipes-low-level-interfaces.rst:159
#: ../../recipes-low-level-interfaces.rst:160
#: ../../recipes-low-level-interfaces.rst:161 46c865d65cb54d6a9bd3680eadccc9e2
#: 4cac1014b9f949de8a9fea7b1ec825d4 71dd8129bfe3455c9ba485dee7df486a
msgid "dictionary"
msgstr "dictionary"

#: ../../recipes-low-level-interfaces.rst:159 7ce50eec5fcd45bf8ec4c639257e81f2
msgid "(indirect) Pointer to the catalog. See previous section."
msgstr "(간접) 카탈로그에 대한 포인터. 이전 섹션을 참조하세요."

#: ../../recipes-low-level-interfaces.rst:160 076ac475747440afa77a21c7e831af71
msgid "Encrypt"
msgstr "Encrypt"

#: ../../recipes-low-level-interfaces.rst:160 dbd95d95d21d4d63b464a548435e60f7
msgid "Pointer to encryption object (encrypted files only)."
msgstr "암호화 객체에 대한 포인터(암호화된 파일만 해당)."

#: ../../recipes-low-level-interfaces.rst:161 d3a696bffe5c47e68d3282ffcd42bdbd
msgid "Info"
msgstr "Info"

#: ../../recipes-low-level-interfaces.rst:161 4005b1fad3e54caf9398edeb6a5903d2
msgid "(indirect) Pointer to information (metadata)."
msgstr "(간접) 정보(메타데이터)에 대한 포인터."

#: ../../recipes-low-level-interfaces.rst:162 5fab0c7955d749a48d2a3b763b7c9670
msgid "ID"
msgstr "ID"

#: ../../recipes-low-level-interfaces.rst:162 6898db1a22a3477fa753166d2cbe3164
msgid "array"
msgstr "array"

#: ../../recipes-low-level-interfaces.rst:162 6b2347ffb47c4b0081aa8acde158dcc0
msgid "File identifier consisting of two byte strings."
msgstr "두 개의 바이트 문자열로 구성된 파일 식별자."

#: ../../recipes-low-level-interfaces.rst:163 8139050a469b4720a0c241492831b167
msgid "XRefStm"
msgstr "XRefStm"

#: ../../recipes-low-level-interfaces.rst:163 05d57dc7bf91480f8003a6fc80f999f0
msgid "Offset of a cross-reference stream. See :ref:`AdobeManual` p. 49."
msgstr "교차 참조 스트림의 오프셋. :ref:`AdobeManual` 49페이지를 참조하세요."

#: ../../recipes-low-level-interfaces.rst:166 6202cb8493b044fab435b3e03390cc72
msgid ""
"Access this information via PyMuPDF with :meth:`Document.pdf_trailer` or,"
" equivalently, via :meth:`Document.xref_object` using -1 instead of a "
"valid :data:`xref` number."
msgstr ""
"|PyMuPDF| 에서 :meth:`Document.pdf_trailer` 또는 동등하게 유효한 :data:`xref` 번호 대신 -1을 "
"사용하는 :meth:`Document.xref_object` 를 통해 이 정보에 액세스합니다."

#: ../../recipes-low-level-interfaces.rst:187 9471214cc8bf436a85a288b50896bcec
msgid "How to Access XML Metadata"
msgstr "XML 메타데이터 액세스 방법"

#: ../../recipes-low-level-interfaces.rst:188 11166fcb45b742b390422fc68e337f42
msgid ""
"A PDF may contain XML metadata in addition to the standard metadata "
"format. In fact, most PDF viewer or modification software adds this type "
"of information when saving the PDF (Adobe, Nitro PDF, PDF-XChange, etc.)."
msgstr ""
"PDF는 표준 메타데이터 형식 외에 XML 메타데이터를 포함할 수 있습니다. 실제로 대부분의 PDF 뷰어 또는 수정 소프트웨어는 PDF를 "
"저장할 때 이 유형의 정보를 추가합니다(Adobe, Nitro PDF, PDF-XChange 등)."

#: ../../recipes-low-level-interfaces.rst:190 66fa949fa3734abc94308b18f181168d
msgid ""
"PyMuPDF has no way to **interpret or change** this information directly, "
"because it contains no XML features. XML metadata is however stored as a "
":data:`stream` object, so it can be read, modified with appropriate "
"software and written back."
msgstr ""
"|PyMuPDF| 는 XML 기능을 포함하지 않기 때문에 이 정보를 직접 **해석하거나 변경** 할 수 있는 방법이 없습니다. 그러나 XML "
"메타데이터는 :data:`stream` 객체로 저장되므로 읽고, 적절한 소프트웨어로 수정하고, 다시 쓸 수 있습니다."

#: ../../recipes-low-level-interfaces.rst:202 d89d8b8d321c4343b58807d0a6abb8f3
msgid ""
"Using some XML package, the XML data can be interpreted and / or modified"
" and then stored back. The following also works, if the PDF previously "
"had no XML metadata::"
msgstr ""
"일부 XML 패키지를 사용하여 XML 데이터를 해석 및/또는 수정한 다음 다시 저장할 수 있습니다. PDF에 이전에 XML 메타데이터가 "
"없었던 경우에도 다음이 작동합니다::"

#: ../../recipes-low-level-interfaces.rst:213 1c05939e6ce141669a782bf9f395e2e3
msgid "How to Extend PDF Metadata"
msgstr "PDF 메타데이터 확장 방법"

#: ../../recipes-low-level-interfaces.rst:214 3c73d296caa64f959f4462e689310160
msgid ""
"Attribute :attr:`Document.metadata` is designed so it works for all "
":ref:`supported document types<Supported_File_Types>` in the same way: it"
" is a Python dictionary with a **fixed set of key-value pairs**. "
"Correspondingly, :meth:`Document.set_metadata` only accepts standard "
"keys."
msgstr ""
"속성 :attr:`Document.metadata` 는 모든 :ref:`지원되는 문서 유형<Supported_File_Types>` 에 대해 "
"동일한 방식으로 작동하도록 설계되었습니다: **고정된 키-값 쌍 집합** 이 있는 Python 딕셔너리입니다. 따라서 "
":meth:`Document.set_metadata` 는 표준 키만 허용합니다."

#: ../../recipes-low-level-interfaces.rst:216 2d338508ee9d4183a1e01a0ddc4913fb
msgid ""
"However, PDFs may contain items not accessible like this. Also, there may"
" be reasons to store additional information, like copyrights. Here is a "
"way to handle **arbitrary metadata items** by using PyMuPDF low-level "
"functions."
msgstr ""
"그러나 PDF에는 이렇게 액세스할 수 없는 항목이 포함될 수 있습니다. 또한 저작권과 같은 추가 정보를 저장할 이유가 있을 수 "
"있습니다. 다음은 |PyMuPDF| 저수준 함수를 사용하여 **임의의 메타데이터 항목** 을 처리하는 방법입니다."

#: ../../recipes-low-level-interfaces.rst:218 4b3358b8f8ae445d967cb16ecb41155b
msgid "As an example, look at this standard metadata output of some PDF::"
msgstr "예를 들어, 일부 PDF의 표준 메타데이터 출력을 살펴보세요::"

#: ../../recipes-low-level-interfaces.rst:237 3e9c31875d914679be24d654087376b7
msgid ""
"Use the following code to see **all items** stored in the metadata "
"object::"
msgstr "다음 코드를 사용하여 메타데이터 객체에 저장된 **모든 항목** 을 확인하세요::"

#: ../../recipes-low-level-interfaces.rst:265 9044da7dae9243488a9b55198969056f
msgid ""
"*Vice versa*, you can also **store private metadata items** in a PDF. It "
"is your responsibility to make sure that these items conform to PDF "
"specifications - especially they must be (unicode) strings. Consult "
"section 14.3 (p. 548) of the :ref:`AdobeManual` for details and caveats::"
msgstr ""
"*반대로*, PDF에 **개인 메타데이터 항목** 을 저장할 수도 있습니다. 이러한 항목이 PDF 사양을 준수하는지 확인하는 것은 "
"귀하의 책임입니다. 특히 (유니코드) 문자열이어야 합니다. 자세한 내용과 주의사항은 :ref:`AdobeManual` 의 섹션 "
"14.3(548페이지)을 참조하세요::"

#: ../../recipes-low-level-interfaces.rst:287 02817b654e9b436b88b8c0bb4315843c
msgid ""
"To delete selected keys, use `doc.xref_set_key(xref, \"mykey\", "
"\"null\")`. As explained in the next section, string \"null\" is the PDF "
"equivalent to Python's `None`. A key with that value will be treated as "
"not being specified -- and physically removed in garbage collections."
msgstr ""
"선택한 키를 삭제하려면 `doc.xref_set_key(xref, \"mykey\", \"null\")` 을 사용하세요. 다음 섹션에서 설명한 "
"대로 문자열 \"null\" 은 Python의 `None` 에 해당하는 PDF입니다. 해당 값을 가진 키는 지정되지 않은 것으로 "
"처리되며 가비지 수집에서 물리적으로 제거됩니다."

#: ../../recipes-low-level-interfaces.rst:292 1b30dcfaa7584ec7ad6ea741fcef3f3d
msgid "How to Read and Update PDF Objects"
msgstr "PDF 객체 읽기 및 업데이트 방법"

#: ../../recipes-low-level-interfaces.rst:297 3d42ddab6e0142cebbd430aa2e5703b5
msgid ""
"There also exist granular, elegant ways to access and manipulate selected"
" PDF :data:`dictionary` keys."
msgstr "선택한 PDF :data:`dictionary` 키에 액세스하고 조작하는 세밀하고 우아한 방법도 있습니다."

#: ../../recipes-low-level-interfaces.rst:299 0ae387a252ac402cbd803641d93dffb8
msgid ""
":meth:`Document.xref_get_keys` returns the PDF keys of the object at "
":data:`xref`::"
msgstr ":meth:`Document.xref_get_keys` 는 :data:`xref` 의 객체의 PDF 키를 반환합니다::"

#: ../../recipes-low-level-interfaces.rst:308 3e72f7b183cd4b33906cc3039c3d5231
msgid "Compare with the full object definition::"
msgstr "전체 객체 정의와 비교하세요::"

#: ../../recipes-low-level-interfaces.rst:319 3e65febdd754494e963713aa6ab4e707
msgid ""
"Single keys can also be accessed directly via "
":meth:`Document.xref_get_key`. The value **always is a string** together "
"with type information, that helps with interpreting it::"
msgstr ""
"단일 키는 :meth:`Document.xref_get_key` 를 통해 직접 액세스할 수도 있습니다. 값은 **항상 문자열** 이며 "
"해석에 도움이 되는 유형 정보와 함께 제공됩니다::"

#: ../../recipes-low-level-interfaces.rst:324 05f684fed3f04de4bb45d40de217b49d
msgid "Here is a full listing of the above page keys::"
msgstr "다음은 위의 페이지 키의 전체 목록입니다::"

#: ../../recipes-low-level-interfaces.rst:335 9a78976524a4487aa10951cc475ba498
msgid ""
"An undefined key inquiry returns `('null', 'null')` -- PDF object type "
"`null` corresponds to `None` in Python. Similar for the booleans `true` "
"and `false`."
msgstr ""
"정의되지 않은 키 조회는 `('null', 'null')` 을 반환합니다 -- PDF 객체 유형 `null` 은 Python의 `None` "
"에 해당합니다. 부울 `true` 및 `false` 도 유사합니다."

#: ../../recipes-low-level-interfaces.rst:336 a799622cee4441148aa30dadcc2c66b8
msgid ""
"Let us add a new key to the page definition that sets its rotation to 90 "
"degrees (you are aware that there actually exists "
":meth:`Page.set_rotation` for this?)::"
msgstr ""
"페이지 정의에 회전을 90도로 설정하는 새 키를 추가해 보겠습니다(이를 위해 실제로 :meth:`Page.set_rotation` 이 "
"존재한다는 것을 알고 계신가요?)::"

#: ../../recipes-low-level-interfaces.rst:351 8bf57e3c458a40379cf2dacf4867c307
msgid ""
"This method can also be used to remove a key from the :data:`xref` "
"dictionary by setting its value to `null`: The following will remove the "
"rotation specification from the page: `doc.xref_set_key(page.xref, "
"\"Rotate\", \"null\")`. Similarly, to remove all links, annotations and "
"fields from a page, use `doc.xref_set_key(page.xref, \"Annots\", "
"\"null\")`. Because `Annots` by definition is an array, setting en empty "
"array with the statement `doc.xref_set_key(page.xref, \"Annots\", "
"\"[]\")` would do the same job in this case."
msgstr ""
"이 메서드는 값을 `null` 로 설정하여 :data:`xref` 딕셔너리에서 키를 제거하는 데에도 사용할 수 있습니다: 다음은 "
"페이지에서 회전 사양을 제거합니다: `doc.xref_set_key(page.xref, \"Rotate\", \"null\")`. "
"마찬가지로 페이지에서 모든 링크, 주석 및 필드를 제거하려면 `doc.xref_set_key(page.xref, \"Annots\", "
"\"null\")` 을 사용하세요. `Annots` 는 정의상 배열이므로 `doc.xref_set_key(page.xref, \"Annots\", "
"\"[]\")` 문으로 빈 배열을 설정하면 이 경우 동일한 작업을 수행합니다."

#: ../../recipes-low-level-interfaces.rst:353 eb61cb57cb054fbcba0a0e87011b9704
msgid ""
"PDF dictionaries can be hierarchically nested. In the following page "
"object definition both, `Font` and `XObject` are subdictionaries of "
"`Resources`::"
msgstr ""
"PDF 딕셔너리는 계층적으로 중첩될 수 있습니다. 다음 페이지 객체 정의에서 `Font` 와 `XObject` 는 모두 `Resources` 의 "
"하위 딕셔너리입니다::"

#: ../../recipes-low-level-interfaces.rst:373 53a1a5f64c1b46b6a11637fe7a037f27
msgid ""
"The above situation **is supported** by methods "
":meth:`Document.xref_set_key` and :meth:`Document.xref_get_key`: use a "
"path-like notation to point at the required key. For example, to retrieve"
" the value of key `Im1` above, specify the complete chain of dictionaries"
" \"above\" it in the key argument: `\"Resources/XObject/Im1\"`::"
msgstr ""
"위의 상황은 :meth:`Document.xref_set_key` 및 :meth:`Document.xref_get_key` 메서드로 "
"**지원됩니다**: 필요한 키를 가리키는 경로와 같은 표기법을 사용하세요. 예를 들어 위의 키 `Im1` 의 값을 검색하려면 키 "
"인수에 그 위의 딕셔너리 전체 체인을 지정하세요: `\"Resources/XObject/Im1\"`::"

#: ../../recipes-low-level-interfaces.rst:378 29393cc04fc94daf8a80dff959cc95d5
msgid ""
"The path notation can also be used to **directly set a value**: use the "
"following to let `Im1` point to a different object::"
msgstr ""
"경로 표기법은 **값을 직접 설정** 하는 데에도 사용할 수 있습니다: 다음을 사용하여 `Im1` 이 다른 객체를 가리키도록 "
"하세요::"

#: ../../recipes-low-level-interfaces.rst:399 e8cf3e8fbf4a429d8ad7ad100f97899d
msgid ""
"Be aware, that **no semantic checks** whatsoever will take place here: if"
" the PDF has no xref 9999, it won't be detected at this point."
msgstr ""
"**의미론적 검사** 가 전혀 수행되지 않는다는 점에 유의하세요: PDF에 xref 9999가 없으면 이 시점에서 감지되지 "
"않습니다."

#: ../../recipes-low-level-interfaces.rst:401 d43960f2d29045d6995ad727a6a18ef6
msgid ""
"If a key does not exist, it will be created by setting its value. "
"Moreover, if any intermediate keys do not exist either, they will also be"
" created as necessary. The following creates an array `D` several levels "
"below the existing dictionary `A`. Intermediate dictionaries `B` and `C` "
"are automatically created::"
msgstr ""
"키가 존재하지 않으면 값을 설정하여 생성됩니다. 또한 중간 키가 존재하지 않으면 필요에 따라 생성됩니다. 다음은 기존 딕셔너리 "
"`A` 아래 여러 레벨에 배열 `D` 를 만듭니다. 중간 딕셔너리 `B` 와 `C` 가 자동으로 생성됩니다::"

#: ../../recipes-low-level-interfaces.rst:421 bba82e04d29a431c8cfaa0c81a8422c0
msgid ""
"When setting key values, basic **PDF syntax checking** will be done by "
"MuPDF. For example, new keys can only be created **below a dictionary**. "
"The following tries to create some new string item `E` below the "
"previously created array `D`::"
msgstr ""
"키 값을 설정할 때 기본 **PDF 구문 검사** 가 MuPDF에 의해 수행됩니다. 예를 들어 새 키는 **딕셔너리 아래에만** 생성할 수 "
"있습니다. 다음은 이전에 생성된 배열 `D` 아래에 새 문자열 항목 `E` 를 만들려고 시도합니다::"

#: ../../recipes-low-level-interfaces.rst:429 b3e5658efb1847799ff226694699b334
msgid ""
"It is also **not possible**, to create a key if some higher level key is "
"an **\"indirect\"** object, i.e. an xref. In other words, xrefs can only "
"be modified directly and not implicitly via other objects referencing "
"them::"
msgstr ""
"상위 레벨 키가 **\"간접\"** 객체(즉, xref)인 경우 키를 만드는 것도 **불가능합니다**. 즉, xref는 직접적으로만 수정할 "
"수 있으며 이를 참조하는 다른 객체를 통해 암시적으로 수정할 수 없습니다::"

#: ../../recipes-low-level-interfaces.rst:442 7cb0c4e7fe9e4eb580372473612bca3c
msgid ""
"These are expert functions! There are no validations as to whether valid "
"PDF objects, xrefs, etc. are specified. As with other low-level methods "
"there is the risk to render the PDF, or parts of it unusable."
msgstr ""
"이것들은 전문가용 함수입니다! 유효한 PDF 객체, xref 등이 지정되었는지에 대한 검증이 없습니다. 다른 저수준 메서드와 "
"마찬가지로 PDF 또는 그 일부를 사용할 수 없게 만들 위험이 있습니다."

#: ../../footer.rst:46 cdf69554bc5f45a1bcc753bd3326f80b
msgid "This documentation covers all versions up to |version|."
msgstr "이 문서는 |version| 까지의 모든 버전을 다룹니다."

