diff --git a/.gitignore b/.gitignore index 23e954719..8ef3bc07d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ *.swp build/ demo/README.rst -docs/build \ No newline at end of file +docs/build +docs/_build diff --git a/docs/README.md b/docs/README.md index 438469d34..69794f948 100644 --- a/docs/README.md +++ b/docs/README.md @@ -48,13 +48,46 @@ A better way of building the documentation if you are actively working on update This will serve the docs on a localhost and auto-update the pages live as you make edits. -### Building the Japanese documentation + + +## Internationalization + +PyMuPDF docs can be delivered in multiple languages - English, Japanese & Korean. + +To add a new language, e.g. Korean, use: + +`sphinx-build -b gettext . _build/gettext` +`sphinx-intl update -p _build/gettext -l ko` + + +### Building the Localiized documentation - From the "docs" location run: +#### Japanese: `sphinx-build -a -b html -D language=ja . _build/html/ja` +Once built HTML docs HTML pages are in `_build/html/ja`. + +#### Korean: +`sphinx-build -a -b html -D language=ko . _build/html/ko` + + +Once built HTML docs HTML pages are in `_build/html/ko`. + +Note: subsequent runs can omit the `-a` parameter to speed up builds (it will just build what has changed). + + +Note: When build the corresponding `.mo` binary files will also be generated - these updated binaries should also be committed to Git. + +### Depoloying + +Docs will be automatically deployed to RTD once pushes are made to relevant branches. + + +### Updating + - Updating, after changes on the `main` branch and a sync with the main `en` .rst files, from the "docs" location, do: `sphinx-build -b gettext . _build/gettext` @@ -62,10 +95,16 @@ This will serve the docs on a localhost and auto-update the pages live as you ma then: `sphinx-intl update -p _build/gettext -l ja` +`sphinx-intl update -p _build/gettext -l ko` This will update the corresponding `po` files for further edits. Then check these files for "#, fuzzy" entries as the new stuff might exist there and requires editing. + + + + + ## Building PDF documentation - First ensure you have [rst2pdf](https://pypi.org/project/rst2pdf/) installed: diff --git a/docs/about-feature-matrix.rst b/docs/about-feature-matrix.rst index 793ea633f..6f94130d2 100644 --- a/docs/about-feature-matrix.rst +++ b/docs/about-feature-matrix.rst @@ -549,6 +549,80 @@ + } else if (lang == "ko") { + if (str=="Feature") { + return "기능"; + } else if (str=="Supports Multiple Document Formats") { + return "다중 문서 형식 지원"; + } else if (str=="Image") { + return "이미지"; + } else if (str=="Implementation") { + return "구현"; + } else if (str=="and") { + return "및"; + } else if (str=="Render Document Pages") { + return "문서 페이지 렌더링"; + } else if (str=="All document types") { + return "모든 문서 유형"; + } else if (str=="No rendering") { + return "렌더링 없음"; + } else if (str=="Extract Text") { + return "텍스트 추출"; + } else if (str=="Write Text to PDF Page") { + return "PDF 페이지에 텍스트 쓰기"; + } else if (str=="only") { + return "만"; + } else if (str=="Extract Vector Graphics") { + return "벡터 그래픽 추출"; + } else if (str=="Draw Vector Graphics (PDF)") { + return "벡터 그래픽 그리기 (PDF)"; + } else if (str=="Based on Existing, Mature Library") { + return "기존의 성숙한 라이브러리 기반"; + } else if (str=="Automatic Repair of Damaged PDFs") { + return "손상된 PDF 자동 복구"; + } else if (str=="Encrypted PDFs") { + return "암호화된 PDF"; + } else if (str=="Limited") { + return "제한적"; + } else if (str=="Linerarized PDFs") { + return "선형화된 PDF"; + } else if (str=="Incremental Updates") { + return "증분 업데이트"; + } else if (str=="Integrates with Jupyter and IPython Notebooks") { + return "Jupyter 및 IPython Notebooks 통합"; + } else if (str=="Joining / Merging PDF with other Document Types") { + return "다른 문서 유형과 PDF 결합 / 병합"; + } else if (str=="OCR API for Seamless Integration with Tesseract") { + return "Tesseract와의 원활한 통합을 위한 OCR API"; + } else if (str=="Integrated Checkpoint / Restart Feature (PDF)") { + return "통합 체크포인트 / 재시작 기능 (PDF)"; + } else if (str=="PDF Optional Content") { + return "PDF 선택적 콘텐츠"; + } else if (str=="PDF Embedded Files") { + return "PDF 임베디드 파일"; + } else if (str=="PDF Redactions") { + return "PDF 편집"; + } else if (str=="PDF Annotations") { + return "PDF 주석"; + } else if (str=="Full") { + return "전체"; + } else if (str=="PDF Form Fields") { + return "PDF 양식 필드"; + } else if (str=="Create, read, update") { + return "생성, 읽기, 업데이트"; + } else if (str=="Limited, no creation") { + return "제한적, 생성 불가"; + } else if (str=="PDF Page Labels") { + return "PDF 페이지 레이블"; + } else if (str=="Support Font Sub-Setting") { + return "폰트 서브셋 지원"; + } else if (str=="Extract Tables") { + return "테이블 추출"; + } else if (str=="Supports CJK characters") { + return "CJK 문자 지원"; + } else if (str == "Extract Text as Markdown (.md)") { + return "텍스트를 Markdown (.md) 으로 추출"; + } } return str; diff --git a/docs/about-performance.rst b/docs/about-performance.rst index d89ed1f1b..6a76ca26f 100644 --- a/docs/about-performance.rst +++ b/docs/about-performance.rst @@ -354,6 +354,28 @@ + } else if (langB == "ko") { + if (str=="Copying") { + return "복사"; + } else if (str == "This refers to opening a document and then saving it to a new file. This test measures the speed of reading a PDF and re-writing as a new PDF. This process is also at the core of functions like merging / joining multiple documents. The numbers below therefore apply to PDF joining and merging.") { + return "이것은 문서를 열고 새 파일로 저장하는 것을 의미합니다. 이 테스트는 PDF 를 읽고 새 PDF 로 다시 쓰는 속도를 측정합니다. 이 프로세스는 여러 문서를 병합 / 결합하는 기능의 핵심이기도 합니다. 따라서 아래 숫자는 PDF 결합 및 병합에도 적용됩니다."; + } else if (str == "The results for all 7,031 pages are:") { + return "모든 7,031 페이지에 대한 결과:"; + } else if (str == "seconds") { + return "초"; + } else if (str == "fastest") { + return "가장 빠름"; + } else if (str == "slowest") { + return "가장 느림"; + } else if (str == "Text Extraction") { + return "텍스트 추출"; + } else if (str == "This refers to extracting simple, plain text from every page of the document and storing it in a text file.") { + return "이것은 문서의 모든 페이지에서 간단한 일반 텍스트를 추출하여 텍스트 파일에 저장하는 것을 의미합니다."; + } else if (str == "Rendering") { + return "렌더링"; + } else if (str == "This refers to making an image (like PNG) from every page of a document at a given DPI resolution. This feature is the basis for displaying a document in a GUI window.") { + return "이것은 주어진 DPI 해상도로 문서의 모든 페이지에서 이미지 (예: PNG)를 만드는 것을 의미합니다. 이 기능은 GUI 창에서 문서를 표시하는 기반입니다."; + } } return str; diff --git a/docs/footer.rst b/docs/footer.rst index e734bf95a..ae9708622 100644 --- a/docs/footer.rst +++ b/docs/footer.rst @@ -22,6 +22,15 @@ return "このソフトウェアは無保証で提供されており、明示または黙示を問わず、いかなる保証もありません。このソフトウェアはライセンスの下で配布され、ライセンスの条件に明示的に許可されている場合を除き、コピー、変更、または配布してはなりません。ライセンシング情報については、artifex.comでライセンス情報を参照するか、アメリカ合衆国カリフォルニア州サンフランシスコのArtifex Software Inc. までお問い合わせください。" } + } else if (docLanguage == "ko") { + if (str == "Find #pymupdf on Discord") { + return "Discord 에서 #pymupdf 찾기"; + } else if (str == "Have a  question? Need some  answers? ") { + return " 질문이 있으신가요?  답변이 필요하신가요? "; + } + else if (str == "This software is provided AS-IS with no warranty, either express or implied. This software is distributed under license and may not be copied, modified or distributed except as expressly authorized under the terms of that license. Refer to licensing information at artifex.com or contact Artifex Software Inc., 39 Mesa Street, Suite 108A, San Francisco CA 94129, United States for further information.") { + return "이 소프트웨어는 명시적이든 묵시적이든 어떠한 보증도 없이 있는 그대로 제공됩니다. 이 소프트웨어는 라이선스에 따라 배포되며, 해당 라이선스 조건에 명시적으로 승인된 경우를 제외하고는 복사, 수정 또는 배포할 수 없습니다. 라이선스 정보는 artifex.com 에서 참조하거나, 미국 캘리포니아주 샌프란시스코 Mesa Street 39, Suite 108A 소재 Artifex Software Inc. 에 문의하시기 바랍니다." + } } return str; diff --git a/docs/header.rst b/docs/header.rst index 18b5f2298..1ce68757f 100644 --- a/docs/header.rst +++ b/docs/header.rst @@ -68,11 +68,36 @@ -
- -
- - + - @@ -152,21 +202,31 @@ // highlightSelectedLanguage var url_string = window.location.href; - if (document.getElementsByTagName('html')[0].getAttribute('lang')=="ja") { + + if (document.getElementsByTagName('html')[0].getAttribute('lang')=="en") { + document.getElementById("button-select-en").style.backgroundColor = "#ff6600"; + document.getElementById("button-select-ja").style.color = "#000"; + document.getElementById("button-select-ko").style.color = "#000"; + } else if (document.getElementsByTagName('html')[0].getAttribute('lang')=="ja") { document.getElementById("button-select-ja").style.backgroundColor = "#ff6600"; document.getElementById("button-select-en").style.color = "#000"; - } else { - document.getElementById("button-select-en").style.backgroundColor = "#ff6600"; + document.getElementById("button-select-ko").style.color = "#000"; + } else if (document.getElementsByTagName('html')[0].getAttribute('lang')=="ko") { + document.getElementById("button-select-ko").style.backgroundColor = "#ff6600"; + document.getElementById("button-select-en").style.color = "#000"; document.getElementById("button-select-ja").style.color = "#000"; } + function changeLanguage(lang) { var new_url; if (lang == "en") { - new_url = url_string.replace("/ja/", "/en/"); - } else { - new_url = url_string.replace("/en/", "/ja/"); + new_url = url_string.replace(/\/(ko|ja)\//, "/en/"); + } else if (lang == "ja") { + new_url = url_string.replace(/\/(ko|en)\//, "/ja/"); + } else if (lang == "ko") { + new_url = url_string.replace(/\/(ja|en)\//, "/ko/"); } window.location.replace(new_url); diff --git a/docs/locales/ko/.readthedocs.yaml b/docs/locales/ko/.readthedocs.yaml new file mode 100644 index 000000000..c870734b0 --- /dev/null +++ b/docs/locales/ko/.readthedocs.yaml @@ -0,0 +1,25 @@ +# .readthedocs.yaml +# Note: We use this dedicated yaml inside the locales/ko folder as RTD was having problems building a PDF +# This yaml is the same as the main one - it just removes the PDF build option + +# Required +version: 2 + +# Set the version of Python and other tools you might need +build: + os: ubuntu-20.04 + tools: + python: "3.9" + # You can also specify other tool versions: + # nodejs: "16" + # rust: "1.55" + # golang: "1.17" + +# Build documentation in the docs/ directory with Sphinx +sphinx: + configuration: docs/conf.py + +# Optionally declare the Python requirements required to build your docs +python: + install: + - requirements: docs/requirements.txt diff --git a/docs/locales/ko/LC_MESSAGES/404.mo b/docs/locales/ko/LC_MESSAGES/404.mo new file mode 100644 index 000000000..1824baed6 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/404.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/404.po b/docs/locales/ko/LC_MESSAGES/404.po new file mode 100644 index 000000000..f6cd906d4 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/404.po @@ -0,0 +1,53 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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-404.rst:-1 a1916335a5274785a49dd5e339d92fe7 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header-404.rst:-1 5d84ec96284f4e3f94e9c1b238269f04 +msgid "" +"PyMuPDF is a high-performance Python library for data extraction, " +"analysis, conversion & manipulation of PDF (and other) documents." +msgstr "PyMuPDF는 PDF 및 기타 문서의 데이터 추출, 분석, 변환, 조작을 위한 고성능 Python 라이브러리입니다." + +#: ../../header-404.rst:-1 4576f08a21cd47f79352fb20f6583d87 +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" + +#: ../../404.rst:4 924f32c8351f4a62978ec14c16c351b5 +msgid "404!" +msgstr "404!" + +#: ../../404.rst:7 6d3e16ada64f4502aa193e221a595c34 +msgid "**This page is not available.**" +msgstr "**이 페이지를 사용할 수 없습니다.**" + +#: ../../404.rst:10 dbddaa0e43f144ebbea819e2466410b9 +msgid "Please use the menu or search to find what you are looking for." +msgstr "메뉴 또는 검색을 사용하여 찾고 있는 내용을 검색해 주세요." + +#: ../../footer.rst:46 a4c037a234b44cbe8461dba8e47036a1 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/about-feature-matrix.mo b/docs/locales/ko/LC_MESSAGES/about-feature-matrix.mo new file mode 100644 index 000000000..18e761b1d Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/about-feature-matrix.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/about-feature-matrix.po b/docs/locales/ko/LC_MESSAGES/about-feature-matrix.po new file mode 100644 index 000000000..319de7961 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/about-feature-matrix.po @@ -0,0 +1,21 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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" + diff --git a/docs/locales/ko/LC_MESSAGES/about-performance.mo b/docs/locales/ko/LC_MESSAGES/about-performance.mo new file mode 100644 index 000000000..18e761b1d Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/about-performance.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/about-performance.po b/docs/locales/ko/LC_MESSAGES/about-performance.po new file mode 100644 index 000000000..319de7961 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/about-performance.po @@ -0,0 +1,21 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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" + diff --git a/docs/locales/ko/LC_MESSAGES/about.mo b/docs/locales/ko/LC_MESSAGES/about.mo new file mode 100644 index 000000000..0dd9f8861 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/about.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/about.po b/docs/locales/ko/LC_MESSAGES/about.po new file mode 100644 index 000000000..8a3bc82d4 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/about.po @@ -0,0 +1,173 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PyMuPDF 1.26.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-02 16:19+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ko\n" +"Language-Team: ko \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 f19dada9348f4b02a8e7f37161295aed +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 3a2fd52dfdbe4ef0ba2277d3dc5ce9cd +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 6457f182efd342f9971c29ded21b19cd +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" + +#: ../../about.rst:10 6bf350a1548242f08f4231816b75ae9e +msgid "Features Comparison" +msgstr "기능 비교" + +#: ../../about.rst:16 e6e0680f36684a24b35c48e7756b8ee2 +msgid "Feature Matrix" +msgstr "기능 비교표" + +#: ../../about.rst:18 fdad9ebd21e342da9d1b6b35ca5ad4e9 +msgid "" +"The following table illustrates how |PyMuPDF| compares with other typical" +" solutions." +msgstr "다음 표는 |PyMuPDF| 가 다른 일반적인 솔루션과 어떻게 비교되는지 보여줍니다." + +#: ../../about.rst:47 5f1d6f3b09ac43e1ae7043dc7a879c02 +msgid "" +"A note about **Office** document types (DOCX, XLXS, PPTX) and **Hangul** " +"documents (HWPX). These documents can be loaded into |PyMuPDF| and you " +"will receive a :ref:`Document ` object." +msgstr "**Office** 문서 유형(DOCX, XLXS, PPTX) 및 **한글** 문서(HWPX)에 대한 참고사항입니다. 이러한 문서는 |PyMuPDF| 에 로드할 수 있으며 :ref:`Document ` 객체를 받게 됩니다." + +#: ../../about.rst:49 9add749bf1d7451aabfcb79190677ddb +msgid "There are some caveats:" +msgstr "다음과 같은 주의사항이 있습니다:" + +#: ../../about.rst:52 a610a8b3f5cf4333938a9e7a75157f1d +msgid "we convert the input to **HTML** to layout the content." +msgstr "내용을 배치하기 위해 입력을 **HTML** 로 변환합니다." + +#: ../../about.rst:53 a71abef4bb604e3b8f1065200afb7907 +msgid "because of this the original page separation has gone." +msgstr "이로 인해 원본 페이지 구분이 사라집니다." + +#: ../../about.rst:55 255d6618e34f4f11ae7a1a0f54f57322 +msgid "" +"When saving out the result any faithful representation of the original " +"layout cannot be expected." +msgstr "결과를 저장할 때 원본 레이아웃의 정확한 표현을 기대할 수 없습니다." + +#: ../../about.rst:57 59954cbab9914471b64ad43b7eb7a58b +msgid "" +"Therefore input files are mostly in a form that's useful for text " +"extraction." +msgstr "따라서 입력 파일은 주로 텍스트 추출에 유용한 형태입니다." + +#: ../../about.rst:65 f3ad21fdc6c841f090824af510994edb +msgid "Performance" +msgstr "성능" + +#: ../../about.rst:69 482ba1a4696f429da50d900517f9001b +msgid "" +"To benchmark |PyMuPDF| performance against a range of tasks a test suite " +"with a fixed set of :ref:`8 PDFs with a total of 7,031 " +"pages` containing text & images is used to obtain " +"performance timings." +msgstr "다양한 작업에 대해 |PyMuPDF| 성능을 벤치마크하기 위해 텍스트와 이미지가 포함된 :ref:`총 7,031페이지의 8개 PDF 파일` 로 구성된 고정된 테스트 스위트를 사용하여 성능 타이밍을 측정합니다." + +#: ../../about.rst:72 11c5e7e482204c7682f05223297c6488 +msgid "Here are current results, grouped by task:" +msgstr "다음은 작업별로 그룹화된 현재 결과입니다:" + +#: ../../about.rst:81 9f36f4db74ab492ba26cc4fb9946f818 +msgid "" +"For more detail regarding the methodology for these performance timings " +"see: :ref:`Performance Comparison Methodology`." +msgstr "이러한 성능 타이밍 방법론에 대한 자세한 내용은 :ref:`성능 비교 방법론` 을 참조하세요." + +#: ../../about.rst:89 e86ca33131a544e8a4cc0821737a9a86 +msgid "License and Copyright" +msgstr "라이선스 및 저작권" + +#: ../../about.rst:93 061c6a01a19c40198fd34033af39cc6d +msgid "" +"|PyMuPDF| and |MuPDF| are now available under both, open-source |AGPL| " +"and commercial license agreements. Please read the full text of the " +"|AGPL| license agreement, available in the distribution material (file " +"COPYING) and `on the GNU license page " +"`_, to ensure that your use " +"case complies with the guidelines of the license. If you determine you " +"cannot meet the requirements of the |AGPL|, please contact `Artifex " +"`_ for more information " +"regarding a commercial license." +msgstr "|PyMuPDF| 와 |MuPDF| 는 이제 오픈소스 |AGPL| 및 상용 라이선스 계약 모두에서 사용할 수 있습니다. 사용 사례가 라이선스 지침을 준수하는지 확인하려면 배포 자료(COPYING 파일) 및 `GNU 라이선스 페이지 `_ 에서 제공되는 |AGPL| 라이선스 계약 전문을 읽어보세요. |AGPL| 의 요구사항을 충족할 수 없다고 판단되는 경우, 상용 라이선스에 대한 자세한 정보는 `Artifex `_ 에 문의하세요." + +#: ../../about.rst:111 0cf7adfbbbe6404aae5016ba8cf4ca79 +msgid "" +":title:`Artifex` is the exclusive commercial licensing agent for " +":title:`MuPDF`." +msgstr ":title:`Artifex` 는 :title:`MuPDF` 의 독점 상용 라이선스 대리인입니다." + +#: ../../about.rst:113 1206bde366264e91900de44a990e7b13 +msgid "" +":title:`Artifex`, the :title:`Artifex` logo, :title:`MuPDF`, and the " +":title:`MuPDF` logo are registered trademarks of :title:`Artifex Software" +" Inc.`" +msgstr ":title:`Artifex`, :title:`Artifex` 로고, :title:`MuPDF`, :title:`MuPDF` 로고는 :title:`Artifex Software Inc.` 의 등록 상표입니다." + +#: ../../version.rst:1 b23f02d66d164eb195ed6512c8e9ff6c +msgid "This documentation covers PyMuPDF |version|." +msgstr "이 문서는 PyMuPDF |version| 을 다룹니다." + +#: ../../version.rst:3 ca881a8c265b46618c644701ea14c695 +msgid "" +"The major and minor versions of PyMuPDF and MuPDF will always be the " +"same. Only the third qualifier (patch level) may deviate from that of " +"MuPDF." +msgstr "PyMuPDF와 MuPDF의 주 버전과 부 버전은 항상 동일합니다. 세 번째 한정자(패치 레벨)만 |MuPDF| 와 다를 수 있습니다." + +#: ../../version.rst:5 a91d12805e42498fb4eebcb3f7923eb8 +msgid "" +"Typically PyMuPDF is released more frequently than MuPDF so it will often" +" be the case that the patch level of PyMuPDF will be greater than the " +"embedded MuPDF." +msgstr "일반적으로 PyMuPDF는 MuPDF보다 더 자주 릴리스되므로, PyMuPDF의 패치 레벨이 내장된 MuPDF보다 높은 경우가 많습니다." + +#: ../../version.rst:9 2e3b5e5955fc4cba8aafc25d3d650e7a +msgid "For example PyMuPDF-1.24.5 contains MuPDF-1.24.2." +msgstr "예를 들어 PyMuPDF-1.24.5는 MuPDF-1.24.2를 포함합니다." + +#: ../../version.rst:11 a60af2aa03494194b19ecf8e3bc095fc +msgid "Also see `pymupdf_version` and `mupdf_version`." +msgstr "`pymupdf_version` 및 `mupdf_version` 도 참조하세요." + +#: ../../footer.rst:48 ea2d1136af82416baa3286db6ed38f96 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + +#~ msgid "" +#~ "The major and minor versions of " +#~ "|PyMuPDF| and |MuPDF| will always be " +#~ "the same. Only the third qualifier " +#~ "(patch level) may deviate from that " +#~ "of |MuPDF|." +#~ msgstr "" + diff --git a/docs/locales/ko/LC_MESSAGES/algebra.mo b/docs/locales/ko/LC_MESSAGES/algebra.mo new file mode 100644 index 000000000..786470812 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/algebra.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/algebra.po b/docs/locales/ko/LC_MESSAGES/algebra.po new file mode 100644 index 000000000..292b0b81b --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/algebra.po @@ -0,0 +1,409 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 1f5ba5d56ddc4a2fa55079bc44f7d2c1 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 03f8222493784e3ca314d8d7abdaff0a +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 e6cbb920023f4b0992f996b108924b94 +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" + +#: ../../algebra.rst:6 920754cf16444314b9c46d86f31b0f00 +msgid "Operator Algebra for Geometry Objects" +msgstr "기하 객체를 위한 연산자 대수" + +#: ../../algebra.rst:10 dec854bb55b9478eb8cc515d6eaca329 +msgid "" +"Instances of classes :ref:`Point`, :ref:`IRect`, :ref:`Rect`, :ref:`Quad`" +" and :ref:`Matrix` are collectively also called \"geometry\" objects." +msgstr ":ref:`Point`, :ref:`IRect`, :ref:`Rect`, :ref:`Quad`, :ref:`Matrix` 클래스의 인스턴스는 집합적으로 \"geometry\" 객체라고도 합니다." + +#: ../../algebra.rst:12 d199f8882c174dcea71374e8d9993b56 +msgid "" +"They all are special cases of Python sequences, see :ref:`SequenceTypes` " +"for more background." +msgstr "모두 Python 시퀀스의 특수한 경우입니다. 자세한 내용은 :ref:`SequenceTypes` 를 참조하세요." + +#: ../../algebra.rst:14 122aaf19e93244b3a259c46eacf945b1 +msgid "" +"We have defined operators for these classes that allow dealing with them " +"(almost) like ordinary numbers in terms of addition, subtraction, " +"multiplication, division, and some others." +msgstr "이 클래스들에 대해 덧셈, 뺄셈, 곱셈, 나눗셈 및 기타 연산에서 일반 숫자처럼(거의) 다룰 수 있도록 연산자를 정의했습니다." + +#: ../../algebra.rst:16 84183cdd392441e182408f158d85ab50 +msgid "This chapter is a synopsis of what is possible." +msgstr "이 장은 가능한 작업의 요약입니다." + +#: ../../algebra.rst:19 e8894b34cabf472ea53483bffb05e53d +msgid "General Remarks" +msgstr "일반적인 설명" + +#: ../../algebra.rst:20 0934454c0329461698c27169858d0afb +msgid "" +"Operators can be either **binary** (i.e. involving two objects) or " +"**unary**." +msgstr "연산자는 **이항** (즉, 두 객체를 포함) 또는 **단항** 일 수 있습니다." + +#: ../../algebra.rst:22 68b04e12599f4ce6a527b3d5f4d358aa +msgid "" +"The resulting type of **binary** operations is either a **new object of " +"the left operand's class,** a bool or (for dot products) a float." +msgstr "**이항** 연산의 결과 유형은 **왼쪽 피연산자 클래스의 새 객체**, bool 또는(내적의 경우) float입니다." + +#: ../../algebra.rst:24 b5bdf8532fed412092362d18eeb3dbcd +msgid "" +"The result of **unary** operations is either a **new object** of the same" +" class, a bool or a float." +msgstr "**단항** 연산의 결과는 동일한 클래스의 **새 객체**, bool 또는 float입니다." + +#: ../../algebra.rst:26 c6550b01d863415293570f3c92bcab4f +msgid "" +"The binary operators `+, -, *, /` are defined for all classes. They " +"*roughly* do what you would expect -- **except, that the second operand " +"...**" +msgstr "이항 연산자 `+, -, *, /` 는 모든 클래스에 대해 정의됩니다. 대략 예상대로 동작합니다 -- **단, 두 번째 피연산자는 ...**" + +#: ../../algebra.rst:28 55195cd58e234294875781acefaa545e +msgid "" +"may always be a number which then performs the operation on every " +"component of the first one," +msgstr "항상 숫자일 수 있으며, 그러면 첫 번째 피연산자의 모든 구성 요소에 대해 연산을 수행합니다," + +#: ../../algebra.rst:29 128012698aa343409977ea7e41b35276 +msgid "" +"may always be a numeric sequence of the same length (2, 4 or 6) -- we " +"call such sequences :data:`point_like`, :data:`rect_like`, " +":data:`quad_like` or :data:`matrix_like`, respectively." +msgstr "항상 동일한 길이(2, 4 또는 6)의 숫자 시퀀스일 수 있습니다 -- 이러한 시퀀스를 각각 :data:`point_like`, :data:`rect_like`, :data:`quad_like` 또는 :data:`matrix_like` 라고 합니다." + +#: ../../algebra.rst:31 c34b1b77d5ad43c7adc65443468f835d +msgid "" +"Rectangles support **additional binary** operations: **intersection** " +"(operator `\"&\"`), **union** (operator `\"|\"`) and **containment** " +"checking." +msgstr "사각형은 **추가 이항** 연산을 지원합니다: **교집합** (연산자 `\"&\"`), **합집합** (연산자 `\"|\"`) 및 **포함** 확인." + +#: ../../algebra.rst:33 25ac1658fe1042febe1cabd928b67c0c +msgid "" +"Binary operators fully support in-place operations. So if \"°\" is a " +"binary operator then the expression `a °= b` is always valid and the same" +" as `a = a ° b`. Therefore, be careful and do **not** do `p1 *= p2` for " +"two points, because thereafter \"p1\" is a **float**." +msgstr "이항 연산자는 제자리 연산을 완전히 지원합니다. 따라서 \"°\"가 이항 연산자이면 표현식 `a °= b` 는 항상 유효하며 `a = a ° b` 와 동일합니다. 따라서 두 점에 대해 `p1 *= p2` 를 **하지 마세요**. 그 후 \"p1\"은 **float** 가 됩니다." + +#: ../../algebra.rst:37 a3178a19dae843a2a0d880ab3d29b924 +msgid "Unary Operations" +msgstr "단항 연산" + +#: ../../algebra.rst:40 ../../algebra.rst:59 49cce5653ff84ecd9e947c39e0d07c87 +#: c3820b716a6d44b1be18f6133e3b4589 +msgid "Oper." +msgstr "연산" + +#: ../../algebra.rst:40 ../../algebra.rst:59 69b612ab28c5403698b26e70c7342e08 +#: a4d6a4f7e8074daf86d9c71f76c15e3c +msgid "Result" +msgstr "결과" + +#: ../../algebra.rst:42 bd8aa928700f4d6da33517c5c44f92d1 +msgid "bool(OBJ)" +msgstr "bool(OBJ)" + +#: ../../algebra.rst:42 3944ae985d32466ba96b36a9d164d059 +msgid "is false exactly if all components of OBJ are zero" +msgstr "OBJ의 모든 구성 요소가 0인 경우에만 false" + +#: ../../algebra.rst:43 77ef179dc26548b3afe5aab5973b1ad3 +msgid "abs(OBJ)" +msgstr "abs(OBJ)" + +#: ../../algebra.rst:43 c040cb90c08c4c24ab34fca940e7a5d3 +msgid "the rectangle area -- equal to norm(OBJ) for the other types" +msgstr "사각형 영역 -- 다른 유형의 경우 norm(OBJ)와 동일" + +#: ../../algebra.rst:44 8e3b6dc21657411cb9b9aec339f7b58b +msgid "norm(OBJ)" +msgstr "norm(OBJ)" + +#: ../../algebra.rst:44 101cabdb07cc4340a520f882a1412565 +msgid "square root of the component squares (Euclidean norm)" +msgstr "구성 요소 제곱의 제곱근(유클리드 노름)" + +#: ../../algebra.rst:45 7dcf68ad8af544e4ab89a8fb9b2e127f +msgid "+OBJ" +msgstr "+OBJ" + +#: ../../algebra.rst:45 bb51eef23c134b9abcde315903ab5fa9 +msgid "new copy of OBJ" +msgstr "OBJ의 새 복사본" + +#: ../../algebra.rst:46 fbe1c96a611b41cdbdd3c8fd57b6cffd +msgid "-OBJ" +msgstr "-OBJ" + +#: ../../algebra.rst:46 bf0e072e4b3b4682b53d14c5d564d191 +msgid "new copy of OBJ with negated components" +msgstr "부정된 구성 요소를 가진 OBJ의 새 복사본" + +#: ../../algebra.rst:47 41d625338bff4d5bba38dc17591c1cd4 +msgid "~m" +msgstr "~m" + +#: ../../algebra.rst:47 e461d45306e940efa0e6c12f0b3a0001 +msgid "inverse of matrix \"m\", or the null matrix if not invertible" +msgstr "행렬 \"m\"의 역행렬, 또는 역행렬이 없으면 null 행렬" + +#: ../../algebra.rst:52 6dee1ec3dcbd4abfb2a10eb496fd0db8 +msgid "Binary Operations" +msgstr "이항 연산" + +#: ../../algebra.rst:53 77bb8041546c4d36b40997f8dc509039 +msgid "" +"These are expressions like `a ° b` where \"°\" is any of the operators " +"`+, -, *, /`. Also binary operations are expressions of the form `a == b`" +" and `b in a`." +msgstr "이것들은 \"°\"가 연산자 `+, -, *, /` 중 하나인 `a ° b` 와 같은 표현식입니다. 또한 이항 연산은 `a == b` 및 `b in a` 형식의 표현식입니다." + +#: ../../algebra.rst:55 665cd59a262c4131b350a1640ca2f42c +msgid "" +"If \"b\" is a number, then the respective operation is executed for each " +"component of \"a\". Otherwise, if \"b\" is **not a number,** then the " +"following happens:" +msgstr "\"b\"가 숫자이면 각 구성 요소에 대해 해당 연산이 실행됩니다. 그렇지 않고 \"b\"가 **숫자가 아니면** 다음이 발생합니다:" + +#: ../../algebra.rst:61 b25c4a3c6bc2413ea4202520e62172d8 +msgid "a+b, a-b" +msgstr "a+b, a-b" + +#: ../../algebra.rst:61 bf714007cfab424dbe07b769f64b1915 +msgid "component-wise execution, \"b\" must be \"a-like\"." +msgstr "구성 요소별 실행, \"b\"는 \"a-like\"여야 합니다." + +#: ../../algebra.rst:62 80c4437403a149669f5a019a372b05a9 +msgid "a*m, a/m" +msgstr "a*m, a/m" + +#: ../../algebra.rst:62 9c7dff332f5a488587e7031c72f8a13a +msgid "" +"\"a\" can be a point, rectangle or matrix and \"m\" is a " +":data:`matrix_like`. *\"a/m\"* is treated as *\"a*~m\"* (see note below " +"for non-invertible matrices). If \"a\" is a **point** or a **rectangle**," +" then *\"a.transform(m)\"* is executed. If \"a\" is a matrix, then matrix" +" concatenation takes place." +msgstr "\"a\"는 점, 사각형 또는 행렬일 수 있으며 \"m\"은 :data:`matrix_like` 입니다. *\"a/m\"* 은 *\"a*~m\"* 로 처리됩니다(역행렬이 없는 행렬에 대한 참고 사항은 아래 참조). \"a\"가 **점** 또는 **사각형** 이면 *\"a.transform(m)\"* 이 실행됩니다. \"a\"가 행렬이면 행렬 연결이 수행됩니다." + +#: ../../algebra.rst:67 d01766d058d54714bc45e5e76968d4ea +msgid "a*b" +msgstr "a*b" + +#: ../../algebra.rst:67 d18a927d83d845ddbd20845807b09e1f +msgid "returns the **vector dot product** for a point \"a\" and point-like \"b\"." +msgstr "점 \"a\"와 점과 유사한 \"b\"에 대한 **벡터 내적** 을 반환합니다." + +#: ../../algebra.rst:68 a49b407604184c13b57152c45ddb58ae +msgid "a&b" +msgstr "a&b" + +#: ../../algebra.rst:68 7550c08ef54244859c5a00ebed58448c +msgid "" +"**intersection rectangle:** \"a\" must be a rectangle and \"b\" " +":data:`rect_like`. Delivers the **largest rectangle** contained in both " +"operands." +msgstr "**교집합 사각형:** \"a\"는 사각형이어야 하며 \"b\"는 :data:`rect_like` 여야 합니다. 두 피연산자에 모두 포함된 **가장 큰 사각형** 을 제공합니다." + +#: ../../algebra.rst:71 a60662c06b0643b0a08f75afa24efb29 +msgid "a|b" +msgstr "a|b" + +#: ../../algebra.rst:71 79243f4be19046db9091a2f54eb4b815 +msgid "" +"**union rectangle:** \"a\" must be a rectangle, and \"b\" may be " +":data:`point_like` or :data:`rect_like`. Delivers the **smallest " +"rectangle** containing both operands." +msgstr "**합집합 사각형:** \"a\"는 사각형이어야 하며 \"b\"는 :data:`point_like` 또는 :data:`rect_like` 일 수 있습니다. 두 피연산자를 모두 포함하는 **가장 작은 사각형** 을 제공합니다." + +#: ../../algebra.rst:74 f48f56c4ee6547259acb882e87de433c +msgid "b in a" +msgstr "b in a" + +#: ../../algebra.rst:74 8f22ca12cfa44a898823836324a3ed99 +msgid "" +"if \"b\" is a number, then `b in tuple(a)` is returned. If \"b\" is " +":data:`point_like`, :data:`rect_like` or :data:`quad_like`, then \"a\" " +"must be a rectangle, and `a.contains(b)` is returned." +msgstr "\"b\"가 숫자이면 `b in tuple(a)` 가 반환됩니다. \"b\"가 :data:`point_like`, :data:`rect_like` 또는 :data:`quad_like` 이면 \"a\"는 사각형이어야 하며 `a.contains(b)` 가 반환됩니다." + +#: ../../algebra.rst:77 686725c716014188a79169f7cf3fd1e6 +msgid "a == b" +msgstr "a == b" + +#: ../../algebra.rst:77 634c54d1d21d471fabf558849def45e4 +msgid "``True`` if *bool(a-b)* is ``False`` (\"b\" may be \"a-like\")." +msgstr "*bool(a-b)* 가 ``False`` 이면 ``True`` (\"b\"는 \"a-like\"일 수 있음)." + +#: ../../algebra.rst:81 d34c2f644c4b4e6090e0e70255dd2ac5 +msgid "Please note an important difference to usual arithmetic:" +msgstr "일반적인 산술과의 중요한 차이점을 참고하세요:" + +#: ../../algebra.rst:83 ed3c97cc627d48b394819eb13306021a +msgid "" +"Matrix multiplication is **not commutative**, i.e. in general we have " +"`m*n != n*m` for two matrices. Also, there are non-zero matrices which " +"have no inverse, for example `m = Matrix(1, 0, 1, 0, 1, 0)`. If you try " +"to divide by any of these, you will receive a `ZeroDivisionError` " +"exception using operator *\"/\"*, e.g. for the expression " +"`pymupdf.Identity / m`. But if you formulate `pymupdf.Identity * ~m`, the" +" result will be `pymupdf.Matrix()` (the null matrix)." +msgstr "행렬 곱셈은 **가환적이지 않습니다**. 즉, 일반적으로 두 행렬에 대해 `m*n != n*m` 입니다. 또한 역행렬이 없는 0이 아닌 행렬도 있습니다. 예를 들어 `m = Matrix(1, 0, 1, 0, 1, 0)` 입니다. 이것들 중 하나로 나누려고 하면 연산자 *\"/\"* 를 사용하여 `ZeroDivisionError` 예외를 받게 됩니다. 예를 들어 표현식 `pymupdf.Identity / m` 의 경우입니다. 하지만 `pymupdf.Identity * ~m` 으로 작성하면 결과는 `pymupdf.Matrix()` (null 행렬)가 됩니다." + +#: ../../algebra.rst:85 34a95a9718a64ff1a3bea139455bb7f8 +msgid "" +"Admittedly, this represents an inconsistency, and we are considering to " +"remove it. For the time being, you can choose to avoid an exception and " +"check whether ~m is the null matrix, or accept a potential " +"*ZeroDivisionError* by using `pymupdf.Identity / m`." +msgstr "인정하건대, 이것은 불일치를 나타내며, 우리는 이를 제거하는 것을 고려하고 있습니다. 당분간 예외를 피하고 ~m이 null 행렬인지 확인하거나, `pymupdf.Identity / m` 을 사용하여 잠재적인 *ZeroDivisionError* 를 받아들일 수 있습니다." + +#: ../../algebra.rst:89 be97480da28d4d4190b9207839fe11f4 +msgid "" +"With these conventions, all the usual algebra rules apply. For example, " +"arbitrarily using brackets **(among objects of the same class!)** is " +"possible: if r1, r2 are rectangles and m1, m2 are matrices, you can do " +"this `(r1 + r2) * m1 * m2`." +msgstr "이러한 규칙으로 모든 일반적인 대수 규칙이 적용됩니다. 예를 들어, 괄호를 임의로 사용하는 것**(동일한 클래스의 객체 중에서!)** 이 가능합니다: r1, r2가 사각형이고 m1, m2가 행렬이면 `(r1 + r2) * m1 * m2` 를 수행할 수 있습니다." + +#: ../../algebra.rst:90 511b54d905464bb8ad95bc07423f1ac2 +msgid "" +"For all objects of the same class, `a + b + c == (a + b) + c == a + (b + " +"c)` is true." +msgstr "동일한 클래스의 모든 객체에 대해 `a + b + c == (a + b) + c == a + (b + c)` 가 참입니다." + +#: ../../algebra.rst:91 c33b3f88dde84396a57cd45693269bce +msgid "" +"For matrices in addition the following is true: `(m1 + m2) * m3 == m1 * " +"m3 + m2 * m3` (distributivity property)." +msgstr "행렬의 경우 다음이 참입니다: `(m1 + m2) * m3 == m1 * m3 + m2 * m3` (분배 법칙)." + +#: ../../algebra.rst:92 78e8741acecb42b284d4923e4453fb4d +msgid "" +"**But the sequence of applying matrices is important:** If r is a " +"rectangle and m1, m2 are matrices, then -- **caution!:**" +msgstr "**하지만 행렬을 적용하는 순서가 중요합니다:** r이 사각형이고 m1, m2가 행렬이면 -- **주의!:**" + +#: ../../algebra.rst:93 f0abf06e26414aa19a371baa59b462f2 +msgid "`r * m1 * m2 == (r * m1) * m2 != r * (m1 * m2)`" +msgstr "`r * m1 * m2 == (r * m1) * m2 != r * (m1 * m2)`" + +#: ../../algebra.rst:96 f4a7e127cb3b40d6bfb3847510e2f35c +msgid "Some Examples" +msgstr "일부 예제" + +#: ../../algebra.rst:99 15d4cd12242a495384b94b9fc6c95502 +msgid "Manipulation with numbers" +msgstr "숫자로 조작" + +#: ../../algebra.rst:100 fcede45c56364a49abff9441c752c928 +msgid "" +"For the usual arithmetic operations, numbers are always allowed as second" +" operand. In addition, you can formulate `\"x in OBJ\"`, where x is a " +"number. It is implemented as `\"x in tuple(OBJ)\"`::" +msgstr "일반적인 산술 연산의 경우 숫자는 항상 두 번째 피연산자로 허용됩니다. 또한 x가 숫자인 경우 `\"x in OBJ\"` 를 작성할 수 있습니다. 이것은 `\"x in tuple(OBJ)\"` 로 구현됩니다::" + +#: ../../algebra.rst:108 45094f3eda93464f8d0c9fa9f96154a4 +msgid "" +"The following will create the upper left quarter of a document page " +"rectangle::" +msgstr "다음은 문서 페이지 사각형의 왼쪽 위 사분면을 생성합니다::" + +#: ../../algebra.rst:116 fccb6e938aa14f8c823d2a27fb71bb4e +msgid "" +"The following will deliver the **middle point of a line** that connects " +"two points **p1** and **p2**::" +msgstr "다음은 두 점 **p1** 과 **p2** 를 연결하는 **선의 중점** 을 제공합니다::" + +#: ../../algebra.rst:125 0c7572c7661544739337b8dcd633678e +msgid "" +"Compute the **vector dot product** of two points. You can compute the " +"**cosine of angles** and check orthogonality." +msgstr "두 점의 **벡터 내적** 을 계산합니다. **각도의 코사인** 을 계산하고 직교성을 확인할 수 있습니다." + +#: ../../algebra.rst:149 9659faf69acb47fd94f2c4d7dbcfd358 +msgid "Manipulation with \"like\" Objects" +msgstr "\"like\" 객체로 조작" + +#: ../../algebra.rst:151 f7a23c3a7065470aa9f9ae634cfa4521 +msgid "" +"The second operand of a binary operation can always be \"like\" the left " +"operand. \"Like\" in this context means \"a sequence of numbers of the " +"same length\". With the above examples::" +msgstr "이항 연산의 두 번째 피연산자는 항상 왼쪽 피연산자와 \"like\"일 수 있습니다. 이 맥락에서 \"Like\"는 \"동일한 길이의 숫자 시퀀스\"를 의미합니다. 위의 예제와 함께::" + +#: ../../algebra.rst:162 d40766627f0645a4a9b0f043c79f8df5 +msgid "To shift a rectangle for 5 pixels to the right, do this::" +msgstr "사각형을 오른쪽으로 5픽셀 이동하려면 다음을 수행하세요::" + +#: ../../algebra.rst:168 40356e8f087b4678a490620822d72405 +msgid "" +"Points, rectangles and matrices can be *transformed* with matrices. In " +"PyMuPDF, we treat this like a **\"multiplication\"** (or resp. " +"**\"division\"**), where the second operand may be \"like\" a matrix. " +"Division in this context means \"multiplication with the inverted " +"matrix\"::" +msgstr "점, 사각형 및 행렬은 행렬로 *변환* 될 수 있습니다. PyMuPDF에서는 이를 **\"곱셈\"** (또는 각각 **\"나눗셈\"** )처럼 취급하며, 두 번째 피연산자는 행렬과 \"like\"일 수 있습니다. 이 맥락에서 나눗셈은 \"역행렬과의 곱셈\"을 의미합니다::" + +#: ../../algebra.rst:208 ca50582bfe28428c82f4ac0277e2d5be +msgid "As a specialty, rectangles support additional binary operations:" +msgstr "특수 기능으로, 사각형은 추가 이항 연산을 지원합니다:" + +#: ../../algebra.rst:210 59df6332d27249a28c44c9d4c7278be7 +msgid "**intersection** -- the common area of rectangle-likes, operator *\"&\"*" +msgstr "**교집합** -- 사각형과 유사한 것들의 공통 영역, 연산자 *\"&\"*" + +#: ../../algebra.rst:211 de5939af58234aa2be504334193d66d4 +msgid "" +"**inclusion** -- enlarge to include a point-like or rect-like, operator " +"*\"|\"*" +msgstr "**포함** -- 점과 유사하거나 사각형과 유사한 것을 포함하도록 확대, 연산자 *\"|\"*" + +#: ../../algebra.rst:212 7c511b27c11240cf9d09ca3e172cf9d2 +msgid "**containment** check -- whether a point-like or rect-like is inside" +msgstr "**포함** 확인 -- 점과 유사하거나 사각형과 유사한 것이 내부에 있는지 여부" + +#: ../../algebra.rst:214 901c1c4b81ce485fa4de1ef6f505e7e3 +msgid "" +"Here is an example for creating the smallest rectangle enclosing given " +"points::" +msgstr "주어진 점을 둘러싸는 가장 작은 사각형을 만드는 예제입니다::" + +#: ../../footer.rst:46 d8841960d4f44b93825542b2759973e3 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/annot.mo b/docs/locales/ko/LC_MESSAGES/annot.mo new file mode 100644 index 000000000..f3894f204 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/annot.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/annot.po b/docs/locales/ko/LC_MESSAGES/annot.po new file mode 100644 index 000000000..c0838bd1a --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/annot.po @@ -0,0 +1,1520 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 4ac2fe405aa74919af4d4a1801389523 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 aee68aa3a3cc4589bddde105fa520c68 +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 60584b8003094a8b9570ee372d8eab4b +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" + +#: ../../annot.rst:7 f0fb0074a9b6446f8124c5e84ab64978 +msgid "Annot" +msgstr "Annot (주석)" + +#: ../../annot.rst:9 fafaf69d450d48c5b26a1a93cb2eaa69 +msgid "|pdf_only_class|" +msgstr "PDF 전용 클래스." + +#: ../../annot.rst:11 4869b122c6834f279f19045fee171ca8 +msgid "Quote from the :ref:`AdobeManual`:" +msgstr ":ref:`AdobeManual` 에서 인용:" + +#: ../../annot.rst:13 e7b3050079714378a72611a6fde2125b +msgid "" +"*\"An annotation associates an object such as a note, sound, or movie " +"with a location on a page of a PDF document, or provides a way to " +"interact with the user by means of the mouse and keyboard.\"*" +msgstr "*\"주석은 노트, 사운드 또는 동영상과 같은 객체를 PDF 문서 페이지의 위치와 연결하거나 마우스와 키보드를 통해 사용자와 상호 작용하는 방법을 제공합니다.\"*" + +#: ../../annot.rst:15 5c314b35139f446694f6aca06c7824f1 +msgid "" +"There is a parent-child relationship between an annotation and its page. " +"If the page object becomes unusable (closed document, any document " +"structure change, etc.), then so does every of its existing annotation " +"objects -- an exception is raised saying that the object is \"orphaned\"," +" whenever an annotation property or method is accessed." +msgstr "주석과 페이지 사이에는 부모-자식 관계가 있습니다. 페이지 객체가 사용할 수 없게 되면(문서 닫기, 문서 구조 변경 등), 기존의 모든 주석 객체도 사용할 수 없게 됩니다 -- 주석 속성 또는 메서드에 액세스할 때마다 객체가 \"고아\"라는 예외가 발생합니다." + +#: ../../annot.rst:18 ce89c615b0d9400e96011970b5b97556 +msgid "**Attribute**" +msgstr "**속성**" + +#: ../../annot.rst:18 715a7d9d0eca46759c21efd06dcef6ad +msgid "**Short Description**" +msgstr "**간단한 설명**" + +#: ../../annot.rst:20 46ba2c1aef7f47fb8cf735ab0ab8ca51 +msgid ":meth:`Annot.delete_responses`" +msgstr "" + +#: ../../annot.rst:20 542edab529f14f8a90c247c58f61d0e4 +msgid "delete all responding annotations" +msgstr "모든 응답 주석 삭제" + +#: ../../annot.rst:21 d6f4ad7997854c15ba7ef55c7c2df885 +msgid ":meth:`Annot.get_file`" +msgstr "" + +#: ../../annot.rst:21 df78c21ef62f4d29b9892ced6ce30eab +msgid "get attached file content" +msgstr "첨부 파일 내용 가져오기" + +#: ../../annot.rst:22 aaa2f1576e2940d187b785f39fd5d297 +msgid ":meth:`Annot.get_oc`" +msgstr "" + +#: ../../annot.rst:22 52de51aa8f364679a043608a648fdb6d +msgid "get :data:`xref` of an :data:`OCG` / :data:`OCMD`" +msgstr ":data:`OCG` / :data:`OCMD` 의 :data:`xref` 가져오기" + +#: ../../annot.rst:23 ba830719161c41318892442d95b2cb34 +msgid ":meth:`Annot.get_pixmap`" +msgstr "" + +#: ../../annot.rst:23 558b79769da645e1be5e25ee89f039ab +msgid "image of the annotation as a pixmap" +msgstr "주석의 이미지를 pixmap으로 가져오기" + +#: ../../annot.rst:24 a7049ccda64e4dd6890da7abe84fabf6 +msgid ":meth:`Annot.get_sound`" +msgstr "" + +#: ../../annot.rst:24 374a09b731894e87b56c7e841b17d330 +msgid "get the sound of an audio annotation" +msgstr "오디오 주석의 사운드 가져오기" + +#: ../../annot.rst:25 35a90d1b5a004ad387963f3d9607d749 +msgid ":meth:`Annot.get_text`" +msgstr "" + +#: ../../annot.rst:25 ../../annot.rst:26 6131792a9d994335b4444e4823388a9a +#: f86eecd4858f4cb89a366a146014aee5 +msgid "extract annotation text" +msgstr "주석 텍스트 추출" + +#: ../../annot.rst:26 04cf9bb3fb1442709930c64bc5f6b0bb +msgid ":meth:`Annot.get_textbox`" +msgstr "" + +#: ../../annot.rst:27 19db3425545544fcbcd820ce607ec897 +msgid ":meth:`Annot.get_textpage`" +msgstr "" + +#: ../../annot.rst:27 c85fb9dd00d64ff99bd74482953c24bf +msgid "create a TextPage for the annotation" +msgstr "주석에 대한 TextPage 생성" + +#: ../../annot.rst:28 802ef16921bd4a60800fbad10cc481fd +msgid ":meth:`Annot.set_border`" +msgstr "" + +#: ../../annot.rst:28 2237d589cf4b43f8accb31706b0ac2e1 +msgid "set annotation's border properties" +msgstr "주석의 테두리 속성 설정" + +#: ../../annot.rst:29 d6e3ab0ff8c247faa2df18a3dbd4fb5f +msgid ":meth:`Annot.set_blendmode`" +msgstr "" + +#: ../../annot.rst:29 8ff755a8802d4e4bb4f4c6466fd93439 +msgid "set annotation's blend mode" +msgstr "주석의 블렌드 모드 설정" + +#: ../../annot.rst:30 ff206dc2f63444dfae9fbe12712ba514 +msgid ":meth:`Annot.set_colors`" +msgstr "" + +#: ../../annot.rst:30 3a8dce63eadd4ffe82a27bc21a526045 +msgid "set annotation's colors" +msgstr "주석의 색상 설정" + +#: ../../annot.rst:31 ../../annot.rst:341 7c620a1bbb3d466d8c82b9c8817c33ee +#: a00f8a2d06fa46afb1028c82837e4185 +msgid ":meth:`Annot.set_flags`" +msgstr "" + +#: ../../annot.rst:31 37269417aa5845e78bc95975097fddad +msgid "set annotation's flags field" +msgstr "주석의 플래그 필드 설정" + +#: ../../annot.rst:32 60f6edb527ee49f1935786a1f19697cb +msgid ":meth:`Annot.set_irt_xref`" +msgstr "" + +#: ../../annot.rst:32 fe64d8f927974fa7be28efe034d209b8 +msgid "define the annotation to being \"In Response To\"" +msgstr "주석을 \"답변 대상\"으로 정의" + +#: ../../annot.rst:33 efcba97648754ee0b6f2bf66c5fb7b3b +msgid ":meth:`Annot.set_name`" +msgstr "" + +#: ../../annot.rst:33 f1f066d0c2da4d5f93f7b21c9e06512b +msgid "set annotation's name field" +msgstr "주석의 이름 필드 설정" + +#: ../../annot.rst:34 ../../annot.rst:342 068e0ee638a844e4b73d54c8713fd9bb +#: 444417b076ed4a7f9938de802c9c8687 +msgid ":meth:`Annot.set_oc`" +msgstr "" + +#: ../../annot.rst:34 2afdd097e4904b54a8f1ea48f5b61be3 +msgid "set :data:`xref` to an :data:`OCG` / :data:`OCMD`" +msgstr ":data:`OCG` / :data:`OCMD` 로 :data:`xref` 설정" + +#: ../../annot.rst:35 c399de4849964e058e1637e53fdef2f9 +msgid ":meth:`Annot.set_opacity`" +msgstr "" + +#: ../../annot.rst:35 fff897c6b9cd4cf7bfd2472ea748ca06 +msgid "change transparency" +msgstr "투명도 변경" + +#: ../../annot.rst:36 d97cf692893c4fe7a6b799f4897c0aef +msgid ":meth:`Annot.set_open`" +msgstr "" + +#: ../../annot.rst:36 75aaff0f9c3c458ab962d5b77a5d79d3 +msgid "open / close annotation or its Popup" +msgstr "주석 또는 팝업 열기 / 닫기" + +#: ../../annot.rst:37 39f62e91ffef48ce9321e816caa20faa +msgid ":meth:`Annot.set_popup`" +msgstr "" + +#: ../../annot.rst:37 a674eec367f341508c884d315088746a +msgid "create a Popup for the annotation" +msgstr "주석에 대한 팝업 생성" + +#: ../../annot.rst:38 ../../annot.rst:340 305b0c54c12a450e8f06569799bb8a9f +#: f592c57486d9486c86df308aa89526da +msgid ":meth:`Annot.set_rect`" +msgstr "" + +#: ../../annot.rst:38 26f28928df154a75b841a456bdfdbf0d +msgid "change annotation rectangle" +msgstr "주석 사각형 변경" + +#: ../../annot.rst:39 de6a1b1b820b471b86603c34dea03532 +msgid ":meth:`Annot.set_rotation`" +msgstr "" + +#: ../../annot.rst:39 9acc32b08f1d4f599b3735e31324426f +msgid "change rotation" +msgstr "회전 변경" + +#: ../../annot.rst:40 ../../annot.rst:343 18be6c4fae4e4cccb293fd8e12521dae +#: 5200f1161df84772b72d390ec55d63cc +msgid ":meth:`Annot.update_file`" +msgstr "" + +#: ../../annot.rst:40 c1b5d04cd03e4575a6d8bc9e47a2ac7f +msgid "update attached file content" +msgstr "첨부 파일 내용 업데이트" + +#: ../../annot.rst:41 736a77ca795b4bffab978f162c15c221 +msgid ":meth:`Annot.update`" +msgstr "" + +#: ../../annot.rst:41 53fe58b99d874419bf45e91f443bea49 +msgid "apply accumulated annot changes" +msgstr "누적된 주석 변경 사항 적용" + +#: ../../annot.rst:42 076fef78de8747f98f8de5614822a3a3 +msgid ":attr:`Annot.blendmode`" +msgstr "" + +#: ../../annot.rst:42 3663d5144b7e4772a20a3ab76b0b7378 +msgid "annotation BlendMode" +msgstr "주석 BlendMode" + +#: ../../annot.rst:43 209656247f2147b79d61220568d6e982 +msgid ":attr:`Annot.border`" +msgstr "" + +#: ../../annot.rst:43 cd995c15bfff4706a84f1d0deeef716c +msgid "border details" +msgstr "테두리 세부 사항" + +#: ../../annot.rst:44 a5a847e7aa1e4a66a59312e3ad69222e +msgid ":attr:`Annot.colors`" +msgstr "" + +#: ../../annot.rst:44 7b16476edb2c47ee929046394941f61e +msgid "border / background and fill colors" +msgstr "테두리 / 배경 및 채우기 색상" + +#: ../../annot.rst:45 c79db9da10a34adf8724954ae760d148 +msgid ":attr:`Annot.file_info`" +msgstr "" + +#: ../../annot.rst:45 5e6d650320a44ec89edde9ad8443d028 +msgid "get attached file information" +msgstr "첨부 파일 정보 가져오기" + +#: ../../annot.rst:46 830bf8e01251454db4eff541902734e7 +msgid ":attr:`Annot.flags`" +msgstr "" + +#: ../../annot.rst:46 d8e2f38116e34d6b8bcc0e11a02f64c4 +msgid "annotation flags" +msgstr "주석 플래그" + +#: ../../annot.rst:47 427dbbb309334a4e938d8526af8aedd7 +msgid ":attr:`Annot.has_popup`" +msgstr "" + +#: ../../annot.rst:47 60549aa88002459b888f805a2649e95e +msgid "whether annotation has a Popup" +msgstr "주석에 팝업이 있는지 여부" + +#: ../../annot.rst:48 91cb2647177c40108aa8a389fbe4baba +msgid ":attr:`Annot.irt_xref`" +msgstr "" + +#: ../../annot.rst:48 4b1a08935c844e1b94fd19e67c73c4bf +msgid "annotation to which this one responds" +msgstr "이 주석이 응답하는 주석" + +#: ../../annot.rst:49 c80c1d9523e54c13bf015a7802006f46 +msgid ":attr:`Annot.info`" +msgstr "" + +#: ../../annot.rst:49 e24c29731fb9426296860ef9e14c70f4 +msgid "various information" +msgstr "다양한 정보" + +#: ../../annot.rst:50 9b1bc0b4f5604360a0fb530ee5571f6f +msgid ":attr:`Annot.is_open`" +msgstr "" + +#: ../../annot.rst:50 76000b5c78d64a51b15f2dfb48416053 +msgid "whether annotation or its Popup is open" +msgstr "주석 또는 팝업이 열려 있는지 여부" + +#: ../../annot.rst:51 c908f9af6c5e4097b190ab575189cc0e +msgid ":attr:`Annot.line_ends`" +msgstr "" + +#: ../../annot.rst:51 5b4b1ee3f3ae4f66af35ac09445805c4 +msgid "start / end appearance of line-type annotations" +msgstr "라인 타입 주석의 시작 / 끝 모양" + +#: ../../annot.rst:52 270077d780344f6c94f61715f13de4c2 +msgid ":attr:`Annot.next`" +msgstr "" + +#: ../../annot.rst:52 0dd927ea19014ab0ab931ee426aa46a2 +msgid "link to the next annotation" +msgstr "다음 주석에 대한 링크" + +#: ../../annot.rst:53 0642e6954b8f41758e18c9fec902315c +msgid ":attr:`Annot.opacity`" +msgstr "" + +#: ../../annot.rst:53 55103257955240a6b3c311e8e1f97f3c +msgid "the annot's transparency" +msgstr "주석의 투명도" + +#: ../../annot.rst:54 7528c54e1c664627851d592e77e4359b +msgid ":attr:`Annot.parent`" +msgstr "" + +#: ../../annot.rst:54 d12a83a84aea44868a11feca2fd75f9e +msgid "page object of the annotation" +msgstr "주석의 페이지 객체" + +#: ../../annot.rst:55 17d31eb890f346608a29bac66b130ede +msgid ":attr:`Annot.popup_rect`" +msgstr "" + +#: ../../annot.rst:55 e67d5b1efe1a49f8824bf40d6af292e8 +msgid "rectangle of the annotation's Popup" +msgstr "주석 팝업의 사각형" + +#: ../../annot.rst:56 f5012088621c45f4a0cfa4ff69b400c8 +msgid ":attr:`Annot.popup_xref`" +msgstr "" + +#: ../../annot.rst:56 3c9f31c943c04997b05236036e58e2a7 +msgid "the PDF :data:`xref` number of the annotation's Popup" +msgstr "주석 팝업의 PDF :data:`xref` 번호" + +#: ../../annot.rst:57 b0aaf4fc5d1d46a69cbca9c8576c4dff +msgid ":attr:`Annot.rect`" +msgstr "" + +#: ../../annot.rst:57 a3afa859fcc54f03b9928dd3e3b37411 +msgid "rectangle containing the annotation" +msgstr "주석을 포함하는 사각형" + +#: ../../annot.rst:58 e5405a3d8d6c48e3b0ba2375b00d54fc +msgid ":attr:`Annot.type`" +msgstr "" + +#: ../../annot.rst:58 49ea84134cbd4fcfa71613fdc7c994d4 +msgid "type of the annotation" +msgstr "주석 타입" + +#: ../../annot.rst:59 aedf999133ed4add859f5f25fcfd9c0a +msgid ":attr:`Annot.vertices`" +msgstr "" + +#: ../../annot.rst:59 0328a5222a444a84b329ee20a13d1815 +msgid "point coordinates of Polygons, PolyLines, etc." +msgstr "폴리곤, 폴리라인 등의 포인트 좌표" + +#: ../../annot.rst:60 593f8d9df1724b5abbabd4b0fb42cb5f +msgid ":attr:`Annot.xref`" +msgstr "" + +#: ../../annot.rst:60 73d760603078437db968d81892fe5450 +msgid "the PDF :data:`xref` number" +msgstr "PDF :data:`xref` 번호" + +#: ../../annot.rst:63 df3b29896fc84aa687b9b3d812b47830 +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../annot.rst:75 b763b56670344531ae43994d27d0e054 +msgid "Changed in v1.19.2: added support of dpi parameter." +msgstr "v1.19.2에서 변경됨: dpi 매개변수 지원 추가." + +#: ../../annot.rst:77 571f3475af9d4fd8af0faef1dae8b761 +msgid "" +"Creates a pixmap from the annotation as it appears on the page in " +"untransformed coordinates. The pixmap's :ref:`IRect` equals " +"*Annot.rect.irect* (see below). **All parameters are keyword only.**" +msgstr "" +"변환되지 않은 좌표에서 페이지에 표시되는 대로 주석에서 pixmap을 생성합니다. pixmap의 :ref:`IRect` 는 " +"*Annot.rect.irect* 와 같습니다(아래 참조). **모든 매개변수는 키워드 전용입니다.**" + +#: ../../annot.rst 038416b4a91041e89e078df4fe4f5636 +#: 046b68e35745422e8e27b6ad4743720b 0ef49f86e0bd43f78e79e32e94eeea45 +#: 176c3a7acc6e46d38ef37bbfe97eabda 1795f42bf0b242078204d40d7a212c9a +#: 2ab60eb3db5f4b3594f30a2bb7fd5444 388ae783a9ec418581e0f622c2641963 +#: 43c0bbc7ec774e96973a8f08c6370ebf 4e661fceb8be4c56850376cc43c38594 +#: 5327b6738ac2466a95ae4ef2989536c3 7698812a2a694b63b8da213e56c66c7e +#: a57f1370f9ac44c2b28c69413752355b a97c7424f15243ca9fa1102ea36941f0 +#: bff13711337448f7809f30648c7765cd c8747aff1faa43f59b605c163d80ed7a +#: d304c87c1b314f8f8d8449beb2cb9f43 e366806d4cdc4805a5cf6e6605d4c7ab +#: e6d90ec622494f2cad21e1c4990e3a26 f73c89ed9881402ba2bd06564113f2e8 +#: fe526c08b06a4286849cdeea133c925d +msgid "Parameters" +msgstr "매개변수" + +#: ../../annot.rst:79 4ea40779573a4cd48d2f0ca41a27b6cb +msgid "a matrix to be used for image creation. Default is :ref:`Identity`." +msgstr "이미지 생성에 사용할 행렬. 기본값은 :ref:`Identity` 입니다." + +#: ../../annot.rst:81 1ceeea87c25445779a772f81c247bf10 +msgid "" +"(new in v1.19.2) desired resolution in dots per inch. If not `None`, the " +"matrix parameter is ignored." +msgstr "(v1.19.2의 새로운 기능) 인치당 도트 단위의 원하는 해상도. `None` 이 아니면 matrix 매개변수는 무시됩니다." + +#: ../../annot.rst:83 17577d5328264f3c8b2c93127b76cb6c +msgid "a colorspace to be used for image creation. Default is ``pymupdf.csRGB``." +msgstr "이미지 생성에 사용할 색상 공간. 기본값은 ``pymupdf.csRGB`` 입니다." + +#: ../../annot.rst:86 93850b04eff54b39a748a09ca5d3e6bd +msgid "whether to include transparency information. Default is ``False``." +msgstr "투명도 정보를 포함할지 여부. 기본값은 ``False`` 입니다." + +#: ../../annot.rst 089309c51cd74976a42c4fcddda08a0a +#: 09996d0975d243b1bc59b758b7d44173 1b331e1086824733a78f979f849d4845 +#: 4817d4a35c28463eadae53476e0fd0d5 4b59e1c18c4147e69674c7d1e86501d1 +#: 4c64d5922d9847968b2eeaee6487d0d0 4df6734c085c4a6ba495179996cfe92c +#: 6347f866f7334ddda019820946166705 67048e418fbe44a79f9f63c0d53cb3a5 +#: 7da6735c6b7f428e9eef30245825960b 7e4ad8f3110c429ea89f047da218ee26 +#: 7f141e9ca331471ba531fcb59d32b10d 90d37be980f143b8aa9b4c16f83f6c90 +#: a74cb6e028054b5abf3bcf4af3e18ad5 a838020417bb45188717e971f12c4b8f +#: a8439c00be7b4164a1bbeae31ecffb57 a88e7e1341604dbf90a4215903761bf1 +#: b193bdba031541f882f6d4d77564f78c bad1047750b244bca5505f7e797508bc +#: d5d3fd4c788c48d6a3ad00aa4327e554 dc6f3b8d0e814a898c59d6e18c7b6fac +#: ddc5fc79a0cd4e73a90a35b7de615f40 e556cbfd31a6417f8e4aab208b84c15a +#: f867cc47820b4df6923b1b5b90969f1b +msgid "Return type" +msgstr "반환 타입" + +#: ../../annot.rst:88 4081b82925b34d7aa9202a29b34e6645 +msgid ":ref:`Pixmap`" +msgstr "" + +#: ../../annot.rst:92 b9b41dd1363b465fb91e965b05c005a3 +msgid "" +"If the annotation has just been created or modified, you should " +":meth:`Document.reload_page` the page first via `page = " +"doc.reload_page(page)`." +msgstr "주석이 방금 생성되었거나 수정된 경우 `page = doc.reload_page(page)` 를 통해 먼저 :meth:`Document.reload_page` 를 사용해야 합니다." + +#: ../../annot.rst:94 968363fd034a4b84834bfe008fd58160 +msgid "" +"The pixmap will have *\"premultiplied\"* pixels if `alpha=True`. To learn" +" about some background, e.g. look for \"Premultiplied alpha\" `in this " +"online glossary " +"`_." +msgstr "`alpha=True` 인 경우 픽스맵은 *\"premultiplied\"* 픽셀을 가집니다. 배경에 대해 알아보려면 예를 들어 `이 온라인 용어집 `_ 에서 \"Premultiplied alpha\"를 찾아보세요." + +#: ../../annot.rst:112 ../../annot.rst:133 059d5413f3154aaa8134479d9629d7da +#: 5b109c06581d4245b9034c003ef2e32f +msgid "New in 1.18.0" +msgstr "*1.18.0의 새로운 기능*" + +#: ../../annot.rst:114 70fc1c944cd84ce18b5f51c59bbb47f0 +msgid "" +"Retrieves the content of the annotation in a variety of formats -- much " +"like the same method for :ref:`Page`.. This currently only delivers " +"relevant data for annotation types 'FreeText' and 'Stamp'. Other types " +"return an empty string (or equivalent objects)." +msgstr "다양한 형식으로 주석의 콘텐츠를 검색합니다 -- :ref:`Page` 의 동일한 메서드와 매우 유사합니다. 현재는 주석 타입 'FreeText' 및 'Stamp'에 대해서만 관련 데이터를 제공합니다. 다른 타입은 빈 문자열(또는 해당 객체)을 반환합니다." + +#: ../../annot.rst:116 4f2629a0de0d499f8b80783953ee846e +msgid "" +"(positional only) the desired format - one of the following values. " +"Please note that this method works exactly like the same-named method of " +":ref:`Page`. * \"text\" -- :meth:`TextPage.extractTEXT`, default * " +"\"blocks\" -- :meth:`TextPage.extractBLOCKS` * \"words\" -- " +":meth:`TextPage.extractWORDS` * \"html\" -- :meth:`TextPage.extractHTML` " +"* \"xhtml\" -- :meth:`TextPage.extractXHTML` * \"xml\" -- " +":meth:`TextPage.extractXML` * \"dict\" -- :meth:`TextPage.extractDICT` * " +"\"json\" -- :meth:`TextPage.extractJSON` * \"rawdict\" -- " +":meth:`TextPage.extractRAWDICT`" +msgstr "" + +#: ../../annot.rst:116 f5480fbc3f3f42fba82218a8e4aec39e +msgid "" +"(positional only) the desired format - one of the following values. " +"Please note that this method works exactly like the same-named method of " +":ref:`Page`." +msgstr "(위치 전용) 원하는 형식 - 다음 값 중 하나. 이 메서드는 :ref:`Page` 의 동일한 이름의 메서드와 정확히 동일하게 작동합니다." + +#: ../../annot.rst:118 72a5b0cb198a4de4a1b5bd8012921a2d +msgid "\"text\" -- :meth:`TextPage.extractTEXT`, default" +msgstr "\"text\" -- :meth:`TextPage.extractTEXT`, 기본값" + +#: ../../annot.rst:119 a0de89ee87384b559b91cb65e53fd4fe +msgid "\"blocks\" -- :meth:`TextPage.extractBLOCKS`" +msgstr "\"blocks\" -- :meth:`TextPage.extractBLOCKS`" + +#: ../../annot.rst:120 abb67ab204e8498a82f39f7786634fa3 +msgid "\"words\" -- :meth:`TextPage.extractWORDS`" +msgstr "\"words\" -- :meth:`TextPage.extractWORDS`" + +#: ../../annot.rst:121 2a65cab359de401d84fb6c06d18af7fe +msgid "\"html\" -- :meth:`TextPage.extractHTML`" +msgstr "\"html\" -- :meth:`TextPage.extractHTML`" + +#: ../../annot.rst:122 ebb1a0a333b94886a085c62c2910b11b +msgid "\"xhtml\" -- :meth:`TextPage.extractXHTML`" +msgstr "\"xhtml\" -- :meth:`TextPage.extractXHTML`" + +#: ../../annot.rst:123 039f6bd299a1459984f1378d7506db1d +msgid "\"xml\" -- :meth:`TextPage.extractXML`" +msgstr "\"xml\" -- :meth:`TextPage.extractXML`" + +#: ../../annot.rst:124 def0587d2e904e678a48944fd55d8845 +msgid "\"dict\" -- :meth:`TextPage.extractDICT`" +msgstr "\"dict\" -- :meth:`TextPage.extractDICT`" + +#: ../../annot.rst:125 9d446d90b12e480186eb0f5d4d6a88ca +msgid "\"json\" -- :meth:`TextPage.extractJSON`" +msgstr "\"json\" -- :meth:`TextPage.extractJSON`" + +#: ../../annot.rst:126 ba83222452844c0280bc4ca743ec52d2 +msgid "\"rawdict\" -- :meth:`TextPage.extractRAWDICT`" +msgstr "\"rawdict\" -- :meth:`TextPage.extractRAWDICT`" + +#: ../../annot.rst:128 fc5b291ff14745a4acd435eba57c0ee4 +msgid "" +"(keyword only) restrict the extraction to this area. Should hardly ever " +"be required, defaults to :attr:`Annot.rect`." +msgstr "(키워드 전용) 추출을 이 영역으로 제한합니다. 거의 필요하지 않으며, 기본값은 :attr:`Annot.rect` 입니다." + +#: ../../annot.rst:129 58a7b13ec10244cab579c577a4a02451 +msgid "" +"(keyword only) control the amount of data returned. Defaults to simple " +"text extraction." +msgstr "(키워드 전용) 반환되는 데이터 양을 제어합니다. 기본값은 간단한 텍스트 추출입니다." + +#: ../../annot.rst:135 abea461b229f40449176733f81fe3e1f +msgid "" +"Return the annotation text. Mostly (except line breaks) equal to " +":meth:`Annot.get_text` with the \"text\" option." +msgstr "주석 텍스트를 반환합니다. 대부분(줄바꿈 제외) \"text\" 옵션을 사용하는 :meth:`Annot.get_text` 와 동일합니다." + +#: ../../annot.rst:137 7769e9ff53bb477581a82b545145ed52 +msgid "the area to consider, defaults to :attr:`Annot.rect`." +msgstr "고려할 영역, 기본값은 :attr:`Annot.rect` 입니다." + +#: ../../annot.rst:142 2e28ab6b2bd740c788a328a8a392b3d3 +msgid "Create a :ref:`TextPage` for the annotation." +msgstr "주석에 대한 :ref:`TextPage` 생성." + +#: ../../annot.rst:144 ec86c28fbc9c4ea5a4520e3182ebac54 +msgid "" +"indicator bits controlling the content available for subsequent text " +"extractions and searches -- see the parameter of :meth:`Annot.get_text`." +msgstr "후속 텍스트 추출 및 검색에 사용 가능한 콘텐츠를 제어하는 표시기 비트 -- :meth:`Annot.get_text` 의 매개변수 참조." + +#: ../../annot.rst:146 f524fdc0ad6649eabe0dcea86d45490d +msgid "restrict extracted text to this area." +msgstr "추출된 텍스트를 이 영역으로 제한합니다." + +#: ../../annot.rst 00ab1155c33d4b8b909387ee865f0f14 +#: 054667c67ee948229ce41dcc4618fb84 70e6a4c25ac54573a0e41c8e5ca39783 +#: 75932b217be7487a9362d25abfb1105c a5e875b7000f42ec9309633efaa12429 +#: c194084f626c4b5799f1d232a00741a2 ffd675b9852a4f828c4dfe677c57a2bf +msgid "Returns" +msgstr "반환값" + +#: ../../annot.rst:148 195337666ae04da792bf99b2e5fc7381 +msgid ":ref:`TextPage`" +msgstr "" + +#: ../../annot.rst:150 c08b99010b1b4e45886ecf4295e20ea1 +msgid "|history_begin|" +msgstr "" + +#: ../../annot.rst:152 b9da3f595018401c8b8eeb0c1529cca7 +msgid "v1.25.5: fixed `clip` arg." +msgstr "v1.25.5: `clip` 인수 수정." + +#: ../../annot.rst:154 0201b53debf84074b8cde915dfcee8f4 +msgid "|history_end|" +msgstr "" + +#: ../../annot.rst:158 7980023e59354afead5f160d58e260cb +msgid "Changed in version 1.16.10" +msgstr "버전 1.16.10에서 변경됨" + +#: ../../annot.rst:160 0b5d367dc98e4a3a9b3fe1c292ce8cb6 +msgid "" +"Changes annotation properties. These include dates, contents, subject and" +" author (title). Changes for *name* and *id* will be ignored. The update " +"happens selectively: To leave a property unchanged, set it to ``None``. " +"To delete existing data, use an empty string." +msgstr "주석 속성을 변경합니다. 날짜, 내용, 제목 및 작성자(제목)가 포함됩니다. *name* 및 *id* 에 대한 변경은 무시됩니다. 업데이트는 선택적으로 수행됩니다: 속성을 변경하지 않으려면 ``None`` 으로 설정하세요. 기존 데이터를 삭제하려면 빈 문자열을 사용하세요." + +#: ../../annot.rst:162 82ce1316fe354b898446a0cf7a1713b5 +msgid "" +"a dictionary compatible with the *info* property (see below). All entries" +" must be strings. If this argument is not a dictionary, the other " +"arguments are used instead -- else they are ignored." +msgstr "*info* 속성과 호환되는 딕셔너리(아래 참조). 모든 항목은 문자열이어야 합니다. 이 인수가 딕셔너리가 아니면 다른 인수가 대신 사용됩니다 -- 그렇지 않으면 무시됩니다." + +#: ../../annot.rst:163 ../../annot.rst:164 ../../annot.rst:167 +#: 83ea81f2fcaf4733afe8ff369d458b6f 86f02eb815724a3a9d24dd57c593a1a3 +#: c5a737145dcf4d738178459172d94c07 +msgid "*(new in v1.16.10)* see description in :attr:`info`." +msgstr "*(v1.16.10의 새로운 기능)* :attr:`info` 의 설명을 참조하세요." + +#: ../../annot.rst:165 5b9616a7ad9147aa931d66313938ba67 +msgid "" +"*(new in v1.16.10)* date of annot creation. If given, should be in PDF " +"datetime format." +msgstr "*(v1.16.10의 새로운 기능)* 주석 생성 날짜. 주어진 경우 PDF 날짜/시간 형식이어야 합니다." + +#: ../../annot.rst:166 3764dd0b660a48ecba7d241ddd0c78ef +msgid "" +"*(new in v1.16.10)* date of last modification. If given, should be in PDF" +" datetime format." +msgstr "*(v1.16.10의 새로운 기능)* 마지막 수정 날짜. 주어진 경우 PDF 날짜/시간 형식이어야 합니다." + +#: ../../annot.rst:171 e43517d418724f92aa471da27a597d2b +msgid "" +"Sets an annotation's line ending styles. Each of these annotation types " +"is defined by a list of points which are connected by lines. The symbol " +"identified by *start* is attached to the first point, and *end* to the " +"last point of this list. For unsupported annotation types, a no-operation" +" with a warning message results." +msgstr "주석의 라인 끝 스타일을 설정합니다. 이러한 주석 타입 각각은 라인으로 연결된 포인트 목록으로 정의됩니다. *start* 로 식별된 심볼은 첫 번째 포인트에 첨부되고, *end* 는 이 목록의 마지막 포인트에 첨부됩니다. 지원되지 않는 주석 타입의 경우 경고 메시지와 함께 작업이 수행되지 않습니다." + +#: ../../annot.rst:175 c6f37bfe8f864b7aa70a6677d903fbdc +msgid "" +"Some symbols have an interior area (diamonds, circles, squares, etc.). " +"These areas are filled with the fill color or the stroke color, depending" +" on the annotation type." +msgstr "일부 심볼에는 내부 영역(다이아몬드, 원, 사각형 등)이 있습니다. 이러한 영역은 주석 타입에 따라 채우기 색상 또는 스트로크 색상으로 채워집니다." + +#: ../../annot.rst:177 35d6ef1a79c74b06ab0a9dcf482f9a65 +msgid "The symbol number for the first point." +msgstr "첫 번째 포인트의 심볼 번호." + +#: ../../annot.rst:178 458ad87b80944b07b309331fa16a70a2 +msgid "The symbol number for the last point." +msgstr "마지막 포인트의 심볼 번호." + +#: ../../annot.rst:182 4fed90be4a2f4f6eb36e2d7f41f31319 +msgid "" +"Set the annotation's visibility using PDF optional content mechanisms. " +"This visibility is controlled by the user interface of supporting PDF " +"viewers. It is independent from other attributes like " +":attr:`Annot.flags`." +msgstr "PDF 선택적 콘텐츠 메커니즘을 사용하여 주석의 가시성을 설정합니다. 이 가시성은 지원하는 PDF 뷰어의 사용자 인터페이스에 의해 제어됩니다. :attr:`Annot.flags` 와 같은 다른 속성과는 독립적입니다." + +#: ../../annot.rst:184 613a0a96a3a548efb40200791489f4fd +msgid "" +"the :data:`xref` of an optional contents group (OCG or OCMD). Any " +"previous xref will be overwritten. If zero, a previous entry will be " +"removed. An exception occurs if the xref is not zero and does not point " +"to a valid PDF object." +msgstr "선택적 콘텐츠 그룹(OCG 또는 OCMD)의 :data:`xref`. 이전 xref는 덮어씌워집니다. 0이면 이전 항목이 제거됩니다. xref가 0이 아니고 유효한 PDF 객체를 가리키지 않으면 예외가 발생합니다." + +#: ../../annot.rst:186 55d26af3928947678aaeaa3e33027dcc +msgid "This does **not require executing** :meth:`Annot.update` to take effect." +msgstr "이것은 효과를 적용하기 위해 :meth:`Annot.update` **실행이 필요하지 않습니다**." + +#: ../../annot.rst:190 7e388a9f2b75447d8394d6d36c4a1bf8 +msgid "" +"Return the :data:`xref` of an optional content object, or zero if there " +"is none." +msgstr "선택적 콘텐츠 객체의 :data:`xref` 를 반환하거나, 없으면 0을 반환합니다." + +#: ../../annot.rst:192 e8ec795f695645628c3efbfd3915cec6 +msgid "zero or the xref of an OCG (or OCMD)." +msgstr "0 또는 OCG(또는 OCMD)의 xref." + +#: ../../annot.rst:197 b2f92c06a6294be3bfd5ec01d0e09768 +msgid "New in v1.19.3" +msgstr "*v1.19.3의 새로운 기능*" + +#: ../../annot.rst:199 ad11cb50eb7b4800aec2e137d3accb71 +msgid "Set annotation to be \"In Response To\" another one." +msgstr "주석을 다른 주석에 대한 \"답변 대상\"으로 설정합니다." + +#: ../../annot.rst:201 7b8bf875b3bc4826aa14c687fb8cd5d0 +msgid "" +"The :data:`xref` of another annotation. .. note:: Must refer to an " +"existing annotation on this page. Setting this property requires no " +"subsequent `update()`." +msgstr "" + +#: ../../annot.rst:201 9e9d820407064710884e6a66aa7f7f55 +msgid "The :data:`xref` of another annotation." +msgstr "다른 주석의 :data:`xref`." + +#: ../../annot.rst:203 14f320a016824d5198f1d52227d0a926 +msgid "" +"Must refer to an existing annotation on this page. Setting this property " +"requires no subsequent `update()`." +msgstr "이 페이지의 기존 주석을 참조해야 합니다. 이 속성을 설정하는 데 후속 `update()` 가 필요하지 않습니다." + +#: ../../annot.rst:208 ../../annot.rst:217 ../../annot.rst:237 +#: 481fa7ca48f54e5598a63178e50438ab a466079f958942378ec240211f031c16 +#: f9ec8616d1df4181aa40e2958d601327 +msgid "New in v1.18.4" +msgstr "*v1.18.4의 새로운 기능*" + +#: ../../annot.rst:210 67cc9664fad84f49a83ba297112ca110 +msgid "" +"Set the annotation's Popup annotation to open or closed -- **or** the " +"annotation itself, if its type is 'Text' (\"sticky note\")." +msgstr "주석의 Popup 주석을 열거나 닫도록 설정합니다 -- **또는** 타입이 'Text'(\"sticky note\")인 경우 주석 자체를 설정합니다." + +#: ../../annot.rst:212 1504f1da1fda45fea8f19f45ffc20d4f +msgid "the desired open state." +msgstr "원하는 열림 상태." + +#: ../../annot.rst:219 c089225b48284823a9b7556a44262d27 +msgid "" +"Create a Popup annotation for the annotation and specify its rectangle. " +"If the Popup already exists, only its rectangle is updated." +msgstr "주석에 대한 Popup 주석을 생성하고 사각형을 지정합니다. Popup이 이미 존재하면 사각형만 업데이트됩니다." + +#: ../../annot.rst:221 c34e5022b5454828b58718e9dcbc45fe +msgid "the desired rectangle." +msgstr "원하는 사각형." + +#: ../../annot.rst:227 facb954df51640a7ae7fd3710883dc98 +msgid "" +"Set the annotation's transparency. Opacity can also be set in " +":meth:`Annot.update`." +msgstr "주석의 투명도를 설정합니다. 불투명도는 :meth:`Annot.update` 에서도 설정할 수 있습니다." + +#: ../../annot.rst:229 d7989596080e46c987557189dc9c25ff +msgid "" +"a float in range *[0, 1]*. Any value outside is assumed to be 1. E.g. a " +"value of 0.5 sets the transparency to 50%." +msgstr "*[0, 1]* 범위의 float. 범위 밖의 값은 1로 간주됩니다. 예를 들어 0.5 값은 투명도를 50%로 설정합니다." + +#: ../../annot.rst:231 8cd9cbde74a9498aa0f39f1aceeb59c0 +msgid "Three overlapping 'Circle' annotations with each opacity set to 0.5:" +msgstr "각 불투명도가 0.5로 설정된 세 개의 겹치는 'Circle' 주석:" + +#: ../../annot.rst:239 78ea45fdfd8c457285f97ad98ced56cb +msgid "" +"The annotation's blend mode. See :ref:`AdobeManual`, page 324 for " +"explanations." +msgstr "주석의 블렌드 모드. 설명은 :ref:`AdobeManual`, 324페이지를 참조하세요." + +#: ../../annot.rst:242 30d06915799b4a4d993a5b5fca1059fe +msgid "the blend mode or ``None``." +msgstr "블렌드 모드 또는 ``None``." + +#: ../../annot.rst:247 9dce9ac76ca040e1a31d5585a57839f6 +msgid "New in v1.16.14" +msgstr "*v1.16.14의 새로운 기능*" + +#: ../../annot.rst:249 dc743497d0c04f36b92127b326b52323 +msgid "" +"Set the annotation's blend mode. See :ref:`AdobeManual`, page 324 for " +"explanations. The blend mode can also be set in :meth:`Annot.update`." +msgstr "주석의 블렌드 모드를 설정합니다. 설명은 :ref:`AdobeManual`, 324페이지를 참조하세요. 블렌드 모드는 :meth:`Annot.update` 에서도 설정할 수 있습니다." + +#: ../../annot.rst:251 4cc8588ee3a54e0ea07306202519e692 +msgid "" +"set the blend mode. Use :meth:`Annot.update` to reflect this in the " +"visual appearance. For predefined values see :ref:`BlendModes`. Use " +"`PDF_BM_Normal` to **remove** a blend mode." +msgstr "블렌드 모드를 설정합니다. 시각적 모양에 반영하려면 :meth:`Annot.update` 를 사용하세요. 미리 정의된 값은 :ref:`BlendModes` 를 참조하세요. 블렌드 모드를 **제거** 하려면 `PDF_BM_Normal` 을 사용하세요." + +#: ../../annot.rst:256 f91715c6f8dd45839dff56adcd90fe40 +msgid "New in version 1.16.0" +msgstr "*버전 1.16.0의 새로운 기능*" + +#: ../../annot.rst:258 63628e30584640f485f9216a26cc976e +msgid "" +"Change the name field of any annotation type. For 'FileAttachment' and " +"'Text' annotations, this is the icon name, for 'Stamp' annotations the " +"text in the stamp. The visual result (if any) depends on your PDF viewer." +" See also :ref:`mupdficons`." +msgstr "모든 주석 타입의 이름 필드를 변경합니다. 'FileAttachment' 및 'Text' 주석의 경우 이것은 아이콘 이름이고, 'Stamp' 주석의 경우 스탬프의 텍스트입니다. 시각적 결과(있는 경우)는 PDF 뷰어에 따라 다릅니다. :ref:`mupdficons` 도 참조하세요." + +#: ../../annot.rst:260 c9956808cf6344fe93a68e352c078f3b +msgid "the new name." +msgstr "새 이름." + +#: ../../annot.rst:262 77d72775e0d649e0aee5cd748dcf35c5 +msgid "" +"If you set the name of a 'Stamp' annotation, then this will **not " +"change** the rectangle, nor will the text be layouted in any way. If you " +"choose a standard text from :ref:`StampIcons` (the **exact** name piece " +"after `\"STAMP_\"`), you should receive the original layout. An " +"**arbitrary text** will not be changed to upper case, but be written in " +"font \"Times-Bold\" as is, horizontally centered in **one line** and be " +"shortened to fit. To get your text fully displayed, its length using " +":data:`fontsize` 20 must not exceed 190 points. So please make sure that " +"the following inequality is true: `pymupdf.get_text_length(text, " +"fontname=\"tibo\", fontsize=20) <= 190`." +msgstr "'Stamp' 주석의 이름을 설정하면 사각형이 **변경되지 않으며**, 텍스트도 어떤 방식으로도 레이아웃되지 않습니다. :ref:`StampIcons` 에서 표준 텍스트를 선택하는 경우(`\"STAMP_\"` 뒤의 **정확한** 이름 부분), 원래 레이아웃을 받아야 합니다. **임의의 텍스트** 는 대문자로 변경되지 않지만, 그대로 \"Times-Bold\" 글꼴로 작성되며 **한 줄** 에 가로로 중앙 정렬되고 맞추기 위해 단축됩니다. 텍스트가 완전히 표시되도록 하려면 :data:`fontsize` 20을 사용한 길이가 190포인트를 초과하지 않아야 합니다. 따라서 다음 부등식이 참인지 확인하세요: `pymupdf.get_text_length(text, fontname=\"tibo\", fontsize=20) <= 190`." + +#: ../../annot.rst:266 215783824e424078a9c68252ef072b76 +msgid "" +"Change the rectangle of an annotation. The annotation can be moved around" +" and both sides of the rectangle can be independently scaled. However, " +"the annotation appearance will never get rotated, flipped or sheared. " +"This method only affects certain annotation types [#f2]_ and will lead to" +" a message on Python's `sys.stderr` in other cases. No exception will be " +"raised, but `False` will be returned." +msgstr "주석의 사각형을 변경합니다. 주석을 이동할 수 있고 사각형의 양쪽을 독립적으로 확장할 수 있습니다. 그러나 주석 모양은 회전, 뒤집기 또는 기울임이 되지 않습니다. 이 메서드는 특정 주석 타입 [#f2]_에만 영향을 미치며 다른 경우에는 Python의 `sys.stderr` 에 메시지가 표시됩니다. 예외는 발생하지 않지만 `False` 가 반환됩니다." + +#: ../../annot.rst:268 a55821d5ebaa43a79524ea735d7fce30 +msgid "" +"the new rectangle of the annotation (finite and not empty). E.g. using a " +"value of *annot.rect + (5, 5, 5, 5)* will shift the annot position 5 " +"pixels to the right and downwards." +msgstr "주석의 새 사각형(유한하고 비어 있지 않음). 예를 들어 *annot.rect + (5, 5, 5, 5)* 값을 사용하면 주석 위치가 오른쪽과 아래로 5픽셀 이동합니다." + +#: ../../annot.rst:270 58ba9ae624c649f59c822a951c81b8d9 +msgid "You **need not** invoke :meth:`Annot.update` for activation of the effect." +msgstr "효과를 활성화하기 위해 :meth:`Annot.update` 를 **호출할 필요가 없습니다**." + +#: ../../annot.rst:275 4182447a9b644af7b8fdaadfb8a05d32 +msgid "" +"Set the rotation of an annotation. This rotates the annotation rectangle " +"around its center point. Then a **new annotation rectangle** is " +"calculated from the resulting quad." +msgstr "주석의 회전을 설정합니다. 이것은 중심점을 중심으로 주석 사각형을 회전시킵니다. 그런 다음 결과 쿼드에서 **새 주석 사각형** 이 계산됩니다." + +#: ../../annot.rst:277 6fc24fed55494f8fb4a955d4d8a13eba +msgid "" +"rotation angle in degrees. Arbitrary values are possible, but will be " +"clamped to the interval `[0, 360)`." +msgstr "도 단위의 회전 각도. 임의의 값이 가능하지만 `[0, 360)` 구간으로 제한됩니다." + +#: ../../annot.rst:280 e4f887994fc5422f95d07305f9ce1cd5 +msgid "You **must invoke** :meth:`Annot.update` to activate the effect." +msgstr "효과를 활성화하려면 :meth:`Annot.update` 를 **호출해야 합니다**." + +#: ../../annot.rst:281 708375ceb35c401f93a653d662ffa946 +msgid "" +"For PDF_ANNOT_FREE_TEXT, only one of the values 0, 90, 180 and 270 is " +"possible and will **rotate the text** inside the current rectangle (which" +" remains unchanged). Other values are silently ignored and replaced by 0." +msgstr "PDF_ANNOT_FREE_TEXT의 경우 0, 90, 180, 270 값 중 하나만 가능하며 현재 사각형 내에서 **텍스트를 회전** 시킵니다(사각형은 변경되지 않음). 다른 값은 조용히 무시되고 0으로 대체됩니다." + +#: ../../annot.rst:282 9916c3c0474d42789055dd9fb27df6d5 +msgid "" +"Otherwise, only the following :ref:`AnnotationTypes` can be rotated: " +"'Square', 'Circle', 'Caret', 'Text', 'FileAttachment', 'Ink', 'Line', " +"'Polyline', 'Polygon', and 'Stamp'. For all others the method is a no-op." +msgstr "그렇지 않으면 다음 :ref:`AnnotationTypes` 만 회전할 수 있습니다: 'Square', 'Circle', 'Caret', 'Text', 'FileAttachment', 'Ink', 'Line', 'Polyline', 'Polygon', 'Stamp'. 다른 모든 경우 메서드는 작업을 수행하지 않습니다." + +#: ../../annot.rst:287 21f87eefce9f42cd84347e0b9f4c9750 +msgid "" +"Changed in version 1.16.9: Allow specification without using a " +"dictionary. The direct parameters are used if *border* is not a " +"dictionary." +msgstr "버전 1.16.9에서 변경됨: 딕셔너리를 사용하지 않고 지정할 수 있습니다. *border* 가 딕셔너리가 아니면 직접 매개변수가 사용됩니다." + +#: ../../annot.rst:289 a5d1d0e5012145d88adb8f0b58ec843d +msgid "Changed in version 1.22.5: Support of the \"cloudy\" border effect." +msgstr "버전 1.22.5에서 변경됨: \"cloudy\" 테두리 효과 지원." + +#: ../../annot.rst:291 c189c32c136c4970affbad53b8a4962c +msgid "" +"PDF only: Change border width, dashing, style and cloud effect. See the " +":attr:`Annot.border` attribute for more details." +msgstr "PDF 전용: 테두리 너비, 파선, 스타일 및 클라우드 효과를 변경합니다. 자세한 내용은 :attr:`Annot.border` 속성을 참조하세요." + +#: ../../annot.rst:294 cd430c709f2743de8acc763ed90aa387 +msgid "" +"a dictionary as returned by the :attr:`border` property, with keys " +"*\"width\"* (*float*), *\"style\"* (*str*), *\"dashes\"* (*sequence*) " +"and *clouds* (*int*). Omitted keys will leave the resp. property " +"unchanged. Set the border argument to `None` (the default) to use the " +"other arguments." +msgstr ":attr:`border` 속성에서 반환된 딕셔너리, 키는 *\"width\"* (*float*), *\"style\"* (*str*), *\"dashes\"* (*sequence*), *clouds* (*int*). 생략된 키는 해당 속성을 변경하지 않습니다. 다른 인수를 사용하려면 border 인수를 `None` (기본값)으로 설정하세요." + +#: ../../annot.rst:296 39acc9934225448197fcfd592c9d832f +msgid "A non-negative value will change the border line width." +msgstr "음수가 아닌 값은 테두리 선 너비를 변경합니다." + +#: ../../annot.rst:297 a68a775771684101adfaada1b555645a +msgid "A value other than `None` will change this border property." +msgstr "`None` 이 아닌 값은 이 테두리 속성을 변경합니다." + +#: ../../annot.rst:298 6abbfe1e60884753b2f408c6140c1522 +msgid "" +"All items of the sequence must be integers, otherwise the parameter is " +"ignored. To remove dashing use: `dashes=[]`. If dashes is a non-empty " +"sequence, \"style\" will automatically be set to \"D\" (dashed)." +msgstr "시퀀스의 모든 항목은 정수여야 하며, 그렇지 않으면 매개변수가 무시됩니다. 파선을 제거하려면 `dashes=[]` 를 사용하세요. dashes가 비어 있지 않은 시퀀스인 경우 \"style\"이 자동으로 \"D\"(파선)로 설정됩니다." + +#: ../../annot.rst:299 a14bf775a9aa4b5690dfa5d75ad9a268 +msgid "" +"A value >= 0 will change this property. Use `clouds=0` to remove the " +"cloudy appearance completely. Only annotation types 'Square', 'Circle', " +"and 'Polygon' are supported with this property." +msgstr ">= 0 값은 이 속성을 변경합니다. 클라우드 모양을 완전히 제거하려면 `clouds=0` 을 사용하세요. 이 속성은 주석 타입 'Square', 'Circle', 'Polygon'에서만 지원됩니다." + +#: ../../annot.rst:303 ef79e54d0a714869a014c9d730425b72 +msgid "Changes the annotation flags. Use the `|` operator to combine several." +msgstr "주석 플래그를 변경합니다. 여러 개를 결합하려면 `|` 연산자를 사용하세요." + +#: ../../annot.rst:305 fd0aa1fe5fa54354942159d69033f3dd +msgid "an integer specifying the required flags." +msgstr "필요한 플래그를 지정하는 정수." + +#: ../../annot.rst:309 6c045aa7fffe4727b0d500917f834af7 +msgid "" +"Changes the \"stroke\" and \"fill\" colors for supported annotation types" +" -- not all annotation types accept both. **Do not use this method at all" +" for FreeText annotations** because it has its special conventions to " +"deal with up to three colors (border, fill, text)." +msgstr "지원되는 주석 타입에 대한 \"stroke\" 및 \"fill\" 색상을 변경합니다 -- 모든 주석 타입이 둘 다 허용하는 것은 아닙니다. **FreeText 주석에는 이 메서드를 전혀 사용하지 마세요** 최대 3개의 색상(테두리, 채우기, 텍스트)을 처리하는 특별한 규칙이 있기 때문입니다." + +#: ../../annot.rst:311 db7de1cdaf074887b6a5856f6edce371 +msgid "" +"a dictionary containing color specifications. For accepted dictionary " +"keys and values see below. The most practical way should be to first make" +" a copy of the *colors* property and then modify this dictionary as " +"required." +msgstr "색상 지정을 포함하는 딕셔너리. 허용되는 딕셔너리 키와 값은 아래를 참조하세요. 가장 실용적인 방법은 먼저 *colors* 속성의 복사본을 만든 다음 필요에 따라 이 딕셔너리를 수정하는 것입니다." + +#: ../../annot.rst:312 ../../annot.rst:313 75cff1ffb24c4912bfeb81a9ebd1432d +#: ab1efc57d7bc48e98cf5e1bdb658a212 +msgid "see above." +msgstr "위를 참조하세요." + +#: ../../annot.rst:315 7c1a94d49e3646c1acf119c6dbd9d5d2 +msgid "" +"To completely remove a color specification, use an empty sequence like " +"`[]`. If you specify `None`, an existing specification will not be " +"changed." +msgstr "색상 지정을 완전히 제거하려면 `[]` 와 같은 빈 시퀀스를 사용하세요. `None` 을 지정하면 기존 지정이 변경되지 않습니다." + +#: ../../annot.rst:320 2a6d90dee7ce4d77b26b92943743267a +msgid "New in version 1.16.12" +msgstr "*버전 1.16.12의 새로운 기능*" + +#: ../../annot.rst:322 595743ee33354f6db6ea8007f5c683d9 +msgid "" +"Delete annotations referring to this one. This includes any 'Popup' " +"annotations and all annotations responding to it." +msgstr "이 주석을 참조하는 주석을 삭제합니다. 여기에는 모든 'Popup' 주석과 이에 응답하는 모든 주석이 포함됩니다." + +#: ../../annot.rst:336 3dd084b1ebf84cde9a0f1628888a078a +msgid "" +"Synchronize the appearance of an annotation with its properties after " +"relevant changes." +msgstr "관련 변경 후 주석의 모양을 속성과 동기화합니다." + +#: ../../annot.rst:338 7fe415cd7d454f189581594f76164856 +msgid "You can safely **omit** this method **only** for the following changes:" +msgstr "다음 변경 사항에 대해서만 이 메서드를 안전하게 **생략** 할 수 있습니다:" + +#: ../../annot.rst:344 fe15053758b14d7199c023e93f5fb1b5 +msgid ":meth:`Annot.set_info` (except any changes to *\"content\"*)" +msgstr ":meth:`Annot.set_info` (*\"content\"* 에 대한 변경 제외)" + +#: ../../annot.rst:346 0073d1e84f5d4733b0ed896ad1863ecc +msgid "" +"All arguments are optional. *(Changed in v1.16.14)* Blend mode and " +"opacity are applicable to **all annotation types**. The other arguments " +"are mostly special use, as described below." +msgstr "모든 인수는 선택 사항입니다. *(v1.16.14에서 변경됨)* 블렌드 모드와 불투명도는 **모든 주석 타입** 에 적용됩니다. 다른 인수는 아래에 설명된 대로 대부분 특수 용도입니다." + +#: ../../annot.rst:348 f2ba4ab0eec14256874f4795f0809515 +msgid "" +"Color specifications may be made in the usual format used in PuMuPDF as " +"sequences of floats ranging from 0.0 to 1.0 (including both). The " +"sequence length must be 1, 3 or 4 (supporting GRAY, RGB and CMYK " +"colorspaces respectively). For GRAY, just a float is also acceptable." +msgstr "색상 지정은 PyMuPDF에서 사용하는 일반 형식으로 0.0부터 1.0까지(둘 다 포함)의 float 시퀀스로 만들 수 있습니다. 시퀀스 길이는 1, 3 또는 4여야 합니다(각각 GRAY, RGB 및 CMYK 색상 공간 지원). GRAY의 경우 단일 float도 허용됩니다." + +#: ../../annot.rst:350 f3ccad414cfa4feea70d7d6d4ee37f20 +msgid "" +"*(new in v1.16.14)* **valid for all annotation types:** change or set the" +" annotation's transparency. Valid values are *0 <= opacity < 1*." +msgstr "*(v1.16.14의 새로운 기능)* **모든 주석 타입에 유효:** 주석의 투명도를 변경하거나 설정합니다. 유효한 값은 *0 <= opacity < 1* 입니다." + +#: ../../annot.rst:352 04465250dcde4c4c860e257ac3e888cc +msgid "" +"*(new in v1.16.14)* **valid for all annotation types:** change or set the" +" annotation's blend mode. For valid values see :ref:`BlendModes`." +msgstr "*(v1.16.14의 새로운 기능)* **모든 주석 타입에 유효:** 주석의 블렌드 모드를 변경하거나 설정합니다. 유효한 값은 :ref:`BlendModes` 를 참조하세요." + +#: ../../annot.rst:354 9bc27aa105ae42cd82a2451d40ee6e6e +msgid "change :data:`fontsize` of the text. 'FreeText' annotations only." +msgstr "텍스트의 :data:`fontsize` 변경. 'FreeText' 주석만 해당." + +#: ../../annot.rst:356 cf2b46ce81194d3889beefcdf7c9b7bc +msgid "" +"change the text color. 'FreeText' annotations only. This has the same " +"effect as ``border_color``. Note that the text color of rich-text " +"annotations cannot be changed at all because it is set by HTML / CSS " +"syntax and part of the text itself." +msgstr "텍스트 색상 변경. 'FreeText' 주석만 해당. 이것은 ``border_color`` 와 동일한 효과를 가집니다. 리치 텍스트 주석의 텍스트 색상은 HTML / CSS 구문에 의해 설정되고 텍스트 자체의 일부이기 때문에 전혀 변경할 수 없습니다." + +#: ../../annot.rst:358 9573860e39914131a2e6b21985df1d0a +msgid "" +"change the border color. 'FreeText' annotations only. This has the same " +"effect as ``text_color``." +msgstr "테두리 색상 변경. 'FreeText' 주석만 해당. 이것은 ``text_color`` 와 동일한 효과를 가집니다." + +#: ../../annot.rst:360 f201d820422e410380867aef925e12c6 +msgid "the fill color." +msgstr "채우기 색상." + +#: ../../annot.rst:362 51b7ae492b9d439ea63ad6e688461680 +msgid "" +"*(new in v1.17.2)* add two diagonal lines to the annotation rectangle. " +"'Redact' annotations only. If not desired, ``False`` must be specified " +"even if the annotation was created with ``False``." +msgstr "*(v1.17.2의 새로운 기능)* 주석 사각형에 두 개의 대각선을 추가합니다. 'Redact' 주석만 해당. 원하지 않는 경우 주석이 ``False`` 로 생성되었더라도 ``False`` 를 지정해야 합니다." + +#: ../../annot.rst:364 ca681b7d888b4269b353a917a0251fcc +msgid "" +"new rotation value. Default (-1) means no change. Supports 'FreeText' and" +" several other annotation types (see :meth:`Annot.set_rotation`), [#f1]_." +" Only choose 0, 90, 180, or 270 degrees for 'FreeText'. Otherwise any " +"integer is acceptable." +msgstr "새 회전 값. 기본값(-1)은 변경 없음을 의미합니다. 'FreeText' 및 여러 다른 주석 타입을 지원합니다(:meth:`Annot.set_rotation` 참조), [#f1]_. 'FreeText'의 경우 0, 90, 180 또는 270도만 선택하세요. 그렇지 않으면 모든 정수가 허용됩니다." + +#: ../../annot.rst:368 60ab5d4e01554e09aa2155cfcf1bd6a4 +msgid "" +"This method is the only way to change the colors of a FreeText " +"annotation. You cannot use :meth:`Annot.set_colors` for this purpose. But" +" be aware that for rich-text annotations, the text color is never " +"changed. The text color is set by the ``text_color`` entry of the " +"``info`` dictionary. This is a limitation of |MuPDF| and not a bug." +msgstr "이 메서드는 FreeText 주석의 색상을 변경하는 유일한 방법입니다. 이 목적을 위해 :meth:`Annot.set_colors` 를 사용할 수 없습니다. 그러나 리치 텍스트 주석의 경우 텍스트 색상은 절대 변경되지 않습니다. 텍스트 색상은 ``info`` 딕셔너리의 ``text_color`` 항목에 의해 설정됩니다. 이것은 |MuPDF| 의 제한 사항이며 버그가 아닙니다." + +#: ../../annot.rst:370 1112033b5d6844729cb062a449ec85b1 +msgid "" +"Using this method inside a :meth:`Page.annots` loop is **not " +"recommended!** This is because most annotation updates require the owning" +" page to be reloaded -- which cannot be done inside this loop. Please use" +" the example coding pattern given in the documentation of this generator." +msgstr ":meth:`Page.annots` 루프 내에서 이 메서드를 사용하는 것은 **권장되지 않습니다!** 대부분의 주석 업데이트는 소유 페이지를 다시 로드해야 하기 때문입니다 -- 이 루프 내에서는 수행할 수 없습니다. 이 생성자의 문서에 제공된 예제 코딩 패턴을 사용하세요." + +#: ../../annot.rst:375 4a926753fff744ec9116dd6ed7183650 +msgid "Basic information of the annot's attached file." +msgstr "주석의 첨부 파일에 대한 기본 정보." + +#: ../../annot.rst:378 dff1e3b1a640429fb53eddd0fa92ce69 +msgid "" +"a dictionary with keys *filename*, *ufilename*, *desc* (description), " +"*size* (uncompressed file size), *length* (compressed length) for " +"FileAttachment annot types, else ``None``." +msgstr "FileAttachment 주석 타입의 경우 *filename*, *ufilename*, *desc* (설명), *size* (압축되지 않은 파일 크기), *length* (압축된 길이) 키를 가진 딕셔너리, 그렇지 않으면 ``None``." + +#: ../../annot.rst:382 fff1e94235db41658c4a47630907af7b +msgid "Returns attached file content." +msgstr "첨부 파일 내용을 반환합니다." + +#: ../../annot.rst:385 e7858d0b8f274619a0e53226e2ad2558 +msgid "the content of the attached file." +msgstr "첨부 파일의 내용." + +#: ../../annot.rst:395 0a6f0f824993411db432fbc73cedbf48 +msgid "" +"Updates the content of an attached file. All arguments are optional. No " +"arguments lead to a no-op." +msgstr "첨부 파일의 내용을 업데이트합니다. 모든 인수는 선택 사항입니다. 인수가 없으면 작업이 수행되지 않습니다." + +#: ../../annot.rst:397 14cfd5ce68c443c4b5706490bf7ce62c +msgid "" +"the new file content. Omit to only change meta-information. *(Changed in" +" version 1.14.13)* *io.BytesIO* is now also supported." +msgstr "" + +#: ../../annot.rst:397 13e705e69a1d425184d4be574725693d +msgid "the new file content. Omit to only change meta-information." +msgstr "새 파일 내용. 메타 정보만 변경하려면 생략하세요." + +#: ../../annot.rst:399 a1e92b5db60e4c4599063b1893fd8eed +msgid "*(Changed in version 1.14.13)* *io.BytesIO* is now also supported." +msgstr "*(버전 1.14.13에서 변경됨)* *io.BytesIO* 도 이제 지원됩니다." + +#: ../../annot.rst:401 16d4a6c7354947dc9ed4a1af1e661951 +msgid "new filename to associate with the file." +msgstr "파일과 연결할 새 파일 이름." + +#: ../../annot.rst:403 f71c9be54bb649adbc2100b1cf7793e5 +msgid "new unicode filename to associate with the file." +msgstr "파일과 연결할 새 유니코드 파일 이름." + +#: ../../annot.rst:405 70d2cec5d76d4b4ca6ac53eb58acf503 +msgid "new description of the file content." +msgstr "파일 내용에 대한 새 설명." + +#: ../../annot.rst:409 dfdaec12a2274c30a1f374a77b655ee8 +msgid "Return the embedded sound of an audio annotation." +msgstr "오디오 주석의 포함된 사운드를 반환합니다." + +#: ../../annot.rst:412 c7fa04ae49d54d39a39b5d2245c490f0 +msgid "" +"the sound audio file and accompanying properties. These are the possible " +"dictionary keys, of which only \"rate\" and \"stream\" are always " +"present. =========== " +"======================================================= Key " +"Description =========== " +"======================================================= rate " +"(float, requ.) samples per second channels (int, opt.) number of sound" +" channels bps (int, opt.) bits per sample value per channel " +"encoding (str, opt.) encoding format: Raw, Signed, muLaw, ALaw " +"compression (str, opt.) name of compression filter stream (bytes, " +"requ.) the sound file content =========== " +"=======================================================" +msgstr "" + +#: ../../annot.rst:412 df0e243fcf034592a8492436e6e1659a +msgid "" +"the sound audio file and accompanying properties. These are the possible " +"dictionary keys, of which only \"rate\" and \"stream\" are always " +"present." +msgstr "사운드 오디오 파일 및 관련 속성. 가능한 딕셔너리 키는 다음과 같으며, \"rate\"와 \"stream\"만 항상 존재합니다." + +#: ../../annot.rst:415 12be1c52c4314285af838a6ce29fba9e +msgid "Key" +msgstr "키" + +#: ../../annot.rst:415 2bdf4ba35cce4815a2a492cf817897c8 +msgid "Description" +msgstr "설명" + +#: ../../annot.rst:417 0d66d09f790c4ff3bc6c27ba0d9b632a +msgid "rate" +msgstr "rate" + +#: ../../annot.rst:417 c1045c0883214be39172475f75e7f5d0 +msgid "(float, requ.) samples per second" +msgstr "(float, 필수) 초당 샘플 수" + +#: ../../annot.rst:418 8abdaaa9d7fe44dfa74cc67416d30c2b +msgid "channels" +msgstr "channels" + +#: ../../annot.rst:418 f74b4b35e92846e28327d70e75e25b02 +msgid "(int, opt.) number of sound channels" +msgstr "(int, 선택) 사운드 채널 수" + +#: ../../annot.rst:419 942b2b733eed481b9491bc82bc570e1c +msgid "bps" +msgstr "bps" + +#: ../../annot.rst:419 7be514225767447a8a8095e8df1f2bc4 +msgid "(int, opt.) bits per sample value per channel" +msgstr "(int, 선택) 채널당 샘플 값당 비트 수" + +#: ../../annot.rst:420 b38f02b791694df2ae7e91f5e18e4b63 +msgid "encoding" +msgstr "encoding" + +#: ../../annot.rst:420 73e6b25cf0da41518e6a2a8c8342f9b9 +msgid "(str, opt.) encoding format: Raw, Signed, muLaw, ALaw" +msgstr "(str, 선택) 인코딩 형식: Raw, Signed, muLaw, ALaw" + +#: ../../annot.rst:421 1969b7bd898244968ec9e8b0ccb1bde7 +msgid "compression" +msgstr "compression" + +#: ../../annot.rst:421 a89ee4a1e5ae438bb9abdf27689f1840 +msgid "(str, opt.) name of compression filter" +msgstr "(str, 선택) 압축 필터 이름" + +#: ../../annot.rst:422 8ae646c528504b2c930d6aeefa18e74b +msgid "stream" +msgstr "stream" + +#: ../../annot.rst:422 379f471934fe4d5fab7732b175a2bce2 +msgid "(bytes, requ.) the sound file content" +msgstr "(bytes, 필수) 사운드 파일 내용" + +#: ../../annot.rst:428 04846fc70fde4de09324de235eedf132 +msgid "" +"The annotation's transparency. If set, it is a value in range *[0, 1]*. " +"The PDF default is 1. However, in an effort to tell the difference, we " +"return *-1.0* if not set." +msgstr "주석의 투명도. 설정된 경우 *[0, 1]* 범위의 값입니다. PDF 기본값은 1입니다. 그러나 차이를 구분하기 위해 설정되지 않은 경우 *-1.0* 을 반환합니다." + +#: ../../annot.rst:434 38341cb4267e49eea899f48c336adc57 +msgid "The owning page object of the annotation." +msgstr "주석의 소유 페이지 객체." + +#: ../../annot.rst:436 b69e2ef1768c4682aeceb59e231073e6 +msgid ":ref:`Page`" +msgstr "" + +#: ../../annot.rst:440 d8c838f369404f76b51db3fa29590aaf +msgid "The annot rotation." +msgstr "주석 회전." + +#: ../../annot.rst:443 0e4000b23bd0487692990ba93841e11b +msgid "" +"a value [-1, 359]. If rotation is not at all, -1 is returned (and implies" +" a rotation angle of 0). Other possible values are normalized to some " +"value value 0 <= angle < 360." +msgstr "[-1, 359] 값. 회전이 전혀 없는 경우 -1이 반환됩니다(회전 각도 0을 의미). 다른 가능한 값은 0 <= angle < 360 값으로 정규화됩니다." + +#: ../../annot.rst:447 675380b4c5e64bf7bff950dcc720a751 +msgid "The rectangle containing the annotation." +msgstr "주석을 포함하는 사각형." + +#: ../../annot.rst:449 ../../annot.rst:549 aebdf20a1fda46b7abc7b4c3e0493882 +#: ec14799005724be998a1275792677a12 +msgid ":ref:`Rect`" +msgstr "" + +#: ../../annot.rst:453 c70b9c19d6d84a359b2b1a7396054162 +msgid "The next annotation on this page or None." +msgstr "이 페이지의 다음 주석 또는 None." + +#: ../../annot.rst:455 e2f9dcc59c714b54a43f67ec7b62cff8 +msgid "*Annot*" +msgstr "" + +#: ../../annot.rst:459 606bb69f415d48c0a7aad4dac9c69fc3 +msgid "" +"A number and one or two strings describing the annotation type, like " +"**[2, 'FreeText', 'FreeTextCallout']**. The second string entry is " +"optional and may be empty. See the appendix :ref:`AnnotationTypes` for a " +"list of possible values and their meanings." +msgstr "주석 타입을 설명하는 숫자와 하나 또는 두 개의 문자열, 예: **[2, 'FreeText', 'FreeTextCallout']**. 두 번째 문자열 항목은 선택 사항이며 비어 있을 수 있습니다. 가능한 값과 의미 목록은 부록 :ref:`AnnotationTypes` 를 참조하세요." + +#: ../../annot.rst:465 814b528ad1594607875ed97510496fe2 +msgid "" +"A dictionary containing various information. All fields are optional " +"strings. For information items not provided, an empty string is returned." +msgstr "다양한 정보를 포함하는 딕셔너리. 모든 필드는 선택적 문자열입니다. 제공되지 않은 정보 항목의 경우 빈 문자열이 반환됩니다." + +#: ../../annot.rst:467 132313a5fcff4d5b98ca42e3a4bf5fda +msgid "" +"*name* -- e.g. for 'Stamp' annotations it will contain the stamp text " +"like \"Sold\" or \"Experimental\", for other annot types you will see the" +" name of the annot's icon here (\"PushPin\" for FileAttachment)." +msgstr "*name* -- 예를 들어 'Stamp' 주석의 경우 \"Sold\" 또는 \"Experimental\"와 같은 스탬프 텍스트를 포함하고, 다른 주석 타입의 경우 여기에서 주석 아이콘의 이름을 볼 수 있습니다(FileAttachment의 경우 \"PushPin\")." + +#: ../../annot.rst:469 bc6c85b50da94924bc357226258bd3fc +msgid "" +"*content* -- a string containing the text for type *Text* and *FreeText* " +"annotations. Commonly used for filling the text field of annotation pop-" +"up windows." +msgstr "*content* -- *Text* 및 *FreeText* 주석에 대한 텍스트를 포함하는 문자열. 주석 팝업 창의 텍스트 필드를 채우는 데 일반적으로 사용됩니다." + +#: ../../annot.rst:471 d7645d31cbb64e3cb699a731902ecb75 +msgid "" +"*title* -- a string containing the title of the annotation pop-up window." +" By convention, this is used for the **annotation author**." +msgstr "*title* -- 주석 팝업 창의 제목을 포함하는 문자열. 규칙에 따라 이것은 **주석 작성자** 에 사용됩니다." + +#: ../../annot.rst:473 ba6e837b12eb4a59b39297c6410293cb +msgid "*creationDate* -- creation timestamp." +msgstr "*creationDate* -- 생성 타임스탬프." + +#: ../../annot.rst:474 dea7337d10874b83bd25f6be18463264 +msgid "*modDate* -- last modified timestamp." +msgstr "*modDate* -- 마지막 수정 타임스탬프." + +#: ../../annot.rst:475 affe5f09ffd3424b9ff3466bd9fa10e4 +msgid "*subject* -- subject." +msgstr "*subject* -- 제목." + +#: ../../annot.rst:476 2839aeb340104f42b830df272fca2fb6 +msgid "" +"*id* -- *(new in version 1.16.10)* a unique identification of the " +"annotation. This is taken from PDF key */NM*. Annotations added by " +"PyMuPDF will have a unique name, which appears here." +msgstr "*id* -- *(버전 1.16.10의 새로운 기능)* 주석의 고유 식별자. 이것은 PDF 키 */NM* 에서 가져옵니다. PyMuPDF로 추가된 주석은 여기에 나타나는 고유한 이름을 가집니다." + +#: ../../annot.rst:483 16616c415f6e46b7a3677cfdd3112ce3 +msgid "" +"An integer whose low order bits contain flags for how the annotation " +"should be presented." +msgstr "하위 비트에 주석을 표시하는 방법에 대한 플래그를 포함하는 정수." + +#: ../../annot.rst:489 8339de6110f3442eae85a3e339d2b60f +msgid "" +"A pair of integers specifying start and end symbol of annotations types " +"'FreeText', 'Line', 'PolyLine', and 'Polygon'. ``None`` if not " +"applicable. For possible values and descriptions in this list, see the " +":ref:`AdobeManual`, table 1.76 on page 400." +msgstr "'FreeText', 'Line', 'PolyLine', 'Polygon' 주석 타입의 시작 및 끝 심볼을 지정하는 정수 쌍. 적용되지 않는 경우 ``None``. 이 목록의 가능한 값과 설명은 :ref:`AdobeManual`, 400페이지의 표 1.76을 참조하세요." + +#: ../../annot.rst:495 8bf05b20e751463eae59e5c917d94466 +msgid "" +"A list containing a variable number of point (\"vertices\") coordinates " +"(each given by a pair of floats) for various types of annotations:" +msgstr "다양한 타입의 주석에 대한 가변 개수의 포인트(\"vertices\") 좌표(각각 float 쌍으로 제공)를 포함하는 목록:" + +#: ../../annot.rst:497 8912d31ff3344e5e8152219991bcb863 +msgid "'Line' -- the starting and ending coordinates (2 float pairs)." +msgstr "'Line' -- 시작 및 종료 좌표(2개의 float 쌍)." + +#: ../../annot.rst:498 a5b0fa3b850f4856bd236c668f63f1eb +msgid "" +"'FreeText' -- 2 or 3 float pairs designating the starting, the (optional)" +" knee point, and the ending coordinates." +msgstr "'FreeText' -- 시작, (선택적) 무릎 포인트, 종료 좌표를 지정하는 2개 또는 3개의 float 쌍." + +#: ../../annot.rst:499 b0ee60812ba343fea5fc2d15019955f2 +msgid "" +"'PolyLine' / 'Polygon' -- the coordinates of the edges connected by line " +"pieces (n float pairs for n points)." +msgstr "'PolyLine' / 'Polygon' -- 라인 조각으로 연결된 가장자리의 좌표(n개 포인트에 대해 n개의 float 쌍)." + +#: ../../annot.rst:500 8fbc31fb944e4da2868503b7613244d0 +msgid "" +"text markup annotations -- 4 float pairs specifying the *QuadPoints* of " +"the marked text span (see :ref:`AdobeManual`, page 403)." +msgstr "텍스트 마크업 주석 -- 표시된 텍스트 스팬의 *QuadPoints* 를 지정하는 4개의 float 쌍(:ref:`AdobeManual`, 403페이지 참조)." + +#: ../../annot.rst:501 09ceddfd7c4642e187b77e4fe278f331 +msgid "" +"'Ink' -- list of one to many sublists of vertex coordinates. Each such " +"sublist represents a separate line in the drawing." +msgstr "'Ink' -- 하나에서 많은 개수의 정점 좌표 하위 목록 목록. 각 하위 목록은 그리기의 별도 라인을 나타냅니다." + +#: ../../annot.rst:508 e363318aa7cb46ff97b34487bc567275 +msgid "" +"dictionary of two lists of floats in range *0 <= float <= 1* specifying " +"the \"stroke\" and the interior (\"fill\") colors. The stroke color is " +"used for borders and everything that is actively painted or written " +"(\"stroked\"). The fill color is used for the interior of objects like " +"line ends, circles and squares. The lengths of these lists implicitly " +"determine the colorspaces used: 1 = GRAY, 3 = RGB, 4 = CMYK. So \"[1.0, " +"0.0, 0.0]\" stands for RGB color red. Both lists can be empty if no color" +" is specified. Be aware about some potentially unexpected cases:" +msgstr "*0 <= float <= 1* 범위의 float 두 목록으로 \"stroke\" 및 내부(\"fill\") 색상을 지정하는 딕셔너리. 스트로크 색상은 테두리와 활성적으로 그려지거나 작성된 모든 것(\"stroked\")에 사용됩니다. 채우기 색상은 라인 끝, 원 및 사각형과 같은 객체의 내부에 사용됩니다. 이러한 목록의 길이는 암묵적으로 사용되는 색상 공간을 결정합니다: 1 = GRAY, 3 = RGB, 4 = CMYK. 따라서 \"[1.0, 0.0, 0.0]\"은 RGB 색상 빨강을 나타냅니다. 색상이 지정되지 않은 경우 두 목록 모두 비어 있을 수 있습니다. 잠재적으로 예상치 못한 경우에 유의하세요:" + +#: ../../annot.rst:510 c98f3742209a4834b74c3d4385888358 +msgid "" +"The color of Highlight annotations is a **stroke** color, contrary to " +"intuition." +msgstr "Highlight 주석의 색상은 직관과 반대로 **stroke** 색상입니다." + +#: ../../annot.rst:511 2d1b77af92f94df2901498dee3ecf512 +msgid "" +"The color if FreeText annotations is a **stroke** color, but appears as " +"the color that fills the rectangle and any applicable line end symbols. " +"Text color and border color cannot be accessed at all." +msgstr "FreeText 주석의 색상은 **stroke** 색상이지만, 사각형과 모든 적용 가능한 라인 끝 심볼을 채우는 색상으로 나타납니다. 텍스트 색상과 테두리 색상은 전혀 액세스할 수 없습니다." + +#: ../../annot.rst:517 5673a83fdd3046e1a25a02e890bf9503 +msgid "The PDF :data:`xref`." +msgstr "PDF :data:`xref`." + +#: ../../annot.rst:523 80d30458b0ae4d81a75fccb23e4560df +msgid "" +"The PDF :data:`xref` of an annotation to which this one responds. Return " +"zero if this is no response annotation." +msgstr "이 주석이 응답하는 주석의 PDF :data:`xref`. 응답 주석이 아니면 0을 반환합니다." + +#: ../../annot.rst:529 adc968b773a6471aba76a7111c2340a5 +msgid "" +"The PDF :data:`xref` of the associated Popup annotation. Zero if non-" +"existent." +msgstr "연결된 Popup 주석의 PDF :data:`xref`. 존재하지 않으면 0." + +#: ../../annot.rst:535 87e7894e6b484ea3b6e9b676e28d88b3 +msgid "Whether the annotation has a Popup annotation." +msgstr "주석에 Popup 주석이 있는지 여부." + +#: ../../annot.rst:541 a5edaf80b163482b844afac753dce499 +msgid "" +"Whether the annotation's Popup is open -- **or** the annotation itself " +"('Text' annotations only)." +msgstr "주석의 Popup이 열려 있는지 여부 -- **또는** 주석 자체('Text' 주석만 해당)." + +#: ../../annot.rst:547 600f5a64e8a4400da0c1ae35c135efd1 +msgid "" +"The rectangle of the associated Popup annotation. Infinite rectangle if " +"non-existent." +msgstr "연결된 Popup 주석의 사각형. 존재하지 않으면 무한 사각형." + +#: ../../annot.rst:553 9fd4e2374ea64a4f895272c2450db57b +msgid "" +"A tuple of four floats representing the `/RD` entry of the annotation. " +"The four numbers describe the numerical differences (left, top, -right, " +"-bottom) between two rectangles: the :attr:`rect` of the annotation and a" +" rectangle contained within that rectangle. If the entry is missing, this" +" property is `(0, 0, 0, 0)`. If the annotation border is a normal, " +"straight line, these numbers are typically border width divided by 2. If " +"the annotation has a \"cloudy\" border, you will see the breadth of the " +"cloud semi-circles here. In general, the numbers need not be identical. " +"To compute the inner rectangle do `a.rect + a.rect_delta`." +msgstr "주석의 `/RD` 항목을 나타내는 4개의 float 튜플. 네 숫자는 두 사각형(주석의 :attr:`rect` 와 그 사각형 내에 포함된 사각형) 사이의 수치 차이(왼쪽, 위쪽, -오른쪽, -아래쪽)를 설명합니다. 항목이 없으면 이 속성은 `(0, 0, 0, 0)` 입니다. 주석 테두리가 일반적인 직선인 경우, 이러한 숫자는 일반적으로 테두리 너비를 2로 나눈 값입니다. 주석에 \"cloudy\" 테두리가 있으면 여기에서 클라우드 반원의 폭을 볼 수 있습니다. 일반적으로 숫자가 동일할 필요는 없습니다. 내부 사각형을 계산하려면 `a.rect + a.rect_delta` 를 수행하세요." + +#: ../../annot.rst:557 76373f31dcbe446392d079eb34532b34 +msgid "" +"A dictionary containing border characteristics. Empty if no border " +"information exists. The following keys may be present:" +msgstr "테두리 특성을 포함하는 딕셔너리. 테두리 정보가 없으면 비어 있습니다. 다음 키가 있을 수 있습니다:" + +#: ../../annot.rst:559 2a2fab2fdf524b6184a1f5b62304135a +msgid "" +"*width* -- a float indicating the border thickness in points. The value " +"is -1.0 if no width is specified." +msgstr "*width* -- 포인트 단위의 테두리 두께를 나타내는 float. 너비가 지정되지 않으면 값은 -1.0입니다." + +#: ../../annot.rst:561 ee7176832c7e4740b78bb806706a9d04 +msgid "" +"*dashes* -- a sequence of integers specifying a line dashing pattern. " +"*[]* means no dashes, *[n]* means equal on-off lengths of *n* points, " +"longer lists will be interpreted as specifying alternating on-off length " +"values. See the :ref:`AdobeManual` page 126 for more details." +msgstr "*dashes* -- 라인 파선 패턴을 지정하는 정수 시퀀스. *[]* 는 파선 없음을 의미하고, *[n]* 는 *n* 포인트의 동일한 on-off 길이를 의미하며, 더 긴 목록은 교대 on-off 길이 값을 지정하는 것으로 해석됩니다. 자세한 내용은 :ref:`AdobeManual` 126페이지를 참조하세요." + +#: ../../annot.rst:563 994ba35808ba4456b6568752b410a28e +msgid "" +"*style* -- 1-byte border style: **\"S\"** (Solid) = solid line " +"surrounding the annotation, **\"D\"** (Dashed) = dashed line surrounding " +"the annotation, the dash pattern is specified by the *dashes* entry, " +"**\"B\"** (Beveled) = a simulated embossed rectangle that appears to be " +"raised above the surface of the page, **\"I\"** (Inset) = a simulated " +"engraved rectangle that appears to be recessed below the surface of the " +"page, **\"U\"** (Underline) = a single line along the bottom of the " +"annotation rectangle." +msgstr "*style* -- 1바이트 테두리 스타일: **\"S\"** (Solid) = 주석을 둘러싸는 실선, **\"D\"** (Dashed) = 주석을 둘러싸는 파선, 파선 패턴은 *dashes* 항목으로 지정됨, **\"B\"** (Beveled) = 페이지 표면 위에 올라간 것처럼 보이는 시뮬레이션된 볼록 사각형, **\"I\"** (Inset) = 페이지 표면 아래로 움푹 들어간 것처럼 보이는 시뮬레이션된 조각 사각형, **\"U\"** (Underline) = 주석 사각형의 하단을 따른 단일 라인." + +#: ../../annot.rst:565 7700bc48fde44a268bcd7c4a8afa5304 +msgid "" +"*clouds* -- an integer indicating a \"cloudy\" border, where ``n`` is an " +"integer `-1 <= n <= 2`. A value `n = 0` indicates a straight line (no " +"clouds), 1 means small and 2 means large semi-circles, mimicking the " +"cloudy appearance. If -1, then no specification is present." +msgstr "*clouds* -- \"cloudy\" 테두리를 나타내는 정수, 여기서 ``n`` 은 정수 `-1 <= n <= 2`. 값 `n = 0` 은 직선(클라우드 없음)을 나타내고, 1은 작은 반원을, 2는 큰 반원을 의미하여 클라우드 모양을 모방합니다. -1이면 지정이 없습니다." + +#: ../../annot.rst:573 332ac742d76d48529ceb6b4e40f7295a +msgid "Annotation Icons in MuPDF" +msgstr "MuPDF의 주석 아이콘" + +#: ../../annot.rst:574 21859a0e63974afa950419ab98ff55e6 +msgid "" +"This is a list of icons referenceable by name for annotation types 'Text'" +" and 'FileAttachment'. You can use them via the *icon* parameter when " +"adding an annotation, or use the as argument in :meth:`Annot.set_name`. " +"It is left to your discretion which item to choose when -- no mechanism " +"will keep you from using e.g. the \"Speaker\" icon for a " +"'FileAttachment'." +msgstr "이것은 'Text' 및 'FileAttachment' 주석 타입에 대해 이름으로 참조할 수 있는 아이콘 목록입니다. 주석을 추가할 때 *icon* 매개변수를 통해 사용하거나 :meth:`Annot.set_name` 의 인수로 사용할 수 있습니다. 어떤 항목을 선택할지는 사용자의 재량에 맡겨집니다 -- 예를 들어 'FileAttachment'에 \"Speaker\" 아이콘을 사용하는 것을 막는 메커니즘은 없습니다." + +#: ../../annot.rst:580 cb12c1793cdb4341b24fbf6538c60d1c +msgid "Example" +msgstr "예제" + +#: ../../annot.rst:581 a2296e47889a4fec983f5aa41e485291 +msgid "" +"Change the graphical image of an annotation. Also update the \"author\" " +"and the text to be shown in the popup window::" +msgstr "주석의 그래픽 이미지를 변경합니다. 또한 팝업 창에 표시될 \"author\" 및 텍스트를 업데이트합니다::" + +#: ../../annot.rst:604 7bff751c7d604fe38047b43fdeb95933 +msgid "" +"This is how the circle annotation looks like before and after the change " +"(pop-up windows displayed using Nitro PDF viewer):" +msgstr "변경 전후의 원 주석 모습입니다(Nitro PDF 뷰어를 사용하여 표시된 팝업 창):" + +#: ../../annot.rst:606 479b5bc5389b486e92aaf64c6226c673 +msgid "|circle|" +msgstr "" + +#: ../../annot.rst:608 031e9835b5ea4674bd3bcd678ae780a5 +#: 8bea81da58c844a9abeb9a5253d1a9b6 +msgid "circle" +msgstr "circle" + +#: ../../annot.rst:612 a8717fc2c8cd4706b95166aae42c2f9b +msgid "Footnotes" +msgstr "각주" + +#: ../../annot.rst:613 6d03771b774345a5b005846ee4002288 +msgid "" +"Rotating an annotation also changes its rectangle. Depending on how the " +"annotation was defined, the original rectangle is **cannot be " +"reconstructed** by setting the rotation value to zero again and will be " +"lost." +msgstr "주석을 회전시키면 사각형도 변경됩니다. 주석이 정의된 방식에 따라 원래 사각형은 회전 값을 다시 0으로 설정해도 **재구성할 수 없으며** 손실됩니다." + +#: ../../annot.rst:615 c6c9d602fa054b6fac8c6ec2c52ad078 +msgid "" +"Only the following annotation types support method " +":meth:`Annot.set_rect`: Text, FreeText, Square, Circle, Redact, Stamp, " +"Caret, FileAttachment, Sound, and Movie." +msgstr "다음 주석 타입만 :meth:`Annot.set_rect` 메서드를 지원합니다: Text, FreeText, Square, Circle, Redact, Stamp, Caret, FileAttachment, Sound, Movie." + +#: ../../footer.rst:46 bc670bbcee16481398498b6cc9d3f828 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/app1.mo b/docs/locales/ko/LC_MESSAGES/app1.mo new file mode 100644 index 000000000..faa3b74a3 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/app1.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/app1.po b/docs/locales/ko/LC_MESSAGES/app1.po new file mode 100644 index 000000000..6a7631067 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/app1.po @@ -0,0 +1,646 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 b63e36b67e8a44e789752decae758e83 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 e0da5e0d85184ed69a42ef8e32e4ed85 +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 e06822680b004870af6da375e9614933 +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" + +#: ../../app1.rst:7 4aa59227e1bc4902938be155b3c846ab +msgid "Appendix 1: Details on Text Extraction" +msgstr "부록 1: 텍스트 추출에 대한 세부사항" + +#: ../../app1.rst:8 c4a15e5247104a09bb9b36ac199c0a28 +msgid "" +"This chapter provides background on the text extraction methods of " +"PyMuPDF." +msgstr "이 장은 |PyMuPDF| 의 텍스트 추출 메서드에 대한 배경 정보를 제공합니다." + +#: ../../app1.rst:10 2e9bc8cf9b71428b8520ed5b6afad430 +msgid "Information of interest are" +msgstr "관심 있는 정보는 다음과 같습니다" + +#: ../../app1.rst:12 0deb2f883f5f4387bde429329f1bae7b +msgid "what do they provide?" +msgstr "그들이 무엇을 제공하는가?" + +#: ../../app1.rst:13 45c9c32702024484bdb3305c7e87faf7 +msgid "what do they imply (processing time / data sizes)?" +msgstr "그들이 무엇을 의미하는가(처리 시간 / 데이터 크기)?" + +#: ../../app1.rst:16 fde4b48bf0784a33849cd72c5d22218c +msgid "General structure of a TextPage" +msgstr "TextPage의 일반적인 구조" + +#: ../../app1.rst:17 7fc02c7d51cd42079849d6836d102acc +msgid "" +":ref:`TextPage` is one of (Py-) MuPDF's classes. It is normally created " +"(and destroyed again) behind the curtain, when :ref:`Page` text " +"extraction methods are used, but it is also available directly and can be" +" used as a persistent object. Other than its name suggests, images may " +"optionally also be part of a text page::" +msgstr ":ref:`TextPage` 는 (Py-) |MuPDF| 의 클래스 중 하나입니다. 일반적으로 :ref:`Page` 텍스트 추출 메서드가 사용될 때 배후에서 생성(그리고 다시 파괴)되지만, 직접 사용할 수도 있으며 영구 객체로 사용할 수 있습니다. 이름이 시사하는 것과 달리, 이미지는 선택적으로 텍스트 페이지의 일부일 수도 있습니다::" + +#: ../../app1.rst:27 66fcac07e660407fa94a50c99aacdd57 +msgid "A **text page** consists of blocks (= roughly paragraphs)." +msgstr "**텍스트 페이지** 는 블록(= 대략 단락)으로 구성됩니다." + +#: ../../app1.rst:29 0be706ea23474e148d6ac4453252bd47 +msgid "A **block** consists of either lines and their characters, or an image." +msgstr "**블록** 은 행과 그 문자, 또는 이미지로 구성됩니다." + +#: ../../app1.rst:31 c0a517869bb34a7d97003a5aef98fd51 +msgid "A **line** consists of spans." +msgstr "**행** 은 스팬으로 구성됩니다." + +#: ../../app1.rst:33 517dd3b2b07645b8b02c39add65933dd +msgid "" +"A **span** consists of adjacent characters with identical font " +"properties: name, size, flags and color." +msgstr "**스팬** 은 동일한 글꼴 속성(이름, 크기, 플래그 및 색상)을 가진 인접한 문자로 구성됩니다." + +#: ../../app1.rst:36 275e9dfe8a8c43eaac52d976da135915 +msgid "Plain Text" +msgstr "일반 텍스트" + +#: ../../app1.rst:38 9d36b5923a304f7a9edbb308a34e087e +msgid "" +"Function :meth:`TextPage.extractText` (or *Page.get_text(\"text\")*) " +"extracts a page's plain **text in original order** as specified by the " +"creator of the document." +msgstr "함수 :meth:`TextPage.extractText` (또는 *Page.get_text(\"text\")*) 는 문서 작성자가 지정한 대로 페이지의 일반 **텍스트를 원래 순서대로** 추출합니다." + +#: ../../app1.rst:40 a844cfb991fb44ba922960d023c28deb +msgid "An example output::" +msgstr "예제 출력::" + +#: ../../app1.rst:45 83c6c339e3924476b41ff9b80c5e50d9 +msgid "" +"The output may not equal an accustomed \"natural\" reading order. " +"However, you can request a reordering following the scheme \"top-left to " +"bottom-right\" by executing `page.get_text(\"text\", sort=True)`." +msgstr "출력이 익숙한 \"자연스러운\" 읽기 순서와 같지 않을 수 있습니다. 그러나 `page.get_text(\"text\", sort=True)` 를 실행하여 \"왼쪽 위에서 오른쪽 아래로\" 체계에 따라 재정렬을 요청할 수 있습니다." + +#: ../../app1.rst:49 ../../app1.rst:337 19e4af19f3d74a33909a5898279c5eab +#: 4eb48dd8cc9e4ac88b8890d5ed10f9a7 +msgid "BLOCKS" +msgstr "BLOCKS" + +#: ../../app1.rst:51 686c7ad1dcf54c52be5a45853aad1f78 +msgid "" +"Function :meth:`TextPage.extractBLOCKS` (or *Page.get_text(\"blocks\")*) " +"extracts a page's text blocks as a list of items like::" +msgstr "함수 :meth:`TextPage.extractBLOCKS` (또는 *Page.get_text(\"blocks\")*) 는 페이지의 텍스트 블록을 다음과 같은 항목 목록으로 추출합니다::" + +#: ../../app1.rst:55 c216dd1a83d846b19dfbfc40fbbb3a86 +msgid "" +"Where the first 4 items are the float coordinates of the block's bbox. " +"The lines within each block are concatenated by a new-line character." +msgstr "여기서 처음 4개 항목은 블록의 bbox의 부동 소수점 좌표입니다. 각 블록 내의 행은 줄바꿈 문자로 연결됩니다." + +#: ../../app1.rst:57 ac5e7636040b407abf4b4c74f54734e6 +msgid "" +"This is a high-speed method, which by default also extracts image meta " +"information: Each image appears as a block with one text line, which " +"contains meta information. The image itself is not shown." +msgstr "이것은 고속 메서드이며, 기본적으로 이미지 메타 정보도 추출합니다: 각 이미지는 메타 정보를 포함하는 하나의 텍스트 행이 있는 블록으로 나타납니다. 이미지 자체는 표시되지 않습니다." + +#: ../../app1.rst:59 493c35f505154b66a5413eb8aae3f20b +msgid "" +"As with simple text output above, the `sort` argument can be used as well" +" to obtain a reading order." +msgstr "위의 간단한 텍스트 출력과 마찬가지로 `sort` 인수를 사용하여 읽기 순서를 얻을 수 있습니다." + +#: ../../app1.rst:61 ../../app1.rst:79 3b27a871707241fab31e8b57d54a181b +#: 72a6a0bd50b84a369ab338f015c7c0c5 +msgid "Example output::" +msgstr "예제 출력::" + +#: ../../app1.rst:69 ../../app1.rst:338 2b7c8cb324cd43a5935bad475501fbba +#: ac2182e6a5334397ba4cba52f6a0ecbb +msgid "WORDS" +msgstr "WORDS" + +#: ../../app1.rst:71 bd891cd06d344be6a34c3533eef6b2b1 +msgid "" +"Function :meth:`TextPage.extractWORDS` (or *Page.get_text(\"words\")*) " +"extracts a page's text **words** as a list of items like::" +msgstr "함수 :meth:`TextPage.extractWORDS` (또는 *Page.get_text(\"words\")*) 는 페이지의 텍스트 **단어** 를 다음과 같은 항목 목록으로 추출합니다::" + +#: ../../app1.rst:75 7b33ff6ba92d470f8bab020fcd37037d +msgid "" +"Where the first 4 items are the float coordinates of the words's bbox. " +"The last three integers provide some more information on the word's " +"whereabouts." +msgstr "여기서 처음 4개 항목은 단어의 bbox의 부동 소수점 좌표입니다. 마지막 세 정수는 단어의 위치에 대한 추가 정보를 제공합니다." + +#: ../../app1.rst:77 d553fb9cb8484714ba2faab69dc0c761 +msgid "" +"This is a high-speed method. As with the previous methods, argument " +"`sort=True` will reorder the words." +msgstr "이것은 고속 메서드입니다. 이전 메서드와 마찬가지로 인수 `sort=True` 는 단어를 재정렬합니다." + +#: ../../app1.rst:95 ../../app1.rst:341 4c71524cc80240d8a4a615692160ee42 +#: 6e202dc149ab40d4a04fbf729bde5724 +msgid "HTML" +msgstr "HTML" + +#: ../../app1.rst:97 279a64262cf0486490e50a36ebcb9fc4 +msgid "" +":meth:`TextPage.extractHTML` (or *Page.get_text(\"html\")* output fully " +"reflects the structure of the page's ``TextPage`` -- much like DICT / " +"JSON below. This includes images, font information and text positions. If" +" wrapped in HTML header and trailer code, it can readily be displayed by " +"an internet browser. Our above example::" +msgstr ":meth:`TextPage.extractHTML` (또는 *Page.get_text(\"html\")* 출력은 페이지의 ``TextPage`` 구조를 완전히 반영합니다 -- 아래의 DICT / JSON과 매우 유사합니다. 이것은 이미지, 글꼴 정보 및 텍스트 위치를 포함합니다. HTML 헤더 및 트레일러 코드로 감싸면 인터넷 브라우저에서 쉽게 표시할 수 있습니다. 위의 예제::" + +#: ../../app1.rst:113 a754b6fee5f44c9e9763dd071ea484d3 +msgid "Controlling Quality of HTML Output" +msgstr "HTML 출력 품질 제어" + +#: ../../app1.rst:114 9d69d29a89e34b598cab8061b0df6acb +msgid "" +"While HTML output has improved a lot in MuPDF v1.12.0, it is not yet bug-" +"free: we have found problems in the areas **font support** and **image " +"positioning**." +msgstr "|MuPDF| v1.12.0에서 HTML 출력이 많이 개선되었지만, 아직 버그가 없지는 않습니다: **글꼴 지원** 및 **이미지 위치 지정** 영역에서 문제를 발견했습니다." + +#: ../../app1.rst:116 e323aee6a8184c43b04054264f0ad164 +msgid "" +"HTML text contains references to the fonts used of the original document." +" If these are not known to the browser (a fat chance!), it will replace " +"them with others; the results will probably look awkward. This issue " +"varies greatly by browser -- on my Windows machine, MS Edge worked just " +"fine, whereas Firefox looked horrible." +msgstr "HTML 텍스트에는 원본 문서에서 사용된 글꼴에 대한 참조가 포함되어 있습니다. 브라우저가 이를 알지 못하면(가능성은 낮지만!) 다른 것으로 대체할 수 있으며, 결과가 어색해 보일 수 있습니다. 이 문제는 브라우저에 따라 크게 다릅니다 -- Windows 머신에서 MS Edge는 잘 작동했지만 Firefox는 형편없이 보였습니다." + +#: ../../app1.rst:118 a3e819ae14b54c27a9a077e7e935cb86 +msgid "" +"For PDFs with a complex structure, images may not be positioned and / or " +"sized correctly. This seems to be the case for rotated pages and pages, " +"where the various possible page bbox variants do not coincide (e.g. " +"*MediaBox != CropBox*). We do not know yet, how to address this -- we " +"filed a bug at MuPDF's site." +msgstr "복잡한 구조를 가진 PDF의 경우 이미지가 올바르게 위치 지정되거나 크기 조정되지 않을 수 있습니다. 이것은 회전된 페이지와 다양한 가능한 페이지 bbox 변형이 일치하지 않는 페이지(예: *MediaBox != CropBox*)의 경우인 것 같습니다. 이것을 해결하는 방법은 아직 알지 못합니다 -- |MuPDF| 사이트에 버그를 제출했습니다." + +#: ../../app1.rst:120 eb269d37c6994ea68a4d82c390bd674f +msgid "" +"To address the font issue, you can use a simple utility script to scan " +"through the HTML file and replace font references. Here is a little " +"example that replaces all fonts with one of the :ref:`Base-14-Fonts`: " +"serifed fonts will become \"Times\", non-serifed \"Helvetica\" and " +"monospaced will become \"Courier\". Their respective variations for " +"\"bold\", \"italic\", etc. are hopefully done correctly by your browser::" +msgstr "글꼴 문제를 해결하기 위해 HTML 파일을 스캔하고 글꼴 참조를 교체하는 간단한 유틸리티 스크립트를 사용할 수 있습니다. 다음은 모든 글꼴을 :ref:`Base-14-Fonts` 중 하나로 교체하는 작은 예제입니다: 세리프 글꼴은 \"Times\"가 되고, 비세리프 글꼴은 \"Helvetica\"가 되며, 고정폭 글꼴은 \"Courier\"가 됩니다. \"bold\", \"italic\" 등에 대한 각각의 변형은 브라우저에서 올바르게 처리되기를 바랍니다::" + +#: ../../app1.rst:160 9a01edbae3494fb6bcfa415551ffe12d +msgid "DICT (or JSON)" +msgstr "DICT (또는 JSON)" + +#: ../../app1.rst:162 dc5943b2ac244ae3bd4c1c3cced27b9a +msgid "" +":meth:`TextPage.extractDICT` (or *Page.get_text(\"dict\", sort=False)*) " +"output fully reflects the structure of a ``TextPage`` and provides image " +"content and position detail (*bbox* -- boundary boxes in pixel units) for" +" every block, line and span. Images are stored as *bytes* for DICT output" +" and base64 encoded strings for JSON output." +msgstr ":meth:`TextPage.extractDICT` (또는 *Page.get_text(\"dict\", sort=False)*) 출력은 ``TextPage`` 구조를 완전히 반영하며 모든 블록, 행 및 스팬에 대한 이미지 콘텐츠 및 위치 세부 정보(*bbox* -- 픽셀 단위의 경계 상자)를 제공합니다. 이미지는 DICT 출력의 경우 *bytes* 로 저장되고 JSON 출력의 경우 base64 인코딩된 문자열로 저장됩니다." + +#: ../../app1.rst:164 c83998d97cb54af2a6c9e8ee068e02d3 +msgid "" +"For a visualization of the dictionary structure have a look at " +":ref:`textpagedict`." +msgstr "딕셔너리 구조의 시각화는 :ref:`textpagedict` 를 참조하세요." + +#: ../../app1.rst:166 dd7c1a96c694470682bfdfceee248a97 +msgid "Here is how this looks like::" +msgstr "다음은 이것이 어떻게 보이는지입니다::" + +#: ../../app1.rst:192 c2fb2cd52f07453b86d0afd6278fef62 +msgid "RAWDICT (or RAWJSON)" +msgstr "RAWDICT (또는 RAWJSON)" + +#: ../../app1.rst:193 7d7646fe8d554083af47f4d372febdde +msgid "" +":meth:`TextPage.extractRAWDICT` (or *Page.get_text(\"rawdict\", " +"sort=False)*) is an **information superset of DICT** and takes the detail" +" level one step deeper. It looks exactly like the above, except that the " +"*\"text\"* items (*string*) in the spans are replaced by the list " +"*\"chars\"*. Each *\"chars\"* entry is a character *dict*. For example, " +"here is what you would see in place of item *\"text\": \"Text in black " +"color.\"* above::" +msgstr ":meth:`TextPage.extractRAWDICT` (또는 *Page.get_text(\"rawdict\", sort=False)*) 는 **DICT의 정보 상위 집합** 이며 세부 수준을 한 단계 더 깊게 가져갑니다. 위와 정확히 같아 보이지만, 스팬의 *\"text\"* 항목(*string*)이 *\"chars\"* 목록으로 대체됩니다. 각 *\"chars\"* 항목은 문자 *dict* 입니다. 예를 들어, 위의 *\"text\": \"Text in black color.\"* 항목 대신 다음과 같은 것을 볼 수 있습니다::" + +#: ../../app1.rst:224 ../../app1.rst:339 2400046f9c4f49858da21224a19d4b15 +#: 2d3722af4f584209bd8eaab07e032c6d +msgid "XML" +msgstr "XML" + +#: ../../app1.rst:226 c5a5b0c5667b42278fbebec3ebb83fab +msgid "" +"The :meth:`TextPage.extractXML` (or *Page.get_text(\"xml\")*) version " +"extracts text (no images) with the detail level of RAWDICT::" +msgstr ":meth:`TextPage.extractXML` (또는 *Page.get_text(\"xml\")*) 버전은 RAWDICT의 세부 수준으로 텍스트(이미지 없음)를 추출합니다::" + +#: ../../app1.rst:255 76940447ff984e9f8267433f30622b18 +msgid "" +"We have successfully tested `lxml `_ to " +"interpret this output." +msgstr "이 출력을 해석하기 위해 `lxml `_ 를 성공적으로 테스트했습니다." + +#: ../../app1.rst:258 ../../app1.rst:340 a405be8a4b8c4148920284c0af5d2a21 +#: def99570eabf40eb9a2296563cf87c89 +msgid "XHTML" +msgstr "XHTML" + +#: ../../app1.rst:259 f860ba05b7b84b0cbbd677dfb53ba52c +msgid "" +":meth:`TextPage.extractXHTML` (or *Page.get_text(\"xhtml\")*) is a " +"variation of TEXT but in HTML format, containing the bare text and images" +" (\"semantic\" output)::" +msgstr ":meth:`TextPage.extractXHTML` (또는 *Page.get_text(\"xhtml\")*) 는 TEXT의 변형이지만 HTML 형식이며, 일반 텍스트와 이미지를 포함합니다(\"의미론적\" 출력)::" + +#: ../../app1.rst:268 0f8064883834458ab08418752216e011 +msgid "Text Extraction Flags Defaults" +msgstr "텍스트 추출 플래그 기본값" + +#: ../../app1.rst:269 8ba849c311aa457d85362ff7f4f1819e +msgid "" +"New in version 1.16.2: Method :meth:`Page.get_text` supports a keyword " +"parameter *flags* *(int)* to control the amount and the quality of " +"extracted data. The following table shows the defaults settings (flags " +"parameter omitted or None) for each extraction variant. If you specify " +"flags with a value other than ``None``, be aware that you must set **all " +"desired** options. A description of the respective bit settings can be " +"found in :ref:`TextPreserve`." +msgstr "버전 1.16.2의 새로운 기능: 메서드 :meth:`Page.get_text` 는 추출된 데이터의 양과 품질을 제어하는 키워드 매개변수 *flags* *(int)* 를 지원합니다. 다음 표는 각 추출 변형에 대한 기본 설정(플래그 매개변수 생략 또는 None)을 보여줍니다. ``None`` 이 아닌 값으로 플래그를 지정하는 경우 **모든 원하는** 옵션을 설정해야 합니다. 각 비트 설정에 대한 설명은 :ref:`TextPreserve` 에서 찾을 수 있습니다." + +#: ../../app1.rst:271 d40d16d07939413e8c75c3dc13b1127c +msgid "" +"New in v1.19.6: The default combinations in the following table are now " +"available as Python constants: :data:`TEXTFLAGS_TEXT`, " +":data:`TEXTFLAGS_WORDS`, :data:`TEXTFLAGS_BLOCKS`, " +":data:`TEXTFLAGS_DICT`, :data:`TEXTFLAGS_RAWDICT`, " +":data:`TEXTFLAGS_HTML`, :data:`TEXTFLAGS_XHTML`, :data:`TEXTFLAGS_XML`, " +"and :data:`TEXTFLAGS_SEARCH`. You can now easily modify a default flag, " +"e.g." +msgstr "v1.19.6의 새로운 기능: 다음 표의 기본 조합은 이제 Python 상수로 사용할 수 있습니다: :data:`TEXTFLAGS_TEXT`, :data:`TEXTFLAGS_WORDS`, :data:`TEXTFLAGS_BLOCKS`, :data:`TEXTFLAGS_DICT`, :data:`TEXTFLAGS_RAWDICT`, :data:`TEXTFLAGS_HTML`, :data:`TEXTFLAGS_XHTML`, :data:`TEXTFLAGS_XML`, 및 :data:`TEXTFLAGS_SEARCH`. 이제 기본 플래그를 쉽게 수정할 수 있습니다. 예를 들어:" + +#: ../../app1.rst:273 dc924700aa9b4042894cae14679d63f2 +msgid "**include** images in a \"blocks\" output:" +msgstr "\"blocks\" 출력에 이미지를 **포함**:" + +#: ../../app1.rst:275 3d7561abbff8475c825b8d983783bf39 +msgid "`flags = TEXTFLAGS_BLOCKS | TEXT_PRESERVE_IMAGES`" +msgstr "`flags = TEXTFLAGS_BLOCKS | TEXT_PRESERVE_IMAGES`" + +#: ../../app1.rst:277 4ca8d0166e4646bd80fcc1d69f340a95 +msgid "**exclude** images from a \"dict\" output:" +msgstr "\"dict\" 출력에서 이미지를 **제외**:" + +#: ../../app1.rst:279 1a2e1663435b4abaa1b188e5d6bd9338 +msgid "`flags = TEXTFLAGS_DICT & ~TEXT_PRESERVE_IMAGES`" +msgstr "`flags = TEXTFLAGS_DICT & ~TEXT_PRESERVE_IMAGES`" + +#: ../../app1.rst:281 d3769cd425ff4854b0e4292af9c3a0e1 +msgid "set **dehyphenation off** in text searches:" +msgstr "텍스트 검색에서 **하이픈 제거를 끔**:" + +#: ../../app1.rst:283 2365979a4e104875a8c468496909f03d +msgid "`flags = TEXTFLAGS_SEARCH & ~TEXT_DEHYPHENATE`" +msgstr "`flags = TEXTFLAGS_SEARCH & ~TEXT_DEHYPHENATE`" + +#: ../../app1.rst:287 6f7f786332d34c359591ddf8d17a374b +msgid "Indicator" +msgstr "표시기" + +#: ../../app1.rst:287 5f2792809a9645ccaa7c3103a8c35f60 +msgid "text" +msgstr "text" + +#: ../../app1.rst:287 9330883adb104a8b880b90565531cf78 +msgid "html" +msgstr "html" + +#: ../../app1.rst:287 ead5e0f63b1849fcad0e1d2b7e718887 +msgid "xhtml" +msgstr "xhtml" + +#: ../../app1.rst:287 6c6f9476a4614058833f45708bdc20be +msgid "xml" +msgstr "xml" + +#: ../../app1.rst:287 0248ca12579948d7a86695462a79fdcb +msgid "dict" +msgstr "dict" + +#: ../../app1.rst:287 e7d633c232874f17bede991cf837d6c3 +msgid "rawdict" +msgstr "rawdict" + +#: ../../app1.rst:287 7fa4130e9ccf41c4a89237b146f501ef +msgid "words" +msgstr "words" + +#: ../../app1.rst:287 34941a4200304d7492e796f779d70af9 +msgid "blocks" +msgstr "blocks" + +#: ../../app1.rst:287 29648526b349495e89efdba8501f7d58 +msgid "search" +msgstr "search" + +#: ../../app1.rst:289 a7ced22ad3514aee9d5860e7a63e2585 +msgid "preserve ligatures" +msgstr "합자 유지" + +#: ../../app1.rst:289 ../../app1.rst:290 ../../app1.rst:291 ../../app1.rst:293 +#: ../../app1.rst:294 ../../app1.rst:295 0cb4cd763ef542608c195c6460b399dc +#: 0f43651d2736498e96beed8c24af63e9 20bddcebf4b543228091164700c68887 +#: 25d6766e4acb4fc49ec8e4fc1eb66529 2bc4aa25150c4d8c9902fd0ce38a2999 +#: 2bd684139d2e454d819cd76bed2bd102 2e7049fda6e14a2ca9a522be96770d00 +#: 2ea03f7b7fb14b7a976160f27232430c 48e9b5e2fdf046c8a01ae4b5cf3d92b7 +#: 51fcf587aa804e63a7afdca232a5123e 530e59a3a9bd4518859c2074f4a8fb16 +#: 5650d9d0ff634f79a775ea6061792d1e 57fc8ce1840144cfac20f2ad74fc2830 +#: 58b687804f9f44f78d42f22ec402f444 592dbaf3091e4acebbebdacbc132c557 +#: 5fe9aa6f8b084af9b13c0b18aabd3924 6a11a4e3a9ea4e17b2f62dac6565c592 +#: 7e477874caf041e4bfdb2b9715ca466b 8558f363af2e463c86807ec68536a6fe +#: 856d9f908ce4492d9d6e4d9942aeaf71 a030d647ca2549b28cd1f8423e3250ab +#: a0b1d47cb17f47bf8e80bb4647de9186 a1764775c19e4c57936ebdd4291fc8bb +#: ad1ab38b1e5448a784ec98ef8c12df3a b06d0e59e44649a28ad4fc081b0cee19 +#: b4f9c2410ff243ecab4fc54dc7d849e9 bfcb17e586004c2886905b1b94eeed1d +#: c0f6469d6bc44f709be506a3cdd9a339 c96eb459feb14f60ad45b43c108367f9 +#: d53f99316ae94e71b4d4480f84277945 d5838173cacf47a2b9d2d7ab0f3cbab0 +#: d5b75f9369ea4ceba86c82894b7cad40 d87075ec3a7d4392aed8b7b4266e41a4 +#: e13a6d7235c14b3fb15384adaba80ce9 e2ded0a0075c4d9e931b78360a6cef6b +#: e93caf9105d0420c9d8bb40bbf2cdf90 eab3ab57cb1548baaf7011b0604ed429 +#: f0220244eb534ddda9c6a22290717a50 f7971b72219d4d95b439b84693a28f73 +msgid "1" +msgstr "" + +#: ../../app1.rst:289 ../../app1.rst:291 ../../app1.rst:292 ../../app1.rst:293 +#: ../../app1.rst:295 011c44af019c41c298922bebee1b1c11 +#: 12c4cb08b28542d49005e9339fe0834c 1c35e49b6df44d79bff74df1b4d78b83 +#: 21f7a63996d64dcb83a41b385bdfe468 31af0f63c4434ef3b9b3bf48be4f77a8 +#: 3b439777a243470cbeaa2171bb389696 428e7a5d17e14bd2823284322ebe8792 +#: 43fd32ccc6b84942abf31f7c7066b718 46be00d2353b4350993b3ade6d4555e5 +#: 517834e9ea544ee48a80774f32298485 594207767efc47ac9b5174f8d44bc078 +#: 5fad2f44f76842fdae75090a3d39fe7a 6273d3b284c94893ae7f4cee674e31bf +#: 9e452b6cb65f4c7ea9fe05f5e312a3e8 a577f5deaa234a9a8a05f26b7c1b7368 +#: b28c3e3b6015418c983c625e5bc7f5b5 b4566a369cf745989dcdde6fb5650bb8 +#: bf6d2bf8b3bf4c26b4f6c86f2dd651a6 c984d40f754d445c9df1e4477d112414 +#: dab827d3d3944e789a78bf1474d0f410 ded8f8ccfe914788a0b031d4fa55fb21 +msgid "0" +msgstr "" + +#: ../../app1.rst:290 d4a8b0082348457c9b3a7f0c83dde31d +msgid "preserve whitespace" +msgstr "공백 유지" + +#: ../../app1.rst:291 7cff9f000b1f41abbca9effe3a08af35 +msgid "preserve images" +msgstr "이미지 유지" + +#: ../../app1.rst:291 2dbd9b27a6ad426cb7dcc9be3911020b +#: c63946a2a43041a995ca0fbeb23153ef d209151eb3624d868e0ce8d60b9347b8 +msgid "n/a" +msgstr "해당 없음" + +#: ../../app1.rst:292 5a4bb22be2824af98d9db38f003324d8 +msgid "inhibit spaces" +msgstr "공백 억제" + +#: ../../app1.rst:293 cb5ae3cd443344048f5ddc1e916152df +msgid "dehyphenate" +msgstr "하이픈 제거" + +#: ../../app1.rst:294 ac1c83a387304202a50381f999e13a9b +msgid "clip to mediabox" +msgstr "미디어박스로 자르기" + +#: ../../app1.rst:295 0fec3cdc767c4ecc80645956dbdaa050 +msgid "use CID instead of U+FFFD" +msgstr "U+FFFD 대신 CID 사용" + +#: ../../app1.rst:298 3e0abf5ee8404c7c85743a6d0c348e5f +msgid "**search** refers to the text search function." +msgstr "**search** 는 텍스트 검색 함수를 나타냅니다." + +#: ../../app1.rst:299 2063c0aa9e6746fca18404258dea465f +msgid "**\"json\"** is handled exactly like **\"dict\"** and is hence left out." +msgstr "**\"json\"** 은 **\"dict\"** 와 정확히 동일하게 처리되므로 생략되었습니다." + +#: ../../app1.rst:300 4a5e41e47c864b39a729542c7bb2ae23 +msgid "" +"**\"rawjson\"** is handled exactly like **\"rawdict\"** and is hence left" +" out." +msgstr "**\"rawjson\"** 은 **\"rawdict\"** 와 정확히 동일하게 처리되므로 생략되었습니다." + +#: ../../app1.rst:301 5783eaf8a223417bbb6edf7595657706 +msgid "" +"An \"n/a\" specification means a value of 0 and setting this bit never " +"has any effect on the output (but an adverse effect on performance)." +msgstr "\"n/a\" 지정은 값이 0임을 의미하며 이 비트를 설정해도 출력에 영향을 주지 않습니다(하지만 성능에 부정적인 영향을 미칩니다)." + +#: ../../app1.rst:302 b5dddb0dc411425db6bc1a169ff2a8d4 +msgid "" +"If you are not interested in images when using an output variant which " +"includes them by default, then by all means set the respective bit off: " +"You will experience a better performance and much lower space " +"requirements." +msgstr "기본적으로 이미지를 포함하는 출력 변형을 사용할 때 이미지에 관심이 없다면, 반드시 해당 비트를 끄세요: 더 나은 성능과 훨씬 낮은 공간 요구 사항을 경험할 수 있습니다." + +#: ../../app1.rst:304 608cc56e35e24516bf555cbdb28b782e +msgid "To show the effect of `TEXT_INHIBIT_SPACES` have a look at this example::" +msgstr "`TEXT_INHIBIT_SPACES` 의 효과를 보려면 이 예제를 참조하세요::" + +#: ../../app1.rst:324 73de41a5c50b4025bbb2c6a93243d3b7 +msgid "Performance" +msgstr "성능" + +#: ../../app1.rst:325 008bf5834d9c43878d55c1f182c383ad +msgid "" +"The text extraction methods differ significantly both: in terms of " +"information they supply, and in terms of resource requirements and " +"runtimes. Generally, more information of course means, that more " +"processing is required and a higher data volume is generated." +msgstr "텍스트 추출 메서드는 제공하는 정보와 리소스 요구 사항 및 실행 시간 측면에서 모두 크게 다릅니다. 일반적으로 더 많은 정보는 더 많은 처리가 필요하고 더 높은 데이터 볼륨이 생성됨을 의미합니다." + +#: ../../app1.rst:327 aa82ec64134a4f3bbbea8037e3f3835d +#, python-format +msgid "" +"Especially images have a **very significant** impact. Make sure to " +"exclude them (via the *flags* parameter) whenever you do not need them. " +"To process the below mentioned 2'700 total pages with default flags " +"settings required 160 seconds across all extraction methods. When all " +"images where excluded, less than 50% of that time (77 seconds) were " +"needed." +msgstr "특히 이미지는 **매우 큰** 영향을 미칩니다. 필요하지 않을 때는 반드시 제외하세요(*flags* 매개변수를 통해). 기본 플래그 설정으로 아래에 언급된 총 2,700페이지를 처리하는 데 모든 추출 메서드에서 160초가 필요했습니다. 모든 이미지가 제외되면 그 시간의 50% 미만(77초)이 필요했습니다." + +#: ../../app1.rst:329 74982287fc904cbe9d5f67869c717cff +msgid "" +"To begin with, all methods are **very fast** in relation to other " +"products out there in the market. In terms of processing speed, we are " +"not aware of a faster (free) tool. Even the most detailed method, " +"RAWDICT, processes all 1'310 pages of the :ref:`AdobeManual` in less than" +" 5 seconds (simple text needs less than 2 seconds here)." +msgstr "우선, 모든 메서드는 시장의 다른 제품과 비교하여 **매우 빠릅니다**. 처리 속도 측면에서 더 빠른(무료) 도구는 알지 못합니다. 가장 상세한 메서드인 RAWDICT조차 :ref:`AdobeManual` 의 모든 1,310페이지를 5초 미만으로 처리합니다(여기서는 간단한 텍스트가 2초 미만이 필요합니다)." + +#: ../../app1.rst:331 83629ccfb7c9414089033b0147642f2e +msgid "" +"The following table shows average relative speeds (\"RSpeed\", baseline " +"1.00 is TEXT), taken across ca. 1400 text-heavy and 1300 image-heavy " +"pages." +msgstr "다음 표는 약 1400페이지의 텍스트 중심 페이지와 1300페이지의 이미지 중심 페이지에서 가져온 평균 상대 속도(\"RSpeed\", 기준선 1.00은 TEXT)를 보여줍니다." + +#: ../../app1.rst:334 bc84a1d73aa545a3aca4437e5017ed0e +msgid "Method" +msgstr "메서드" + +#: ../../app1.rst:334 9368181159ab4fd6a75aae6bdaa5d189 +msgid "RSpeed" +msgstr "RSpeed" + +#: ../../app1.rst:334 7110ef6f2a7c4849a31df08c1bbf7f95 +msgid "Comments" +msgstr "설명" + +#: ../../app1.rst:334 e1c0047fd9194edba834839b48102df9 +msgid "no images" +msgstr "이미지 없음" + +#: ../../app1.rst:336 4b7a66b4248d47dc9f0ac0139eea5321 +msgid "TEXT" +msgstr "TEXT" + +#: ../../app1.rst:336 ../../app1.rst:337 ../../app1.rst:340 +#: 25343a3526d44c7e9147a4b83482b458 5c3d7bcdd77648fea697a40e67bab8fc +#: 6669d2767e5c49eeb1606eef0ef897e0 e55d755ae5ee4a62bd2e705a1b4974a4 +#: f0dcc7f23fa74accb9461d0e6ad00b34 +msgid "1.00" +msgstr "1.00" + +#: ../../app1.rst:336 74b3bb1df5a74fe7965c9a036c43b0b6 +msgid "no images, **plain** text, line breaks" +msgstr "이미지 없음, **일반** 텍스트, 줄바꿈" + +#: ../../app1.rst:337 db8f0e8c5f874c7bbbc6d938ebde2e18 +msgid "image bboxes (only), **block** level text with bboxes, line breaks" +msgstr "이미지 bbox(만), **블록** 수준 텍스트와 bbox, 줄바꿈" + +#: ../../app1.rst:338 075075d180484d1e9a104abafa5c7123 +#: 18d11064908b48228b89fe3c8c0d242c +msgid "1.02" +msgstr "1.02" + +#: ../../app1.rst:338 b3d7c61c84a84af98ad596efb0959503 +msgid "no images, **word** level text with bboxes" +msgstr "이미지 없음, **단어** 수준 텍스트와 bbox" + +#: ../../app1.rst:339 0c5c60a2ef4342038c3a2c60d07bd072 +#: ab025008beb540c3af6517c25c3731c8 +msgid "2.72" +msgstr "2.72" + +#: ../../app1.rst:339 233b3e8abb32457bb01d804468cd86e2 +msgid "no images, **char** level text, layout and font details" +msgstr "이미지 없음, **문자** 수준 텍스트, 레이아웃 및 글꼴 세부 정보" + +#: ../../app1.rst:340 495e91c0090643cd9239576c13e8f216 +msgid "3.32" +msgstr "3.32" + +#: ../../app1.rst:340 b4c7e848e2814720ab1d9fbeb303c9f9 +msgid "**base64** images, **span** level text, no layout info" +msgstr "**base64** 이미지, **스팬** 수준 텍스트, 레이아웃 정보 없음" + +#: ../../app1.rst:341 e1c73c9152e644efbed95fc738d1ae9d +msgid "3.54" +msgstr "3.54" + +#: ../../app1.rst:341 61d71ce102d24fbbb30ff945dc28f207 +msgid "**base64** images, **span** level text, layout and font details" +msgstr "**base64** 이미지, **스팬** 수준 텍스트, 레이아웃 및 글꼴 세부 정보" + +#: ../../app1.rst:341 892ba5e6677e4561bfe9a5dc406e3852 +msgid "1.01" +msgstr "1.01" + +#: ../../app1.rst:342 5b44d6bc99504bb4bc7e4d457aa5509f +msgid "DICT" +msgstr "DICT" + +#: ../../app1.rst:342 bb46e12ef905445f84a825d968043de6 +msgid "3.93" +msgstr "3.93" + +#: ../../app1.rst:342 426e28067c23452bb6edeb57689a7855 +msgid "**binary** images, **span** level text, layout and font details" +msgstr "**바이너리** 이미지, **스팬** 수준 텍스트, 레이아웃 및 글꼴 세부 정보" + +#: ../../app1.rst:342 16da06be2e1a492c94b26bb12c8c4022 +msgid "1.04" +msgstr "1.04" + +#: ../../app1.rst:343 02cf93b26e5f449e95976162924b980c +msgid "RAWDICT" +msgstr "RAWDICT" + +#: ../../app1.rst:343 0eddcb199db847968d5f20c520727971 +msgid "4.50" +msgstr "4.50" + +#: ../../app1.rst:343 7ae92e67a9f34967b697139a85969bff +msgid "**binary** images, **char** level text, layout and font details" +msgstr "**바이너리** 이미지, **문자** 수준 텍스트, 레이아웃 및 글꼴 세부 정보" + +#: ../../app1.rst:343 b31064906dbc405e9e886eab7a219b5f +msgid "1.68" +msgstr "1.68" + +#: ../../app1.rst:346 bbe02a1a6ecb4053aea6eac932438250 +#, python-format +msgid "" +"As mentioned: when excluding image extraction (last column), the relative" +" speeds are changing drastically: except RAWDICT and XML, the other " +"methods are almost equally fast, and RAWDICT requires 40% less execution " +"time than the **now slowest XML**." +msgstr "언급한 대로: 이미지 추출을 제외하면(마지막 열) 상대 속도가 크게 변합니다: RAWDICT와 XML을 제외하고 다른 메서드는 거의 동일하게 빠르며, RAWDICT는 **이제 가장 느린 XML** 보다 40% 적은 실행 시간이 필요합니다." + +#: ../../app1.rst:348 c9763e96efa94f389c83973e6830f9cc +msgid "Look at chapter **Appendix 1** for more performance information." +msgstr "더 많은 성능 정보는 **부록 1** 장을 참조하세요." + +#: ../../footer.rst:46 ee2a605b55f548d69f51e5e9c010b812 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/app2.mo b/docs/locales/ko/LC_MESSAGES/app2.mo new file mode 100644 index 000000000..2a2d0f968 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/app2.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/app2.po b/docs/locales/ko/LC_MESSAGES/app2.po new file mode 100644 index 000000000..ba17b5524 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/app2.po @@ -0,0 +1,133 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 91d1a3926cf04b7f86982004576a7dac +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 079f5f8f8d67400f8dff2c457815bc6e +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 f3ec318cd565440481d5fc24ebd6dd9d +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" + +#: ../../app2.rst:7 df962b6f73f94a62944d489a625e02f6 +msgid "Appendix 2: Considerations on Embedded Files" +msgstr "부록 2: 임베디드 파일에 대한 고려사항" + +#: ../../app2.rst:8 fea3691f2b5d49e3be0cdd79daecdb75 +msgid "" +"This chapter provides some background on embedded files support in " +"PyMuPDF." +msgstr "이 장은 |PyMuPDF| 에서 임베디드 파일 지원에 대한 배경 정보를 제공합니다." + +#: ../../app2.rst:11 e6abfba16abf44f5b53d5c259c06168e +msgid "General" +msgstr "일반" + +#: ../../app2.rst:12 2e9ff1e795ec4a80886665b6d98570d1 +msgid "" +"Starting with version 1.4, PDF supports embedding arbitrary files as part" +" (\"Embedded File Streams\") of a PDF document file (see chapter \"7.11.4" +" Embedded File Streams\", pp. 103 of the :ref:`AdobeManual`)." +msgstr "버전 1.4부터 PDF는 PDF 문서 파일의 일부로 임의의 파일을 임베딩하는 것을 지원합니다(\"Embedded File Streams\" 참조, :ref:`AdobeManual` 의 103페이지 \"7.11.4 Embedded File Streams\" 장 참조)." + +#: ../../app2.rst:15 3740cf26355f419488a18d5c5bf691e2 +msgid "" +"In many aspects, this is comparable to concepts also found in ZIP files " +"or the OLE technique in MS Windows. PDF embedded files do, however, *not*" +" support directory structures as does the ZIP format. An embedded file " +"can in turn contain embedded files itself." +msgstr "많은 측면에서 이것은 ZIP 파일이나 MS Windows의 OLE 기술에서도 볼 수 있는 개념과 유사합니다. 그러나 PDF 임베디드 파일은 ZIP 형식과 달리 디렉터리 구조를 *지원하지 않습니다*. 임베디드 파일은 차례로 자체적으로 임베디드 파일을 포함할 수 있습니다." + +#: ../../app2.rst:17 cf0b0ce27ac343a7989b881239cb446f +msgid "" +"Advantages of this concept are that embedded files are under the PDF " +"umbrella, benefitting from its permissions / password protection and " +"integrity aspects: all data, which a PDF may reference or even may be " +"dependent on, can be bundled into it and so form a single, consistent " +"unit of information." +msgstr "이 개념의 장점은 임베디드 파일이 PDF의 보호 아래에 있어 권한/비밀번호 보호 및 무결성 측면의 이점을 받는다는 것입니다: PDF가 참조하거나 의존할 수 있는 모든 데이터를 하나로 묶어 단일하고 일관된 정보 단위를 형성할 수 있습니다." + +#: ../../app2.rst:19 7979fde2425b48d89516fd519a799cb9 +msgid "" +"In addition to embedded files, PDF 1.7 adds *collections* to its support " +"range. This is an advanced way of storing and presenting meta information" +" (i.e. arbitrary and extensible properties) of embedded files." +msgstr "임베디드 파일 외에도 PDF 1.7은 지원 범위에 *collections* 를 추가합니다. 이것은 임베디드 파일의 메타 정보(즉, 임의의 확장 가능한 속성)를 저장하고 표시하는 고급 방법입니다." + +#: ../../app2.rst:22 96f7716c2f354c4e9734c53ec68da72d +msgid "MuPDF Support" +msgstr "|MuPDF| 지원" + +#: ../../app2.rst:23 c829491b2aaa4844aa1c48047af82974 +msgid "" +"After adding initial support for collections (portfolios) and " +"*/EmbeddedFiles* in MuPDF version 1.11, this support was dropped again in" +" version 1.15." +msgstr "|MuPDF| 버전 1.11에서 컬렉션(포트폴리오) 및 */EmbeddedFiles* 에 대한 초기 지원을 추가한 후, 이 지원은 버전 1.15에서 다시 제거되었습니다." + +#: ../../app2.rst:25 f683f1fd707f420b90cc13279f35ebc0 +msgid "" +"As a consequence, the cli utility *mutool* no longer offers access to " +"embedded files." +msgstr "결과적으로 CLI 유틸리티 *mutool* 은 더 이상 임베디드 파일에 대한 액세스를 제공하지 않습니다." + +#: ../../app2.rst:27 de207c079b314eaea490841b284ea876 +msgid "" +"PyMuPDF -- having implemented an */EmbeddedFiles* API in response in its " +"version 1.11.0 -- was therefore forced to change gears starting with its " +"version 1.16.0 (we never published a MuPDF v1.15.x compatible PyMuPDF)." +msgstr "|PyMuPDF| 는 버전 1.11.0에서 */EmbeddedFiles* API를 구현했기 때문에 버전 1.16.0부터 방향을 전환해야 했습니다(|MuPDF| v1.15.x와 호환되는 |PyMuPDF| 는 발행하지 않았습니다)." + +#: ../../app2.rst:29 73bd7a0c6aef40dea2819f6f52a55ff6 +msgid "" +"We are now maintaining our own code basis supporting embedded files. This" +" code makes use of basic MuPDF dictionary and array functions only." +msgstr "이제 임베디드 파일을 지원하는 자체 코드 기반을 유지 관리하고 있습니다. 이 코드는 기본 |MuPDF| 딕셔너리 및 배열 함수만 사용합니다." + +#: ../../app2.rst:32 de313e6dfe7e40e781939fab264fd4e5 +msgid "PyMuPDF Support" +msgstr "|PyMuPDF| 지원" + +#: ../../app2.rst:33 420a4c9141134c469dfb6d107c9bcd58 +msgid "" +"We continue to support the full old API with respect to embedded files --" +" with only minor, cosmetic changes." +msgstr "임베디드 파일과 관련하여 전체 이전 API를 계속 지원합니다 -- 단지 사소한 외관상의 변경만 있습니다." + +#: ../../app2.rst:35 66a7d51f81c6402caf1d00e67bd1bfd2 +msgid "" +"There even also is a new function, which delivers a list of all names " +"under which embedded data are registered in a PDF, " +":meth:`Document.embfile_names`." +msgstr "PDF에 임베디드 데이터가 등록된 모든 이름의 목록을 제공하는 새로운 함수도 있습니다: :meth:`Document.embfile_names`." + +#: ../../footer.rst:46 c600b715098140b3b7f197c61eb560ac +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/app3.mo b/docs/locales/ko/LC_MESSAGES/app3.mo new file mode 100644 index 000000000..62d6cddb4 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/app3.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/app3.po b/docs/locales/ko/LC_MESSAGES/app3.po new file mode 100644 index 000000000..4b79e3c14 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/app3.po @@ -0,0 +1,919 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PyMuPDF 1.26.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-03 09:30+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ko\n" +"Language-Team: ko \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.17.0\n" + +#: ../../header.rst:-1 e9b57a556ade45ada6ce4d2157d0a4fb +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 63a9ec4fe01846b68264a6fceec4b355 +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 116badf6cf724a168451fdd57616c081 +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" + +#: ../../app3.rst:7 28fa836c45cd4132be1daf6ef45c58b2 +msgid "Appendix 3: Assorted Technical Information" +msgstr "부록 3: 기타 기술 정보" + +#: ../../app3.rst:8 987ce4249079447cbdd011e22851e60d +msgid "" +"This section deals with various technical topics, that are not " +"necessarily related to each other." +msgstr "이 섹션은 서로 관련이 없을 수 있는 다양한 기술 주제를 다룹니다." + +#: ../../app3.rst:15 df054d36d114464baf858b0b6d6fd5e9 +msgid "Image Transformation Matrix" +msgstr "이미지 변환 행렬" + +#: ../../app3.rst:16 d08d81fa70c1456e8da48b9f7c45564a +msgid "" +"Starting with version 1.18.11, the image transformation matrix is " +"returned by some methods for text and image extraction: " +":meth:`Page.get_text` and :meth:`Page.get_image_bbox`." +msgstr "" +"버전 1.18.11부터 이미지 변환 행렬은 텍스트 및 이미지 추출을 위한 일부 메서드에서 반환됩니다: " +":meth:`Page.get_text` 및 :meth:`Page.get_image_bbox`." + +#: ../../app3.rst:18 9cc212e2752f49e78b3b1ae4b68f754f +msgid "" +"The transformation matrix contains information about how an image was " +"transformed to fit into the rectangle (its \"boundary box\" = \"bbox\") " +"on some document page. By inspecting the image's bbox on the page and " +"this matrix, one can determine for example, whether and how the image is " +"displayed scaled or rotated on a page." +msgstr "" +"변환 행렬은 이미지가 문서 페이지의 사각형(그 \"경계 상자\" = \"bbox\")에 맞도록 변환된 방법에 대한 정보를 " +"포함합니다. 페이지의 이미지 bbox와 이 행렬을 검사하면 예를 들어 이미지가 페이지에서 확대/축소되거나 회전되어 표시되는지 여부와" +" 방법을 결정할 수 있습니다." + +#: ../../app3.rst:20 5ff3fcc91d01440280b60dba6a823b73 +msgid "" +"The relationship between image dimension and its bbox on a page is the " +"following:" +msgstr "이미지 크기와 페이지의 bbox 간의 관계는 다음과 같습니다:" + +#: ../../app3.rst:24 38387aac6c4648878635157b4d9ac7ad +msgid "Using the original image's width and height," +msgstr "원본 이미지의 너비와 높이를 사용하여," + +#: ../../app3.rst:23 0658960617334ff1bb152cc26322575b +msgid "define the image rectangle `imgrect = pymupdf.Rect(0, 0, width, height)`" +msgstr "이미지 사각형을 정의합니다 `imgrect = pymupdf.Rect(0, 0, width, height)`" + +#: ../../app3.rst:24 e018e20b0f5b47c98051fb8fd2bf4309 +msgid "" +"define the \"shrink matrix\" `shrink = pymupdf.Matrix(1/width, 0, 0, " +"1/height, 0, 0)`." +msgstr "\"축소 행렬\"을 정의합니다 `shrink = pymupdf.Matrix(1/width, 0, 0, 1/height, 0, 0)`." + +#: ../../app3.rst:26 1e5bedf568fb4f28b0c289eba114264e +msgid "" +"Transforming the image rectangle with its shrink matrix, will result in " +"the unit rectangle: `imgrect * shrink = pymupdf.Rect(0, 0, 1, 1)`." +msgstr "" +"이미지 사각형을 축소 행렬로 변환하면 단위 사각형이 됩니다: `imgrect * shrink = pymupdf.Rect(0, 0, " +"1, 1)`." + +#: ../../app3.rst:28 87764bec92d3484da3cb5c4856fa0efe +msgid "" +"Using the image **transformation matrix** \"transform\", the following " +"steps will compute the bbox::" +msgstr "이미지 **변환 행렬** \"transform\"을 사용하면 다음 단계로 bbox를 계산합니다::" + +#: ../../app3.rst:34 eb03509b0e7b443b8123601dca26cd51 +msgid "" +"Inspecting the matrix product `shrink * transform` will reveal all " +"information about what happened to the image rectangle to make it fit " +"into the bbox on the page: rotation, scaling of its sides and translation" +" of its origin. Let us look at an example:" +msgstr "" +"행렬 곱 `shrink * transform` 을 검사하면 이미지 사각형이 페이지의 bbox에 맞도록 변환된 방법에 대한 모든 " +"정보(회전, 변의 크기 조정 및 원점 이동)를 알 수 있습니다. 예제를 살펴보겠습니다:" + +#: ../../app3.rst:71 52e5d34ae16540878399966cea671288 +msgid "PDF Base 14 Fonts" +msgstr "PDF Base 14 글꼴" + +#: ../../app3.rst:72 b1b6cb8420b845c3924bbaccd6738258 +msgid "" +"The following 14 builtin font names **must be supported by every PDF " +"viewer** application. They are available as a dictionary, which maps " +"their full names amd their abbreviations in lower case to the full font " +"basename. Wherever a **fontname** must be provided in PyMuPDF, any **key " +"or value** from the dictionary may be used::" +msgstr "" +"다음 14개의 내장 글꼴 이름은 **모든 PDF 뷰어** 애플리케이션에서 지원되어야 합니다. 이들은 딕셔너리로 제공되며, 전체 " +"이름과 소문자 약어를 전체 글꼴 기본 이름에 매핑합니다. |PyMuPDF| 에서 **fontname** 을 제공해야 하는 곳에서는 " +"딕셔너리의 **키 또는 값** 을 사용할 수 있습니다::" + +#: ../../app3.rst:105 11906948a25d421f9fc5dde554e86b3a +msgid "" +"In contrast to their obligation, not all PDF viewers support these fonts " +"correctly and completely -- this is especially true for Symbol and " +"ZapfDingbats. Also, the glyph (visual) images will be specific to every " +"reader." +msgstr "" +"의무와 달리 모든 PDF 뷰어가 이러한 글꼴을 올바르고 완전하게 지원하는 것은 아닙니다 -- 이것은 특히 Symbol과 " +"ZapfDingbats에 해당합니다. 또한 글리프(시각적) 이미지는 각 리더에 따라 다를 수 있습니다." + +#: ../../app3.rst:107 295160fa982d4747a5187ac69e7c5091 +msgid "" +"To see how these fonts can be used -- including the **CJK built-in** " +"fonts -- look at the table in :meth:`Page.insert_font`." +msgstr "" +"이러한 글꼴을 사용하는 방법을 보려면 -- **CJK 내장** 글꼴을 포함하여 -- :meth:`Page.insert_font` 의" +" 표를 참조하세요." + +#: ../../app3.rst:114 08bfb2d1eb8248a59eec7a4cf8c82af6 +msgid "Adobe PDF References" +msgstr "Adobe PDF 참조" + +#: ../../app3.rst:116 f91f72e7328b424584ef9343eb9274ff +msgid "" +"This PDF Reference manual published by Adobe is frequently quoted " +"throughout this documentation. It can be viewed and downloaded from " +"`opensource.adobe.com `_." +msgstr "" +"Adobe에서 발행한 이 PDF Reference 매뉴얼은 이 문서 전반에 걸쳐 자주 인용됩니다. " +"`opensource.adobe.com `_ 에서 볼 수 있고 다운로드할 수 " +"있습니다." + +#: ../../app3.rst:125 aa1776d20bbe4cfd8afaa0a73e420204 +msgid "Using Python Sequences as Arguments in PyMuPDF" +msgstr "|PyMuPDF| 에서 Python 시퀀스를 인수로 사용하기" + +#: ../../app3.rst:126 c5f3a5e6759b4dfbb449d4d691a10798 +msgid "" +"When PyMuPDF objects and methods require a Python **list** of numerical " +"values, other Python **sequence types** are also allowed. Python classes " +"are said to implement the **sequence protocol**, if they have a " +"`__getitem__()` method." +msgstr "" +"|PyMuPDF| 객체와 메서드가 숫자 값의 Python **list** 를 요구할 때, 다른 Python **시퀀스 타입** 도 " +"허용됩니다. Python 클래스는 `__getitem__()` 메서드를 가지고 있으면 **시퀀스 프로토콜** 을 구현한다고 합니다." + +#: ../../app3.rst:128 a2f4065016074783a3e692a5b44a9e6a +msgid "" +"This basically means, you can interchangeably use Python *list* or " +"*tuple* or even *array.array*, *numpy.array* and *bytearray* types in " +"these cases." +msgstr "" +"기본적으로 이것은 이러한 경우에 Python *list* 또는 *tuple* 또는 *array.array*, " +"*numpy.array* 및 *bytearray* 타입을 상호 교환하여 사용할 수 있음을 의미합니다." + +#: ../../app3.rst:130 5eb2ec1d221246a191dd8246f9602573 +msgid "For example, specifying a sequence `\"s\"` in any of the following ways" +msgstr "예를 들어, 다음 방법 중 하나로 시퀀스 `\"s\"` 를 지정하면" + +#: ../../app3.rst:132 9eb6b1a57a034a3d939841b3ccd8eb41 +msgid "`s = [1, 2]` -- a list" +msgstr "`s = [1, 2]` -- 리스트" + +#: ../../app3.rst:133 8c499f04e376417882319277967497e2 +msgid "`s = (1, 2)` -- a tuple" +msgstr "`s = (1, 2)` -- 튜플" + +#: ../../app3.rst:134 24338a6cbce547bfa3d4f9cb90ef10ea +msgid "`s = array.array(\"i\", (1, 2))` -- an array.array" +msgstr "`s = array.array(\"i\", (1, 2))` -- array.array" + +#: ../../app3.rst:135 36400eb511c94e05909f03f043285723 +msgid "`s = numpy.array((1, 2))` -- a numpy array" +msgstr "`s = numpy.array((1, 2))` -- numpy 배열" + +#: ../../app3.rst:136 caec64c89cc041fdbd1aa4c558b74a1b +msgid "`s = bytearray((1, 2))` -- a bytearray" +msgstr "`s = bytearray((1, 2))` -- bytearray" + +#: ../../app3.rst:138 e81f583d516a4bdfa3f77751e81a03d9 +msgid "will make it usable in the following example expressions:" +msgstr "다음 예제 표현식에서 사용할 수 있습니다:" + +#: ../../app3.rst:140 048fdce412374742b5e6d5861df9427c +msgid "`pymupdf.Point(s)`" +msgstr "`pymupdf.Point(s)`" + +#: ../../app3.rst:141 2a1345de7505441da80ff27558b70357 +msgid "`pymupdf.Point(x, y) + s`" +msgstr "`pymupdf.Point(x, y) + s`" + +#: ../../app3.rst:142 65b15752bc024e088940595dae3215da +msgid "`doc.select(s)`" +msgstr "`doc.select(s)`" + +#: ../../app3.rst:144 d524e2c9577144908a75e0987c81899f +msgid "" +"Similarly with all geometry objects :ref:`Rect`, :ref:`IRect`, " +":ref:`Matrix` and :ref:`Point`." +msgstr "" +"모든 기하 객체 :ref:`Rect`, :ref:`IRect`, :ref:`Matrix` 및 :ref:`Point` 에도 " +"마찬가지입니다." + +#: ../../app3.rst:146 46b031e6dd8e40808429c33e2729e35d +msgid "" +"Because all PyMuPDF geometry classes themselves are special cases of " +"sequences, they (with the exception of :ref:`Quad` -- see below) can be " +"freely used where numerical sequences can be used, e.g. as arguments for " +"functions like *list()*, *tuple()*, *array.array()* or *numpy.array()*. " +"Look at the following snippet to see this work." +msgstr "" +"모든 |PyMuPDF| 기하 클래스 자체가 시퀀스의 특수한 경우이므로, 이들은(:ref:`Quad` 제외 -- 아래 참조) 숫자 " +"시퀀스를 사용할 수 있는 곳에서 자유롭게 사용할 수 있습니다. 예를 들어 *list()*, *tuple()*, " +"*array.array()* 또는 *numpy.array()* 와 같은 함수의 인수로 사용할 수 있습니다. 이것이 작동하는 것을 " +"보려면 다음 코드 조각을 참조하세요." + +#: ../../app3.rst:163 8c531fc2e99a4086bce80bae4dbeeac7 +msgid "" +":ref:`Quad` is a Python sequence object as well and has a length of 4. " +"Its items however are :data:`point_like` -- not numbers. Therefore, the " +"above remarks do not apply." +msgstr "" +":ref:`Quad` 도 Python 시퀀스 객체이며 길이가 4입니다. 그러나 항목은 :data:`point_like` 입니다 --" +" 숫자가 아닙니다. 따라서 위의 설명은 적용되지 않습니다." + +#: ../../app3.rst:170 c359d43e960248c39a6485317dc894d9 +msgid "Ensuring Consistency of Important Objects in PyMuPDF" +msgstr "|PyMuPDF| 에서 중요한 객체의 일관성 보장" + +#: ../../app3.rst:171 57dc6323642f4ed1a681c418dc32446e +msgid "" +"PyMuPDF is a Python binding for the C library MuPDF. While a lot of " +"effort has been invested by MuPDF's creators to approximate some sort of " +"an object-oriented behavior, they certainly could not overcome basic " +"shortcomings of the C language in that respect." +msgstr "" +"|PyMuPDF| 는 C 라이브러리 |MuPDF| 에 대한 Python 바인딩입니다. |MuPDF| 의 제작자들이 객체 지향적 " +"동작을 근사하기 위해 많은 노력을 기울였지만, C 언어의 기본적인 한계를 극복할 수는 없었습니다." + +#: ../../app3.rst:173 4c061032544f42d3b1cbac6ca2994790 +msgid "" +"Python on the other hand implements the OO-model in a very clean way. The" +" interface code between PyMuPDF and MuPDF consists of two basic files: " +"*pymupdf.py* and *fitz_wrap.c*. They are created by the excellent SWIG " +"tool for each new version." +msgstr "" +"반면 Python은 OO 모델을 매우 깔끔하게 구현합니다. |PyMuPDF| 와 |MuPDF| 사이의 인터페이스 코드는 두 개의 " +"기본 파일로 구성됩니다: *pymupdf.py* 와 *fitz_wrap.c*. 이들은 각 새 버전에 대해 우수한 SWIG 도구로 " +"생성됩니다." + +#: ../../app3.rst:175 4fb5955ef3f34ff5b12fe9147956933b +msgid "" +"When you use one of PyMuPDF's objects or methods, this will result in " +"execution of some code in *pymupdf.py*, which in turn will call some C " +"code compiled with *fitz_wrap.c*." +msgstr "" +"|PyMuPDF| 의 객체나 메서드 중 하나를 사용하면 *pymupdf.py* 의 일부 코드가 실행되고, 이것은 차례로 " +"*fitz_wrap.c* 로 컴파일된 일부 C 코드를 호출합니다." + +#: ../../app3.rst:177 3846f21a4bb648bd8c4416539fe28a36 +msgid "" +"Because SWIG goes a long way to keep the Python and the C level in sync, " +"everything works fine, if a certain set of rules is being strictly " +"followed. For example: **never access** a :ref:`Page` object, after you " +"have closed (or deleted or set to ``None``) the owning :ref:`Document`. " +"Or, less obvious: **never access** a page or any of its children (links " +"or annotations) after you have executed one of the document methods " +"*select()*, *delete_page()*, *insert_page()* ... and more." +msgstr "" +"SWIG가 Python과 C 레벨을 동기화하기 위해 많은 노력을 기울이기 때문에, 특정 규칙 집합을 엄격히 따르면 모든 것이 잘 " +"작동합니다. 예를 들어: 소유 :ref:`Document` 를 닫았거나(또는 삭제하거나 ``None`` 으로 설정한 후) " +":ref:`Page` 객체에 **절대 액세스하지 마세요**. 또는 덜 명확한 경우: 문서 메서드 *select()*, " +"*delete_page()*, *insert_page()* 등을 실행한 후 페이지나 그 자식(링크 또는 주석)에 **절대 액세스하지" +" 마세요**." + +#: ../../app3.rst:179 cd2f0e9f6925457b95a8972e5220b65c +msgid "" +"But just no longer accessing invalidated objects is actually not enough: " +"They should rather be actively deleted entirely, to also free C-level " +"resources (meaning allocated memory)." +msgstr "" +"그러나 무효화된 객체에 더 이상 액세스하지 않는 것만으로는 충분하지 않습니다: C 레벨 리소스(할당된 메모리)도 해제하기 위해 " +"완전히 삭제해야 합니다." + +#: ../../app3.rst:181 7bb8910cf6284c37a4acf09d60be5730 +msgid "" +"The reason for these rules lies in the fact that there is a hierarchical " +"2-level one-to-many relationship between a document and its pages and " +"also between a page and its links / annotations. To maintain a consistent" +" situation, any of the above actions must lead to a complete reset -- in " +"**Python and, synchronously, in C**." +msgstr "" +"이러한 규칙의 이유는 문서와 그 페이지 사이, 그리고 페이지와 그 링크/주석 사이에 계층적 2단계 일대다 관계가 있다는 사실에 " +"있습니다. 일관된 상황을 유지하기 위해 위의 작업 중 하나라도 완전한 재설정으로 이어져야 합니다 -- **Python과 동기적으로 " +"C에서**." + +#: ../../app3.rst:183 f28fc2db36084f948eed30968297dab5 +msgid "SWIG cannot know about this and consequently does not do it." +msgstr "SWIG는 이것을 알 수 없으므로 결과적으로 이를 수행하지 않습니다." + +#: ../../app3.rst:185 9b81f1fa67e34514b59f9bfc0a61a978 +msgid "" +"The required logic has therefore been built into PyMuPDF itself in the " +"following way." +msgstr "따라서 필요한 로직이 다음과 같은 방식으로 |PyMuPDF| 자체에 내장되었습니다." + +#: ../../app3.rst:187 2610c09be6134825b39d838bd001108c +msgid "" +"If a page \"loses\" its owning document or is being deleted itself, all " +"of its currently existing annotations and links will be made unusable in " +"Python, and their C-level counterparts will be deleted and deallocated." +msgstr "" +"페이지가 소유 문서를 \"잃거나\" 자체적으로 삭제되면, 현재 존재하는 모든 주석과 링크가 Python에서 사용할 수 없게 되고, " +"C 레벨의 대응 항목이 삭제되고 할당 해제됩니다." + +#: ../../app3.rst:189 d188cde23fd047f7a60e9267515903d6 +msgid "" +"If a document is closed (or deleted or set to ``None``) or if its " +"structure has changed, then similarly all currently existing pages and " +"their children will be made unusable, and corresponding C-level deletions" +" will take place. \"Structure changes\" include methods like *select()*, " +"*delePage()*, *insert_page()*, *insert_pdf()* and so on: all of these " +"will result in a cascade of object deletions." +msgstr "" +"문서가 닫히거나(또는 삭제되거나 ``None`` 으로 설정되거나) 구조가 변경되면, 마찬가지로 현재 존재하는 모든 페이지와 그 " +"자식이 사용할 수 없게 되고, 해당 C 레벨 삭제가 발생합니다. \"구조 변경\"에는 *select()*, " +"*delete_page()*, *insert_page()*, *insert_pdf()* 등의 메서드가 포함됩니다: 이들 모두 객체 " +"삭제의 연쇄를 초래합니다." + +#: ../../app3.rst:191 d57b1ed5501b417391bd09cc0fdcfd39 +msgid "" +"The programmer will normally not realize any of this. If he, however, " +"tries to access invalidated objects, exceptions will be raised." +msgstr "프로그래머는 일반적으로 이것을 인식하지 못합니다. 그러나 무효화된 객체에 액세스하려고 하면 예외가 발생합니다." + +#: ../../app3.rst:193 e42075fe1f1f4884a8525e23d50ec80a +msgid "" +"Invalidated objects cannot be directly deleted as with Python statements " +"like *del page* or *page = None*, etc. Instead, their *__del__* method " +"must be invoked." +msgstr "" +"무효화된 객체는 *del page* 또는 *page = None* 등의 Python 문으로 직접 삭제할 수 없습니다. 대신 " +"*__del__* 메서드를 호출해야 합니다." + +#: ../../app3.rst:195 65129ee8ed6347389a03f5c4a0e27118 +msgid "" +"All pages, links and annotations have the property *parent*, which points" +" to the owning object. This is the property that can be checked on the " +"application level: if *obj.parent == None* then the object's parent is " +"gone, and any reference to its properties or methods will raise an " +"exception informing about this \"orphaned\" state." +msgstr "" +"모든 페이지, 링크 및 주석은 소유 객체를 가리키는 *parent* 속성을 가집니다. 이것은 애플리케이션 레벨에서 확인할 수 있는 " +"속성입니다: *obj.parent == None* 이면 객체의 부모가 사라진 것이며, 속성이나 메서드에 대한 참조는 이 \"고아\"" +" 상태에 대해 알리는 예외를 발생시킵니다." + +#: ../../app3.rst:197 8dd4acfe98f34511830f7c57c6d629ce +msgid "A sample session:" +msgstr "샘플 세션:" + +#: ../../app3.rst:214 9e147448615c4415832f3e2acb045cfd +msgid "This shows the cascading effect:" +msgstr "이것은 연쇄 효과를 보여줍니다:" + +#: ../../app3.rst:231 442c30826bf4423aacbb2a4864ce9a88 +msgid "" +"Objects outside the above relationship are not included in this " +"mechanism. If you e.g. created a table of contents by *toc = " +"doc.get_toc()*, and later close or change the document, then this cannot " +"and does not change variable *toc* in any way. It is your responsibility " +"to refresh such variables as required." +msgstr "" +"위의 관계 외부의 객체는 이 메커니즘에 포함되지 않습니다. 예를 들어 *toc = doc.get_toc()* 로 목차를 만든 후 " +"문서를 닫거나 변경하면, 이것은 변수 *toc* 를 어떤 방식으로도 변경할 수 없고 변경하지 않습니다. 필요에 따라 이러한 변수를 " +"새로 고치는 것은 사용자의 책임입니다." + +#: ../../app3.rst:238 64b3f76253e64bdcba362aad09efb8f9 +msgid "Design of Method :meth:`Page.show_pdf_page`" +msgstr "메서드 :meth:`Page.show_pdf_page` 의 설계" + +#: ../../app3.rst:241 128d4a5b179f4f858c59282d02e2992d +msgid "Purpose and Capabilities" +msgstr "목적 및 기능" + +#: ../../app3.rst:243 36e16573a42045a2bf1afeda5ba8b66e +msgid "" +"The method displays an image of a (\"source\") page of another PDF " +"document within a specified rectangle of the current (\"containing\", " +"\"target\") page." +msgstr "" +"이 메서드는 다른 PDF 문서의 (\"소스\") 페이지 이미지를 현재 (\"포함\", \"대상\") 페이지의 지정된 사각형 내에 " +"표시합니다." + +#: ../../app3.rst:245 11b56c7a4353448faba91c8944469b13 +msgid "" +"**In contrast** to :meth:`Page.insert_image`, this display is vector-" +"based and hence remains accurate across zooming levels." +msgstr "" +":meth:`Page.insert_image` 와 **대조적으로**, 이 표시는 벡터 기반이므로 확대/축소 수준에서도 정확하게 " +"유지됩니다." + +#: ../../app3.rst:246 b9f69720d39443449a9d85059af697e2 +msgid "" +"**Just like** :meth:`Page.insert_image`, the size of the display is " +"adjusted to the given rectangle." +msgstr ":meth:`Page.insert_image` 와 **마찬가지로**, 표시 크기는 주어진 사각형에 맞게 조정됩니다." + +#: ../../app3.rst:248 c503b182fc14483589a8e70354d7013d +msgid "The following variations of the display are currently supported:" +msgstr "다음과 같은 표시 변형이 현재 지원됩니다:" + +#: ../../app3.rst:250 97d286a4d5f74472a14b8d008c4a6e14 +msgid "" +"Bool parameter `\"keep_proportion\"` controls whether to maintain the " +"aspect ratio (default) or not." +msgstr "Bool 매개변수 `\"keep_proportion\"` 은 종횡비를 유지할지 여부를 제어합니다(기본값)." + +#: ../../app3.rst:251 b3ca7e9050f84361a916dd947a4aee68 +msgid "" +"Rectangle parameter `\"clip\"` restricts the visible part of the source " +"page rectangle. Default is the full page." +msgstr "사각형 매개변수 `\"clip\"` 은 소스 페이지 사각형의 보이는 부분을 제한합니다. 기본값은 전체 페이지입니다." + +#: ../../app3.rst:252 994ff62c446f4ec48980737cb9847a1b +msgid "" +"float `\"rotation\"` rotates the display by an arbitrary angle (degrees)." +" If the angle is not an integer multiple of 90, only 2 of the 4 corners " +"may be positioned on the target border if also `\"keep_proportion\"` is " +"true." +msgstr "" +"float `\"rotation\"` 은 표시를 임의의 각도(도)로 회전시킵니다. 각도가 90의 정수 배가 아니고 " +"`\"keep_proportion\"` 도 true인 경우, 4개 모서리 중 2개만 대상 경계에 위치할 수 있습니다." + +#: ../../app3.rst:253 df91bedf8d2448b9b6e1d9b0e146b290 +msgid "" +"Bool parameter `\"overlay\"` controls whether to put the image on top " +"(foreground, default) of current page content or not (background)." +msgstr "Bool 매개변수 `\"overlay\"` 는 이미지를 현재 페이지 콘텐츠 위(전경, 기본값)에 배치할지 여부를 제어합니다(배경)." + +#: ../../app3.rst:255 7f1ad38d9991450f8326a9f7891e02ed +msgid "Use cases include (but are not limited to) the following:" +msgstr "사용 사례에는 다음이 포함됩니다(이에 국한되지 않음):" + +#: ../../app3.rst:257 68f2f629805445a3888fea51dad910ae +msgid "" +"\"Stamp\" a series of pages of the current document with the same image, " +"like a company logo or a watermark." +msgstr "회사 로고나 워터마크와 같은 동일한 이미지로 현재 문서의 일련의 페이지에 \"스탬프\"를 찍습니다." + +#: ../../app3.rst:258 31e6350216514a078362663c9f252a2f +msgid "" +"Combine arbitrary input pages into one output page to support “booklet” " +"or double-sided printing (known as \"4-up\", \"n-up\")." +msgstr "" +"임의의 입력 페이지를 하나의 출력 페이지로 결합하여 “북렛” 또는 양면 인쇄( \"4-up\", \"n-up\" 으로 알려짐)를 " +"지원합니다." + +#: ../../app3.rst:259 9c80023be1d94d0cbbca8f1314af6a46 +msgid "" +"Split up (large) input pages into several arbitrary pieces. This is also " +"called “posterization”, because you e.g. can split an A4 page " +"horizontally and vertically, print the 4 pieces enlarged to separate A4 " +"pages, and end up with an A2 version of your original page." +msgstr "" +"(큰) 입력 페이지를 여러 임의의 조각으로 분할합니다. 이것은 “포스터화”라고도 하며, 예를 들어 A4 페이지를 가로와 세로로 " +"분할하고, 4개 조각을 확대하여 별도의 A4 페이지로 인쇄한 다음 원본 페이지의 A2 버전을 얻을 수 있기 때문입니다." + +#: ../../app3.rst:262 62098c390f3043009fc377ea8e54100a +msgid "Technical Implementation" +msgstr "기술적 구현" + +#: ../../app3.rst:264 3dfab80881604fef89ec3850557c91ff +msgid "" +"This is done using PDF **\"Form XObjects\"**, see section 8.10 on page " +"217 of :ref:`AdobeManual`. On execution of a :meth:`Page.show_pdf_page`, " +"the following things happen:" +msgstr "" +"이것은 PDF **\"Form XObjects\"** 를 사용하여 수행됩니다. :ref:`AdobeManual` 의 217페이지 " +"섹션 8.10을 참조하세요. :meth:`Page.show_pdf_page` 를 실행하면 다음이 발생합니다:" + +#: ../../app3.rst:266 9d2548f8045f487c895825c9f1f0e965 +msgid "" +"The :data:`resources` and :data:`contents` objects of source page in " +"source document are copied over to the target document, jointly creating " +"a new **Form XObject** with the following properties. The PDF " +":data:`xref` number of this object is returned by the method." +msgstr "" +"소스 문서의 소스 페이지의 :data:`resources` 및 :data:`contents` 객체가 대상 문서로 복사되어 다음 " +"속성을 가진 새로운 **Form XObject** 를 공동으로 생성합니다. 이 객체의 PDF :data:`xref` 번호는 메서드에" +" 의해 반환됩니다." + +#: ../../app3.rst:268 bb76e425ccb64473b57788e768f4ec73 +msgid "`/BBox` equals `/Mediabox` of the source page" +msgstr "`/BBox` 는 소스 페이지의 `/Mediabox` 와 같습니다" + +#: ../../app3.rst:269 c31f893de0fc41298d55e90ccf4fe8f8 +msgid "`/Matrix` equals the identity matrix." +msgstr "`/Matrix` 는 항등 행렬과 같습니다." + +#: ../../app3.rst:270 b88a10668d6143c8896ff880d6b0a465 +msgid "" +"`/Resources` equals that of the source page. This involves a “deep-copy” " +"of hierarchically nested other objects (including fonts, images, etc.). " +"The complexity involved here is covered by MuPDF's grafting [#f1]_ " +"technique functions." +msgstr "" +"`/Resources` 는 소스 페이지의 것과 같습니다. 이것은 계층적으로 중첩된 다른 객체(글꼴, 이미지 등 포함)의 " +"deep-copy” 를 포함합니다. 여기에 관련된 복잡성은 |MuPDF| 의 grafting [#f1]_ 기술 함수로 " +"처리됩니다." + +#: ../../app3.rst:271 012404bf546e41f0a21925ebb840eb7d +msgid "" +"This is a stream object type, and its stream is an exact copy of the " +"combined data of the source page's :data:`contents` objects." +msgstr "이것은 스트림 객체 타입이며, 그 스트림은 소스 페이지의 :data:`contents` 객체의 결합된 데이터의 정확한 복사본입니다." + +#: ../../app3.rst:273 134d89c3ee7d414281d9d706d3f7fca3 +msgid "" +"This Form XObject is only executed once per shown source page. Subsequent" +" displays of the same source page will skip this step and only create " +"\"pointer\" Form XObjects (done in next step) to this object." +msgstr "" +"이 Form XObject는 표시된 소스 페이지당 한 번만 실행됩니다. 동일한 소스 페이지의 후속 표시는 이 단계를 건너뛰고 이 " +"객체에 대한 \"포인터\" Form XObjects만 생성합니다(다음 단계에서 수행)." + +#: ../../app3.rst:275 50987890b05b44a0ab6dce288ad5ab0a +msgid "" +"A second **Form XObject** is then created which the target page uses to " +"invoke the display. This object has the following properties:" +msgstr "" +"그런 다음 대상 페이지가 표시를 호출하는 데 사용하는 두 번째 **Form XObject** 가 생성됩니다. 이 객체는 다음 속성을" +" 가집니다:" + +#: ../../app3.rst:277 33bd465dbdd047c7816f59b343c2d780 +msgid "`/BBox` equals the `/CropBox` of the source page (or `\"clip\"`)." +msgstr "`/BBox` 는 소스 페이지의 `/CropBox` (또는 `\"clip\"`)와 같습니다." + +#: ../../app3.rst:278 ecaa890ab1e94d268751da3df22cf421 +msgid "`/Matrix` represents the mapping of `/BBox` to the target rectangle." +msgstr "`/Matrix` 는 `/BBox` 를 대상 사각형으로 매핑하는 것을 나타냅니다." + +#: ../../app3.rst:279 b7950a1195e54793b9b3b5b911fc150c +msgid "" +"`/XObject` references the previous Form XObject via the fixed name " +"`fullpage`." +msgstr "`/XObject` 는 고정된 이름 `fullpage` 를 통해 이전 Form XObject를 참조합니다." + +#: ../../app3.rst:280 8a89d2b17c624ea39d9d9414c18fceee +msgid "" +"The stream of this object contains exactly one fixed statement: " +"`/fullpage Do`." +msgstr "이 객체의 스트림은 정확히 하나의 고정된 문을 포함합니다: `/fullpage Do`." + +#: ../../app3.rst:281 8071f5c0c01b40ed8d0b3c8e0caea1d5 +msgid "" +"If the method's `\"oc\"` argument is given, its value is assigned to this" +" Form XObject as `/OC`." +msgstr "메서드의 `\"oc\"` 인수가 주어지면, 그 값이 이 Form XObject에 `/OC` 로 할당됩니다." + +#: ../../app3.rst:283 d0dcf58ed13a453a834e115f4ea0c511 +msgid "" +"The :data:`resources` and :data:`contents` objects of the target page are" +" now modified as follows." +msgstr "대상 페이지의 :data:`resources` 및 :data:`contents` 객체는 다음과 같이 수정됩니다." + +#: ../../app3.rst:285 77b2331ffaee4e7b8feca779154bca43 +msgid "" +"Add an entry to the `/XObject` dictionary of `/Resources` with the name " +"`fzFrm` (with n chosen such that this entry is unique on the page)." +msgstr "" +"`/Resources` 의 `/XObject` 딕셔너리에 `fzFrm` 이라는 이름으로 항목을 추가합니다(n은 이 항목이 " +"페이지에서 고유하도록 선택됨)." + +#: ../../app3.rst:286 71da2b0e5eea427e8ef41d4ee9facaf2 +msgid "" +"Depending on `\"overlay\"`, prepend or append a new object to the page's " +"`/Contents` array, containing the statement `q /fzFrm Do Q`." +msgstr "" +"`\"overlay\"` 에 따라 페이지의 `/Contents` 배열에 `q /fzFrm Do Q` 문을 포함하는 새 객체를 " +"앞에 추가하거나 뒤에 추가합니다." + +#: ../../app3.rst:288 ce7e0186bef54c97a9b29d12c1e6f3a6 +msgid "This design approach ensures that:" +msgstr "이 설계 접근 방식은 다음을 보장합니다:" + +#: ../../app3.rst:290 eb54e5bd84bb498abb3763ee5407a28e +msgid "" +"The (potentially large) source page is only copied once to the target " +"PDF. Only small \"pointer\" Form XObjects objects are created per each " +"target page to show the source page." +msgstr "" +"(잠재적으로 큰) 소스 페이지는 대상 PDF에 한 번만 복사됩니다. 소스 페이지를 표시하기 위해 각 대상 페이지당 작은 " +"\"포인터\" Form XObjects 객체만 생성됩니다." + +#: ../../app3.rst:291 9bdd7aac08c848b896a77921ae741fc8 +msgid "" +"Each referring target page can have its own `\"oc\"` parameter to control" +" the source page's visibility individually." +msgstr "각 참조 대상 페이지는 소스 페이지의 가시성을 개별적으로 제어하기 위해 자체 `\"oc\"` 매개변수를 가질 수 있습니다." + +#: ../../app3.rst:298 38192e7d264e49b9b11f8bff65d9f574 +msgid "Diagnostics" +msgstr "진단" + +#: ../../app3.rst:303 678e61f215bb4b728ec825f020a47ade +msgid "|PyMuPDF| messages" +msgstr "|PyMuPDF| 메시지" + +#: ../../app3.rst:305 b0163c7491294ddc8e19c68b4a236621 +msgid "|PyMuPDF| has a Message system for showing text diagnostics." +msgstr "|PyMuPDF| 는 텍스트 진단을 표시하기 위한 메시지 시스템을 가지고 있습니다." + +#: ../../app3.rst:307 ae5fa773d042458bba579ef11b18c5f1 +msgid "" +"By default messages are written to `sys.stdout`. This can be controlled " +"in two ways:" +msgstr "기본적으로 메시지는 `sys.stdout` 에 기록됩니다. 이것은 두 가지 방법으로 제어할 수 있습니다:" + +#: ../../app3.rst:311 e9874754031f42d2977701bc48a0202a +msgid "Set environment variable `PYMUPDF_MESSAGE` before |PyMuPDF| is imported." +msgstr "|PyMuPDF| 를 가져오기 전에 환경 변수 `PYMUPDF_MESSAGE` 를 설정합니다." + +#: ../../app3.rst:314 752d0f8c25c3400ab0fd25a0bd727e90 +msgid "Call `set_messages()`:" +msgstr "`set_messages()` 를 호출합니다:" + +#: ../../app3.rst:318 c98f984f976c49d7bf561a0bd2ec9dc5 +msgid "|MuPDF| errors and warnings" +msgstr "|MuPDF| 오류 및 경고" + +#: ../../app3.rst:320 ff1b806727194154b4b239fd45add954 +msgid "|MuPDF| generates text errors and warnings." +msgstr "|MuPDF| 는 텍스트 오류 및 경고를 생성합니다." + +#: ../../app3.rst:323 0f276711268e409fb82df4ba73696ece +msgid "" +"These errors and warnings are appended to an internal list, accessible " +"with `Tools.mupdf_warnings()`. Also see `Tools.reset_mupdf_warnings()`." +msgstr "" +"이러한 오류 및 경고는 내부 목록에 추가되며, `Tools.mupdf_warnings()` 로 액세스할 수 있습니다. " +"`Tools.reset_mupdf_warnings()` 도 참조하세요." + +#: ../../app3.rst:327 073e0bdb4e0d4e36bb6759931da9f080 +msgid "" +"By default these errors and warnings are also sent to the |PyMuPDF| " +"message system." +msgstr "기본적으로 이러한 오류 및 경고는 |PyMuPDF| 메시지 시스템에도 전송됩니다." + +#: ../../app3.rst:330 c438af959e7d416a8bdd12d4a262666f +msgid "" +"This can be controlled with `mupdf_display_errors()` and " +"`mupdf_display_warnings()`." +msgstr "이것은 `mupdf_display_errors()` 및 `mupdf_display_warnings()` 로 제어할 수 있습니다." + +#: ../../app3.rst:334 751a2f790c0c436ba72274b9a9cd2841 +msgid "" +"These messages are prefixed with `MuPDF error:` and `MuPDF warning:` " +"respectively." +msgstr "이러한 메시지는 각각 `MuPDF error:` 및 `MuPDF warning:` 접두사가 붙습니다." + +#: ../../app3.rst:337 9d9fa818d46c40c4abd7e99971db02f1 +msgid "Some |MuPDF| errors may lead to Python exceptions." +msgstr "일부 |MuPDF| 오류는 Python 예외를 유발할 수 있습니다." + +#: ../../app3.rst:339 305562c6d9974f98a9b2d09d489e294c +msgid "" +"Example output for a **recoverable error**. We are opening a damaged PDF," +" but MuPDF is able to repair it and gives us a little information on what" +" happened. Then we illustrate how to find out whether the document can " +"later be saved incrementally. Checking the :attr:`Document.is_dirty` " +"attribute at this point also indicates that during `pymupdf.open` the " +"document had to be repaired:" +msgstr "" +"**복구 가능한 오류** 에 대한 예제 출력입니다. 손상된 PDF를 열고 있지만 |MuPDF| 는 이를 복구할 수 있고 발생한 일에" +" 대한 약간의 정보를 제공합니다. 그런 다음 문서를 나중에 증분 저장할 수 있는지 확인하는 방법을 설명합니다. 이 시점에서 " +":attr:`Document.is_dirty` 속성을 확인하면 `pymupdf.open` 중에 문서를 복구해야 했음을 나타냅니다:" + +#: ../../app3.rst:360 10e13c5dbba64ba7a6bed125229ffea8 +msgid "Example output for an **unrecoverable error**:" +msgstr "**복구 불가능한 오류** 에 대한 예제 출력:" + +#: ../../app3.rst:378 55ce8adbca56443192458ad1412c6eb6 +msgid "Coordinates" +msgstr "좌표" + +#: ../../app3.rst:381 25b2587ee67742f8aab4274ba33aaed0 +msgid "" +"This is one of the most frequently used terms in this documentation. A " +"**coordinate** generally means a pair of numbers `(x, y)` referring to " +"some location, like a corner of a rectangle (:ref:`Rect`), a :ref:`Point`" +" and so forth. The two values usually are floats, but there a objects " +"like images which only allow them to be integers." +msgstr "" +"이것은 이 문서에서 가장 자주 사용되는 용어 중 하나입니다. **좌표** 는 일반적으로 사각형의 모서리(:ref:`Rect`), " +":ref:`Point` 등과 같은 위치를 나타내는 숫자 쌍 `(x, y)` 를 의미합니다. 두 값은 일반적으로 float이지만, " +"정수만 허용하는 이미지와 같은 객체도 있습니다." + +#: ../../app3.rst:383 07fa97393cb64575ba7ca3c72e92d3e0 +msgid "" +"To actually *find* a coordinate's location, we also need to know the " +"*reference* point for ``x`` and ``y`` - in other words, we must know " +"where location `(0, 0)` is positioned. Once `(0, 0)` (the \"origin\") is " +"known, we speak of a \"coordinate system\"." +msgstr "" +"실제로 좌표의 위치를 *찾으려면*, ``x`` 와 ``y`` 의 *참조* 점도 알아야 합니다 -- 즉, 위치 `(0, 0)` 이 " +"어디에 있는지 알아야 합니다. `(0, 0)` (\"원점\")이 알려지면 \"좌표계\"라고 말합니다." + +#: ../../app3.rst:385 f03d3158dc424965ad72da81750b12cc +msgid "" +"Several coordinate systems exist in document processing. For instance, " +"the coordinate systems of a PDF page and the image created from it are " +"**different**. We therefore need ways to *transform* coordinates from one" +" system to another (and also back occasionally). This is the task of a " +":ref:`Matrix`. It is a mathematical function which works much like a " +"factor that can be \"multiplied\" with a point or rectangle to give us " +"the corresponding point / rectangle in another coordinate system. The " +"inverse of a transformation matrix can be used to revert the " +"transformation. Much like multiplying by some factor, say 3, can be " +"reverted by dividing the result by 3 (or multiplying it with 1/3)." +msgstr "" +"문서 처리에는 여러 좌표계가 존재합니다. 예를 들어, PDF 페이지와 그것으로부터 생성된 이미지의 좌표계는 **다릅니다**. 따라서" +" 한 시스템에서 다른 시스템으로 좌표를 *변환* 하는 방법이 필요합니다(때로는 역으로도). 이것이 :ref:`Matrix` 의 " +"작업입니다. 이것은 점이나 사각형과 \"곱할\" 수 있는 인수처럼 작동하여 다른 좌표계에서 해당 점/사각형을 제공하는 수학 " +"함수입니다. 변환 행렬의 역행렬을 사용하여 변환을 되돌릴 수 있습니다. 예를 들어 3을 곱하는 것을 결과를 3으로 나누거나(또는 " +"1/3을 곱함)하여 되돌릴 수 있는 것과 매우 유사합니다." + +#: ../../app3.rst:388 2861d34531e741f2899ff1dc71d8b465 +msgid "Coordinates and Images" +msgstr "좌표 및 이미지" + +#: ../../app3.rst:390 2a2c6ebc18e84f02aebc26d7a8e9905d +msgid "" +"Images have a coordinate system with integer coordinates. Origin `(0, 0)`" +" is the top-left point. ``x`` values must be in `range(width)`, and ``y``" +" values in `range(height)`. Therefore, ``y`` values *increase* if we go " +"*downwards*. For every image, there is only a **finite number** of " +"coordinates, namely `width * height`. A location in an image is also " +"called a \"pixel\"." +msgstr "" +"이미지는 정수 좌표를 가진 좌표계를 가집니다. 원점 `(0, 0)` 은 왼쪽 위 점입니다. ``x`` 값은 " +"`range(width)` 에 있어야 하고, ``y`` 값은 `range(height)` 에 있어야 합니다. 따라서 *아래로* 가면" +" ``y`` 값이 *증가* 합니다. 모든 이미지에 대해 **유한한 수** 의 좌표만 있습니다. 즉, `width * height` " +"입니다. 이미지의 위치는 \"픽셀\"이라고도 합니다." + +#: ../../app3.rst:392 2d1ab7caafc4475bb1e0bb937bd193f5 +msgid "" +"How **large** an image will be (in centimeters or inches) when e.g. " +"printed, depends on additional information: the \"resolution\". This is " +"measured in **DPI** (dots per inch, or pixels per inch). To find the " +"printed size of some image, we therefore must divide its width and its " +"height by the corresponding DPI values (there may separate ones for width" +" and for height) and will get the respective number of inches." +msgstr "" +"예를 들어 인쇄할 때 이미지가 **얼마나 큰지** (센티미터 또는 인치)는 추가 정보인 \"해상도\"에 따라 다릅니다. 이것은 " +"**DPI** (인치당 도트 또는 인치당 픽셀)로 측정됩니다. 따라서 이미지의 인쇄 크기를 찾으려면 너비와 높이를 해당 DPI " +"값으로 나누어야 하며(너비와 높이에 대해 별도의 값이 있을 수 있음) 각각의 인치 수를 얻을 수 있습니다." + +#: ../../app3.rst:396 861cbf0fef9b49cd9a4c66166b84a606 +msgid "Origin Point, Point Size and Y-Axis" +msgstr "원점, 포인트 크기 및 Y축" + +#: ../../app3.rst:398 40053762c0d549a589c0738ef25485e0 +msgid "" +"In |PDF|, the origin `(0, 0)` of a page is located at its **bottom-left " +"point**. In |MuPDF|, the origin `(0, 0)` of a page is located at its " +"**top-left point**." +msgstr "" +"|PDF| 에서 페이지의 원점 `(0, 0)` 은 **왼쪽 아래 점** 에 있습니다. |MuPDF| 에서 페이지의 원점 `(0, " +"0)` 은 **왼쪽 위 점** 에 있습니다." + +#: ../../app3.rst:403 006e004df7614a4e951f99ba46acb439 +msgid "Coordinates are float numbers and measured in **points**, where:" +msgstr "좌표는 float 숫자이며 **포인트** 단위로 측정됩니다. 여기서:" + +#: ../../app3.rst:405 060972242c9c45a399b754799bda2112 +msgid "**one point equals 1/72 inches**." +msgstr "**1포인트는 1/72인치** 와 같습니다." + +#: ../../app3.rst:407 32f04e20ba5e41f09c447ba3a79e54c8 +msgid "" +"Typical document page sizes are **ISO A4** and **Letter**. A **Letter** " +"page has a size of **8.5 x 11 inches**, corresponding to **612 x 792 " +"points**. In the |PDF| coordinate system, the top-left point of a " +"**Letter** page hence has the coordinate `(0, 792)` as **the y-axis " +"points upwards**. Now we know our document size the |MuPDF| coordinate " +"system for the bottom right would be coordinate `(612, 792)` (and for " +"|PDF| this coordinate would then be `(612,0)`)." +msgstr "" +"일반적인 문서 페이지 크기는 **ISO A4** 및 **Letter** 입니다. **Letter** 페이지는 **8.5 x " +"11인치** 크기를 가지며, 이는 **612 x 792 포인트** 에 해당합니다. |PDF| 좌표계에서 **Letter** 페이지의" +" 왼쪽 위 점은 **y축이 위를 가리키므로** 좌표 `(0, 792)` 를 가집니다. 이제 문서 크기를 알았으므로 |MuPDF| " +"좌표계에서 오른쪽 아래는 좌표 `(612, 792)` 가 됩니다(|PDF| 에서는 이 좌표가 `(612,0)` 이 됩니다)." + +#: ../../app3.rst:409 1ff227ed19b04762886cbcbc4e4922ad +msgid "" +"Theoretically, there are **infinitely many** coordinate positions on a " +"|PDF| page. In practice however, at most the first 5 decimal places are " +"sufficient for a reasonable precision." +msgstr "" +"이론적으로 |PDF| 페이지에는 **무한히 많은** 좌표 위치가 있습니다. 그러나 실제로는 합리적인 정밀도를 위해 최대 처음 5자리" +" 소수점이면 충분합니다." + +#: ../../app3.rst:412 ccd57b81247849d887f21f917dcf79e1 +msgid "" +"In |MuPDF|, multiple document formats are supported - |PDF| just being " +"one among **over a dozen others**. Images are also supported as documents" +" in |MuPDF| (therefore having one page usually). This is one of the " +"reasons why |MuPDF| uses a coordinate system with the origin `(0, 0)` " +"being the **top-left** point of any document page. **The y-axis points " +"downwards**, like with images. Coordinates in |MuPDF| in any case are " +"floats, like in |PDF|." +msgstr "" +"|MuPDF| 에서는 여러 문서 형식이 지원됩니다 -- |PDF| 는 **12개 이상의 다른 형식** 중 하나일 뿐입니다. 이미지도" +" |MuPDF| 에서 문서로 지원됩니다(따라서 일반적으로 한 페이지를 가짐). 이것이 |MuPDF| 가 원점 `(0, 0)` 이 " +"모든 문서 페이지의 **왼쪽 위** 점인 좌표계를 사용하는 이유 중 하나입니다. **y축은 아래를 가리킵니다**, 이미지와 " +"마찬가지입니다. |MuPDF| 의 좌표는 어떤 경우든 |PDF| 와 마찬가지로 float입니다." + +#: ../../app3.rst:414 9657e0b219bd4d518cdcf40a8a6ccc21 +msgid "" +"A rectangle `Rect(0, 0, 100, 100)` for instance in |MuPDF| (and thus " +"|PyMuPDF|) therefore is a square with edges of length 100 points (= 1.39 " +"inches or 3.53 centimeters). Its top-left corner is the origin. To switch" +" between the two coordinate systems |PDF| to |MuPDF|, every :ref:`Page` " +"object has a :attr:`Page.transformation_matrix`. Its inverse can be used " +"to compute a rectangle's PDF coordinates. In this way we can conveniently" +" find that `Rect(0, 0, 100, 100)` in |MuPDF| is the same as `Rect(0, 692," +" 100, 792)` in |PDF|. See this code snippet::" +msgstr "" +"예를 들어 |MuPDF| (따라서 |PyMuPDF| )에서 `Rect(0, 0, 100, 100)` 사각형은 길이가 100포인트(=" +" 1.39인치 또는 3.53센티미터)인 변을 가진 정사각형입니다. 왼쪽 위 모서리가 원점입니다. 두 좌표계 |PDF| 와 " +"|MuPDF| 사이를 전환하려면 모든 :ref:`Page` 객체는 :attr:`Page.transformation_matrix` 를" +" 가집니다. 그 역행렬을 사용하여 사각형의 PDF 좌표를 계산할 수 있습니다. 이렇게 하면 |MuPDF| 의 `Rect(0, 0, " +"100, 100)` 이 |PDF| 의 `Rect(0, 692, 100, 792)` 와 같다는 것을 편리하게 찾을 수 있습니다. 이 " +"코드 조각을 참조하세요::" + +#: ../../app3.rst:425 59083fb45b414470920471c730d07179 +msgid "Footnotes" +msgstr "각주" + +#: ../../app3.rst:426 0164e8d6d2cb4cf98c0101507e790e14 +msgid "" +"MuPDF supports \"deep-copying\" objects between PDF documents. To avoid " +"duplicate data in the target, it uses so-called \"graftmaps\", like a " +"form of scratchpad: for each object to be copied, its :data:`xref` number" +" is looked up in the graftmap. If found, copying is skipped. Otherwise, " +"the new :data:`xref` is recorded and the copy takes place. PyMuPDF makes " +"use of this technique in two places so far: :meth:`Document.insert_pdf` " +"and :meth:`Page.show_pdf_page`. This process is fast and very efficient, " +"because it prevents multiple copies of typically large and frequently " +"referenced data, like images and fonts. However, you may still want to " +"consider using garbage collection (option 4) in any of the following " +"cases:" +msgstr "" +"|MuPDF| 는 PDF 문서 간에 객체를 \"deep-copying\" 하는 것을 지원합니다. 대상에서 중복 데이터를 피하기 위해" +" 스크래치패드 형태의 소위 \"graftmaps\" 를 사용합니다: 복사할 각 객체에 대해 그 :data:`xref` 번호가 " +"graftmap에서 조회됩니다. 발견되면 복사가 건너뜁니다. 그렇지 않으면 새로운 :data:`xref` 가 기록되고 복사가 " +"수행됩니다. |PyMuPDF| 는 지금까지 두 곳에서 이 기술을 사용합니다: :meth:`Document.insert_pdf` 및 " +":meth:`Page.show_pdf_page`. 이 프로세스는 빠르고 매우 효율적입니다. 왜냐하면 이미지와 글꼴과 같은 일반적으로" +" 크고 자주 참조되는 데이터의 여러 복사본을 방지하기 때문입니다. 그러나 다음 경우 중 하나에서 가비지 수집(옵션 4)을 사용하는 " +"것을 고려할 수 있습니다:" + +#: ../../app3.rst:428 ff64eb6459dd48aab243823d1e5a8733 +msgid "" +"The target PDF is not new / empty: grafting does not check for resources " +"that already existed (e.g. images, fonts) in the target document before " +"opening it." +msgstr "" +"대상 PDF가 새 것이 아니거나 비어 있지 않음: grafting은 문서를 열기 전에 대상 문서에 이미 존재했던 리소스(예: " +"이미지, 글꼴)를 확인하지 않습니다." + +#: ../../app3.rst:429 f6431e1f385d4ed89c60d314577c3b72 +msgid "" +"Using :meth:`Page.show_pdf_page` for more than one source document: each " +"grafting occurs **within one source** PDF only, not across multiple. So " +"if e.g. the same image exists in pages from different source PDFs, then " +"this will not be detected until garbage collection." +msgstr "" +"하나 이상의 소스 문서에 대해 :meth:`Page.show_pdf_page` 사용: 각 grafting은 여러 문서에 걸쳐서가 " +"아니라 **하나의 소스** PDF 내에서만 발생합니다. 따라서 예를 들어 다른 소스 PDF의 페이지에 동일한 이미지가 존재하면, " +"가비지 수집까지 이것이 감지되지 않습니다." + +#: ../../footer.rst:57 0e66288fd8404701a02732244ee2b635 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/app4.mo b/docs/locales/ko/LC_MESSAGES/app4.mo new file mode 100644 index 000000000..1c044741c Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/app4.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/app4.po b/docs/locales/ko/LC_MESSAGES/app4.po new file mode 100644 index 000000000..ca1545fbb --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/app4.po @@ -0,0 +1,1103 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 613ca8dee3af4e18aee8824f32d62bd7 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 3fb1879bb92640d0b871ed41914b2b0d +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 5800ad4c0c8f4aea8589a92458f2afe9 +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" + +#: ../../app4.rst:14 452ac8cb00694e9abeae5f9e25ddebf6 +msgid "Appendix 4: Performance Comparison Methodology" +msgstr "부록 4: 성능 비교 방법론" + +#: ../../app4.rst:16 14ceae9e1c7f4b8f8a0319fbb991a23c +msgid "" +"This article documents the approach to measure :title:`PyMuPDF's` " +"performance and the tools and example files used to do comparisons." +msgstr "이 문서는 :title:`PyMuPDF's` 성능을 측정하는 접근 방식과 비교에 사용된 도구 및 예제 파일을 설명합니다." + +#: ../../app4.rst:18 707cf837e27a4490be01f4ff59f3d6e7 +msgid "The following three sections deal with different performance aspects:" +msgstr "다음 세 섹션은 다양한 성능 측면을 다룹니다:" + +#: ../../app4.rst:20 19bf7499dda54ae094b5f694a8ea950f +msgid "" +":ref:`Document Copying` - This includes opening and parsing" +" :title:`PDFs`, then writing them to an output file. Because the same " +"basic activities are also used for joining (merging) :title:`PDFs`, the " +"results also apply to these use cases." +msgstr ":ref:`Document Copying` - 이것은 :title:`PDFs` 를 열고 파싱한 다음 출력 파일에 쓰는 것을 포함합니다. 동일한 기본 활동이 :title:`PDFs` 를 결합(병합)하는 데도 사용되므로, 결과는 이러한 사용 사례에도 적용됩니다." + +#: ../../app4.rst:21 8902b7d3bdf44cdeb0a02ebaeb788364 +msgid "" +":ref:`Text Extraction` - This extracts plain text " +"from :title:`PDFs` and writes it to an output text file." +msgstr ":ref:`Text Extraction` - 이것은 :title:`PDFs` 에서 일반 텍스트를 추출하고 출력 텍스트 파일에 씁니다." + +#: ../../app4.rst:22 c9e28e548b684c15b6fc6c839fb268d0 +msgid "" +":ref:`Page Rendering` - This converts |PDF| pages to" +" image files looking identical to the pages. This ability is the basic " +"prerequisite for using a tool in :title:`Python GUI` scripts to scroll " +"through documents. We have chosen a medium-quality (resolution 150 DPI) " +"version." +msgstr ":ref:`Page Rendering` - 이것은 |PDF| 페이지를 페이지와 동일하게 보이는 이미지 파일로 변환합니다. 이 기능은 :title:`Python GUI` 스크립트에서 문서를 스크롤하기 위해 도구를 사용하는 기본 전제 조건입니다. 중간 품질(해상도 150 DPI) 버전을 선택했습니다." + +#: ../../app4.rst:24 d8c56f0cbbb4415497587ade558105c9 +msgid "" +"Please note that in all cases the actual speed in dealing with |PDF| " +"structures is not directly measured: instead, the timings also include " +"the durations of writing files to the operating system's file system. " +"This cannot be avoided because tools other than |PyMuPDF| do not offer " +"the option to e.g., separate the image **creation** step from the " +"following step, which **writes** the image into a file." +msgstr "모든 경우에 |PDF| 구조를 처리하는 실제 속도가 직접 측정되지 않는다는 점에 유의하세요: 대신 타이밍에는 운영 체제의 파일 시스템에 파일을 쓰는 데 걸리는 시간도 포함됩니다. |PyMuPDF| 이외의 도구는 예를 들어 이미지 **생성** 단계를 이미지를 파일에 **쓰는** 다음 단계와 분리하는 옵션을 제공하지 않기 때문에 이것을 피할 수 없습니다." + +#: ../../app4.rst:26 c95dca0ce6a24b9cbb4e54005da736be +msgid "" +"So all timings documented include a common, OS-oriented base effort. " +"Therefore, performance **differences per tool are actually larger** than " +"the numbers suggest." +msgstr "따라서 문서화된 모든 타이밍에는 공통 OS 지향 기본 작업이 포함됩니다. 따라서 도구별 성능 **차이는 실제로 숫자가 시사하는 것보다 큽니다**." + +#: ../../app4.rst:33 5c8d1822086844e0b5b6e63e24468509 +msgid "Files used" +msgstr "사용된 파일" + +#: ../../app4.rst:35 2439752153d84180a23a0e99527d8073 +msgid "" +"A set of eight files is used for the performance testing. With each file " +"we have the following information:" +msgstr "성능 테스트에 8개의 파일 세트가 사용됩니다. 각 파일에 대해 다음 정보가 있습니다:" + +#: ../../app4.rst:37 b31835ad665241aebc8bce9496462a0b +msgid "**Name** of the file and download **link**." +msgstr "파일의 **이름** 및 다운로드 **링크**." + +#: ../../app4.rst:38 01b0b7ddaf6342b6acea40fc10548232 +msgid "**Size** in bytes." +msgstr "바이트 단위의 **크기**." + +#: ../../app4.rst:39 5cefe438dda843c68dd254d3911dbf09 +msgid "Total number of **pages** in file." +msgstr "파일의 총 **페이지** 수." + +#: ../../app4.rst:40 245d148da06d4becad20aec51e1fd3bf +msgid "Total number of bookmarks (**Table of Contents** entries)." +msgstr "책갈피(**목차** 항목)의 총 수." + +#: ../../app4.rst:41 ff1a2993e3254f7686a848f577c48582 +msgid "Total number of **links**." +msgstr "**링크** 의 총 수." + +#: ../../app4.rst:42 fb20f6986d82495e9890d8753eb1f276 +msgid "**KB size** per page." +msgstr "페이지당 **KB 크기**." + +#: ../../app4.rst:43 1224aaf0dfde40e1a5c3bc91ef4011ff +msgid "" +"**Textsize per page** is the amount text in the whole file in KB, divided" +" by the number of pages." +msgstr "**페이지당 텍스트 크기** 는 전체 파일의 텍스트 양(KB)을 페이지 수로 나눈 값입니다." + +#: ../../app4.rst:44 8ceb2129883142a09c9d4d383789ed99 +msgid "Any **notes** to generally describe the type of file." +msgstr "파일 유형을 일반적으로 설명하는 **참고 사항**." + +#: ../../app4.rst:50 ../../app4.rst:217 ../../app4.rst:295 ../../app4.rst:407 +#: 1b162242a4a54f7dafcae32349b4ed33 930f7531af8b4c2db858b7c3c63f1c57 +#: b459ef8255c34d8bb8f10527b5b13ae0 dd23f2e000014a6ebfbb0df71f4f4550 +msgid "**Name**" +msgstr "**이름**" + +#: ../../app4.rst:51 651fc5cd40134ce993378901eaed782d +msgid "**Size (bytes)**" +msgstr "**크기 (바이트)**" + +#: ../../app4.rst:52 830651a701b543dd92495f528872e442 +msgid "**Pages**" +msgstr "**페이지**" + +#: ../../app4.rst:53 ad04afd00ac744a8b7c099d48dcdc0c3 +msgid "**TOC size**" +msgstr "**목차 크기**" + +#: ../../app4.rst:54 4286cb4118494c3c97aa7190ce52bbe1 +msgid "**Links**" +msgstr "**링크**" + +#: ../../app4.rst:55 dfccc56073594677aaaf87774c57e911 +msgid "**KB/page**" +msgstr "**KB/페이지**" + +#: ../../app4.rst:56 85615f3120044a3d8f55f0e03fbe8400 +msgid "**Textsize/page**" +msgstr "**텍스트 크기/페이지**" + +#: ../../app4.rst:57 2ed30a8ee08e4381913a180905dc4905 +msgid "**Notes**" +msgstr "**참고 사항**" + +#: ../../app4.rst:58 81403b323ce2471990b6addcb9d327ed +msgid "`adobe.pdf`" +msgstr "" + +#: ../../app4.rst:59 6dfced8745d04f139c2262964b78cc6c +msgid "32,472,771" +msgstr "" + +#: ../../app4.rst:60 fe260ad1414a49ad820440768eed3e3d +msgid "1,310" +msgstr "" + +#: ../../app4.rst:61 aecc68ede79f49e7a2f4965c4d6d21fb +msgid "794" +msgstr "" + +#: ../../app4.rst:62 19f68930d6b342c8b63282aacdda31ba +msgid "32,096" +msgstr "" + +#: ../../app4.rst:63 3db3ea234e5e4dbfb2cb18370be6526b +msgid "24" +msgstr "" + +#: ../../app4.rst:64 df9644ba42384b7f8df8f1a7f9ac9ca6 +msgid "1,942" +msgstr "" + +#: ../../app4.rst:65 9a0b2a88e8d14cbbaa5e220051bc2cbc +msgid "linearized, many links / bookmarks" +msgstr "" + +#: ../../app4.rst:66 b450a19150554327a540a48702926bd8 +msgid "`artifex-website.pdf`" +msgstr "" + +#: ../../app4.rst:67 f76c22107d8e466e9e9b938d6d2a0c78 +msgid "31,570,732" +msgstr "" + +#: ../../app4.rst:68 121ca9cb77a44f18ae707dc1f62b6828 +msgid "47" +msgstr "" + +#: ../../app4.rst:69 74407cbb0f3b41c8b248f809abe4cf58 +msgid "46" +msgstr "" + +#: ../../app4.rst:70 5a5a12aa804e4285b2c10f71c7b91631 +msgid "2,035" +msgstr "" + +#: ../../app4.rst:71 24d74ed3a9814878b5faa590d81e830c +msgid "656" +msgstr "" + +#: ../../app4.rst:72 7f66bf0a79ca4e199dd2d27aea8b4e85 +msgid "3,538" +msgstr "" + +#: ../../app4.rst:73 d9c710117eb44abca3a888f45c5f6927 +msgid "graphics oriented" +msgstr "" + +#: ../../app4.rst:74 49bc871f44cb4ddbb8d76e2d42b3155b +msgid "`db-systems.pdf`" +msgstr "" + +#: ../../app4.rst:75 1a5f0c78435c4c6389a2acd6bd91cd28 +msgid "29,326,355" +msgstr "" + +#: ../../app4.rst:76 f88d9c860ac246f49fdafd12ed4cc62e +msgid "1,241" +msgstr "" + +#: ../../app4.rst:77 ../../app4.rst:78 ../../app4.rst:117 ../../app4.rst:118 +#: 35384af101fd403ca7b83c7bf3616f8c 48b4936078bd42bab97c666b770093d6 +#: 95853467cdac44e5905fa2aa5f876d2d d6739a13778847ea9c11a2c7b08bc8e0 +msgid "0" +msgstr "" + +#: ../../app4.rst:79 d215b500b52e41cc99c84f24fe3890ec +msgid "23" +msgstr "" + +#: ../../app4.rst:80 a267452974d549de8748e729075a7ac7 +msgid "2,142" +msgstr "" + +#: ../../app4.rst:82 739b78ec9dc84e99917248ee3622b3b2 +msgid "`fontforge.pdf`" +msgstr "" + +#: ../../app4.rst:83 25bd9632f03d4b2293dc4c8a076d05fa +msgid "8,222,384" +msgstr "" + +#: ../../app4.rst:84 b567e447fe8f4e0490f62422a2d9d569 +msgid "214" +msgstr "" + +#: ../../app4.rst:85 75588fdd5beb42a78773ef5340ecc1b6 +msgid "31" +msgstr "" + +#: ../../app4.rst:86 0c2001d30c0f4f07963b9f2e38b0f614 +msgid "242" +msgstr "" + +#: ../../app4.rst:87 d6c479c026b5484881aa9197ffc88c6a +msgid "38" +msgstr "" + +#: ../../app4.rst:88 b9139930537345d284aa9a31220d74c6 +msgid "1,058" +msgstr "" + +#: ../../app4.rst:89 710514866ee04905bf3be46a44b683bf +msgid "mix of text & graphics" +msgstr "" + +#: ../../app4.rst:90 c8a1f504fd3746ba9397d4e3d6b274a6 +msgid "`pandas.pdf`" +msgstr "" + +#: ../../app4.rst:91 8642835dbf5d4db99a8c4fbca766a571 +msgid "10,585,962" +msgstr "" + +#: ../../app4.rst:92 7b996090e65044c584d83ea7acda42f0 +msgid "3,071" +msgstr "" + +#: ../../app4.rst:93 ff6fdff8d91a417583e2686c79665e97 +msgid "536" +msgstr "" + +#: ../../app4.rst:94 6916626a7d824adfb4b1475a9d0f3eff +msgid "16,554" +msgstr "" + +#: ../../app4.rst:95 bc0f680837344f68abbb708440827a84 +msgid "3" +msgstr "" + +#: ../../app4.rst:96 bba11b24685d4d8c94deaa5e074e4bcb +msgid "1,539" +msgstr "" + +#: ../../app4.rst:97 40e65f53ef05490796b7a4aec9577410 +msgid "many pages" +msgstr "" + +#: ../../app4.rst:98 e798c081493c4df095c56e07a50ca1b9 +msgid "`pymupdf.pdf`" +msgstr "" + +#: ../../app4.rst:99 9648e1df46804af395045a08a83de9fe +msgid "6,805,176" +msgstr "" + +#: ../../app4.rst:100 7f91a57f8a7847b4bd037094e00faa9a +msgid "478" +msgstr "" + +#: ../../app4.rst:101 226cdbfe630949eab54a52805869a6e7 +msgid "276" +msgstr "" + +#: ../../app4.rst:102 f30b492e535c41748786f54e00e90cb8 +msgid "5,277" +msgstr "" + +#: ../../app4.rst:103 2701b877b410466cb1ae77dd1a2a1e90 +msgid "14" +msgstr "" + +#: ../../app4.rst:104 bcc9d1ef612c4e95b015b553232ad25a +msgid "1,937" +msgstr "" + +#: ../../app4.rst:105 befe3de8428943f2b55fa3759ae8cbd0 +msgid "text oriented" +msgstr "" + +#: ../../app4.rst:106 1fde26c15a56401eb49e5db71f99cc25 +msgid "`pythonbook.pdf`" +msgstr "" + +#: ../../app4.rst:107 abde300eb8244d23875981f20afdf6ce +msgid "9,983,856" +msgstr "" + +#: ../../app4.rst:108 f236fb08a1834afeae13579d512733ba +msgid "669" +msgstr "" + +#: ../../app4.rst:109 d7c1691699514ea893a728c74016301d +msgid "198" +msgstr "" + +#: ../../app4.rst:110 4af5202a95164d698a13772fb60448a8 +msgid "1,953" +msgstr "" + +#: ../../app4.rst:111 b4141c07d695403e87cedbe5de5863dd +msgid "15" +msgstr "" + +#: ../../app4.rst:112 72ae61bf2a1b4a52904b806afc0ff6f5 +msgid "1,929" +msgstr "" + +#: ../../app4.rst:114 bb501706366848629a8491cb70e58ec9 +msgid "`sample-50-MB-pdf-file.pdf`" +msgstr "" + +#: ../../app4.rst:115 542f200f9bbd48719bb31d4cf6850f3b +msgid "52,521,850" +msgstr "" + +#: ../../app4.rst:116 d0db6531af4e488ca48300bebf47246e +msgid "1" +msgstr "" + +#: ../../app4.rst:119 b80b76ee70584a34977f50acbea06df8 +msgid "51,291" +msgstr "" + +#: ../../app4.rst:120 52119106cfb04a489c5842fab93cd2c5 +msgid "23,860" +msgstr "" + +#: ../../app4.rst:121 513e58b0ccf547edaf2e1b8d4fc09391 +msgid "single page, graphics oriented, large file size" +msgstr "단일 페이지, 그래픽 지향, 큰 파일 크기" + +#: ../../app4.rst:127 b1d1466a4d4f46ee97f9c0c14866930d +msgid "" +"**adobe.pdf** and **pymupdf.pdf** are clearly text oriented, **artifex-" +"website.pdf** and **sample-50-MB-pdf-file.pdf** are graphics oriented. " +"Other files are a mix of both." +msgstr "**adobe.pdf** 와 **pymupdf.pdf** 는 명확히 텍스트 지향적이며, **artifex-website.pdf** 와 **sample-50-MB-pdf-file.pdf** 는 그래픽 지향적입니다. 다른 파일들은 둘 다의 혼합입니다." + +#: ../../app4.rst:131 a46db6b46cbd476c9aa08e828b1899a9 +msgid "Tools used" +msgstr "사용된 도구" + +#: ../../app4.rst:133 eff071706abe45db98dc970ba599955e +msgid "" +"In each section, the same fixed set of |PDF| files is being processed by " +"a set of tools. The set of tools used per performance aspect however " +"varies, depending on the supported tool features." +msgstr "각 섹션에서 동일한 고정된 |PDF| 파일 세트가 도구 세트에 의해 처리됩니다. 그러나 성능 측면별로 사용되는 도구 세트는 지원되는 도구 기능에 따라 다릅니다." + +#: ../../app4.rst:135 e7ff37e32cbd4cdc993c645e7658d227 +msgid "" +"All tools are either platform independent, or at least can run on both, " +":title:`Windows` and :title:`Unix` / :title:`Linux`." +msgstr "모든 도구는 플랫폼 독립적이거나 최소한 :title:`Windows` 와 :title:`Unix` / :title:`Linux` 모두에서 실행할 수 있습니다." + +#: ../../app4.rst:141 7507beef7859479e94a8fa9cce614373 +msgid "**Tool**" +msgstr "**도구**" + +#: ../../app4.rst:142 7e5c5082ee244cc1850b389fa76d162b +msgid "**Description**" +msgstr "**설명**" + +#: ../../app4.rst:143 ../../app4.rst:172 ../../app4.rst:218 ../../app4.rst:296 +#: ../../app4.rst:368 ../../app4.rst:408 51f2639233354454a2be6c8cf943caae +#: 75b83e125f444081ac46f5b513ffb434 78511b7a3ae24d7ba242cb9f012c945c +#: cf82339face445409b1cb2230b1cf737 e2f4e337aa6f46ff9d1a57a84bd40231 +#: ea0496359fd4419f88ac295b9d5a7c35 +msgid "|PyMuPDF|" +msgstr "|PyMuPDF|" + +#: ../../app4.rst:144 265dd2b9a51a4748ae710d0a7781b16c +msgid "The tool of this manual." +msgstr "이 매뉴얼의 도구." + +#: ../../app4.rst:145 0d7018f04c2d4b8b91e09d879a94c489 +msgid "PDFrw_" +msgstr "PDFrw_" + +#: ../../app4.rst:146 1871dfbb59ed44559c1143b8f664ab3b +msgid "" +"A pure :title:`Python` tool, being used by :title:`rst2pdf`, has " +"interface to :title:`ReportLab`." +msgstr ":title:`rst2pdf` 에서 사용되는 순수 :title:`Python` 도구로, :title:`ReportLab` 에 대한 인터페이스를 가집니다." + +#: ../../app4.rst:147 db3dc67db0384a4caf25ec3159cc9e8c +msgid "PyPDF2_" +msgstr "PyPDF2_" + +#: ../../app4.rst:148 f00f0472c11846dd8a6d1cb0ac0237bf +msgid "A pure :title:`Python` tool with a large function set." +msgstr "큰 함수 집합을 가진 순수 :title:`Python` 도구." + +#: ../../app4.rst:149 719bb221eb5b4d34a21a977bfddfa966 +msgid "PDFMiner_" +msgstr "PDFMiner_" + +#: ../../app4.rst:150 7c679bd2a294494c86c754ffaddb5cf3 +msgid "A pure :title:`Python` to extract text and other data from |PDF|." +msgstr "|PDF| 에서 텍스트 및 기타 데이터를 추출하는 순수 :title:`Python`." + +#: ../../app4.rst:151 ef3100ff8d5049009f9896ca197346c5 +msgid "XPDF_" +msgstr "XPDF_" + +#: ../../app4.rst:152 89c9c95eccee414e90d74c494ef8fa0c +msgid "A command line utility with multiple functions." +msgstr "여러 기능을 가진 명령줄 유틸리티." + +#: ../../app4.rst:153 3ac8573211c94c1996a3f39372a5c365 +msgid "PikePDF_" +msgstr "PikePDF_" + +#: ../../app4.rst:154 ad269cc30d2f43dbbd44e72f1cfa24e9 +msgid "" +"A :title:`Python` package similar to :title:`PDFrw`, but based on " +":title:`C++` library :title:`QPDF`." +msgstr ":title:`PDFrw` 와 유사한 :title:`Python` 패키지이지만, :title:`C++` 라이브러리 :title:`QPDF` 를 기반으로 합니다." + +#: ../../app4.rst:155 f7a4dbe832784e9c80a9bec19efd26e4 +msgid "PDF2JPG_" +msgstr "PDF2JPG_" + +#: ../../app4.rst:156 2354f030ddfb48028e2dc5dcdca588bf +msgid "" +"A :title:`Python` package specialized on rendering |PDF| pages to " +":title:`JPG` images." +msgstr "|PDF| 페이지를 :title:`JPG` 이미지로 렌더링하는 데 특화된 :title:`Python` 패키지." + +#: ../../app4.rst:164 20ec5781714e43979415d31bca6e4d91 +msgid "Copying / Joining / Merging" +msgstr "복사 / 결합 / 병합" + +#: ../../app4.rst:166 24e5ae35daf74ce5af40e0c2fc945067 +msgid "" +"How fast is a |PDF| file read and its content parsed for further " +"processing? The sheer parsing performance cannot directly be compared, " +"because batch utilities always execute a requested task completely, in " +"one go, front to end. :title:`PDFrw` too, has a *lazy* strategy for " +"parsing, meaning it only parses those parts of a document that are " +"required in any moment." +msgstr "|PDF| 파일을 읽고 내용을 추가 처리하기 위해 파싱하는 속도는 얼마나 빠른가? 순수 파싱 성능은 직접 비교할 수 없습니다. 왜냐하면 배치 유틸리티는 항상 요청된 작업을 처음부터 끝까지 한 번에 완전히 실행하기 때문입니다. :title:`PDFrw` 도 *지연* 파싱 전략을 가지며, 이는 언제든지 필요한 문서 부분만 파싱한다는 의미입니다." + +#: ../../app4.rst:168 9030ee0b64da48c4b6ba3563a6fe7da8 +msgid "" +"To find an answer to the question, we therefore measure the time to copy " +"a |PDF| file to an output file with each tool, and do nothing else." +msgstr "이 질문에 대한 답을 찾기 위해, 각 도구로 |PDF| 파일을 출력 파일에 복사하는 데 걸리는 시간을 측정하고 다른 작업은 수행하지 않습니다." + +#: ../../app4.rst:170 ../../app4.rst:365 75c4e9d6b0f94276ad4a46e7ca064b4c +#: d29245da53b44d4c931cdfd53a686bcb +msgid "These are the :title:`Python` commands for how each tool is used:" +msgstr "각 도구를 사용하는 방법에 대한 :title:`Python` 명령은 다음과 같습니다:" + +#: ../../app4.rst:180 40554a7aac2c4529a5cea2cb201adc33 +msgid ":title:`PDFrw`" +msgstr ":title:`PDFrw`" + +#: ../../app4.rst:190 2027a14c030c4dafa9b213b842921038 +msgid ":title:`PikePDF`" +msgstr ":title:`PikePDF`" + +#: ../../app4.rst:198 0554b1918f0442929d092d7d1aa8c6db +msgid ":title:`PyPDF2`" +msgstr ":title:`PyPDF2`" + +#: ../../app4.rst:210 ../../app4.rst:288 ../../app4.rst:399 +#: 0cc77d5085aa42b092a9d28c9f9b93d1 2151ed94f39e42489d9407b0a8ac0ccb +#: 8e952a6e6d1d46499282ea93f770529c +msgid "**Observations**" +msgstr "**관찰 결과**" + +#: ../../app4.rst:212 ../../app4.rst:290 ../../app4.rst:401 +#: 190b33a2a1264d58900d557c11876da4 2995f439d6cb495da4b80e31d49c47a7 +#: 536ccc62e0b8415f92d295558b4e0e5b +msgid "" +"These are our run time findings in **seconds** along with a base rate " +"summary compared to |PyMuPDF|:" +msgstr "다음은 **초** 단위의 실행 시간 결과와 |PyMuPDF| 와 비교한 기준 비율 요약입니다:" + +#: ../../app4.rst:219 a51de26a6852481a8e70a53e96187379 +msgid "**PDFrw**" +msgstr "**PDFrw**" + +#: ../../app4.rst:220 933434ca403749c0a4f630ffec63fbf0 +msgid "**PikePDF**" +msgstr "**PikePDF**" + +#: ../../app4.rst:221 ../../app4.rst:298 93a77920ab2f426481a1d5037c17135f +#: a5fda08d4d34464ba81569732331f63c +msgid "**PyPDF2**" +msgstr "**PyPDF2**" + +#: ../../app4.rst:222 ../../app4.rst:300 ../../app4.rst:411 +#: 5544726c03fb43a2afaa6c61866bba6a 5ade818fb72c4831ad8691c9cf811c78 +#: af7a989e3b5144c1a3f9d080bc5aea03 +msgid "adobe.pdf" +msgstr "" + +#: ../../app4.rst:223 aea85b36f9074c44ac0e480e9feedf9a +msgid "1.75" +msgstr "" + +#: ../../app4.rst:224 1d5d21531c014823b5bd62db7bc0135e +msgid "5.15" +msgstr "" + +#: ../../app4.rst:225 29285cb95fbc41c7b91b01dda4181c2d +msgid "22.37" +msgstr "" + +#: ../../app4.rst:226 68b490eb621f4f4eb992f5e5eb9baff5 +msgid "374.05" +msgstr "" + +#: ../../app4.rst:227 ../../app4.rst:305 ../../app4.rst:415 +#: 00246b4fa6bb413aaecfac538ed32b19 20452d17f0ed4d98ab1d92047ddb55a7 +#: dc633929adc3417d9c90d8be2bf90613 +msgid "artifex-website.pdf" +msgstr "" + +#: ../../app4.rst:228 3e3d60bb5a06431f8423b7fa72008e45 +msgid "0.26" +msgstr "" + +#: ../../app4.rst:229 ../../app4.rst:243 2ce822ddafa04eacb665dcdd8bb34f25 +#: a0ca8a854b9c428a9257c8dbf52b4590 +msgid "0.38" +msgstr "" + +#: ../../app4.rst:230 63e990f7145f451dac1615b7274b980f +msgid "1.41" +msgstr "" + +#: ../../app4.rst:231 e5e9ce25649c4a7e87d9cfed1d4c1f0a +msgid "2.81" +msgstr "" + +#: ../../app4.rst:232 ../../app4.rst:310 ../../app4.rst:419 +#: 1abbb91fd2804bff9cc59d244e834dbe 25ef69a136294635ad82241de488155a +#: 5c166f9365fb4824bbe295d262a4c695 +msgid "db-systems.pdf" +msgstr "" + +#: ../../app4.rst:233 dfa580f9d5494073b720002293a6fa82 +msgid "0.15" +msgstr "" + +#: ../../app4.rst:234 0cabf0e69a2e40a8920e44b780f064b6 +msgid "0.8" +msgstr "" + +#: ../../app4.rst:235 1b45bb6fb5384d11863727a44bc772d5 +msgid "1.68" +msgstr "" + +#: ../../app4.rst:236 482704feedf44b168160d5c6bf430e89 +msgid "2.46" +msgstr "" + +#: ../../app4.rst:237 ../../app4.rst:315 ../../app4.rst:423 +#: 28cf3f5a2e644968b1b497d836968533 619f6293468e4a5b9414def4ae968f6a +#: a54e51785c104643876df4110d7f60fb +msgid "fontforge.pdf" +msgstr "" + +#: ../../app4.rst:238 80142473274946b2b76110266168f6d2 +msgid "0.09" +msgstr "" + +#: ../../app4.rst:239 fdeb0d08542549ad94e6f5ff68f639e1 +msgid "0.14" +msgstr "" + +#: ../../app4.rst:240 fa056a25dbc24ce8bbb7206ac25c05ae +msgid "0.28" +msgstr "" + +#: ../../app4.rst:241 ../../app4.rst:308 4bafecabe76b409d8db8ac377d7f7ea9 +#: 5206ddcbea3c43ab869b569ff3172038 +msgid "1.1" +msgstr "" + +#: ../../app4.rst:242 ../../app4.rst:320 ../../app4.rst:427 +#: 283144343a0949668598a967aab1deef 2bf82f9384f34930a1debf451276e32e +#: f64eb5e532a04104b1c1491cdd231638 +msgid "pandas.pdf" +msgstr "" + +#: ../../app4.rst:244 c0f38df2b0cd4082acfb9b25f340902a +msgid "2.21" +msgstr "" + +#: ../../app4.rst:245 9594837d5d2848c6bd8fc40d23f432db +msgid "2.73" +msgstr "" + +#: ../../app4.rst:246 d52e2689ad7047df8dcab08a5b7c5417 +msgid "70.3" +msgstr "" + +#: ../../app4.rst:247 ../../app4.rst:325 ../../app4.rst:431 +#: 6adf778936ea4b1bac0e0112c0f3d53a ca7e5c0d37d843a5a058022264ef4838 +#: df12e19f983a4715a95aa5e1c4259037 +msgid "pymupdf.pdf" +msgstr "" + +#: ../../app4.rst:248 50c706b1c6eb4ba783605c298016ffd9 +msgid "0.11" +msgstr "" + +#: ../../app4.rst:249 e6316c498d704c12a367a5598ce1dfa4 +msgid "0.56" +msgstr "" + +#: ../../app4.rst:250 c9b02d42498945f39b746d182ceef93f +msgid "0.83" +msgstr "" + +#: ../../app4.rst:251 a866f67188d54c70912cd3e19c35d760 +msgid "6.05" +msgstr "" + +#: ../../app4.rst:252 ../../app4.rst:330 ../../app4.rst:435 +#: 2d6911f21f034fdb99236c6da0e5c8fc ca646d19848a4024b113f84e29e5f016 +#: ddf7610dcd7d4c2085d801cc70dfa46b +msgid "pythonbook.pdf" +msgstr "" + +#: ../../app4.rst:253 6f0fe33ac23b4d0baf5009363bc75c5b +msgid "0.19" +msgstr "" + +#: ../../app4.rst:254 680b3cbd12934d07830711fdf35d8c00 +msgid "1.2" +msgstr "" + +#: ../../app4.rst:255 fbbf220c922f4a53ab16e06f0c5042ee +msgid "1.34" +msgstr "" + +#: ../../app4.rst:256 e94988b7dbc347c09260a2b8a03dd461 +msgid "37.19" +msgstr "" + +#: ../../app4.rst:257 ../../app4.rst:335 ../../app4.rst:439 +#: a9d4ceb80d2c42e0b7bf4c22de480e63 aa346b20c8c14103ad508c92238ca1a8 +#: b0d041755ac04554a0acc858c79f4516 +msgid "sample-50-MB-pdf-file.pdf" +msgstr "" + +#: ../../app4.rst:258 bcc275d36bf04161834713d6d786e356 +msgid "0.12" +msgstr "" + +#: ../../app4.rst:259 cb526a85171a4e5c924b02fae9f5cff1 +msgid "0.1" +msgstr "" + +#: ../../app4.rst:260 57e608621ccb4404a586b7361b537020 +msgid "2.93" +msgstr "" + +#: ../../app4.rst:261 e280682fa0f048f7bf4a842026ed388c +msgid "0.08" +msgstr "" + +#: ../../app4.rst:262 ../../app4.rst:340 ../../app4.rst:443 +#: 147889494a0342d39c8d7bc589e777a1 9dde60202b154d62bb5dc5da1b8f3eb4 +#: dcdc53ddede34633afbb78b8cb474780 +msgid "**Total**" +msgstr "**총계**" + +#: ../../app4.rst:263 482ff9ef77514db0a3105d43540c6a79 +msgid "**3.05**" +msgstr "" + +#: ../../app4.rst:264 2f728a892b10493f83a211bbe00dc8c2 +msgid "**10.54**" +msgstr "" + +#: ../../app4.rst:265 8a1310321389468b8eeb7302181de22f +msgid "**33.57**" +msgstr "" + +#: ../../app4.rst:266 8979d1c755ab4d5480e0e543908439ab +msgid "**494.04**" +msgstr "" + +#: ../../app4.rst:272 ../../app4.rst:350 ../../app4.rst:451 +#: 39d408ac310b429a9f4630de549c0218 b1cedcb976d7467cb64b4a03e059059f +#: d60f7ab07be042e9ac4f315656e9d80e +msgid "**Rate compared to PyMuPDF**" +msgstr "**PyMuPDF 와 비교한 비율**" + +#: ../../app4.rst:273 ../../app4.rst:351 ../../app4.rst:452 +#: 5fe241f7da6f4f1287b2ef598e77e63a a1eabf390faf4118b9fbf1c23bcaa970 +#: ca4532068a8749cebe70ecd680077cff +msgid ":green-color:`1.0`" +msgstr "" + +#: ../../app4.rst:274 4bebef049b2147ec9412439a06413b0c +msgid ":orange-color:`3.5`" +msgstr "" + +#: ../../app4.rst:275 bd4c733cfe544784bfac89860db9068e +msgid ":orange-color:`11.0`" +msgstr "" + +#: ../../app4.rst:276 65a3d5ea7ac842238d61067451bc62b9 +msgid ":red-color:`162`" +msgstr "" + +#: ../../app4.rst:283 1cd4fd60fed8493aa0180e6aced6f887 +msgid "Text Extraction" +msgstr "텍스트 추출" + +#: ../../app4.rst:285 43ec059052ef49239504e79c59d48792 +msgid "" +"The following table shows plain text extraction durations. All tools have" +" been used with their most basic functionality - i.e. no layout re-" +"arrangements, etc." +msgstr "다음 표는 일반 텍스트 추출 기간을 보여줍니다. 모든 도구는 가장 기본적인 기능으로 사용되었습니다 -- 즉, 레이아웃 재배치 등이 없습니다." + +#: ../../app4.rst:297 ../../app4.rst:409 493d81649a04476aa7e157c8155e8816 +#: c7a4bc884d3e4b39ab49157d277af5e6 +msgid "**XPDF**" +msgstr "**XPDF**" + +#: ../../app4.rst:299 55447e13f7cc43598fde158caf1adfbf +msgid "**PDFMiner**" +msgstr "**PDFMiner**" + +#: ../../app4.rst:301 71ff39c17b764e46a725f342a082f147 +msgid "2.01" +msgstr "" + +#: ../../app4.rst:302 fce895fddd9544e4b84bbc464bc5d54a +msgid "6.19" +msgstr "" + +#: ../../app4.rst:303 11d7da5f489c4d5c8f08904e64d58b85 +msgid "22.2" +msgstr "" + +#: ../../app4.rst:304 7a43720209f2409891b79edcb6feebc8 +msgid "49.15" +msgstr "" + +#: ../../app4.rst:306 86da45bd435e4e2fac8f537ac4dc33c6 +msgid "0.18" +msgstr "" + +#: ../../app4.rst:307 9f329e56a13e4944887ba215aadd1c50 +msgid "0.3" +msgstr "" + +#: ../../app4.rst:309 412c97e97e644221bec455efaa9ee865 +msgid "4.06" +msgstr "" + +#: ../../app4.rst:311 3211848a2c7541c4b98431190bc82a51 +msgid "1.57" +msgstr "" + +#: ../../app4.rst:312 7888933412524d77b9710d7c349a6ad8 +msgid "4.26" +msgstr "" + +#: ../../app4.rst:313 78ac7fd7df42471aa6a3ac3bb3b13b4f +msgid "25.75" +msgstr "" + +#: ../../app4.rst:314 fbda6230814e4005b8c47d862c0364c4 +msgid "42.19" +msgstr "" + +#: ../../app4.rst:316 05c924d4dc1e4feb955b06be14c5e7e7 +msgid "0.24" +msgstr "" + +#: ../../app4.rst:317 eff929019a05485ab7d424571a631738 +msgid "0.47" +msgstr "" + +#: ../../app4.rst:318 d732cff1f2af4741b0cf005af6150933 +msgid "2.69" +msgstr "" + +#: ../../app4.rst:319 d717cab56bbc403fa2d497180e09afac +msgid "4.2" +msgstr "" + +#: ../../app4.rst:321 6f2bb2d646834a28b637393c83fbe756 +msgid "2.41" +msgstr "" + +#: ../../app4.rst:322 297e3c2d5f354ca6a5f331312ada2eb9 +msgid "10.54" +msgstr "" + +#: ../../app4.rst:323 e7aaee8a7d6d46738acd6d36fd3a1a2b +msgid "25.38" +msgstr "" + +#: ../../app4.rst:324 22691134bd124353bac936a15dc23c7d +msgid "76.56" +msgstr "" + +#: ../../app4.rst:326 beb7e60f87f44b00941524176f83234b +msgid "0.49" +msgstr "" + +#: ../../app4.rst:327 f1987f898ec44e2eae7731378a36d310 +msgid "2.34" +msgstr "" + +#: ../../app4.rst:328 ef61cf5a5cb042fdbb4db7ffb338d866 +msgid "6.44" +msgstr "" + +#: ../../app4.rst:329 22b1b07b84d542088f18ea5fb77ba24f +msgid "13.55" +msgstr "" + +#: ../../app4.rst:331 0832e852468f492a9ecffee3998af4f2 +msgid "0.84" +msgstr "" + +#: ../../app4.rst:332 3a29ccef7ff44af0bbc12374a5983e38 +msgid "2.88" +msgstr "" + +#: ../../app4.rst:333 be833e3e8322409ba592cc7891bfd260 +msgid "9.28" +msgstr "" + +#: ../../app4.rst:334 fb41a43110744ce98af7eee58740fb05 +msgid "24.27" +msgstr "" + +#: ../../app4.rst:336 81ca0ec15e384df3998d921f54470058 +msgid "0.27" +msgstr "" + +#: ../../app4.rst:337 fe5e6af169c04db999c3003913c8ad6e +msgid "0.44" +msgstr "" + +#: ../../app4.rst:338 9220f3fa950e47009211a9f69d405117 +msgid "8.8" +msgstr "" + +#: ../../app4.rst:339 a9338bdb413148689255f70fbeead632 +msgid "13.29" +msgstr "" + +#: ../../app4.rst:341 978aa50a4e73446ca6444f7911b99137 +msgid "**8.01**" +msgstr "" + +#: ../../app4.rst:342 c80a0bb069c644938e92b9da92483efa +msgid "**27.42**" +msgstr "" + +#: ../../app4.rst:343 3aff3e7279a74a2b90e22e23593c2795 +msgid "**101.64**" +msgstr "" + +#: ../../app4.rst:344 4fe0e88c92fd44c7af9bc827ce45422c +msgid "**227.27**" +msgstr "" + +#: ../../app4.rst:352 63cc33b2658d4c45b2ba8cbe943bd222 +msgid ":orange-color:`3.42`" +msgstr "" + +#: ../../app4.rst:353 0533ece4f3e14f7c96cb711e9d3b3fbf +msgid ":orange-color:`12.69`" +msgstr "" + +#: ../../app4.rst:354 1a614a3651e448a9911ab3eedaac4d42 +msgid ":red-color:`28.37`" +msgstr "" + +#: ../../app4.rst:360 00b592ac57f64130a8654c00830f154e +msgid "Page Rendering" +msgstr "페이지 렌더링" + +#: ../../app4.rst:362 f5119aaf183e4f4eb483e9c337c88488 +msgid "" +"We have tested rendering speed of |PyMuPDF| against :title:`pdf2jpg` and " +":title:`XPDF` at a resolution of 150 DPI," +msgstr "150 DPI 해상도에서 :title:`pdf2jpg` 및 :title:`XPDF` 와 비교하여 |PyMuPDF| 의 렌더링 속도를 테스트했습니다," + +#: ../../app4.rst:382 02cf04dabcd44b9998f6e4e25bbca5ee +msgid ":title:`XPDF`" +msgstr ":title:`XPDF`" + +#: ../../app4.rst:389 90770272b10c416e84826a42e1c212cc +msgid ":title:`PDF2JPG`" +msgstr ":title:`PDF2JPG`" + +#: ../../app4.rst:410 c717d43cc70e48e98e87edcf403d8b03 +msgid "**PDF2JPG**" +msgstr "**PDF2JPG**" + +#: ../../app4.rst:412 da606418caee4a099a285d88fdee4bcb +msgid "51.33" +msgstr "" + +#: ../../app4.rst:413 d42b2bb121b54a939a97fd7c82e60632 +msgid "98.16" +msgstr "" + +#: ../../app4.rst:414 97e1e5c516654f909a445d6158df2fef +msgid "75.71" +msgstr "" + +#: ../../app4.rst:416 c1a00e6812494e27a1e5513c5dcb6515 +msgid "26.35" +msgstr "" + +#: ../../app4.rst:417 525f071275c846daaccf5b9ad9472c35 +msgid "51.28" +msgstr "" + +#: ../../app4.rst:418 dab5c30a6ab14679837b7c79be1baef5 +msgid "54.11" +msgstr "" + +#: ../../app4.rst:420 6347c08651eb4dfc963827edfe3c2dfa +msgid "84.59" +msgstr "" + +#: ../../app4.rst:421 9ff9e6ea2bff413e96b7948a6cdd6c2d +msgid "143.16" +msgstr "" + +#: ../../app4.rst:422 088e57b2eec94b3bbbf1258987f8c664 +msgid "405.22" +msgstr "" + +#: ../../app4.rst:424 b3cf9ee794b34bad8b6dbfe411512b74 +msgid "12.23" +msgstr "" + +#: ../../app4.rst:425 d51b92890c7442579c00adf23e97f279 +msgid "22.18" +msgstr "" + +#: ../../app4.rst:426 3f7b41851cdf4ca493af2c869d25b055 +msgid "20.14" +msgstr "" + +#: ../../app4.rst:428 226831c9dbf7408f9116226b0776dff5 +msgid "138.74" +msgstr "" + +#: ../../app4.rst:429 c0ff7f066efe4586859fcd60916d8201 +msgid "241.67" +msgstr "" + +#: ../../app4.rst:430 c348dd9ee91b448aad5e075ccac79cbc +msgid "202.06" +msgstr "" + +#: ../../app4.rst:432 5ac66403bf9a49aead460327d7c44f45 +msgid "22.35" +msgstr "" + +#: ../../app4.rst:433 9173e53f1f69448a83d553ded32bb807 +msgid "39.11" +msgstr "" + +#: ../../app4.rst:434 89611809173d45ae8ac3a4f7089ee725 +msgid "33.38" +msgstr "" + +#: ../../app4.rst:436 533943d891b74af491898743b80b7be3 +msgid "30.44" +msgstr "" + +#: ../../app4.rst:437 940113c92ada4f3fabf8932a0ec143e4 +msgid "49.12" +msgstr "" + +#: ../../app4.rst:438 0698ab345b994705a75ccfaddd9670fa +msgid "55.68" +msgstr "" + +#: ../../app4.rst:440 022d36dd2a304fca9d994fd8aebb4229 +msgid "1.01" +msgstr "" + +#: ../../app4.rst:441 fb7736a3bc7c4ca29f4fce61faf4b788 +msgid "1.32" +msgstr "" + +#: ../../app4.rst:442 dabe4ab239f1407f95b68ad8269a33af +msgid "5.22" +msgstr "" + +#: ../../app4.rst:444 23819f93562342a8b546fc017760f1c2 +msgid "**367.04**" +msgstr "" + +#: ../../app4.rst:445 1616c1fe2bca4ff2a048b9308c0f246e +msgid "**646**" +msgstr "" + +#: ../../app4.rst:446 5bdba98414414ff8ac81e89e0e221e71 +msgid "**851.52**" +msgstr "" + +#: ../../app4.rst:453 d581d4e1ac754c2b9e0172b86aeb3edf +msgid ":orange-color:`1.76`" +msgstr "" + +#: ../../app4.rst:454 5a2a9f45f5b14d398c5c1891f3ed968c +msgid ":red-color:`2.32`" +msgstr "" + +#: ../../footer.rst:46 6f6b539ff34a4640ab8af9e5deaeacb0 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/archive-class.mo b/docs/locales/ko/LC_MESSAGES/archive-class.mo new file mode 100644 index 000000000..3269971ce Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/archive-class.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/archive-class.po b/docs/locales/ko/LC_MESSAGES/archive-class.po new file mode 100644 index 000000000..34d24fb44 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/archive-class.po @@ -0,0 +1,266 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 7172941a6af740c8a8c939eeb12aab6f +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 7f24f6f0cd5c48f7b5ef12886e7d3dc2 +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 2ce7ac460eea4d7fa274674358f58cb3 +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" + +#: ../../archive-class.rst:7 4da66911f34043f4b535f63a47cba447 +msgid "Archive" +msgstr "Archive (아카이브)" + +#: ../../archive-class.rst:9 1dbbb103178b492a8c9bf5b05d021272 +msgid "New in v1.21.0" +msgstr "v1.21.0에서 새로 추가됨" + +#: ../../archive-class.rst:11 1e7ee6091313470abe0dcc5c8168a504 +msgid "" +"This class represents a generalization of file folders and container " +"files like ZIP and TAR archives. Archives allow accessing arbitrary " +"collections of file folders, ZIP / TAR files and single binary data " +"elements as if they all were part of one hierarchical tree of folders." +msgstr "이 클래스는 ZIP 및 TAR 아카이브와 같은 파일 폴더 및 컨테이너 파일의 일반화를 나타냅니다. 아카이브는 파일 폴더, ZIP/TAR 파일 및 단일 바이너리 데이터 요소의 임의 컬렉션에 접근할 수 있게 하며, 모두 하나의 계층적 폴더 트리의 일부인 것처럼 처리합니다." + +#: ../../archive-class.rst:13 bc799244f4a54577b1ab6043ddcef969 +msgid "" +"In PyMuPDF, archives are currently only used by :ref:`Story` objects to " +"specify where to look for fonts, images and other resources." +msgstr "|PyMuPDF| 에서 아카이브는 현재 :ref:`Story` 객체에서만 사용되며, 글꼴, 이미지 및 기타 리소스를 찾을 위치를 지정합니다." + +#: ../../archive-class.rst:16 733307d2ac0c48d5943722db88b66ca3 +msgid "**Method / Attribute**" +msgstr "**메서드 / 속성**" + +#: ../../archive-class.rst:16 067a02c3d0eb402e87db2ab8a79cec6a +msgid "**Short Description**" +msgstr "**간략 설명**" + +#: ../../archive-class.rst:18 917e00b33c264053b763260480ae3cb0 +msgid ":meth:`Archive.add`" +msgstr ":meth:`Archive.add`" + +#: ../../archive-class.rst:18 5758685d282946d0b76452d8a3d35bf1 +msgid "add new data to the archive" +msgstr "아카이브에 새 데이터 추가" + +#: ../../archive-class.rst:19 96e83a97ca3a4e0d99f2eba9b8dd862c +msgid ":meth:`Archive.has_entry`" +msgstr ":meth:`Archive.has_entry`" + +#: ../../archive-class.rst:19 e29b1efc996f43298b3e2c9fd91522a4 +msgid "check if given name is a member" +msgstr "주어진 이름이 멤버인지 확인" + +#: ../../archive-class.rst:20 7e3fbbcec68b4db0b0e06433c33177c1 +msgid ":meth:`Archive.read_entry`" +msgstr ":meth:`Archive.read_entry`" + +#: ../../archive-class.rst:20 4cbe9ceb4c8744f69ad9da999cf33862 +msgid "read the data given by the name" +msgstr "이름으로 지정된 데이터 읽기" + +#: ../../archive-class.rst:21 40716b5223004d5ba100ffb57f39be5a +msgid ":attr:`Archive.entry_list`" +msgstr ":attr:`Archive.entry_list`" + +#: ../../archive-class.rst:21 c6a15b6d228b4c37a9d06697f7992694 +msgid "list[dict] of archive items" +msgstr "아카이브 항목의 list[dict]" + +#: ../../archive-class.rst:24 d96c6d9573704987968f177a3bf7a3ad +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../archive-class.rst:30 d4ac6bed829f43429a56efde53217fce +msgid "Creates a new archive. Without parameters, an empty archive is created." +msgstr "새 아카이브를 생성합니다. 매개변수가 없으면 빈 아카이브가 생성됩니다." + +#: ../../archive-class.rst:32 ce56c558cdfd467bb88c2e5a14edbc06 +msgid "If provided, `content` may be one of the following:" +msgstr "제공되는 경우 `content` 는 다음 중 하나일 수 있습니다:" + +#: ../../archive-class.rst:34 b4730a481ea84967b6cb58ae9fe5ba6e +msgid "another Archive: the archive is being made a sub-archive of the new one." +msgstr "다른 Archive: 아카이브가 새 아카이브의 하위 아카이브가 됩니다." + +#: ../../archive-class.rst:36 5b42f6018b314dbca0ec8d6039baf4d7 +msgid "" +"a string: this must be the name of a local folder or file. `pathlib.Path`" +" objects are also supported." +msgstr "문자열: 로컬 폴더 또는 파일의 이름이어야 합니다. `pathlib.Path` 객체도 지원됩니다." + +#: ../../archive-class.rst:38 619d605a712947c2a548c8e110f21c7d +msgid "" +"A **folder** will be converted to a sub-archive, so its files (and any " +"sub-folders) can be accessed by their names." +msgstr "**폴더** 는 하위 아카이브로 변환되므로 파일(및 모든 하위 폴더)을 이름으로 접근할 수 있습니다." + +#: ../../archive-class.rst:39 4cd647737643458d9e392abbb2da302c +msgid "" +"A **file** will be read with mode `\"rb\"` and these binary data (a " +"`bytes` object) be treated as a single-member sub-archive. In this case, " +"the `path` parameter is **mandatory** and should be the member name under" +" which this item can be found / retrieved." +msgstr "**파일** 은 `\"rb\"` 모드로 읽히며 이 바이너리 데이터(`bytes` 객체)는 단일 멤버 하위 아카이브로 처리됩니다. 이 경우 `path` 매개변수는 **필수** 이며 이 항목을 찾거나 검색할 수 있는 멤버 이름이어야 합니다." + +#: ../../archive-class.rst:41 6b1e54d53ee048bebe0aa7b13aa24963 +msgid "" +"a `zipfile.ZipFile` or `tarfile.TarFile` object: Will be added as a sub-" +"archive." +msgstr "`zipfile.ZipFile` 또는 `tarfile.TarFile` 객체: 하위 아카이브로 추가됩니다." + +#: ../../archive-class.rst:43 3e15f440e05843dc80023b21dca6c101 +msgid "" +"a Python binary object (`bytes`, `bytearray`, `io.BytesIO`): this will " +"add a single-member sub-archive. In this case, the `path` parameter is " +"**mandatory** and should be the member name under which this item can be " +"found / retrieved." +msgstr "Python 바이너리 객체(`bytes`, `bytearray`, `io.BytesIO`): 단일 멤버 하위 아카이브를 추가합니다. 이 경우 `path` 매개변수는 **필수** 이며 이 항목을 찾거나 검색할 수 있는 멤버 이름이어야 합니다." + +#: ../../archive-class.rst:45 0d17f917bfaf4703827752f14540c1b0 +msgid "" +"a tuple `(data, name)`: This will add a single-member sub-archive with " +"the member name ``name``. ``data`` may be a Python binary object or a " +"local file name (in which case its binary file content is used). Use this" +" format if you need to specify `path`." +msgstr "튜플 `(data, name)`: 멤버 이름 ``name`` 을 가진 단일 멤버 하위 아카이브를 추가합니다. ``data`` 는 Python 바이너리 객체이거나 로컬 파일 이름일 수 있습니다(이 경우 바이너리 파일 내용이 사용됨). `path` 를 지정해야 하는 경우 이 형식을 사용하세요." + +#: ../../archive-class.rst:47 1597cdc3f8254638bf2cdf9bc2309574 +msgid "" +"a Python sequence: This is a convenience format to specify any " +"combination of the above." +msgstr "Python 시퀀스: 위 항목의 임의 조합을 지정하는 편의 형식입니다." + +#: ../../archive-class.rst:49 4988de212ed54833a49be91d2d82d21d +msgid "If provided, `path` must be a string." +msgstr "제공되는 경우 `path` 는 문자열이어야 합니다." + +#: ../../archive-class.rst:51 f90f1ba75dbd4b94be663d3d1a03ce47 +msgid "" +"If `content` is either binary data or a file name, this parameter is " +"mandatory and must be the name under which the data can be found." +msgstr "`content` 가 바이너리 데이터이거나 파일 이름인 경우 이 매개변수는 필수이며 데이터를 찾을 수 있는 이름이어야 합니다." + +#: ../../archive-class.rst:53 2b3e0332d6b34ab1ad0dd16b095eadfe +msgid "" +"Otherwise this parameter is optional. It can be used to simulate a folder" +" name or a mount point, under which this sub-archive's elements can be " +"found. For example this specification `Archive((data, \"name\"), " +"\"path\")` means that `data` will be found using the element name " +"`\"path/name\"`. Similar is true for other sub-archives: to retrieve " +"members of a ZIP sub-archive, their names must be prefixed with " +"`\"path/\"`. The main purpose of this parameter probably is to " +"differentiate between duplicate names." +msgstr "그렇지 않으면 이 매개변수는 선택 사항입니다. 폴더 이름이나 마운트 포인트를 시뮬레이션하는 데 사용할 수 있으며, 이 하위 아카이브의 요소를 찾을 수 있습니다. 예를 들어 이 사양 `Archive((data, \"name\"), \"path\")` 는 `data` 가 요소 이름 `\"path/name\"` 을 사용하여 찾을 수 있음을 의미합니다. 다른 하위 아카이브도 마찬가지입니다: ZIP 하위 아카이브의 멤버를 검색하려면 이름에 `\"path/\"` 접두사가 있어야 합니다. 이 매개변수의 주요 목적은 아마도 중복 이름을 구분하는 것입니다." + +#: ../../archive-class.rst:55 5faa270a9a8e4b1e9cb54ca0b81bec9e +msgid "" +"If duplicate entry names exist in the archive, always the last entry with" +" that name will be found / retrieved. During archive creation, or " +"appending more data to an archive (see :meth:`Archive.add`) no check for " +"duplicates will be made. Use the `path` parameter to prevent this from " +"happening." +msgstr "아카이브에 중복 항목 이름이 존재하는 경우 항상 해당 이름의 마지막 항목이 찾아지거나 검색됩니다. 아카이브 생성 중 또는 아카이브에 더 많은 데이터를 추가하는 동안(:meth:`Archive.add` 참조) 중복 확인이 수행되지 않습니다. 이를 방지하려면 `path` 매개변수를 사용하세요." + +#: ../../archive-class.rst:59 8f8691f33cb24edf8cf015488e88618a +msgid "" +"Append a sub-archive. The meaning of the parameters are exactly the same " +"as explained above. Of course, parameter `content` is not optional here." +msgstr "하위 아카이브를 추가합니다. 매개변수의 의미는 위에서 설명한 것과 정확히 같습니다. 물론 여기서는 `content` 매개변수가 선택 사항이 아닙니다." + +#: ../../archive-class.rst:63 d7d9c4ee5eb44c0b95fe42f32102c97a +msgid "Checks whether an entry exists in any of the sub-archives." +msgstr "항목이 하위 아카이브 중 하나에 존재하는지 확인합니다." + +#: ../../archive-class.rst 5f8828ec2f374296878d56b8bda07845 +#: 8a109a840a9f48f69f8ad6d589cd57ea +msgid "Parameters" +msgstr "매개변수" + +#: ../../archive-class.rst:65 ../../archive-class.rst:73 +#: 9a6f2dbd567f43d2bfe08e06091dcabb ed415071f9ec4041bffb1dcf6075f18d +msgid "" +"The fully qualified name of the entry. So must include any `path` prefix " +"under which the entry's sub-archive has been added." +msgstr "항목의 정규화된 이름. 항목의 하위 아카이브가 추가된 `path` 접두사를 포함해야 합니다." + +#: ../../archive-class.rst 77dc263426c34dc88d2d354f2137f0bd +#: d7ec8d61f7784b09a3583b2731f89a03 +msgid "Returns" +msgstr "반환값" + +#: ../../archive-class.rst:67 82d8554eda284d14be8c15dcd79fb3ca +msgid "`True` or `False`." +msgstr "`True` 또는 `False`." + +#: ../../archive-class.rst:71 a873f11522bd47f09f770c162ec439ca +msgid "Retrieve the data of an entry." +msgstr "항목의 데이터를 검색합니다." + +#: ../../archive-class.rst:75 1dcd801a861448d2bc31a0ae9ab2b9ca +msgid "" +"The binary data (`bytes`) of the entry. If not found, an exception is " +"raised." +msgstr "항목의 바이너리 데이터(`bytes`). 찾을 수 없으면 예외가 발생합니다." + +#: ../../archive-class.rst:79 7e31c0d4b2874e7aa8dd5ae7daa91341 +msgid "" +"A list of the archive's sub-archives. Each list item is a dictionary with" +" the following keys:" +msgstr "아카이브의 하위 아카이브 목록. 각 목록 항목은 다음 키를 가진 딕셔너리입니다:" + +#: ../../archive-class.rst:81 dc6567d9e6a4485690cf0a5f6fb09b30 +msgid "`entries` -- a list of (top-level) entry names in this sub-archive." +msgstr "`entries` -- 이 하위 아카이브의 (최상위) 항목 이름 목록." + +#: ../../archive-class.rst:82 78d2dbe9caeb4e6b9ae6de4d14d95e52 +msgid "" +"`fmt` -- the format of the sub-archive. This is one of the strings " +"\"dir\" (file folder), \"zip\" (ZIP archive), \"tar\" (TAR archive), or " +"\"tree\" for single binary entries or file content." +msgstr "`fmt` -- 하위 아카이브의 형식. 문자열 \"dir\"(파일 폴더), \"zip\"(ZIP 아카이브), \"tar\"(TAR 아카이브) 또는 단일 바이너리 항목이나 파일 내용의 경우 \"tree\" 중 하나입니다." + +#: ../../archive-class.rst:83 8934885694024d44ac1f04c95acb8fae +msgid "" +"`path` -- the value of the `path` parameter under which this sub-archive " +"was added." +msgstr "`path` -- 이 하위 아카이브가 추가된 `path` 매개변수의 값." + +#: ../../archive-class.rst:85 9bd80fbd40594e6da4b7541250d79442 +msgid "**Example:**" +msgstr "**예제:**" + +#: ../../footer.rst:46 23b6293c2dc24cbd87c6de2cd2f05c0c +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/changes.mo b/docs/locales/ko/LC_MESSAGES/changes.mo new file mode 100644 index 000000000..38c2ff227 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/changes.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/changes.po b/docs/locales/ko/LC_MESSAGES/changes.po new file mode 100644 index 000000000..a44bf664e --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/changes.po @@ -0,0 +1,8652 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PyMuPDF 1.26.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-02 22:25+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ko\n" +"Language-Team: ko \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 9ffb1f48b2494df7b48540af9ba555e5 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 f4528acfe03f4323a54be4f8f1c27047 +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 f2a88f7cde9b4e52a457ae00f4060abc +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" + +#: ../../../changes.txt:2 4cd69e5be9794686a140129e41fc4b95 +msgid "Change Log" +msgstr "" + +#: ../../../changes.txt:5 1505d60909e543b7809db6369fa0db8f +msgid "**Changes in version 1.26.7**" +msgstr "" + +#: ../../../changes.txt:7 ../../../changes.txt:43 ../../../changes.txt:73 +#: ../../../changes.txt:95 ../../../changes.txt:117 ../../../changes.txt:146 +#: ../../../changes.txt:171 ../../../changes.txt:192 ../../../changes.txt:212 +#: ../../../changes.txt:236 ../../../changes.txt:285 ../../../changes.txt:335 +#: ../../../changes.txt:366 ../../../changes.txt:387 ../../../changes.txt:423 +#: ../../../changes.txt:443 ../../../changes.txt:457 ../../../changes.txt:485 +#: ../../../changes.txt:507 ../../../changes.txt:530 ../../../changes.txt:556 +#: ../../../changes.txt:589 ../../../changes.txt:611 ../../../changes.txt:625 +#: ../../../changes.txt:642 ../../../changes.txt:664 ../../../changes.txt:673 +#: ../../../changes.txt:686 ../../../changes.txt:698 ../../../changes.txt:715 +#: ../../../changes.txt:728 ../../../changes.txt:741 ../../../changes.txt:754 +#: ../../../changes.txt:766 ../../../changes.txt:778 ../../../changes.txt:801 +#: ../../../changes.txt:833 ../../../changes.txt:859 ../../../changes.txt:899 +#: ../../../changes.txt:926 ../../../changes.txt:948 ../../../changes.txt:1200 +#: ../../../changes.txt:1334 049a26e13bb94229a79a69f81f7b5fbe +#: 1f22271ed0b840efae8df95b0ee00fae 223eca2249444ff9ab2190c5225660fc +#: 287da62560f74d3dab59fced5784a79f 289b8aaf54c746ecad54ca30175d6572 +#: 2a7d7c2ae08a4078a26a35d98478462f 2d7b554ad4614d72aa34334544b1ad84 +#: 3b0c2a7d2f02465d8a435c84b848e950 41d0c2d1b9dc4b92aaee342c76e8f6aa +#: 4347b8c87fab492bb324cd690a0a5039 45a493f9bbb34d5d86014fc796fc7e5f +#: 4ac9e175442d4fed9094777114001d05 5294b3baa70340d4b0683ea893cb8227 +#: 55180f0a4ad14d779385728b45523412 56b9abeb67244e568154b0999908dc54 +#: 590720763c4f4b6e944a5b6e9261c46a 5b96e63e430649e09364197f6640d348 +#: 66a4fb9f871646b39fd2935322ff2bd7 681b44b2d00a428f95bec75570a9bd96 +#: 6d3500e7906d4b5b9d5a852686c41f03 77caed4c8cf543c284393db2214dc425 +#: 7930c830c16148e18e377994a974f7f6 8020c55d92a04b68b29f9b5c839563d9 +#: 8dd9e915003d41dbbf42283bf55adefe 959e7f541c2147928cc800dcf3f54fa8 +#: 980c2a259af24fc599c154fab471a6d4 9eeadae797794ba39efcdfe7dd30ea96 +#: a1f33ce2da084e65927b1037ec5431c9 a5748cc98e13464f8d5833fb09a584c6 +#: b003035ab22a486d8191c52df2f18d51 b1ac215bbe134f3e83fc2c3f1315274d +#: b322fd43be9f42fcb134129f551f03d7 b8505854ea4346dca195196c3c729c8e +#: baa47c681a164ab190fd710ab752c1e5 be5cdf51439747e9856bf7da70502394 +#: c18708d565ec49bb9b6597c6e4746708 cbe526883f0a481b9e4b1e4727d250df +#: d23ff8de34d7483c8f2da67985f1837a e53406c760874e3fba6776cc13ce71c4 +#: ea5c09729ad243d1b44e29edb73a3242 f176ccdd28d44b75bfd267fa28648397 +#: f325e778302b4997b940c6c03dc96ae8 fab1e85d6fcb480fba201316c8c6be02 +msgid "Other:" +msgstr "" + +#: ../../../changes.txt:9 eef8efb3b6884f43ada21c5e779231cb +msgid "" +"Retrospectively mark `4756 " +"`_ as fixed in 1.26.6." +msgstr "" + +#: ../../../changes.txt:10 64ed70e9271b4853b276b73970b50572 +msgid "" +"Improved safety of `pymupdf embed-extract`. This now refuses to write to " +"an existing file or outside current directory, unless `-output` or new " +"flag `-unsafe` is specified." +msgstr "" + +#: ../../../changes.txt:15 f3d0c45b85df4b2e8952e6a2da3389b7 +msgid "**Changes in version 1.26.6** (2025-11-05)" +msgstr "" + +#: ../../../changes.txt:17 f42bfa1ba64243c3bbb367df56f3ac08 +msgid "Use MuPDF-1.26.11." +msgstr "" + +#: ../../../changes.txt:19 50c8518a04f0461d92243888e708323a +msgid "Supported Python versions are now 3.10-3.14." +msgstr "" + +#: ../../../changes.txt:21 ../../../changes.txt:35 ../../../changes.txt:59 +#: ../../../changes.txt:87 ../../../changes.txt:110 ../../../changes.txt:132 +#: ../../../changes.txt:164 ../../../changes.txt:183 ../../../changes.txt:203 +#: ../../../changes.txt:226 ../../../changes.txt:249 ../../../changes.txt:259 +#: ../../../changes.txt:274 ../../../changes.txt:294 ../../../changes.txt:304 +#: ../../../changes.txt:321 ../../../changes.txt:347 ../../../changes.txt:380 +#: ../../../changes.txt:396 ../../../changes.txt:406 ../../../changes.txt:438 +#: ../../../changes.txt:475 ../../../changes.txt:502 ../../../changes.txt:524 +#: ../../../changes.txt:541 ../../../changes.txt:584 ../../../changes.txt:605 +#: ../../../changes.txt:619 ../../../changes.txt:632 ../../../changes.txt:658 +#: ../../../changes.txt:671 07987b0a21a147d98b3290a64ffa8043 +#: 1f57395ac4ea4c218653cd455c477ae4 21d647e365934565aea69ef24f0cd8f9 +#: 262f48050967468c829ffe26a450be4b 4cef11a8719641dbb922f8aa1573a9c6 +#: 4e96e411a9d04f3394926ff7a164019f 4f462e8fc6bf487c991f26164fb54c0f +#: 502470bd29ee4a5f910f9b6c271e6371 5fac41e37738489fa8375e221307b3be +#: 7d9274f30a6d48e080212ec423122787 7fb6e1f0f0a04c768954b3b7aa03e2f1 +#: 8b358fae935541dd89ec020f9bdb1b41 8dbc5997591e480a88aef01fc75581db +#: 94c9d89ad8d543cb833db162ba31fde4 9b23f29736354e1d8ed1668fd1f388bf +#: 9e14b9596afa45b3a83e357fbda360af a2ea1d3f01d945e0b1771aa1b29caa0c +#: a53b73a9f82648878f41f1760093e351 ad004edc4dba484fadde2289418127fe +#: b70bd970a9944857a416f7ca0c9b1c6b bbd89b8b6e3544ab875a3a6e44ebe68d +#: c08f485ce1c34a11ba134e40626b051f d727b39943064157a040eb5ba843fe41 +#: d855c86985754c219d04723faa8e0b48 db0403d789674d7aae95b0d2af2dd802 +#: e0509078460b456b924d980a899d39ea e182efb4eac34ad8bac7dece1504bf23 +#: e2459e41e6d84b248942175137234803 e9129fdd854d4510beb02b78caf662e2 +#: f752594e63ac42a1bc09a307033985cb f9a85782009445d9b72155a12a8ec8ed +msgid "Fixed issues:" +msgstr "" + +#: ../../../changes.txt:23 ae92f1fe5caf4bf1b49a2d9b55379d9c +msgid "" +"**Fixed** `4699 `_: " +"cannot find ExtGState resource" +msgstr "" + +#: ../../../changes.txt:24 22f8d06dd888459aa4f9fe1120d92dc8 +msgid "" +"**Fixed** `4712 `_: Crash" +" with \"corrupted double-linked list\"" +msgstr "" + +#: ../../../changes.txt:25 ccf146dfc96a47d3bab7d6102699c73d +msgid "" +"**Fixed** `4720 `_: " +"Memory leaking in rewrite_images?" +msgstr "" + +#: ../../../changes.txt:26 0f08a4cb18fe493ca72344c67c165f1d +msgid "" +"**Fixed** `4742 `_: " +"'Rect' object has no attribute 'get_area'" +msgstr "" + +#: ../../../changes.txt:27 e4563a3e5c574da8970663d208888aa7 +msgid "" +"**Fixed** `4746 `_: " +"Document.__init__() got an unexpected keyword argument 'encoding'" +msgstr "" + +#: ../../../changes.txt:28 2b1ad6590a63426bb7c3dc1b135aaf86 +msgid "" +"**Fixed** `4756 `_: swig " +"--version doesn't work in all versions of swig; -version should be used " +"instead" +msgstr "" + +#: ../../../changes.txt:31 f4b0a46bedf54bc695a3074e319c3da7 +msgid "**Changes in version 1.26.5** (2025-10-10)" +msgstr "" + +#: ../../../changes.txt:33 25fffdf714bf48d695db8e6ab1a28c67 +msgid "Use MuPDF-1.26.10." +msgstr "" + +#: ../../../changes.txt:37 c88a8d28e397405f93d8379d00535d27 +msgid "" +"**Fixed** `2883 `_: " +"Improve the Python type annotations for fitz_new" +msgstr "" + +#: ../../../changes.txt:38 df91056120a24c1caa9c0b77f3fb1984 +msgid "" +"**Fixed** `4507 `_: Bugs " +"in pyodide" +msgstr "" + +#: ../../../changes.txt:39 70703777c2fa401bbc683f91ad94d06f +msgid "" +"**Fixed** `4613 `_: Thai " +"and number blocks are not auto-scaled and get wrong hyphen when using in " +"insert_htmlbox" +msgstr "" + +#: ../../../changes.txt:40 c88bc69f0f244a52ad6f890499799047 +msgid "" +"**Fixed** `4700 `_: " +"pymupdf.open() processes .zip file without raising" +msgstr "" + +#: ../../../changes.txt:41 e323399440274525b34c54f4dec39093 +msgid "" +"**Fixed** `4716 `_: " +"Problems with unreadable characters" +msgstr "" + +#: ../../../changes.txt:45 3abefa34a28e4adf8e2457613ce56b45 +msgid "Supported Python versions are now 3.9-3.14." +msgstr "" + +#: ../../../changes.txt:46 16783112fa05425cb0e149b83c62e932 +msgid "" +"We now define all class methods explicitly instead of with dynamic " +"assignment; this improves type hints." +msgstr "" + +#: ../../../changes.txt:47 26f54231a095480aa0f42247a5a89ef4 +msgid "Removed `pymupdf.utils.Shape` class, was duplicate of `pymupdf.Shape`." +msgstr "" + +#: ../../../changes.txt:48 7ecda4cd98c54e6a9b9bf91163eff14b +msgid "Allow use of cibuildwheel to build and test on Pyodide." +msgstr "" + +#: ../../../changes.txt:49 93135916c58248c283baf01e7d053cd0 +msgid "Fixed various Pyodide bugs." +msgstr "" + +#: ../../../changes.txt:50 7ecc6290f1054757b942bc4fb105d1eb +msgid "" +"In documentation, added section about Linux wheels and glibc " +"compatibility." +msgstr "" + +#: ../../../changes.txt:51 92f2c3d79a944460985276d312eca3e4 +msgid "Improved documentation of pymupdf.open()'s arg." +msgstr "" + +#: ../../../changes.txt:52 562bb006d36840cdb5aadf8ddd466486 +msgid "" +"Retrospectively mark `4544 " +"`_ as fixed in 1.26.4." +msgstr "" + +#: ../../../changes.txt:55 b67d98ad96244427984fe137baacd5a1 +msgid "**Changes in version 1.26.4 (2025-08-25)**" +msgstr "" + +#: ../../../changes.txt:57 6d0728e9c0d245e69d0197ef60d55ff6 +msgid "Use MuPDF-1.26.7." +msgstr "" + +#: ../../../changes.txt:61 dae25b5e67ed40678841767ca82960df +msgid "" +"**Fixed** `3806 `_: pdf " +"to image rendering ignore optional content offs" +msgstr "" + +#: ../../../changes.txt:62 d27cf6acd0904ba3854fc86e793e1b0e +msgid "" +"**Fixed** `4388 `_: " +"Incorrect PixMap from page due to cached data from other PDF" +msgstr "" + +#: ../../../changes.txt:63 2485533a6f1c4ceeab94a3a74ea0040a +msgid "" +"**Fixed** `4457 `_: Wrong" +" characters displayed after font subsetting (w/ native method)" +msgstr "" + +#: ../../../changes.txt:64 ../../../changes.txt:89 +#: 48034320908941b78280338d69474453 582145c0201942e4a97e4a6715f82496 +msgid "" +"**Fixed** `4462 `_: " +"delete_pages() does not accept a single int" +msgstr "" + +#: ../../../changes.txt:65 ee57c3dd80db447388f6e8ac0d049adb +msgid "" +"**Fixed** `4533 `_: Open " +"PDF error segmentation fault" +msgstr "" + +#: ../../../changes.txt:66 96cc9c5c43084b5e9cf0162eb38b2dbf +msgid "" +"**Fixed** `4544 `_: About" +" pdf_clip_page" +msgstr "" + +#: ../../../changes.txt:67 ed6dabd36ac34857a630542ffd191c57 +msgid "" +"**Fixed** `4565 `_: MacOS" +" uses Tesseract and not Tesseract-OCR" +msgstr "" + +#: ../../../changes.txt:68 fb88b0c8cbc84095bf2500c9a32f50ec +msgid "" +"**Fixed** `4571 `_: " +"Broken merged pdfs." +msgstr "" + +#: ../../../changes.txt:69 ef751fe8798b41eaaf64e166e23768fa +msgid "" +"**Fixed** `4590 `_: " +"TypeError in utils.py scrub(): annot.update_file(buffer=...) is invalid" +msgstr "" + +#: ../../../changes.txt:70 3b8c0e208f554eaebac0ea6abcd8b46d +msgid "" +"**Fixed** `4614 `_: " +"Intercept bad widgets when inserting to another PDF" +msgstr "" + +#: ../../../changes.txt:71 02cfdc76ab714494bf079b968391320e +msgid "" +"**Fixed** `4639 `_: " +"pymupdf.mupdf.FzErrorGeneric: code=1: Director error: : 'JM_new_bbox_device_Device' object has no attribute " +"'layer_name'" +msgstr "" + +#: ../../../changes.txt:75 38712224dd5544e7a462aaeb1e2e304b +msgid "" +"Check that #4392 `Segfault when running with pytest and -Werror` is fixed" +" if PyMuPDF is built with swig>=4.4." +msgstr "" + +#: ../../../changes.txt:76 57972c515886453a932d8eac12c3b328 +msgid "Add `Page.clip_to_rect()`." +msgstr "" + +#: ../../../changes.txt:77 586a552aa4af4245b5e12d417ae1f42d +msgid "Improved search for Tesseract data." +msgstr "" + +#: ../../../changes.txt:78 9f280d1da9b04eedae2eb7fa58bf1973 +msgid "Retrospectively mark #4496 as fixed in 1.26.1." +msgstr "" + +#: ../../../changes.txt:79 3fde7874083c4911a6dd9d05ee3f3e7c +msgid "Retrospectively mark #4503 as fixed in 1.26.3." +msgstr "" + +#: ../../../changes.txt:80 e25d10cd0c8b485b998c07889f2c2b02 +msgid "Added experimental support for Graal." +msgstr "" + +#: ../../../changes.txt:83 a4c9e90997aa40e39b6e88a47283df1f +msgid "**Changes in version 1.26.3 (2025-07-02)**" +msgstr "" + +#: ../../../changes.txt:85 f2e0c9ebfbc8436a90fbc5210c2d61c5 +msgid "Use MuPDF-1.26.3." +msgstr "" + +#: ../../../changes.txt:90 88b28524dc38400e86ede8dfd69bda83 +msgid "" +"**Fixed** `4503 `_: " +"Undetected character styles" +msgstr "" + +#: ../../../changes.txt:91 82e1019dfacf4e889e4e2708d5c2ab67 +msgid "" +"**Fixed** `4527 `_: " +"Rect.intersects() is much slower than necessary" +msgstr "" + +#: ../../../changes.txt:92 3195a73537bc44b6be38e2643857a820 +msgid "" +"**Fixed** `4564 `_: " +"Possible encoding issue in PDF metadata" +msgstr "" + +#: ../../../changes.txt:93 ed811f813c204c15a71a72b02b3fc7f7 +msgid "" +"**Fixed** `4575 `_: Bug " +"with IRect contains method" +msgstr "" + +#: ../../../changes.txt:97 80940db1fc98463084fb0536e2a74c75 +msgid "Class Shape is now available as pymupdf.Shape." +msgstr "" + +#: ../../../changes.txt:98 8d3cbad84fc7406db910769a9e0c49cd +msgid "Added table cell markdown support." +msgstr "" + +#: ../../../changes.txt:101 979c685df84c433a99b2ce9a6192393e +msgid "**Changes in version 1.26.2**" +msgstr "" + +#: ../../../changes.txt:103 6253d76480234ecb99ef69856e2e4d7c +msgid "[Skipped.]" +msgstr "" + +#: ../../../changes.txt:106 696d62b448d042d7ac4c9ae344c9357e +msgid "**Changes in version 1.26.1 (2025-06-11)**" +msgstr "" + +#: ../../../changes.txt:108 97fd68cacc0d460ea6453d0f75969b06 +msgid "Use MuPDF-1.26.2." +msgstr "" + +#: ../../../changes.txt:112 f027534ba7294a6e8c8c22e759448323 +msgid "" +"**Fixed** `4520 `_: " +"show_pdf_page does not like empty pages created by new_page" +msgstr "" + +#: ../../../changes.txt:113 065f392247ae490ab226f1104d666ddc +msgid "" +"**Fixed** `4524 `_: " +"fitz.get_text ignores 'pages' kwarg" +msgstr "" + +#: ../../../changes.txt:114 ../../../changes.txt:137 +#: 1c6997f9c6d7494ba9b55c63784e99cf c6a83f4370734e42a4528f25014f39ab +msgid "" +"**Fixed** `4412 `_: " +"Regression? Spurious error? in insert_pdf in v1.25.4" +msgstr "" + +#: ../../../changes.txt:115 bb0e76951378470a8d36dd42e908266d +msgid "" +"**Fixed** `4496 `_: " +"pymupdf4llm with pymupdfpro" +msgstr "" + +#: ../../../changes.txt:119 87089d7b25b9490a95ea7686681487c8 +msgid "" +"Partial fix for `4503 `_:" +" Undetected character styles" +msgstr "" + +#: ../../../changes.txt:120 ce6c18a243de4e81b72c53d4fefd499e +msgid "" +"New method `Document.rewrite_images()`, useful for reducing file size, " +"changing image formats, or converting color spaces." +msgstr "" + +#: ../../../changes.txt:121 0a3a89d09fd3461ca2a27fcca8f185ed +msgid "`Page.get_text()`: restrict positional args to match docs." +msgstr "" + +#: ../../../changes.txt:122 1a528cc8a62e43639f658f1f709590c9 +msgid "Removed bogus definition of class `Shape`." +msgstr "" + +#: ../../../changes.txt:123 552b40dd8819435dad4a76eae858df20 +msgid "" +"Removed release date from module, docs and changelog. * " +"`pymupdf.pymupdf_date` and `pymupdf.VersionDate` are now both None. * " +"They will be removed in a future release." +msgstr "" + +#: ../../../changes.txt:128 158c863781294c5c93e9b0a8c8e1f847 +msgid "**Changes in version 1.26.0 (2025-05-22)**" +msgstr "" + +#: ../../../changes.txt:130 18567733eef64ab68965ed498958d670 +msgid "Use MuPDF-1.26.1." +msgstr "" + +#: ../../../changes.txt:134 4ea8e6ad2e414e978386c33aad8021d5 +msgid "" +"**Fixed** `4324 `_: " +"cluster_drawings() fails to cluster horizontal and vertical thin lines" +msgstr "" + +#: ../../../changes.txt:135 17554e87f7084cacb19d789d4694754f +msgid "" +"**Fixed** `4363 `_: " +"Trouble with searching" +msgstr "" + +#: ../../../changes.txt:136 2cb8333bfa3948d0a1e1df290b275159 +msgid "" +"**Fixed** `4404 `_: " +"IndexError in page.get_links()" +msgstr "" + +#: ../../../changes.txt:138 3fb86dc38b76431f8fa289ed24574576 +msgid "" +"**Fixed** `4423 `_: " +"pymupdf.mupdf.FzErrorFormat: code=7: cannot find object in xref error " +"encountered after version 1.25.3" +msgstr "" + +#: ../../../changes.txt:139 e4d0ca8ddf164f08b449dac3a6fa04fa +msgid "" +"**Fixed** `4435 `_: " +"get_pixmap method stuck on one page" +msgstr "" + +#: ../../../changes.txt:140 73d115f25755496680f56c79674a6351 +msgid "" +"**Fixed** `4439 `_: New " +"Xml class from data does not work - bug in code" +msgstr "" + +#: ../../../changes.txt:141 b25d62127fea4feaa5d944e835c2a666 +msgid "" +"**Fixed** `4445 `_: " +"Broken XREF table incorrectly repaired" +msgstr "" + +#: ../../../changes.txt:142 a0a2ed6ac1354febb9da6afd02bc9b42 +msgid "" +"**Fixed** `4447 `_: " +"Stroke color of annotations cannot be correctly set" +msgstr "" + +#: ../../../changes.txt:143 616298c000ad48cdbc628ef4cdd172d8 +msgid "" +"**Fixed** `4479 `_: " +"set_layer_ui_config() toggles all layers rather than just one" +msgstr "" + +#: ../../../changes.txt:144 b15ec1ffa6f0419c8b5503c50587840c +msgid "" +"**Fixed** `4505 `_: " +"Follow Widget flag values up its parent structure" +msgstr "" + +#: ../../../changes.txt:148 7b7ea93f30ca49f88b45b05c08ecf10f +msgid "" +"Partial fixed for `4457 " +"`_: Wrong characters " +"displayed after font subsetting (w/ native method)" +msgstr "" + +#: ../../../changes.txt:149 b0ae6f4b0bc24e12bd0071f22e599e11 +msgid "Support image stamp annotations." +msgstr "" + +#: ../../../changes.txt:150 f5f7682cfc6c4abba06ebd809edf0795 +msgid "Support recoloring pages." +msgstr "" + +#: ../../../changes.txt:151 01a95f3b08944431b06a9d2e99e50bdf +msgid "" +"Added example of using Django's file storage API to open files with " +"pymupdf." +msgstr "" + +#: ../../../changes.txt:152 1ea4d799a2714c90a3ad74a4f03f1ed8 +msgid "" +"Clarified FreeText annotation color options. We now raise an exception if" +" an attempt is made to set attributes that can not be supported." +msgstr "" + +#: ../../../changes.txt:154 856acd8f3343442bb8ee7254e8b8d062 +msgid "Fixed potential segv in Pixmap.is_unicolor()." +msgstr "" + +#: ../../../changes.txt:155 90dbf6ef976a4d76a799854a5aa774dc +msgid "" +"Added runtime assert that that PyMuPDF and MuPDF were built with " +"compatible NDEBUG settings (related to `4390 " +"`_)." +msgstr "" + +#: ../../../changes.txt:157 0862256c36d142c48444aab07763f645 +msgid "Simplified handling of filename/filetype when opening documents." +msgstr "" + +#: ../../../changes.txt:158 5e85ed11581b46daaf1a09b8a22dcccb +msgid "" +"Removed PDF linearization support. * Calls to `Document.save()` with " +"`linear` set to true will now raise an exception. * See " +"https://artifex.com/blog/mupdf-removes-linearisation for more " +"information." +msgstr "" + +#: ../../../changes.txt:162 c7ce1a9bb27545978d6d1d9fed1a4524 +msgid "**Changes in version 1.25.5 (2025-03-31)**" +msgstr "" + +#: ../../../changes.txt:166 9548bbf70ba9469e8b935a45f29643ed +msgid "" +"**Fixed** `4372 `_: Text " +"insertion fails due to missing /Resources object" +msgstr "" + +#: ../../../changes.txt:167 f76e7622a9d7433db1b7b82bc7156145 +msgid "" +"**Fixed** `4400 `_: " +"Infinite loop in fill_textbox" +msgstr "" + +#: ../../../changes.txt:168 82f33cb8a6d34f62b854eca17a8c4254 +msgid "" +"**Fixed** `4403 `_: " +"Unable to get_text() - layer/clip nesting too deep" +msgstr "" + +#: ../../../changes.txt:169 84b7b13060424773820d4994525080dc +msgid "" +"**Fixed** `4415 `_: PDF " +"page is mirrored, origin is at bottom-left" +msgstr "" + +#: ../../../changes.txt:173 74a4792d6a8244eb9dcae4beb4bfe0ee +msgid "Use MuPDF-1.25.6." +msgstr "" + +#: ../../../changes.txt:174 d248e14b8c1a4e3fab6235c3cf5c614c +msgid "Fixed MuPDF SEGV on MacOS with particular fonts." +msgstr "" + +#: ../../../changes.txt:175 82ea9eb171144077a7870ae7a0b9eeb7 +msgid "Fixed `Annot.get_textpage()`'s `clip` arg." +msgstr "" + +#: ../../../changes.txt:176 2fccc9761609452e9d10dac746b11059 +msgid "Fixed Python-3.14 (pre-release) build error." +msgstr "" + +#: ../../../changes.txt:179 2fbd0061abcd475fafe6ef6a570e0d7a +msgid "**Changes in version 1.25.4 (2025-03-14)**" +msgstr "" + +#: ../../../changes.txt:181 9fa9e7eec7694807a4577e93e3fdb54e +msgid "Use MuPDF-1.25.5." +msgstr "" + +#: ../../../changes.txt:185 8f7a4be455684495af9c8e17de5ad09d +msgid "" +"**Fixed** `4079 `_: " +"Unexpected result for apply_redactions()" +msgstr "" + +#: ../../../changes.txt:186 6d876027b2104b01830654bbbae308e9 +msgid "" +"**Fixed** `4224 `_: MuPDF" +" error: format error: negative code in 1d faxd" +msgstr "" + +#: ../../../changes.txt:187 b7b89a62c35d4608987e21ec0f356173 +msgid "" +"**Fixed** `4303 `_: " +"page.get_image_info() returns outdated cached results after replacing " +"image" +msgstr "" + +#: ../../../changes.txt:188 8b5c375bcfc24c81a1ab34fdfe2e3f87 +msgid "" +"**Fixed** `4309 `_: " +"FzErrorFormat Error When Deleting First Page" +msgstr "" + +#: ../../../changes.txt:189 33ebf7622662470e98f52b0e0681e4b1 +msgid "" +"**Fixed** `4336 `_: Major" +" Performance Regression: pix.color_count is 150x slower in version 1.25.3" +" compared to 1.23.8" +msgstr "" + +#: ../../../changes.txt:190 159061230d824914a6d19ad6d73eeb7c +msgid "" +"**Fixed** `4341 `_: " +"Invalid label retrieval when /Kids is an array of multiple /Nums" +msgstr "" + +#: ../../../changes.txt:194 37e49743f93f41d9bf5880142941c864 +msgid "Fixed handling of duplicate widget names when joining PDFs (PR #4347)." +msgstr "" + +#: ../../../changes.txt:195 0cac0025172c4dd5baf122fc076da58e +msgid "Improved Pyodide build." +msgstr "" + +#: ../../../changes.txt:196 638ca0a27dd548cfa15a4095bd238671 +msgid "" +"Avoid SWIG-related build errors with Python-3.13 by disabling " +"PY_LIMITED_API." +msgstr "" + +#: ../../../changes.txt:199 24df824cc0ed4dcaa55266a462308f72 +msgid "**Changes in version 1.25.3 (2025-02-06)**" +msgstr "" + +#: ../../../changes.txt:201 86fbdb38e3ab475cb35bce8474a0517d +msgid "Use MuPDF-1.25.4." +msgstr "" + +#: ../../../changes.txt:205 11404e9f065f46d48c17de3eb0a56b4c +msgid "" +"**Fixed** `4139 `_: Text " +"color numbers change between 1.24.14 and 1.25.0" +msgstr "" + +#: ../../../changes.txt:206 f54ac127378c40efbea689f95f729a3d +msgid "" +"**Fixed** `4141 `_: Some " +"insertion methods fails for pages without a /Resources object" +msgstr "" + +#: ../../../changes.txt:207 1debce8303bb430aaf3c754c31d4e54a +msgid "" +"**Fixed** `4180 `_: " +"Search problems" +msgstr "" + +#: ../../../changes.txt:208 a43078709b894315ab60ab8c8077d919 +msgid "" +"**Fixed** `4182 `_: Text " +"coordinate extraction error" +msgstr "" + +#: ../../../changes.txt:209 2aa654ea699a4754864254e38097fcf4 +msgid "" +"**Fixed** `4245 `_: " +"Highlighting issue distorted on recent versions" +msgstr "" + +#: ../../../changes.txt:210 568c972326294ecab31a4378aee8aef3 +msgid "" +"**Fixed** `4254 `_: " +"add_freetext_annot is drawing text outside the annotation box" +msgstr "" + +#: ../../../changes.txt:214 3b1e13a8a53f41568994b6b10d784dd4 +msgid "" +"In annotations: * Added support for subtype FreeTextCallout. * Added " +"support for rich text." +msgstr "" + +#: ../../../changes.txt:217 20ad825019bc421aa9fa359d4c2cf2b9 +msgid "" +"Added miter_limit arg to insert_text*() to allow suppression of spikes " +"caused by long miters." +msgstr "" + +#: ../../../changes.txt:218 d8f3a5bd962d420482fbab442a82a337 +msgid "Add Widget Support to `Document.insert_pdf()`." +msgstr "" + +#: ../../../changes.txt:219 b25922bccda743b4a462eff61aa2da32 +msgid "Add `bibi` to span dicts." +msgstr "" + +#: ../../../changes.txt:220 16e4de5888954261941fe67d4f618949 +msgid "Add `synthetic' to char dict." +msgstr "" + +#: ../../../changes.txt:221 ../../../changes.txt:963 +#: 2b958160bd134274b90ba5bd456e66c5 43a26b5aad0e4fe485acf6a41282f421 +msgid "Fixed Pyodide builds." +msgstr "" + +#: ../../../changes.txt:224 f65069a7584b4f128fa5b7cc86d526ab +msgid "**Changes in version 1.25.2 (2025-01-17)**" +msgstr "" + +#: ../../../changes.txt:228 af70ce0fc1a74152b86dbd49d309fdb9 +msgid "" +"**Fixed** `4055 `_: " +"\"Yes\" for all checkboxes does not work for all PDF rendering engines." +msgstr "" + +#: ../../../changes.txt:229 4410d36a900d450c97588b75ccb21628 +msgid "" +"**Fixed** `4155 `_: " +"samples_mv is unsafe" +msgstr "" + +#: ../../../changes.txt:230 61173d64746b46848303884ad4f7c6c2 +msgid "" +"**Fixed** `4162 `_: Got " +"AttributeError, when tried to add Signature field" +msgstr "" + +#: ../../../changes.txt:231 ade3c33dc1bc4fe5a6c9c79ad335b6ca +msgid "" +"**Fixed** `4186 `_: " +"Incorrect handling of JPEG with color space CMYK image extraction" +msgstr "" + +#: ../../../changes.txt:232 b0f948dd2aec4196879b796a7083ce66 +msgid "" +"**Fixed** `4195 `_: " +"Pixmaps that are inverted and have an alpha channel are not rendered " +"properly" +msgstr "" + +#: ../../../changes.txt:233 f983aaf8e72b40329ef333edb032482d +msgid "" +"**Fixed** `4225 `_: " +"pixmap.pil_save() fails due to colorspace definition" +msgstr "" + +#: ../../../changes.txt:234 b9f784c7a8e347f0839af27a4aee0957 +msgid "" +"**Fixed** `4232 `_: " +"Incorrect Font style and Size" +msgstr "" + +#: ../../../changes.txt:238 46a2de9de8a84001a08386537fad1cb6 +msgid "Use Python's built-in glyphname <> unicode conversion." +msgstr "" + +#: ../../../changes.txt:239 98aaf3100ca44c3eb46b239c085990ce +msgid "Improve speed of pixmap color inversion." +msgstr "" + +#: ../../../changes.txt:240 761c1030615e4b9f8837990276cdd4aa +msgid "" +"Add new `char_flags` member to span dictionary, for example allows " +"detection of invisible text." +msgstr "" + +#: ../../../changes.txt:241 26863d989def4dd6b375f90f90ac816a +msgid "Detect image masks in TextPage output." +msgstr "" + +#: ../../../changes.txt:242 c106eb1531f34065ac0918f8967d868c +msgid "Added `Pixmap.pil_image()`." +msgstr "" + +#: ../../../changes.txt:245 f2917761f4f342b2b20eb583e456ac86 +msgid "**Changes in version 1.25.1 (2024-12-11)**" +msgstr "" + +#: ../../../changes.txt:247 5d2a2817fc15439e8cff5b48d2993934 +msgid "Use MuPDF-1.25.2." +msgstr "" + +#: ../../../changes.txt:251 1aa29c8b332c4f06b69b0f5c16618fed +msgid "" +"**Fixed** `4125 `_: " +"memory leak while convert Pixmap's colorspace" +msgstr "" + +#: ../../../changes.txt:252 6619cbba93b64266b96af9f2fb26333c +msgid "" +"**Fixed** `4034 `_: " +"Possible regression in pdf cleaning during save." +msgstr "" + +#: ../../../changes.txt:255 54ab8ad1ec3246298a9019b2227a46d8 +msgid "**Changes in version 1.25.0 (2024-12-05)**" +msgstr "" + +#: ../../../changes.txt:257 0a8714b7f18e45878f7b252f8af10ade +msgid "Use MuPDF-1.25.1." +msgstr "" + +#: ../../../changes.txt:261 686ebe75128d4be9b77bba0ddb563a43 +msgid "" +"**Fixed** `4026 `_: " +"page.get_text('blocks') output two piece of very similar text with " +"different bbox" +msgstr "" + +#: ../../../changes.txt:262 efd9decd0d2a4a319ebd830a2c8531bd +msgid "" +"**Fixed** `4004 `_: " +"Segmentation Fault When Updating PDF Form Field Value" +msgstr "" + +#: ../../../changes.txt:263 ebdb384bd8e4477d80b10127b014145b +msgid "" +"**Fixed** `3887 `_: " +"Subset Fonts problem using Fallback Font" +msgstr "" + +#: ../../../changes.txt:264 e63e1845d9fb45198345afaff67f30e1 +msgid "" +"**Fixed** `3886 `_: " +"Another issue with destroying PDF when inserting html" +msgstr "" + +#: ../../../changes.txt:265 50adbcf9a18043e68b84aa9286698361 +msgid "" +"**Fixed** `3751 `_: " +"apply_redactions causes part of the page content to be hidden / " +"transparent" +msgstr "" + +#: ../../../changes.txt:270 09e722df03fa4db18c4e0da832e997f7 +msgid "**Changes in version 1.24.14 (2024-11-19)**" +msgstr "" + +#: ../../../changes.txt:272 cb8ebd6072bd4e11919080375887f166 +msgid "Use MuPDF-1.24.11." +msgstr "" + +#: ../../../changes.txt:276 50b663786ee641cb9687580189342f8d +msgid "" +"**Fixed** `3448 `_: " +"get_pixmap function removes the table and leaves just the content behind" +msgstr "" + +#: ../../../changes.txt:277 54321b37a7f9420b8567fbb6d1e426a4 +msgid "" +"**Fixed** `3758 `_: Got " +"\"malloc(): unaligned tcache chunk detected Aborted (core dumped)\" while" +" using add_redact_annot/apply_redactions" +msgstr "" + +#: ../../../changes.txt:278 296dc7d294134423a31f7b6d74f2aeaf +msgid "" +"**Fixed** `3813 `_: " +"Stories: Ordered list count broken with nested unordered list" +msgstr "" + +#: ../../../changes.txt:279 2215310351ca46c1a25a514468a905a8 +msgid "" +"**Fixed** `3933 `_: " +"font.valid_codepoints() - malfunction" +msgstr "" + +#: ../../../changes.txt:280 ff0631f5b7054df4b90b9fa8739b4ec1 +msgid "" +"**Fixed** `4018 `_: " +"PyMuPDF hangs when iterating over zero page PDF pages backwards" +msgstr "" + +#: ../../../changes.txt:281 a2a87af3e4c84a6abc63ea9d9e914391 +msgid "" +"**Fixed** `4043 `_: " +"fullcopypage bug" +msgstr "" + +#: ../../../changes.txt:282 55686d0fa4674d4299310ada01d1735d +msgid "" +"**Fixed** `4047 `_: " +"Segmentation Fault in add_redact_annot" +msgstr "" + +#: ../../../changes.txt:283 0c2e617044914d04b642de2fa1587abb +msgid "" +"**Fixed** `4050 `_: " +"Content of dict returned by doc.embfile_info() does not fit to " +"documentation" +msgstr "" + +#: ../../../changes.txt:287 1bb6617fc61d474c946dbf47c807e5d8 +msgid "" +"Ensure that words from `Page.get_text()` never contain RTL/LTR char " +"mixtures." +msgstr "" + +#: ../../../changes.txt:288 2171b4b55a384da393be21b8cef7cd46 +msgid "Fix building with system MuPDF." +msgstr "" + +#: ../../../changes.txt:289 1b697fc68ecb486aa3b482711dd06c98 +msgid "Add dot product for points and vectors." +msgstr "" + +#: ../../../changes.txt:292 b3aa2aa2bfbc4c9ba5c5d2c84a823910 +msgid "**Changes in version 1.24.13 (2024-10-29)**" +msgstr "" + +#: ../../../changes.txt:296 532324021bbe48718cffa19ecedb034c +msgid "" +"**Fixed** `3848 `_: " +"Piximap program crash" +msgstr "" + +#: ../../../changes.txt:297 ../../../changes.txt:308 +#: 2387d394753a42ad872fa2268d7e9a29 cb2a797b491348f58ab3ce4ba98b73d9 +msgid "" +"**Fixed** `3950 `_: " +"Unable to consistently extract field labels from PDFs" +msgstr "" + +#: ../../../changes.txt:298 51536c1106ea45ac9444978b1684c0c1 +msgid "" +"**Fixed** `3981 `_: " +"PyMuPDF 1.24.12 with pyinstaller throws error." +msgstr "" + +#: ../../../changes.txt:299 f44e8a92c6004f9f8c5c59b80ddbf558 +msgid "" +"**Fixed** `3994 `_: " +"pix.color_topusage raise Segmentation fault (core dumped)" +msgstr "" + +#: ../../../changes.txt:302 6bd1fa6f738340babc3df986bdc5a0a5 +msgid "**Changes in version 1.24.12 (2024-10-21)**" +msgstr "" + +#: ../../../changes.txt:306 5174733bb6794f2b8c431f53170d0267 +msgid "" +"**Fixed** `3914 `_: " +"Ability to print MuPDF errors to logging instead of stdout" +msgstr "" + +#: ../../../changes.txt:307 78495d3820584622819a2d243eabe922 +msgid "" +"**Fixed** `3916 `_: " +"insert_htmlbox error: int too large to convert to float" +msgstr "" + +#: ../../../changes.txt:310 dc5a73b307bb45128375b3e45f21f804 +msgid "Supported Python versions are now 3.9-3.13." +msgstr "" + +#: ../../../changes.txt:312 7fa696ad2ff84d4fb6204d9eeaa72eec +msgid "Dropped support for Python-3.8 because end-of-life." +msgstr "" + +#: ../../../changes.txt:313 2be21c1bbf164eb88dd5059514d52c40 +msgid "Added support for Python-3.13 because now released." +msgstr "" + +#: ../../../changes.txt:314 a07d59ffaf6a48c8827e65b703ee0856 +msgid "See: https://devguide.python.org/versions/" +msgstr "" + +#: ../../../changes.txt:317 d5600d2cd45b4009ba4eb42289cee550 +msgid "**Changes in version 1.24.11 (2024-10-03)**" +msgstr "" + +#: ../../../changes.txt:319 9d700953907b44fe86d10f2023bda708 +msgid "Use MuPDF-1.24.10." +msgstr "" + +#: ../../../changes.txt:323 808cd9169aeb4de68aaf51afd0fbff17 +msgid "" +"**Fixed** `3624 `_: Pdf " +"file transform to image have a black block" +msgstr "" + +#: ../../../changes.txt:324 8f414ff010194b2abb249bd69290b7a1 +msgid "" +"**Fixed** `3859 `_: " +"doc.need_appearances() fails with \"AttributeError: module " +"'pymupdf.mupdf' has no attribute 'PDF_TRUE' \"" +msgstr "" + +#: ../../../changes.txt:325 144003ab4e5743f1a5a6728e0d572424 +msgid "" +"**Fixed** `3863 `_: " +"apply_redactions() does not work as expected" +msgstr "" + +#: ../../../changes.txt:326 dd7478f2b06449c48d6b3c1bda073aa9 +msgid "" +"**Fixed** `3905 `_: open " +"stream can raise a FzErrorFormat error instead of FileDataError" +msgstr "" + +#: ../../../changes.txt:328 bf8693cc8c1349408cbd9fc992ea196e +msgid "Wheels now use the Python Stable ABI:" +msgstr "" + +#: ../../../changes.txt:330 efc06a4c0fd84a09a008423f67eee13e +msgid "There is one PyMuPDF wheel for each platform." +msgstr "" + +#: ../../../changes.txt:331 4c8dea397efc48d68f2a64b021c76ed0 +msgid "Each wheel works with all supported Python versions." +msgstr "" + +#: ../../../changes.txt:332 1c41329749a64d22b3f9e3b61036f38c +msgid "" +"Each wheel is built using the oldest supported Python version (currently " +"3.8)." +msgstr "" + +#: ../../../changes.txt:333 2e864bd74a2f4ef98e175a1e44fec4df +msgid "There is no PyMuPDFb wheel." +msgstr "" + +#: ../../../changes.txt:337 aa491896b5e04bd582e529c840ead400 +msgid "Improvements to get_text_words() with sort=True." +msgstr "" + +#: ../../../changes.txt:338 283df97df8874c3fa38c6c9a57f6af06 +msgid "Tests now always get the latest versions of required Python packages." +msgstr "" + +#: ../../../changes.txt:339 f6a1523241f54a9ba84dfed4f6dde3b2 +msgid "Removed dependency on setuptools." +msgstr "" + +#: ../../../changes.txt:340 1596796af81b476e80835455e0a27a29 +msgid "Added item to PyMuPDF-1.24.10 changes below - fix of #3630." +msgstr "" + +#: ../../../changes.txt:343 0d1ea2fa95e1430a91731b5c309c154f +msgid "**Changes in version 1.24.10 (2024-09-02)**" +msgstr "" + +#: ../../../changes.txt:345 0fdb57593f1f47f78b61e459d90c4fd0 +msgid "Use MuPDF-1.24.9." +msgstr "" + +#: ../../../changes.txt:349 4c1b818189074d939767d48fa6ba40e6 +msgid "" +"**Fixed** `3450 `_: " +"get_pixmap function takes too long to process" +msgstr "" + +#: ../../../changes.txt:350 03bc289e1528407b8433671ea3e5587e +msgid "" +"**Fixed** `3569 `_: " +"Invalid OCGs not ignored by SVG image creation" +msgstr "" + +#: ../../../changes.txt:351 3e64094a0a16437ab1fceb4fd8904883 +msgid "" +"**Fixed** `3603 `_: " +"ObjStm compression and PDF linearization doesn't work together" +msgstr "" + +#: ../../../changes.txt:352 4a6c4d95199b49919c2ec7b76da32a3a +msgid "" +"**Fixed** `3650 `_: " +"Linebreak inserted between each letter" +msgstr "" + +#: ../../../changes.txt:353 a5fb10f857014368871b0ee0628a1ef1 +msgid "" +"**Fixed** `3661 `_: " +"Update Document to check the /XYZ len" +msgstr "" + +#: ../../../changes.txt:354 77892cd87ca346d381b0b249574312b4 +msgid "" +"**Fixed** `3698 `_: " +"documentation issue - old code in the annotations documentation" +msgstr "" + +#: ../../../changes.txt:355 8a4df3770f95440c870288e5f497cf93 +msgid "" +"**Fixed** `3705 `_: " +"Document.select() behaves weirdly in some particular kind of pdf files" +msgstr "" + +#: ../../../changes.txt:356 575c721454394ef5954021b2e3910c5a +msgid "" +"**Fixed** `3706 `_: " +"extend Document.__getitem__ type annotation to reflect that the method " +"also accepts slices" +msgstr "" + +#: ../../../changes.txt:357 b4081c4845a3495cab35195cfcbd4e5f +msgid "" +"**Fixed** `3727 `_: " +"Method get_pixmap() make the program exit without any exceptions or " +"messages" +msgstr "" + +#: ../../../changes.txt:358 4a582d7cc3ca40cfba3314faa5800f56 +msgid "" +"**Fixed** `3767 `_: " +"Cannot get Tessdata with Tesseract-OCR 5" +msgstr "" + +#: ../../../changes.txt:359 9a3c4b91a07e4c118de884a8c386dcfb +msgid "" +"**Fixed** `3773 `_: " +"Link.set_border gives TypeError: '<' not supported between instances of " +"'NoneType' and 'int'" +msgstr "" + +#: ../../../changes.txt:360 d3028f61318447b68e56290fbd6732cc +msgid "" +"**Fixed** `3774 `_: " +"fitz.__version__` does not work anymore" +msgstr "" + +#: ../../../changes.txt:361 596c2f50505948db9e84f139ffaea8fa +msgid "" +"**Fixed** `3789 `_: " +"ValueError: not enough values to unpack (expected 3, got 2) is thrown " +"when call insert_pdf" +msgstr "" + +#: ../../../changes.txt:362 e99c3b3c69d1484f8ea0b97279da22e4 +msgid "" +"**Fixed** `3820 `_: class" +" improves namedDest handling" +msgstr "" + +#: ../../../changes.txt:364 9c63afe342914710a2f4b27172881a97 +msgid "" +"**Fixed** `3630 `_: " +"page.apply_redactions gives unwanted black rectangle" +msgstr "" + +#: ../../../changes.txt:368 a69ca8bf39fc49c78509e477fc16ec48 +msgid "" +"Object streams and linearization cannot be used together; attempting to " +"do so will raise an exception. (#3603)" +msgstr "" + +#: ../../../changes.txt:370 d667244f9aa14f1d8b25176a013989e0 +msgid "Fixed handling of non-existing /Contents object." +msgstr "" + +#: ../../../changes.txt:373 007020c8bc19452da4cd657fdcba20c0 +msgid "**Changes in version 1.24.9 (2024-07-24)**" +msgstr "" + +#: ../../../changes.txt:375 3025163fadb648e88e840b5f088e6d56 +msgid "Use MuPDF-1.24.8." +msgstr "" + +#: ../../../changes.txt:378 259a038beea8413baaac6ee36c977d21 +msgid "**Changes in version 1.24.8 (2024-07-22)**" +msgstr "" + +#: ../../../changes.txt:382 a3d2403d008e4902bda8c294e7d5b193 +msgid "" +"**Fixed** `3636 `_: API " +"documentation for the open function is not obvious to find." +msgstr "" + +#: ../../../changes.txt:383 eb0f33456dca477bb49123d26150dbd5 +msgid "" +"**Fixed** `3654 `_: docx " +"parsing was broken in 1.24.7" +msgstr "" + +#: ../../../changes.txt:384 6c8df8e668094aef8d31035e9dc0e65d +msgid "" +"**Fixed** `3677 `_: " +"Unable to extract subset font name using the newer versions of PyMuPDF : " +"1.24.6 and 1.24.7." +msgstr "" + +#: ../../../changes.txt:385 c5b0babed39f440d99efdd7a90d63f4b +msgid "" +"**Fixed** `3687 `_: " +"Page.get_text results in AssertionError for epub files" +msgstr "" + +#: ../../../changes.txt:389 e245fedf7bb24e8d92d8116cb00ad30e +msgid "Fixed various spelling mistakes spotted by codespell." +msgstr "" + +#: ../../../changes.txt:390 764d9b752f59499e856f560908cee6d9 +msgid "Improved how we modify MuPDF's default configuration on Windows." +msgstr "" + +#: ../../../changes.txt:391 6e8cb04f867c4ad59e8be783e217fc4d +msgid "Make text search to work with ligatures." +msgstr "" + +#: ../../../changes.txt:394 25efadfa996341b38552789392dbaf74 +msgid "**Changes in version 1.24.7 (2024-06-26)**" +msgstr "" + +#: ../../../changes.txt:398 fa9eea5710484750bedce90cc64b9daf +msgid "" +"**Fixed** `3615 `_: " +"Document.pagemode or Document.pagelayout crashes for epub files" +msgstr "" + +#: ../../../changes.txt:399 795aad875dfc458eb4a6c99bccde0cec +msgid "" +"**Fixed** `3616 `_: not " +"last version reported" +msgstr "" + +#: ../../../changes.txt:402 b75b54baeb764ed5bfca7d9290d654f6 +msgid "**Changes in version 1.24.6 (2024-06-25)**" +msgstr "" + +#: ../../../changes.txt:404 ce8d669017974969859f4cf2c64c5c09 +msgid "Use MuPDF-1.24.4" +msgstr "" + +#: ../../../changes.txt:408 f726a1ab74364bca9e9f707167e9d0af +msgid "" +"**Fixed** `3599 `_: " +"Story.fit_width() has a weird line" +msgstr "" + +#: ../../../changes.txt:409 8e99b98271ea423bb26bb068ec39ea52 +msgid "" +"**Fixed** `3594 `_: " +"Garbled extraction for Amazon Sustainability Report" +msgstr "" + +#: ../../../changes.txt:410 651a15f12d5043b6b328618180353f68 +msgid "" +"**Fixed** `3591 `_: " +"'width' in Page.get_drawings() returns width equal as 0" +msgstr "" + +#: ../../../changes.txt:411 02fe36631c264c87895576864dc44e43 +msgid "" +"**Fixed** `3561 `_: " +"ZeroDivisionError: float division by zero with page.apply_redactions()" +msgstr "" + +#: ../../../changes.txt:412 99db39151ed74f9d97810a41633d73e2 +msgid "" +"**Fixed** `3559 `_: " +"SegFault 11 when empty H1 H2 H3 H4 etc element is used in insert_htmlbox" +msgstr "" + +#: ../../../changes.txt:413 5e95ed936be0415c95c278cf1d1a9999 +msgid "" +"**Fixed** `3539 `_: Add " +"dotted gridline detection to table recognition" +msgstr "" + +#: ../../../changes.txt:414 75ffb0d518004dc2a74244b12b6c97bd +msgid "" +"**Fixed** `3519 `_: " +"get_toc(simple=False) AttributeError: 'Outline' object has no attribute " +"'rect'" +msgstr "" + +#: ../../../changes.txt:415 495d1b01dfb7457ebb231eca62c7c539 +msgid "" +"**Fixed** `3510 `_: " +"page.get_label() gets wrong label on the first page of doc" +msgstr "" + +#: ../../../changes.txt:416 60f43a90ceb845b2adf2947634af64ac +msgid "" +"**Fixed** `3494 `_: " +"1.24.2/1.24.3: spurious characters introduced when using subset_fonts and" +" insert_pdf" +msgstr "" + +#: ../../../changes.txt:417 a4e0010c0d8f45beaae70809abc81039 +msgid "" +"**Fixed** `3470 `_: " +"subset_fonts error exit without exception/warning" +msgstr "" + +#: ../../../changes.txt:418 99fd9bbe5dba43aa9c040b3a77aee77c +msgid "" +"**Fixed** `3400 `_: " +"set_toc alters link coordinates for some rotated pages on pymupdf 1.24.2" +msgstr "" + +#: ../../../changes.txt:419 82687af929194a6dbf9c19ea545b5e0b +msgid "" +"**Fixed** `3347 `_: " +"Incorrect links to points on pages having different heights" +msgstr "" + +#: ../../../changes.txt:420 340ce003832a4bf4a832ae0623c2ac19 +msgid "" +"**Fixed** `3237 `_: " +"Set_metadata() does not work" +msgstr "" + +#: ../../../changes.txt:421 ce983433667f4f27a675ad0f4ab90de8 +msgid "" +"**Fixed** `3493 `_: " +"Isolate PyMuPDF from other libraries; issues when PyMuPDF is loaded with " +"other libraries like GdkPixbuf" +msgstr "" + +#: ../../../changes.txt:425 85db5876f5884fdb94a243fa8cea3bb5 +msgid "" +"Fixed concurrent use of PyMuPDF caused by use of constant temporary " +"filenames." +msgstr "" + +#: ../../../changes.txt:427 7bc8d5be62d24850bd1a2d0b042c5dc7 +msgid "Add musllinux x86_64 wheels to release." +msgstr "" + +#: ../../../changes.txt:429 8442053275014be3a2961c23d5c1e875 +msgid "Added clearer version information:" +msgstr "" + +#: ../../../changes.txt:431 898d54fe7f294059a365ce4df283fa8e +msgid "`pymupdf.pymupdf_version`." +msgstr "" + +#: ../../../changes.txt:432 e17b0b91f04f41c49b685ec88163c914 +msgid "`pymupdf.mupdf_version`." +msgstr "" + +#: ../../../changes.txt:433 b2b4d699826c44f3b82cbbffd7b8134e +msgid "`pymupdf.pymupdf_date`." +msgstr "" + +#: ../../../changes.txt:436 0641d353405748829b979a38171a2825 +msgid "**Changes in version 1.24.5 (2024-05-30)**" +msgstr "" + +#: ../../../changes.txt:440 d9b804a172e24fa782e586380589a791 +msgid "" +"**Fixed** `3479 `_: " +"regression: fill_textbox: IndexError: pop from empty list" +msgstr "" + +#: ../../../changes.txt:441 d00ec180a30548e7bd1094a5ff22289b +msgid "" +"**Fixed** `3488 `_: " +"set_toc method error" +msgstr "" + +#: ../../../changes.txt:445 53a42d7778c84e85ab793f4fc54ce4e8 +msgid "Some more fixes to use MuPDF floating formatting." +msgstr "" + +#: ../../../changes.txt:446 8feda6eedae84994a727c20e7a2336be +msgid "Removed/disabled some unnecessary diagnostics." +msgstr "" + +#: ../../../changes.txt:447 e96bd409e11d432aa398f8aeedd58c7a +msgid "Fixed utils.do_links() crash." +msgstr "" + +#: ../../../changes.txt:448 24e4d4aed05840ea9abe1c2c2805be34 +msgid "" +"Experimental new functions `pymupdf.apply_pages()` and " +"`pymupdf.get_text()`." +msgstr "" + +#: ../../../changes.txt:449 b8a6f1cfb64748d79bc0b69465631b51 +msgid "Addresses wrong label generation for label styles \"a\" and \"A\"." +msgstr "" + +#: ../../../changes.txt:452 0ba74ae644a1428d89fe14ef6b0babee +msgid "**Changes in version 1.24.4 (2024-05-16)**" +msgstr "" + +#: ../../../changes.txt:454 8347374b5a5e45b28a7f8f4afb292726 +msgid "" +"**Fixed** `3418 `_: Re-" +"introduced bug, text align add_redact_annot" +msgstr "" + +#: ../../../changes.txt:455 cb6d95a9123f4086b6ac158e88717571 +msgid "" +"**Fixed** `3472 `_: " +"insert_pdf gives SystemError" +msgstr "" + +#: ../../../changes.txt:459 c0361428884345bf8531a84f4780ea38 +msgid "" +"Fixed sysinstall test failing to remove all of prior installation before " +"new install." +msgstr "" + +#: ../../../changes.txt:461 5889a769a9d6497db5651e5de06b452c +msgid "Fixed `utils.do_links()` crash." +msgstr "" + +#: ../../../changes.txt:462 18689db9f7b34a0aada6aabae6348c36 +msgid "Correct `TextPage` creation Code." +msgstr "" + +#: ../../../changes.txt:463 47ec7c100c6c4cb89c0c9032e653d85d +msgid "Unified various diagnostics." +msgstr "" + +#: ../../../changes.txt:464 0ad11e95e8244ebab3b4e28a268c3b58 +msgid "Fix bug in `page_merge()`." +msgstr "" + +#: ../../../changes.txt:467 b8f39f2e163741529a0c07525b38ee4e +msgid "**Changes in version 1.24.3 (2024-05-09)**" +msgstr "" + +#: ../../../changes.txt:470 cad11f9fca1541eda51c5b1ddc360907 +msgid "" +"The Python module is now called `pymupdf`. `fitz` is still supported for " +"backwards compatibility." +msgstr "" + +#: ../../../changes.txt:473 26ab1d955ad94d82a842066be61b2b45 +msgid "Use MuPDF-1.24.2." +msgstr "" + +#: ../../../changes.txt:477 d78b4e742a1540d795b9023df668616a +msgid "" +"**Fixed** `3357 `_: " +"PyMuPDF==1.24.0 will hanging when using page.get_text(\"text\")" +msgstr "" + +#: ../../../changes.txt:478 d3a781ba5c1b4e4ea729e32165591767 +msgid "" +"**Fixed** `3376 `_: " +"Redacting results are not as expected in 1.24.x." +msgstr "" + +#: ../../../changes.txt:479 9d45832a290b4dec88aff88537dbbde6 +msgid "" +"**Fixed** `3379 `_: " +"Documentation mismatch for get_text_blocks return value order." +msgstr "" + +#: ../../../changes.txt:480 fb62ce84c5d24c1b802be0a91c9592fc +msgid "" +"**Fixed** `3381 `_: " +"Contents stream contains floats in scientific notation" +msgstr "" + +#: ../../../changes.txt:481 0862ddcf8e644d3ea7ac0a7c60de28d1 +msgid "" +"**Fixed** `3402 `_: " +"Cannot add Widgets containing inter-field-calculation JavaScript" +msgstr "" + +#: ../../../changes.txt:482 3d4f814eb5ec4e72a5adea1bd245b32f +msgid "" +"**Fixed** `3414 `_: " +"missing attribute set_dpi()" +msgstr "" + +#: ../../../changes.txt:483 cdcbe4b8d58544f0948c1b3c28f9b3d9 +msgid "" +"**Fixed** `3430 `_: " +"page.get_text() cause process freeze with certain pdf on v1.24.2" +msgstr "" + +#: ../../../changes.txt:487 ../../../changes.txt:509 +#: 1034de3f71fc4bd187b3f046c83bedbe 8863ca296ccc4716b6f80e99291be2e5 +msgid "New/modified methods:" +msgstr "" + +#: ../../../changes.txt:489 8cea70e9366142759f75487402e703b3 +msgid "" +"`Page.remove_rotation()`: new, set page rotation to zero while keeping " +"appearance." +msgstr "" + +#: ../../../changes.txt:491 f1014ad8f9ec4d87968c7de24b7e7f70 +msgid "Fixed some problems when checking for PDF properties." +msgstr "" + +#: ../../../changes.txt:492 64cfa246e9094b0ebd62758e2eb3598f +msgid "" +"Fixed pip builds from sdist (see discussion `3360 " +"`_: Alpine linux " +"docker build failing \"No matching distribution found for " +"pymupdfb==1.24.1\")." +msgstr "" + +#: ../../../changes.txt:497 f8ef0c76081a402dbac0efa8b7644241 +msgid "**Changes in version 1.24.2 (2024-04-17)**" +msgstr "" + +#: ../../../changes.txt:499 bf95d9b1e5994a2091c8f66685f22854 +msgid "" +"Removed obsolete classic implementation from releases (previously " +"available as module `fitz_old`)." +msgstr "" + +#: ../../../changes.txt:504 4a87d3564d3d4cedae93e2b51349aaa2 +msgid "" +"**Fixed** `3331 `_: " +"Document.pages() is incorrectly type-hinted" +msgstr "" + +#: ../../../changes.txt:505 84e9e429e5af4263a7fd5db405b5842a +msgid "" +"**Fixed** `3354 `_: " +"PyMuPDF==1.24.1: AttributeError: property 'metadata' of 'Document' object" +" has no setter" +msgstr "" + +#: ../../../changes.txt:511 818e26cf4c0f4ce08f1bf68e48eab8b0 +msgid "`Document.bake()`: new, make annotations / fields permanent content." +msgstr "" + +#: ../../../changes.txt:512 6a0b794fe12f4bb4a005a8f1bdc5c188 +msgid "" +"`Page.cluster_drawings()`: new, identifies drawing items (i.e. vector " +"graphics or line-art) that belong together based on their geometrical " +"vicinity." +msgstr "" + +#: ../../../changes.txt:515 f1fb556a239a49e6b90a938b0360868a +msgid "`Page.apply_redactions()`: added new parameter `text`." +msgstr "" + +#: ../../../changes.txt:516 c47d84ec4dd34a6687719bcfafebdb25 +msgid "" +"`Document.subset_fonts()`: use MuPDF's `pdf_subset_fonts()` instead of " +"PyMuPDF code." +msgstr "" + +#: ../../../changes.txt:518 b56ff5e11e894337b35ae03c405c4666 +msgid "The `Document` class now supports page numbers specified as slices." +msgstr "" + +#: ../../../changes.txt:519 68a2d9fa6804400dbecc0e1d60d85280 +msgid "Avoid causing MuPDF warnings." +msgstr "" + +#: ../../../changes.txt:522 167f53146b304aaf9812103ca9c4e29c +msgid "**Changes in version 1.24.1 (2024-04-02)**" +msgstr "" + +#: ../../../changes.txt:526 9dcf0965da0a489cabf3d2ab88226762 +msgid "" +"**Fixed** `3278 `_: " +"apply_redactions moves some unredacted text" +msgstr "" + +#: ../../../changes.txt:527 c23c377d35194a0094bd6e4beab89d9d +msgid "" +"**Fixed** `3301 `_: Be " +"more permissive when classifying links as kind LINK_URI" +msgstr "" + +#: ../../../changes.txt:528 c6e16db559364535a9c002bd61adb627 +msgid "" +"**Fixed** `3306 `_: Text " +"containing capital 'ET' not appearing as annotation" +msgstr "" + +#: ../../../changes.txt:532 ae65e5dcbdbb47e7b6182ae2f1e35080 +msgid "Use MuPDF-1.24.1." +msgstr "" + +#: ../../../changes.txt:533 606e5f2a82694796b16017c9e6988751 +msgid "" +"Support ObjStm Compression. Methods `Document.save()`, " +"`Document.ez_save()` and `Document.write()` now support new parameters " +"`use_objstm`, compression_effort` and `preserve_metadata`." +msgstr "" + +#: ../../../changes.txt:539 e0d826430dab4605843b857d55556f31 +msgid "**Changes in version 1.24.0 (2024-03-21)**" +msgstr "" + +#: ../../../changes.txt:543 56ae3cb3eae74794bf8c66f9478e1eaa +msgid "" +"**Fixed** `3281 `_: " +"Preparing metadata (pyproject.toml) did not run successfully" +msgstr "" + +#: ../../../changes.txt:544 c2af0005171741dfa062c48305fdff68 +msgid "" +"**Fixed** `3279 `_: " +"PyMuPDF no longer builds in Alpine Linux" +msgstr "" + +#: ../../../changes.txt:545 d9b6c05ed6004aca8f3189adad180c42 +msgid "" +"**Fixed** `3257 `_: " +"apply_redactions() deleting text outside of annotated box" +msgstr "" + +#: ../../../changes.txt:546 8baeb884a8f84d2fbf0d5b17af55639c +msgid "" +"**Fixed** `3216 `_: " +"AttributeError: 'Annot' object has no attribute '__del__'" +msgstr "" + +#: ../../../changes.txt:547 37068b47c21542ccbcc5d6326e7046f1 +msgid "" +"**Fixed** `3207 `_: " +"get_drawings's items is missing line from h path operator" +msgstr "" + +#: ../../../changes.txt:548 a4e36666ffbc4aca8006de811d305b60 +msgid "" +"**Fixed** `3201 `_: " +"Memory leaks when merging PDFs" +msgstr "" + +#: ../../../changes.txt:549 72cdc09b51ef425ab50c8aae8a380ce6 +msgid "" +"**Fixed** `3197 `_: " +"page.get_text() returns hexadecimal text for some characters" +msgstr "" + +#: ../../../changes.txt:550 055ea678a07b4991b05894009ada4484 +msgid "" +"**Fixed** `3196 `_: " +"Remove text not working in 1.23.25 version vs 1.20.2" +msgstr "" + +#: ../../../changes.txt:551 eebdd0d853a04d7890db0116aeda3b84 +msgid "" +"**Fixed** `3172 `_: PDF's" +" 45º lines disappearing in png conversion" +msgstr "" + +#: ../../../changes.txt:552 fd48b5fe2cf74dbb8772e3ffda26cc5b +msgid "" +"**Fixed** `3135 `_: Do " +"not log warnings to stdout" +msgstr "" + +#: ../../../changes.txt:553 5a2c034748ca435d97157e0e01631edc +msgid "" +"**Fixed** `3125 `_: " +"get_pixmap method stuck on one page and runs forever" +msgstr "" + +#: ../../../changes.txt:554 2b0bc004e652473d8424fbaf44acc132 +msgid "" +"**Fixed** `2964 `_: There" +" is an issue with the image generated by the page.get_pixmap() function" +msgstr "" + +#: ../../../changes.txt:558 7489ffec843d457ca500cfb476753615 +msgid "Use MuPDF-1.24.0." +msgstr "" + +#: ../../../changes.txt:559 7c55068e2bc44f7a90942db48624c211 +msgid "Add support for redacting vector graphics." +msgstr "" + +#: ../../../changes.txt:560 994636840ff242bb90c2538f8b313764 +msgid "Several fixes for table module" +msgstr "" + +#: ../../../changes.txt:562 1cde4b0108a34c66bcf26a1e69169d92 +msgid "Add new method for outputting the table as a markdown string." +msgstr "" + +#: ../../../changes.txt:564 9fcf8beb4cbf4808b3636964252fb397 +msgid "Address errors in computing the table header object:" +msgstr "" + +#: ../../../changes.txt:566 466f446d303f45039a8d621fa72be582 +msgid "" +"We now allow None as the cell value, because this will be resolved where " +"needed (e.g. in the pandas DataFrame)." +msgstr "" + +#: ../../../changes.txt:569 b1456724d60f446b99497879dec77edc +msgid "" +"We previously tried to enforce rect-like tuples in all header cell " +"bboxes, however this fails for tables with all-None columns. This fix " +"enables this and constructs an empty string in the corresponding cell " +"string." +msgstr "" + +#: ../../../changes.txt:574 bd966cd782ae48e6bf574d6aa1e75969 +msgid "" +"We now correctly include start / stop points of lines in the bbox of the " +"clustered graphic. We previously joined the line's rectangle - which had" +" no effect because this is always empty." +msgstr "" + +#: ../../../changes.txt:578 8b34024dc26b46d6bb00721aee57b203 +msgid "Improved exception text if we fail to open document." +msgstr "" + +#: ../../../changes.txt:579 2ad46d306493434ba2f21cbc55598c4e +msgid "Fixed build with new libclang 18." +msgstr "" + +#: ../../../changes.txt:582 e0f45c4d68334077bde30abcb37f442c +msgid "**Changes in version 1.23.26 (2024-02-29)**" +msgstr "" + +#: ../../../changes.txt:586 2f2ec05926254e2f9d6790002f8f0dbb +msgid "" +"**Fixed** `3199 `_: Add " +"entry_points to setuptools configuration to provide command-line console " +"scripts" +msgstr "" + +#: ../../../changes.txt:587 254166b6829a47ebae52f0d1befd4f8c +msgid "" +"**Fixed** `3209 `_: Empty" +" vertices in ink annotation" +msgstr "" + +#: ../../../changes.txt:591 72a0f38fcb3f4fadae2a9750a83ecf70 +msgid "Improvements to table detection:" +msgstr "" + +#: ../../../changes.txt:593 70ae893cd45741a59c2a753e1efe9d04 +msgid "" +"Improved check for empty tables, fixes bugs when determining table " +"headers." +msgstr "" + +#: ../../../changes.txt:594 db5ad6c22fa8479fb66f6ada59044c7e +msgid "Improved computation of enveloping vector graphic rectangles." +msgstr "" + +#: ../../../changes.txt:595 7f5ea75a3d2b47809b85588c78b70318 +msgid "Ignore more meaningless \"pseudo\" tables" +msgstr "" + +#: ../../../changes.txt:597 6cd939d409f341f6a264ff3b4624cca6 +msgid "Install command-line 'pymupdf' command that runs fitz/__main__.py." +msgstr "" + +#: ../../../changes.txt:598 6afb7824085740ccaf2fc01c782dffcb +msgid "Don't overwrite MuPDF's config.h when building on non-Windows." +msgstr "" + +#: ../../../changes.txt:599 86e24a39bb0541a4ac1e71e88541c698 +msgid "" +"Fix `Story` constructor's `archive` arg to match docs - now accepts a " +"single `Archive` constructor arg." +msgstr "" + +#: ../../../changes.txt:600 a3ea96e9f72f483bbf461ca1d128b1e4 +msgid "" +"Do not include MuPDF source in sdist; will be downloaded automatically " +"when building." +msgstr "" + +#: ../../../changes.txt:603 b80b43ad742c43ab9880dd54056a9973 +msgid "**Changes in version 1.23.25 (2024-02-20)**" +msgstr "" + +#: ../../../changes.txt:607 ea65b6e10b4443fd98d4487f8a6227ce +msgid "" +"**Fixed** `3182 `_: " +"Pixmap.invert_irect argument type error" +msgstr "" + +#: ../../../changes.txt:608 420d27a70b34444aba118e43db9e4802 +msgid "" +"**Fixed** `3186 `_: " +"extractText() extracts broken text from pdf" +msgstr "" + +#: ../../../changes.txt:609 90aadcf4b788454abbf2665a0b7b8f22 +msgid "" +"**Fixed** `3191 `_: Error" +" on .find_tables()" +msgstr "" + +#: ../../../changes.txt:613 0a5a831494a04b18b50fdfc5d3833038 +msgid "" +"When building, be able to specify python-config directly, with " +"environment variable `PIPCL_PYTHON_CONFIG`." +msgstr "" + +#: ../../../changes.txt:617 93b9bfcd66aa426eaacb92d54e23c667 +msgid "**Changes in version 1.23.24 (2024-02-19)**" +msgstr "" + +#: ../../../changes.txt:621 3748e8d370624cd1889b240a694cc72e +msgid "" +"**Fixed** `3148 `_: Table" +" extraction - vertical text not handled correctly" +msgstr "" + +#: ../../../changes.txt:622 0017cea29f1247be99c102c56a8fabd1 +msgid "" +"**Fixed** `3179 `_: Table" +" Detection: Incorrect Separation of Vector Graphics Clusters" +msgstr "" + +#: ../../../changes.txt:623 dde9c50cb60147428936ac9e5bdacc81 +msgid "" +"**Fixed** `3180 `_: " +"Cannot show optional content group: AttributeError: module 'fitz.mupdf' " +"has no attribute 'pdf_array_push_drop'" +msgstr "" + +#: ../../../changes.txt:627 838816f12e394f49b9e2ef7b4559fd71 +msgid "Be able to test system install using `sudo pip install` instead of a venv." +msgstr "" + +#: ../../../changes.txt:630 0b4ca8027622493090312b1e74a4839a +msgid "**Changes in version 1.23.23 (2024-02-18)**" +msgstr "" + +#: ../../../changes.txt:634 5c5c4b53219b4e8492fec8aafaa14b7e +msgid "" +"**Fixed** `3126 `_: " +"Initialising Archive with a pathlib.Path fails." +msgstr "" + +#: ../../../changes.txt:635 e5745b8508084965a56f4151794f8378 +msgid "" +"**Fixed** `3131 `_: " +"Calling the next attribute of an Annot raises a \"No attribute .parent\" " +"warning" +msgstr "" + +#: ../../../changes.txt:636 59d2c178ba9c4d47977704a9feccc1ea +msgid "" +"**Fixed** `3134 `_: Using" +" an IRect as clip parameter in Page.get_pixmap no longer works since " +"1.23.9" +msgstr "" + +#: ../../../changes.txt:637 43be27e8f82c45ef90522a9da30a0a72 +msgid "" +"**Fixed** `3140 `_: PDF " +"document stays in use after closing" +msgstr "" + +#: ../../../changes.txt:638 cbe3a25490474db9973829ac9e661e5b +msgid "" +"**Fixed** `3150 `_: " +"doc.select() hangs on this doc." +msgstr "" + +#: ../../../changes.txt:639 b40c96dbbba64f6f82a0dbc3fb5570db +msgid "" +"**Fixed** `3163 `_: " +"AssertionError on using fitz.IRect" +msgstr "" + +#: ../../../changes.txt:640 5b0e909d8b1c42c4815f57178c08f1d0 +msgid "" +"**Fixed** `3177 `_: " +"fitz.Pixmap(None, pix) Unrecognised args for constructing Pixmap" +msgstr "" + +#: ../../../changes.txt:645 bcff5266d81d44828538dd318c25c548 +msgid "" +"Improved `Document.select() by using new MuPDF function " +"`pdf_rearrange_pages()`. This is a more complete (and faster) " +"implementation of what needs to be done here in that not only pages will " +"be rearranged, but also consequential changes will be made to the table " +"of contents, links to removed pages and affected entries in the Optional " +"Content definitions." +msgstr "" + +#: ../../../changes.txt:651 7e5e70f9786348e485e9f480c4c5f649 +msgid "`TextWriter.appendv()`: added `small_caps` arg." +msgstr "" + +#: ../../../changes.txt:652 511da4bdc4cb4d488b5540f7118d05c6 +msgid "Fixed some valgrind errors with MuPDF master." +msgstr "" + +#: ../../../changes.txt:653 9fa27b2a0f6542779698b58b6ef2797f +msgid "Fixed `Document.insert_image()` when build with MuPDF master." +msgstr "" + +#: ../../../changes.txt:656 8215b8e723014b82adeefa3d490e76cf +msgid "**Changes in version 1.23.22 (2024-02-12)**" +msgstr "" + +#: ../../../changes.txt:660 9499acfbd68c4038bf82444da1a07c47 +msgid "" +"**Fixed** `3143 `_: " +"Difference in decoding of OCGs names between doc.get_ocgs() and " +"page.get_drawings()" +msgstr "" + +#: ../../../changes.txt:662 6a05eddb0f5846589fe4c0086fc9e146 +msgid "" +"**Fixed** `3139 `_: " +"Pixmap resizing needs positional arg \"clip\" - even if None." +msgstr "" + +#: ../../../changes.txt:666 9a6bd516b5734957b5d8700fec418b18 +msgid "Removed the use of MuPDF function `fz_image_size()` from PyMuPDF." +msgstr "" + +#: ../../../changes.txt:669 32b339e622b6447890c25a4ab191fd39 +msgid "**Changes in version 1.23.21 (2024-02-01)**" +msgstr "" + +#: ../../../changes.txt:675 fab60867577a487b9c3f486166614839 +msgid "" +"Fixed bug in set_xml_metadata(), PR `3112 " +"`_: Fix pdf_add_stream " +"metadata error" +msgstr "" + +#: ../../../changes.txt:676 5db3c0df43d7466bb49c93da76eb7ded +msgid "Fixed lack of `.parent` member in `TextPage` from `Annot.get_textpage()`." +msgstr "" + +#: ../../../changes.txt:677 6886cfc95dcf48449baf3597f9ed5a5b +msgid "Fixed bug in `Page.add_widget()`." +msgstr "" + +#: ../../../changes.txt:680 466b6a96778a400fa703f8a164dc6006 +msgid "**Changes in version 1.23.20 (2024-01-29)**" +msgstr "" + +#: ../../../changes.txt:682 ../../../changes.txt:693 ../../../changes.txt:711 +#: ../../../changes.txt:723 ../../../changes.txt:737 ../../../changes.txt:750 +#: ../../../changes.txt:761 ../../../changes.txt:773 ../../../changes.txt:797 +#: ../../../changes.txt:917 ../../../changes.txt:934 ../../../changes.txt:966 +#: ../../../changes.txt:1023 ../../../changes.txt:1099 +#: ../../../changes.txt:1133 ../../../changes.txt:1142 +#: ../../../changes.txt:1151 ../../../changes.txt:1169 +#: ../../../changes.txt:1269 ../../../changes.txt:1308 +#: 10bae71e3a574059884b4f1d5baea65c 11746df9cf7b4144bc9cabc8e95b78a9 +#: 35c5e4be6606427a95322276ca783f0e 4bbb30be5f60421a87e36a340ddbe65f +#: 524f6c6556b5468c90bac3e6f81b279d 5a44d84debe5475da967de80ba53914b +#: 5ed487b98bc84f92a08fdb4934e8535b 74166ebee93f4e9e999f1cd22be78aaf +#: 780c7d9984234abebe430e3254afc4e8 a47d1d46827b45bebe969ac04f21dc0f +#: a6ae2f8c435749c4a8dc5fbe5c95dff6 a776aae290f74bdfaa636b31d9b933e0 +#: bb6b3124820a4512a56446f360c94404 c7fa8793bb6d44aca1771c6152ac83d8 +#: d22de0587ab24d4ab437626e883261d4 dd73709cf4c74a6e9d9a8eba46753cd2 +#: e4a33a6c03dd49d0a338e5b67900cac8 f7e8261277e44b8abe33e6e0f05bcde7 +#: f98503e4ea7c425391e56ac00fbae870 fc10345ba347482ba6bf7042461f8232 +msgid "Bug fixes:" +msgstr "" + +#: ../../../changes.txt:684 e101eae15b004da2849ab4be087a4010 +msgid "" +"**Fixed** `3100 `_: Wrong" +" internal property accessed in get_xml_metadata" +msgstr "" + +#: ../../../changes.txt:688 30795d0573e140c88dd4cf9e6887fbe0 +msgid "Significantly improved speed of `Document.get_toc()`." +msgstr "" + +#: ../../../changes.txt:691 f23cca9b1fc84d0ea474332f2e1c6c2c +msgid "**Changes in version 1.23.19 (2024-01-25)**" +msgstr "" + +#: ../../../changes.txt:695 36758073da3a48f5bc485fd6a9fc328e +msgid "" +"**Fixed** `3087 `_: " +"Exception in insert_image with mask specified" +msgstr "" + +#: ../../../changes.txt:696 202f997680f84ed9b7bf363b2b348028 +msgid "" +"**Fixed** `3094 `_: " +"TypeError: '<' not supported between instances of 'FzLocation' and 'int' " +"in doc.delete_pages" +msgstr "" + +#: ../../../changes.txt:700 b8dceb00014f42ccb7877fe431320209 +msgid "When finding tables:" +msgstr "" + +#: ../../../changes.txt:702 311dca44e7df40e0a0c2ece5cca045f3 +msgid "" +"Allow addition of user-defined \"virtual\" vector graphics when finding " +"tables." +msgstr "" + +#: ../../../changes.txt:703 743195d5487f4c79b7dea4defa19efdb +msgid "" +"Confirm that the enveloping bboxes of vector graphics are inside the clip" +" rectangle." +msgstr "" + +#: ../../../changes.txt:704 91bcfe988eab4abe82d29ec6a73c24ac +msgid "Avoid slow finding of rectangle intersections." +msgstr "" + +#: ../../../changes.txt:706 6fbf98c2146642699598279e74ace969 +msgid "Added `Font.bbox` property." +msgstr "" + +#: ../../../changes.txt:709 02dd1c5dc69346c3aa052addbe84f62d +msgid "**Changes in version 1.23.18 (2024-01-23)**" +msgstr "" + +#: ../../../changes.txt:713 e98e1fa4a6be43e19c1235f235206973 +msgid "" +"**Fixed** `3081 `_: " +"doc.close() not closing the document" +msgstr "" + +#: ../../../changes.txt:717 da8086b4179148e78eef2c50eb3cd527 +msgid "" +"Reduced size of sdist to fit on pypi.org (by reducing size of two test " +"files)." +msgstr "" + +#: ../../../changes.txt:718 0b7e1df1d1024f52810b0f1778d8d2de +msgid "Fix `Annot.file_info()` if no `Desc` item." +msgstr "" + +#: ../../../changes.txt:721 df117a0a6648402e8810ca3b417979b4 +msgid "**Changes in version 1.23.17 (2024-01-22)**" +msgstr "" + +#: ../../../changes.txt:725 37f262e5ed6b4d118a5a82e4beb2b4ad +msgid "" +"**Fixed** `3062 `_: " +"page_rotation_reset does not return page to original rotation" +msgstr "" + +#: ../../../changes.txt:726 f86ef7904604429884e4c81fcf5ae787 +msgid "" +"**Fixed** `3070 `_: " +"update_link(): AttributeError: 'Page' object has no attribute 'super'" +msgstr "" + +#: ../../../changes.txt:730 6c6a0371126c46b0bcc8ebc5df7be344 +msgid "Fixed bug in `Page.links()` (PR #3075)." +msgstr "" + +#: ../../../changes.txt:731 a9475e5785414f199b597f416d8e1f8d +msgid "Fixed bug in `Page.get_bboxlog()` with layers." +msgstr "" + +#: ../../../changes.txt:732 8867fda0c26e4548b930e7d40da999bc +msgid "Add support for timeouts in scripts/ and tests/run_compound.py." +msgstr "" + +#: ../../../changes.txt:735 50f7599b93df4914acc301398f9fb589 +msgid "**Changes in version 1.23.16 (2024-01-18)**" +msgstr "" + +#: ../../../changes.txt:739 98d0c677086e45b8aefb2561c344d108 +msgid "" +"**Fixed** `3058 `_: " +"Pixmap created from CMYK JPEG delivers RGB format" +msgstr "" + +#: ../../../changes.txt:743 6280e0fb16044307be72a98e78055199 +msgid "" +"In table detection strategy \"lines_strict\", exclude fill-only vector " +"graphics." +msgstr "" + +#: ../../../changes.txt:744 7b87c57e26184d6fab0bf49037ae0ee0 +msgid "Fixed sysinstall test failure." +msgstr "" + +#: ../../../changes.txt:745 479fcf54b5cc40719b42543c6b8eb8d7 +msgid "In documentation, update feature matrix with item about text writing." +msgstr "" + +#: ../../../changes.txt:748 a58ed680108b456f811bd161fcda9c91 +msgid "**Changes in version 1.23.15 (2024-01-16)**" +msgstr "" + +#: ../../../changes.txt:752 db43cbaa428745bbbc155e1449a46274 +msgid "" +"**Fixed** `3050 `_: " +"python3.9 pix.set_pixel has something wrong in c.append( ord(i))" +msgstr "" + +#: ../../../changes.txt:756 85116010a87b4782a3c2cf37d6d3c233 +msgid "Improved docs for Page.find_tables()." +msgstr "" + +#: ../../../changes.txt:759 a0e9d51dec614dd5aad7a32d5195c117 +msgid "**Changes in version 1.23.14 (2024-01-15)**" +msgstr "" + +#: ../../../changes.txt:763 a147e66fe72c47f7ab10b2211f76dd3f +msgid "" +"**Fixed** `3038 `_: " +"JM_pixmap_from_display_list > Assertion Error : Checking for wrong type" +msgstr "" + +#: ../../../changes.txt:764 8e99271499a243a0ad21780cd0aa3b4f +msgid "" +"**Fixed** `3039 `_: Issue" +" with doc.close() not closing the document in PyMuPDF" +msgstr "" + +#: ../../../changes.txt:768 3976a531e434472590b8052395aea031 +msgid "" +"Ensure valid \"re\" rectangles in `Page.get_drawings()` with derotated " +"pages." +msgstr "" + +#: ../../../changes.txt:771 082bdc523e1f473f85543e64d3853ad8 +msgid "**Changes in version 1.23.13 (2024-01-15)**" +msgstr "" + +#: ../../../changes.txt:775 797a7ea0082844de9aa334285db2046a +msgid "" +"**Fixed** `2979 `_: list " +"index out of range in to_pandas()" +msgstr "" + +#: ../../../changes.txt:776 95667931dbcb4237bae8f4c9af83594b +msgid "" +"**Fixed** `3001 `_: " +"Calling find_tables() on one document alters the bounding boxes of a " +"subsequent document" +msgstr "" + +#: ../../../changes.txt:780 186cd9d07f9b4a58beb7e8e41f3bc17d +msgid "Fixed `Rect.height` and `Rect.width` to never return negative values." +msgstr "" + +#: ../../../changes.txt:781 27c5d3626f094ec5863b809e2a812c25 +msgid "Fixed `TextPage.extractIMGINFO()`'s returned `dictkey_yres` value." +msgstr "" + +#: ../../../changes.txt:784 8255dfd1b9d149ba8ce261e1ceaff664 +msgid "**Changes in version 1.23.12 (2024-01-12)**" +msgstr "" + +#: ../../../changes.txt:786 5bb9f57d3682407b99532c75233dba1f +msgid "" +"**Fixed** `3027 `_: " +"Page.get_text throws Attribute Error for 'parent'" +msgstr "" + +#: ../../../changes.txt:789 2dae2447cbb74e1fb8e1a42264ec7e70 +msgid "**Changes in version 1.23.11 (2024-01-12)**" +msgstr "" + +#: ../../../changes.txt:791 cd671647a36347d9b8adbfb7ee2447a9 +msgid "Fixed some Pixmap construction bugs." +msgstr "" + +#: ../../../changes.txt:792 e891dfad684a4752b4e5805a6293dfcf +msgid "Fixed Pixmap.yres()." +msgstr "" + +#: ../../../changes.txt:795 f131f3b1f3b641e989cfeab5425a3e9c +msgid "**Changes in version 1.23.10 (2024-01-12)**" +msgstr "" + +#: ../../../changes.txt:799 ac50349144d841ab902a3ae407ef8714 +msgid "" +"**Fixed** `3020 `_: Can't" +" resize a PixMap" +msgstr "" + +#: ../../../changes.txt:803 3f395fa335f948a6bf2ec8e7dca4ea01 +msgid "Fixed Page.delete_image()." +msgstr "" + +#: ../../../changes.txt:806 c60fab8d493747628cff1c624cb39043 +msgid "**Changes in version 1.23.9 (2024-01-11)**" +msgstr "" + +#: ../../../changes.txt:808 1fa84ae4248d423485aa5cb183570533 +msgid "Default to new \"rebased\" implementation." +msgstr "" + +#: ../../../changes.txt:810 950a6848918d4d6b80203a0558ed5266 +msgid "" +"The old \"classic\" implementation is available with `import fitz_old as " +"fitz`." +msgstr "" + +#: ../../../changes.txt:811 bebd4b40a6314a9b99d384b13f921a74 +msgid "" +"For more information about why we are changing to the rebased " +"implementation, see: https://github.com/pymupdf/PyMuPDF/discussions/2680" +msgstr "" + +#: ../../../changes.txt:814 0a613f5215304e7b922f3fbb0c54ad9c +msgid "Use MuPDF-1.23.9." +msgstr "" + +#: ../../../changes.txt:816 ../../../changes.txt:848 +#: 79b8f33e4c684085bbd12543c914a92c ed73712d903c42daa048538222480c72 +msgid "Bug fixes (rebased implementation only):" +msgstr "" + +#: ../../../changes.txt:818 f0a68870dc7e4101b40fb65d25d18b5a +msgid "" +"**Fixed** `2911 `_: " +"Page.derotation_matrix returns a tuple instead of a Matrix with rebased " +"implementation" +msgstr "" + +#: ../../../changes.txt:819 b056b928a27c4740bfc45a1e268ab0d2 +msgid "" +"**Fixed** `2919 `_: " +"Rebased version: KeyError in resolve_names when merging pdfs" +msgstr "" + +#: ../../../changes.txt:820 736154fa84784e259b795c962116ed21 +msgid "" +"**Fixed** `2922 `_: New " +"feature that allows inserting named-destination links doesn't work" +msgstr "" + +#: ../../../changes.txt:821 bfe6879a0e3449928a0e143e35d1973d +msgid "" +"**Fixed** `2943 `_: " +"ZeroDivisionError: float division by zero when use apply_redactions()" +msgstr "" + +#: ../../../changes.txt:822 3aea2bcd6a984d8f8e814d25a05ea0cd +msgid "" +"**Fixed** `2950 `_: " +"Shelling out to pip during tests is problematic" +msgstr "" + +#: ../../../changes.txt:823 64a074a99c094bf2b64bf0a1175cfd6e +msgid "" +"**Fixed** `2954 `_: " +"Replacement unicode character in text extraction" +msgstr "" + +#: ../../../changes.txt:824 f1ab1e9632c440a1ad3ddceab5970793 +msgid "" +"**Fixed** `2957 `_: " +"apply_redactions() moving text" +msgstr "" + +#: ../../../changes.txt:825 be824c3a45bd4be0b2bc52d892f31652 +msgid "" +"**Fixed** `2961 `_: " +"Passing a string as a page number raises IndexError instead of TypeError." +msgstr "" + +#: ../../../changes.txt:826 e776dd1532cf4e4b930371d30841afe9 +msgid "" +"**Fixed** `2969 `_: " +"annot.next throws AttributeError" +msgstr "" + +#: ../../../changes.txt:827 ac77c79a100942f8a6159beb24f4e67a +msgid "" +"**Fixed** `2978 `_: " +"1.23.9rc1: module 'fitz.mupdf' has no attribute 'fz_copy_pixmap_rect'" +msgstr "" + +#: ../../../changes.txt:829 362af45c412f45c39a1d822fab1286b1 +msgid "" +"**Fixed** `2907 `_: " +"segfault trying to call clean_contents on certain pdfs with python 3.12" +msgstr "" + +#: ../../../changes.txt:830 c1135c0939ef4daab6a8385631c53704 +msgid "" +"**Fixed** `2905 `_: " +"SystemError: returned a " +"result with an exception set" +msgstr "" + +#: ../../../changes.txt:831 a9d0e8515e0c4113af2e60251120838a +msgid "" +"**Fixed** `2742 `_: " +"Segmentation Fault when inserting three (but not two) copies of the same " +"source page into one destination page" +msgstr "" + +#: ../../../changes.txt:835 bdbbaa0c597e4d8690d2acc01a05a511 +msgid "Add optional setting of opacity to `Page.insert_htmlbox()`." +msgstr "" + +#: ../../../changes.txt:836 ec4580cff71a44b881bd2289b03e1e76 +msgid "Fixed issue with add_redact_annot() mentioned in #2934." +msgstr "" + +#: ../../../changes.txt:837 37a7489f60b24988aabf68ab765c53aa +msgid "" +"Fixed `Page.rotation()` to return 0 for non-PDF documents instead of " +"raising an exception." +msgstr "" + +#: ../../../changes.txt:838 c15327390f2c412599adc9f6c2cd41eb +msgid "Fixed internal quad detection to cope with any Python sequence." +msgstr "" + +#: ../../../changes.txt:839 b5b25dcbb0e04533b6f266160078d7ac +msgid "" +"Fixed rebased `fitz.pymupdf_version_tuple` - was previously set to mupdf " +"version." +msgstr "" + +#: ../../../changes.txt:840 417b49c5b97a43b2884451f91a6ccd72 +msgid "" +"Improved support for Linux system installs, including adding regular " +"testing on Github." +msgstr "" + +#: ../../../changes.txt:841 dc9b6649df764b6d8bdd0aeb241c8116 +msgid "Add missing `flake8` to `scripts/gh_release.py:test_packages`." +msgstr "" + +#: ../../../changes.txt:842 526255ea77784aa5a86322e409396fbf +msgid "Use newly public functions in MuPDF-1.23.8." +msgstr "" + +#: ../../../changes.txt:843 78af7dcf823d4333b745e1411e2535c0 +msgid "Improved `scripts/test.py` to help investigation of MuPDF issues." +msgstr "" + +#: ../../../changes.txt:846 c4377b33474d4f08b8bb6ea1785e8cae +msgid "**Changes in version 1.23.8 (2023-12-19)**" +msgstr "" + +#: ../../../changes.txt:850 06bc7d28ba624f879fc3f4225f042ebd +msgid "" +"**Fixed** `2634 `_: " +"get_toc and set_toc do not behave consistently for rotated pages" +msgstr "" + +#: ../../../changes.txt:851 eaabee50b85a41f5a1eee3082375a7d5 +msgid "" +"**Fixed** `2861 `_: " +"AttributeError in getLinkDict during PDF Merge" +msgstr "" + +#: ../../../changes.txt:852 11a45b3c36814980abef6db057685eef +msgid "" +"**Fixed** `2871 `_: " +"KeyError in getLinkDict during PDF merge" +msgstr "" + +#: ../../../changes.txt:853 f6127a8b2c46475da27184f59e39e7ef +msgid "" +"**Fixed** `2886 `_: Error" +" in Skeleton for Named Link Destinations" +msgstr "" + +#: ../../../changes.txt:855 ../../../changes.txt:888 +#: 586f106b986842b08028b0f5f627f7ca d8af7ffde72c450d915b0463309a4314 +msgid "Bug fixes (rebased and classic implementations):" +msgstr "" + +#: ../../../changes.txt:857 b33ad6378a46458cb75ad39284db9641 +msgid "" +"**Fixed** `2885 `_: " +"pymupdf find tables too slow" +msgstr "" + +#: ../../../changes.txt:861 ../../../changes.txt:901 +#: 4728a8ecae8e40aa81aac714354f5cd8 dfafbc41ed064d4e9417228eef3b8869 +msgid "Rebased implementation:" +msgstr "" + +#: ../../../changes.txt:863 d5e148c0135c420faee01c379333d863 +msgid "" +"`Page.insert_htmlbox()`: new, much more powerful alternative to " +"`Page.insert_textbox()` or `TextWriter.fill_textbox()`, using `Story`." +msgstr "" + +#: ../../../changes.txt:864 61b9573e3d5140e89cab3a5f2306ae99 +msgid "`Story.fit*()`: new methods for fitting a Story into an expanded rect." +msgstr "" + +#: ../../../changes.txt:865 2c6161c5bc974598a30735ae4181b27c +msgid "`Story.write_with_links()`: add support for external links." +msgstr "" + +#: ../../../changes.txt:866 98b4230a54804ef4acb0b180f44e9ae5 +msgid "" +"`Document.language()`: fixed to use MuPDF's new " +"`mupdf.fz_string_from_text_language2()`." +msgstr "" + +#: ../../../changes.txt:867 40995750950149ef83a0d8f6ddad76ef +msgid "`Document.subset_fonts()` - fixed." +msgstr "" + +#: ../../../changes.txt:868 8f0552b58651471a97e511567a32e0c2 +msgid "Fixed internal `Archive._add_treeitem()` method." +msgstr "" + +#: ../../../changes.txt:869 87b1222b024441dea38cf29daba33184 +msgid "" +"Fixed `fitz_new.__doc__` to contain PyMuPDF and Python version " +"information, and OS name." +msgstr "" + +#: ../../../changes.txt:870 386cb55b9f0c4087ae1996bb06b51a33 +msgid "" +"Removed use of `(*args, **kwargs)` in API, we now specify keyword args " +"explicitly." +msgstr "" + +#: ../../../changes.txt:871 c59b0cc5fecc4bdd9562cd2ce75075d3 +msgid "Work with new MuPDF Python exception classes." +msgstr "" + +#: ../../../changes.txt:873 e3e5a541241440ed9d367ef19430a835 +msgid "" +"Fixed bug where `button_states()` returns None when `/AP` points to an " +"indirect object." +msgstr "" + +#: ../../../changes.txt:874 5af1990cff754cd89a3aa438eb9d383b +msgid "" +"Fixed pillow test to not ignore all errors, and install pillow when " +"testing." +msgstr "" + +#: ../../../changes.txt:875 1f1299ee32f346b6b3729cf40091e92c +msgid "" +"Added test for `fitz.css_for_pymupdf_font()` (uses package `pymupdf-" +"fonts`)." +msgstr "" + +#: ../../../changes.txt:876 8a8e3b21e7fe474598e60c7c3d327f5b +msgid "Simplified Github Actions test specifications." +msgstr "" + +#: ../../../changes.txt:877 285e6db854b84f7fab4a2c650152d2a2 +msgid "Updated `tests/README.md`." +msgstr "" + +#: ../../../changes.txt:880 25533a44e1824331b867fb200db45187 +msgid "**Changes in version 1.23.7 (2023-11-30)**" +msgstr "" + +#: ../../../changes.txt:882 583b1de242bb4157b4445d6446ee6bbb +msgid "Bug fixes in rebased implementation, not fixed in classic implementation:" +msgstr "" + +#: ../../../changes.txt:884 235fe8226daa4b0abbac192cae7fd37a +msgid "" +"**Fixed** `2232 `_: " +"Geometry helper classes should support keyword arguments" +msgstr "" + +#: ../../../changes.txt:885 e575834fcd73477b81b61829f22f495d +msgid "" +"**Fixed** `2788 `_: " +"Problem with get_toc in pymupdf 1.23.6" +msgstr "" + +#: ../../../changes.txt:886 48886ca53b3d4f75bb21c99311bdb5f3 +msgid "" +"**Fixed** `2791 `_: " +"Experiencing small memory leak in save()" +msgstr "" + +#: ../../../changes.txt:890 10a6b50400ed447497a29b25510f48e4 +msgid "" +"**Fixed** `2736 `_: " +"Failure when set cropbox with mediabox negative value" +msgstr "" + +#: ../../../changes.txt:891 2a0b37db8390439fbb646a9c37103f52 +msgid "" +"**Fixed** `2749 `_: " +"RuntimeError: cycle in structure tree" +msgstr "" + +#: ../../../changes.txt:892 3d06cf904a104c3d90b146fa78bf69ef +msgid "" +"**Fixed** `2753 `_: " +"Story.write_with_links will ignore everything after the first \"page " +"break\" in the HTML." +msgstr "" + +#: ../../../changes.txt:893 8a53b50ea2524665955b3157294a2b2d +msgid "" +"**Fixed** `2812 `_: " +"find_tables on landscape page generates reversed text" +msgstr "" + +#: ../../../changes.txt:894 888fb15372974a36b1fe3d66ef22e391 +msgid "" +"**Fixed** `2829 `_: " +"[cannot create /Annot for kind] is still printed despite #2345 is closed." +msgstr "" + +#: ../../../changes.txt:895 4bddd57842e24f349a1d201577c84f44 +msgid "" +"**Fixed** `2841 `_: " +"Unexpected KeyError when using scrub with fitz_new" +msgstr "" + +#: ../../../changes.txt:897 94aee473c47b4b39a4c3c4cb53567f41 +msgid "Use MuPDF-1.23.7." +msgstr "" + +#: ../../../changes.txt:903 bec49d14f00548e4b548e3392c71e4f9 +msgid "Added flake8 code checking to test suite, and made various fixes." +msgstr "" + +#: ../../../changes.txt:904 5c2f03ef2da94a85b04bdcaa6b4452b2 +msgid "" +"Disable diagnostics during Document constructor to match classic " +"implementation." +msgstr "" + +#: ../../../changes.txt:906 614caa01606b4df1a5f36c79ba7597dc +msgid "" +"Additional fix to `2553 " +"`_: Invalid characters in" +" versions >= 1.22" +msgstr "" + +#: ../../../changes.txt:907 249c2e20b6584ff5bde073c96d14cef8 +msgid "" +"Fixed `MuPDF Bug 707324 " +"`_: Story: HTML " +"table row background color repeated incorrectly" +msgstr "" + +#: ../../../changes.txt:908 40274b78dadb4924955e4fcee62c82e9 +msgid "Added `scripts/test.py`, for simple build+test of PyMuPDF git checkout." +msgstr "" + +#: ../../../changes.txt:909 f4348c71af1f40479d9eb7d08fdba3aa +msgid "Added `fitz.pymupdf_version_tuple`, e.g. `(1, 23, 6)`." +msgstr "" + +#: ../../../changes.txt:910 0125831c6ca04067b9605b86aefa7ebb +msgid "" +"Restored mistakenly-reverted fix for `2345 " +"`_: Turn off print " +"statements in utils.py" +msgstr "" + +#: ../../../changes.txt:911 ecf3f5029df1424ca67fedcd1eac52e1 +msgid "" +"Include any trailing `... repeated times...` text in warnings " +"returned by `mupdf_warnings()` (rebased only)." +msgstr "" + +#: ../../../changes.txt:915 dae1fc58258f4a368eb9b9e73fdc3418 +msgid "**Changes in version 1.23.6 (2023-11-06)**" +msgstr "" + +#: ../../../changes.txt:919 4b44a7b92e344051be42fcb7b2fd86ca +msgid "" +"**Fixed** `2553 `_: " +"Invalid characters in versions >= 1.22" +msgstr "" + +#: ../../../changes.txt:920 c22c67eda878468e84fdce9860d9470e +msgid "" +"**Fixed** `2608 `_: " +"Incorrect utf32 text extraction (high & low surrogates are split)" +msgstr "" + +#: ../../../changes.txt:921 ../../../changes.txt:944 +#: 6e09bf78b2e8482189006eea2acba2bb 9836ec3981e942eab17d9cf2073f8760 +msgid "" +"**Fixed** `2710 `_: " +"page.rect and text location wrong / differing from older version" +msgstr "" + +#: ../../../changes.txt:922 cf4d2d380bbc48eb852fc95710f97677 +msgid "" +"**Fixed** `2774 `_: wrong" +" encoding for \"\\?\" character when sort=True" +msgstr "" + +#: ../../../changes.txt:923 1f6c84f41d254543a72dc62354b851c3 +msgid "" +"**Fixed** `2775 `_: " +"fitz_new does not work with python3.10 or earlier" +msgstr "" + +#: ../../../changes.txt:924 87951ce6577046f9b2d94ccd7a8d15cf +msgid "" +"**Fixed** `2777 `_: With " +"fitz_new, wrong type for Page.mediabox" +msgstr "" + +#: ../../../changes.txt:928 8d946635456d4d35be553ed4ef5c4c20 +msgid "Use MuPDF-1.23.5." +msgstr "" + +#: ../../../changes.txt:929 f7013808115244fc929c4e70b737e840 +msgid "Added Document.resolve_names() (rebased implementation only)." +msgstr "" + +#: ../../../changes.txt:932 fc23c2f02e0f4d6eaaf921039e93a96f +msgid "**Changes in version 1.23.5 (2023-10-11)**" +msgstr "" + +#: ../../../changes.txt:936 6009b9edb3184a869f2ce12fd73c20bd +msgid "" +"**Fixed** `2341 `_: " +"Handling negative values in the zoom section for LINK_GOTO in linkDest" +msgstr "" + +#: ../../../changes.txt:937 0dd0674d2f134d99b73659b6f62b19a1 +msgid "" +"**Fixed** `2522 `_: Typo " +"in set_layer() - NameError: name 'f' is not defined" +msgstr "" + +#: ../../../changes.txt:938 c5288d50055d4c5da1a7e0df44a0ac43 +msgid "" +"**Fixed** `2548 `_: Fitz " +"freezes on some PDFs when calling the fitz.Page.get_text_blocks method." +msgstr "" + +#: ../../../changes.txt:939 5ff84b8fb6be4feb8cdbf5edbbb0abaa +msgid "" +"**Fixed** `2596 `_: " +"save(garbage=3) breaks get_pixmap() with side effect" +msgstr "" + +#: ../../../changes.txt:940 123cb55d916f49108937ed096e7ddb25 +msgid "" +"**Fixed** `2635 `_: " +"\"clean=True\" makes objects invisible in the pdf" +msgstr "" + +#: ../../../changes.txt:941 ../../../changes.txt:969 +#: 7654b31ea4c84890bf69fa4688837d78 8eef4b86cdec4085ae3f96a960c2ce20 +msgid "" +"**Fixed** `2637 `_: " +"Page.insert_textbox incorrectly handles the last word if it starts a new " +"line" +msgstr "" + +#: ../../../changes.txt:942 bcc1d82ed2934ae49084a16db226ddf1 +msgid "" +"**Fixed** `2699 `_: " +"extract paragraph with below table" +msgstr "" + +#: ../../../changes.txt:943 75014a04729c49dd8bc091fb9ba66444 +msgid "" +"**Fixed** `2703 `_: Wrong" +" fontsize calculation in corner cases (\"page.get_texttrace()\")" +msgstr "" + +#: ../../../changes.txt:945 f469c85d192646e5aab002778053d0a5 +msgid "" +"**Fixed** `2723 `_: When " +"will a Python 3.12 wheel be available?" +msgstr "" + +#: ../../../changes.txt:946 0fa82c24bbeb42d2be8390fbba927f0d +msgid "" +"**Fixed** `2730 `_: " +"persistent get_text() formatting" +msgstr "" + +#: ../../../changes.txt:950 72690f1bf41e43bda38ccd424aacca3c +msgid "Use MuPDF-1.23.4." +msgstr "" + +#: ../../../changes.txt:951 30ff227bd04646bdb17474afeccd9981 +msgid "Fix optimisation flags with system installs." +msgstr "" + +#: ../../../changes.txt:952 6906912e05f34a26b46e5f8c0b9dd6e0 +msgid "" +"Fixed the problem that the clip parameter does not take effect during " +"table recognition" +msgstr "" + +#: ../../../changes.txt:953 70a6a8cd8dcc4c90acf6957467999a4f +msgid "Support Pillow mode \"RGBa\"" +msgstr "" + +#: ../../../changes.txt:954 500cf538fcc84a5d88b63e846009e940 +msgid "Support extra word delimiters" +msgstr "" + +#: ../../../changes.txt:955 c5a98d3b81ca4f3b92ee9b55641041eb +msgid "Support checking valid PDF name objects" +msgstr "" + +#: ../../../changes.txt:958 9780d5d181924c1f98f6e987dee32f09 +msgid "**Changes in version 1.23.4 (2023-09-26)**" +msgstr "" + +#: ../../../changes.txt:960 89f0cd5d2bdb4c2a86b8130279eaafbd +msgid "Improved build instructions." +msgstr "" + +#: ../../../changes.txt:961 ba599b28412843c2b4970a1f78cfe599 +msgid "Fixed Tesseract in rebased implementation." +msgstr "" + +#: ../../../changes.txt:962 ad9696206b1147e8a6e75796ad68f204 +msgid "Improvements to build/install with system MuPDF." +msgstr "" + +#: ../../../changes.txt:964 0b8845dfb30c4a3ebf1bab255c2231f3 +msgid "Fixed rebased bug in _insert_image()." +msgstr "" + +#: ../../../changes.txt:968 0c9e490c29db4714af654a120396b8e6 +msgid "" +"**Fixed** `2556 `_: " +"Segmentation fault at calling get_cdrawings(extended=True)" +msgstr "" + +#: ../../../changes.txt:970 b47698c2a99a4d67be8d09ea95ac3f34 +msgid "" +"**Fixed** `2683 `_: " +"Windows sdist build failure - non-quoting of path and using UNIX which " +"command" +msgstr "" + +#: ../../../changes.txt:971 2e8eaa9c953340e3b7f9cab5aa9c144a +msgid "" +"**Fixed** `2691 `_: " +"Page.get_textpage_ocr() bug in rebased fitz_new version" +msgstr "" + +#: ../../../changes.txt:972 01bf199cda4f40eb80f58292500d052e +msgid "" +"**Fixed** `2692 `_: " +"Page.get_pixmap(clip=Rect()) bug in rebased fitz_new version" +msgstr "" + +#: ../../../changes.txt:975 e635ca7f3a7144c7b155a0d53f366bc4 +msgid "**Changes in version 1.23.3 (2023-08-31)**" +msgstr "" + +#: ../../../changes.txt:977 b622f722651945db8c9065920951a027 +msgid "Fixed use of Tesseract for OCR." +msgstr "" + +#: ../../../changes.txt:980 0b6d628f664246e1af3613f80ef88e31 +msgid "**Changes in version 1.23.2 (2023-08-28)**" +msgstr "" + +#: ../../../changes.txt:982 5b021aef8d8846649ea00de593b61159 +msgid "" +"**Fixed** `#2613 `_: " +"release 1.23.0 not MacOS-arm64 compatible" +msgstr "" + +#: ../../../changes.txt:985 18a26e38b78544d8bed38a8639d031b2 +msgid "**Changes in version 1.23.1 (2023-08-24)**" +msgstr "" + +#: ../../../changes.txt:987 e62a756953074ab996467e70681646a5 +msgid "Updated README and package summary description." +msgstr "" + +#: ../../../changes.txt:990 a21901dee64f4a1899288f13aaebfd95 +msgid "" +"Fixed a problem on some Linux installations with Python-3.10 (and " +"possibly earlier versions) where `import fitz` failed with `ImportError: " +"libcrypt.so.2: cannot open shared object file: No such file or " +"directory`." +msgstr "" + +#: ../../../changes.txt:996 57b658dc047548bbbf4b37367da3eb2a +msgid "Fixed `incompatible architecture` error on MacOS arm64." +msgstr "" + +#: ../../../changes.txt:999 d42dcb0953b54804aee03e472206b6ee +msgid "" +"Fixed installation warning from Poetry about missing entry in wheels' " +"RECORD files." +msgstr "" + +#: ../../../changes.txt:1003 d3a8e8bb4f464faf90ac4e4f2d3d4257 +msgid "**Changes in version 1.23.0 (2023-08-22)**" +msgstr "" + +#: ../../../changes.txt:1005 73d894b0d405493fa197c028fc016e16 +msgid "Add method `find_tables()` to the `Page` object." +msgstr "" + +#: ../../../changes.txt:1007 0381413ce0b8400e912c1027cc2af4d5 +msgid "" +"This allows locating tables on any supported document page, and " +"extracting table content by cell." +msgstr "" + +#: ../../../changes.txt:1010 7e8f7d58a9bc4339b09e0b5f9ac4ee2d +msgid "New \"rebased\" implementation of PyMuPDF." +msgstr "" + +#: ../../../changes.txt:1012 9fc6a3029b014900b58e9338c2babb18 +msgid "" +"The rebased implementation is available as Python module `fitz_new`. It " +"can be used as a drop-in replacement with `import fitz_new as fitz`." +msgstr "" + +#: ../../../changes.txt:1017 738d34d7aebd43ff89c69b82aa7d46e8 +msgid "" +"Python-independent MuPDF libraries are now in a second wheel called " +"`PyMuPDFb` that will be automatically installed by pip." +msgstr "" + +#: ../../../changes.txt:1020 bca75d93dfe54dd0b930fe20a80af757 +msgid "" +"This is to save space on pypi.org - a full release only needs one " +"`PyMuPDFb` wheel for each OS." +msgstr "" + +#: ../../../changes.txt:1025 5ea8868d14804747b7a032703ca8e9b5 +msgid "" +"**Fixed** `#2542 `_: " +"fitz.utils.scrub AttributeError Annot object has no attribute fileUpd " +"inside" +msgstr "" + +#: ../../../changes.txt:1026 d834522e9a47458f8df14e8f629b6a80 +msgid "" +"**Fixed** `#2533 `_: " +"get_texttrace returned a incorrect character bbox" +msgstr "" + +#: ../../../changes.txt:1027 fa9e61cc88804262a37529823e6ae230 +msgid "" +"**Fixed** `#2537 `_: " +"Validation when setting a grouped RadioButton throws a RuntimeError: path" +" to 'V' has indirects" +msgstr "" + +#: ../../../changes.txt:1029 ../../../changes.txt:1829 +#: ../../../changes.txt:1993 8bbac0324fdd4e349f9a5fa96e73089b +#: eaf8cd2128cd4c5c877473f9bd315793 ec5d869f0874493ea625e47c43bf59f8 +msgid "Other changes:" +msgstr "" + +#: ../../../changes.txt:1031 038268fa0e3d4530b127e02b008b0de5 +msgid "Dropped support for Python-3.7." +msgstr "" + +#: ../../../changes.txt:1033 2f238ba63e474abd882d994c5d8a6c7d +msgid "Fix for wrong page / annot `/Contents` cleaning." +msgstr "" + +#: ../../../changes.txt:1035 8de4c1abb94c4af0ae76a8bc208f2498 +msgid "We need to set `pdf_filter_options::no_update` to zero." +msgstr "" + +#: ../../../changes.txt:1037 3be90380c41041df9c0e8a4b1514f49a +msgid "Added new function get_tessdata()." +msgstr "" + +#: ../../../changes.txt:1039 e2dd7eb60faf45958693b36439454d65 +msgid "Cope with problem `/Annot` arrays." +msgstr "" + +#: ../../../changes.txt:1041 f3a9365058d14581b262aefd3dc3f5cd +msgid "" +"When copying page annotations in method Document.insert_pdf we previously" +" did not check the validity of members of the `/Annots` array. For " +"faulty members (like null or non-dictionary items) this could cause " +"unnecessary exceptions. This fix implements more checks and skips such " +"array items." +msgstr "" + +#: ../../../changes.txt:1047 15b514dde25a435db2d8761712b2b511 +msgid "Additional annotation type checks." +msgstr "" + +#: ../../../changes.txt:1049 3d28a76d5772428ca847e78115435df5 +msgid "" +"We did not previously check for annotation type when getting / setting " +"annotation border properties. This is now checked in accordance with " +"MuPDF." +msgstr "" + +#: ../../../changes.txt:1053 1db4c46ee27f4603907a8be59ce434bd +msgid "Increase fault tolerance." +msgstr "" + +#: ../../../changes.txt:1055 cfeadbde1d1a4bd28e4394f298039395 +msgid "" +"Avoid exceptions in method `insert_pdf()` when source pages contains " +"invalid items in the `/Annots` array." +msgstr "" + +#: ../../../changes.txt:1058 e95424ad171f4befacebac209026dccf +msgid "Return empty border dict for applicable annots." +msgstr "" + +#: ../../../changes.txt:1060 d32e47da50ad4e1bbec4315e5deb475a +msgid "" +"We previously were returning a non-empty border dictionary even for non-" +"applicable annotation types. We now return the empty dictionary `{}` in " +"these cases. This requires some corresponding changes in the annotation " +"`.update()` method, namely for dashes and border width." +msgstr "" + +#: ../../../changes.txt:1065 a743fc735f8e4751aa4c9fb35972a0e6 +msgid "Restrict `set_rect` to applicable annot types." +msgstr "" + +#: ../../../changes.txt:1067 33dd0a503f44425489708bfc1eba3781 +msgid "" +"We were insufficiently excluding non-applicable annotation types from " +"`set_rect()` method. We now let MuPDF catch unsupported annotations and " +"return `False` in these cases." +msgstr "" + +#: ../../../changes.txt:1071 3c981f3c14264a87a5e5864716eb590f +msgid "Wrong fontsize computation in `page.get_texttrace()`." +msgstr "" + +#: ../../../changes.txt:1073 d2bca3e2d5044d88b32f20c0e92bf049 +msgid "" +"When computing the font size we were using the final text transformation " +"matrix, where we should have taken `span->trm` instead. This is " +"corrected here." +msgstr "" + +#: ../../../changes.txt:1077 4e4387c698a9431c875e14e61bfe5993 +msgid "Updates to cope with changes to latest MuPDF." +msgstr "" + +#: ../../../changes.txt:1079 68949888709c441996bba638e370acdd +msgid "`pdf_lookup_anchor()` has been removed." +msgstr "" + +#: ../../../changes.txt:1081 8e5efc45233c429083dbb2e7710b8e46 +msgid "Update fill_textbox to better respect rect.width" +msgstr "" + +#: ../../../changes.txt:1083 193ee81062494935a4b6e5f7a2d5d470 +msgid "" +"The function norm_words in fill_textbox had a bug in its last loop, " +"appending n+1 characters when actually measuring width of n characters. " +"It led to a bug in fill_texbox when you tried to write a single word " +"mostly composed of \"wide\" letters (M,m, W, w...), causing the written " +"text to exceed the given rect." +msgstr "" + +#: ../../../changes.txt:1089 6719947ef5ad4b44b30317c8cd0d27f0 +msgid "The fix was just to replace n+1 by n." +msgstr "" + +#: ../../../changes.txt:1091 a7647cf90c074ee7bf1e22c92b11aad2 +msgid "Add `script_focus` and `script_blur` options to widget." +msgstr "" + +#: ../../../changes.txt:1095 e7f3a5c65c2a4b4095652b5ee87ecf26 +msgid "**Changes in version 1.22.5 (2023-06-21)**" +msgstr "" + +#: ../../../changes.txt:1097 e0f897c4559d4185828a667deab0b5e1 +msgid "This release uses ``MuPDF-1.22.2``." +msgstr "" + +#: ../../../changes.txt:1101 d01a2996634d4afd910a1b19f88fe54d +msgid "" +"**Fixed** `#2365 `_: " +"Incorrect dictionary values for type \"fs\" drawings." +msgstr "" + +#: ../../../changes.txt:1102 37372904c5fc4a288d1bcfae3658be44 +msgid "" +"**Fixed** `#2391 `_: " +"Check box automatically uncheck when we update same checkbox more than 1 " +"times." +msgstr "" + +#: ../../../changes.txt:1103 da93bf73beab4c7394a870d6ef00aa74 +msgid "" +"**Fixed** `#2400 `_: Gaps" +" within text of same line not filled with spaces." +msgstr "" + +#: ../../../changes.txt:1104 c7bbdcecf83d4af18820e8854d6ed2f7 +msgid "" +"**Fixed** `#2404 `_: " +"Blacklining an image in PDF won't remove underlying content in version " +"1.22.X." +msgstr "" + +#: ../../../changes.txt:1105 5dab0dae25104c5fac71c4bea81bd2ab +msgid "" +"**Fixed** `#2430 `_: " +"Incorrectly reducing ref count of Py_None." +msgstr "" + +#: ../../../changes.txt:1106 28dd826ad25d4fe989f269746f3f3beb +msgid "" +"**Fixed** `#2450 `_: " +"Empty fill color and fill opacity for paths with fill and stroke " +"operations with 1.22.*" +msgstr "" + +#: ../../../changes.txt:1107 6eeb2a8ef825424fad2bdbac330da13d +msgid "" +"**Fixed** `#2462 `_: " +"Error at \"get_drawing(extended=True )\"" +msgstr "" + +#: ../../../changes.txt:1108 d83cacb33bfb43289ba1cac19694532b +msgid "" +"**Fixed** `#2468 `_: " +"Decode error when trying to get drawings" +msgstr "" + +#: ../../../changes.txt:1109 6816013f54d4446bb7b60530a6e49ad6 +msgid "" +"**Fixed** `#2710 `_: " +"page.rect and text location wrong / differing from older version" +msgstr "" + +#: ../../../changes.txt:1110 2a55b8aad74742ba905c8261e774e40e +msgid "" +"**Fixed** `#2723 `_: When" +" will a Python 3.12 wheel be available?" +msgstr "" + +#: ../../../changes.txt:1112 89917a32f35f46348baa0a3c330b174e +msgid "New features:" +msgstr "" + +#: ../../../changes.txt:1114 84e05da539e34fb1b20339210c836492 +msgid "" +"**Changed** Annotations now support \"cloudy\" borders. The " +":attr:`Annot.border` property has the new item `clouds`, and method " +":meth:`Annot.set_border` supports the corresponding `clouds` argument." +msgstr "" + +#: ../../../changes.txt:1118 bce76d38c410446ba81647f0896ef355 +msgid "" +"**Changed** Radio button widgets in the same RB group are now " +"consistently updated **if the group is defined in the standard way**." +msgstr "" + +#: ../../../changes.txt:1121 f53cb26ab76e43dfbbd2f4c2efc5a821 +msgid "" +"**Added** Support for the `/Locked` key in PDF Optional Content. This " +"array inside the catalog entry `/OCProperties` can now be extracted and " +"set." +msgstr "" + +#: ../../../changes.txt:1124 def96ff824944143acfaffad2e689880 +msgid "" +"**Added** Support for new parameter `tessdata` in OCR functions. New " +"function :meth:`get_tessdata` locates the language support folder if " +"Tesseract is installed." +msgstr "" + +#: ../../../changes.txt:1129 ab43957ddc794c8a9b04c475426c4984 +msgid "**Changes in version 1.22.3 (2023-05-10)**" +msgstr "" + +#: ../../../changes.txt:1131 ../../../changes.txt:1140 +#: ../../../changes.txt:1149 ../../../changes.txt:1161 +#: 03ca33346d3944328c25a5c144420613 07f4c427f5f544f5bd7d767983484060 +#: 0fb05318e4944beeb5124143ee76589f d7e781b29559409897126ce3786cd3e7 +msgid "This release uses ``MuPDF-1.22.0``." +msgstr "" + +#: ../../../changes.txt:1135 91c90d81ef504a9d8aeaffb101145d25 +msgid "" +"**Fixed** `#2333 `_: " +"Unable to set any of button radio group in form" +msgstr "" + +#: ../../../changes.txt:1138 016b5d8017ec4b46aa0db0ca2575d91b +msgid "**Changes in version 1.22.2 (2023-04-26)**" +msgstr "" + +#: ../../../changes.txt:1144 2a883f3384d24cb4b50c413be7b7248d +msgid "" +"**Fixed** `#2369 `_: " +"Image extraction bugs with newer versions" +msgstr "" + +#: ../../../changes.txt:1147 558df7978ec349b98ce43b9afb00b02e +msgid "**Changes in version 1.22.1 (2023-04-18)**" +msgstr "" + +#: ../../../changes.txt:1153 2f26d737893143a0b598c60bbf17e7c1 +msgid "" +"**Fixed** `#2345 `_: Turn" +" off print statements in utils.py" +msgstr "" + +#: ../../../changes.txt:1154 88393d4c4b1c4de88301c4a0c889142a +msgid "" +"**Fixed** `#2348 `_: " +"extract_image returns an extension \"flate\" instead of \"png\"" +msgstr "" + +#: ../../../changes.txt:1155 a669f7b9c4be4a208b4f533e8f283873 +msgid "" +"**Fixed** `#2350 `_: Can " +"not make widget (checkbox) to read-only by adding flags " +"PDF_FIELD_IS_READ_ONLY" +msgstr "" + +#: ../../../changes.txt:1156 2b3bdc6748004a1aa84e2d6b31562785 +msgid "" +"**Fixed** `#2355 `_: " +"1.22.0 error when using get_toc (AttributeError: 'SwigPyObject' object " +"has no attribute)" +msgstr "" + +#: ../../../changes.txt:1159 350bcb28a30944fdacb28843123738f2 +msgid "**Changes in version 1.22.0 (2023-04-14)**" +msgstr "" + +#: ../../../changes.txt:1163 44f570ec1df54e41a946bffb631b53c9 +msgid "Behavioural changes:" +msgstr "" + +#: ../../../changes.txt:1165 3826a16556c6458d8e1e603e51ffd973 +msgid "" +"Text extraction now includes glyphs that overlap with clip rect; " +"previously they were included only if they were entirely contained within" +" the clip rect." +msgstr "" + +#: ../../../changes.txt:1171 3c30c3109974444198cf37e90e8ecabb +msgid "" +"**Fixed** `#1763 `_: " +"Interactive(smartform) form PDF calculation not working in pymupdf" +msgstr "" + +#: ../../../changes.txt:1172 af42fd504f0640239d81c483794b7e87 +msgid "" +"**Fixed** `#1995 `_: " +"RuntimeError: image is too high for a long paged pdf file when trying" +msgstr "" + +#: ../../../changes.txt:1173 c1d1a1930cec45f3aeb64999517485da +msgid "" +"**Fixed** `#2093 `_: " +"Image in pdf changes color after applying redactions" +msgstr "" + +#: ../../../changes.txt:1174 44f1654607db4a3a8bea70e0742f243f +msgid "" +"**Fixed** `#2108 `_: " +"Redaction removing more text than expected" +msgstr "" + +#: ../../../changes.txt:1175 13a17730caa849b68c2ae08ecb2ca4d8 +msgid "" +"**Fixed** `#2141 `_: " +"Failed to read JPX header when trying to get blocks" +msgstr "" + +#: ../../../changes.txt:1176 59f63490e3084544a37ad382c51db86f +msgid "" +"**Fixed** `#2144 `_: " +"Replace image throws an error" +msgstr "" + +#: ../../../changes.txt:1177 126c1e66cfb94388a6f083d43390e614 +msgid "" +"**Fixed** `#2146 `_: " +"Wrong Handling of Reference Count of \"None\" Object" +msgstr "" + +#: ../../../changes.txt:1178 c2df8c498e4c4870b10129059c78dc55 +msgid "" +"**Fixed** `#2161 `_: " +"Support adding images as pages directly" +msgstr "" + +#: ../../../changes.txt:1179 fa791f2adef34202b8f713657d47816f +msgid "" +"**Fixed** `#2168 `_: " +"``page.add_highlight_annot(start=pointa, stop=pointb)`` not working" +msgstr "" + +#: ../../../changes.txt:1180 e34fc762c8864c6db478c2a49d9e26ef +msgid "" +"**Fixed** `#2173 `_: " +"Double free of ``Colorspace`` used in ``Pixmap``" +msgstr "" + +#: ../../../changes.txt:1181 18b7a0bf38a14b94a56b1ba2feea09b9 +msgid "" +"**Fixed** `#2179 `_: " +"Incorrect documentation for ``pixmap.tint_with()``" +msgstr "" + +#: ../../../changes.txt:1182 30fdc624e4da4b0da0d438177b35bb4d +msgid "" +"**Fixed** `#2208 `_: " +"Pushbutton widget appears as check box" +msgstr "" + +#: ../../../changes.txt:1183 4d209898906843229670a95f12041360 +msgid "" +"**Fixed** `#2210 `_: " +"``apply_redactions()`` move pdf text to right after redaction" +msgstr "" + +#: ../../../changes.txt:1184 e6423ce2ee3e42cd842814a3ea98cae3 +msgid "" +"**Fixed** `#2220 `_: " +"``Page.delete_image()`` | object has no attribute ``is_image``" +msgstr "" + +#: ../../../changes.txt:1185 c6210c2a77804a929b68c35607fa6823 +msgid "" +"**Fixed** `#2228 `_: open" +" some pdf cost too much time" +msgstr "" + +#: ../../../changes.txt:1186 b599a24386c74a8c913ae912d614557a +msgid "" +"**Fixed** `#2238 `_: Bug " +"- can not extract data from file in the newest version 1.21.1" +msgstr "" + +#: ../../../changes.txt:1187 b350fda19a5149f5848f62509b82c19a +msgid "" +"**Fixed** `#2242 `_: " +"Python quits silently in ``Story.element_positions()`` if callback " +"function prototype is wrong" +msgstr "" + +#: ../../../changes.txt:1188 e6dc566181194da487883bc82530e4c5 +msgid "" +"**Fixed** `#2246 `_: " +"TextWriter write text in a wrong position" +msgstr "" + +#: ../../../changes.txt:1189 3a1d2b5a77714081819e4147e4876ed9 +msgid "" +"**Fixed** `#2248 `_: " +"After redacting the content, the position of the remaining text changes" +msgstr "" + +#: ../../../changes.txt:1190 be48ed21d0f44f6dba17fab6201c8b78 +msgid "" +"**Fixed** `#2250 `_: " +"docs: unclear or broken link in page.rst" +msgstr "" + +#: ../../../changes.txt:1191 1f64252d8b684958a8360570bc1b540a +msgid "" +"**Fixed** `#2251 `_: " +"mupdf_display_errors does not apply to Pixmap when loading broken image" +msgstr "" + +#: ../../../changes.txt:1192 e8ac54952809456694e4b366c0992b6d +msgid "" +"**Fixed** `#2270 `_: " +"``Annot.get_text(\"words\")`` - doesn't return the first line of words" +msgstr "" + +#: ../../../changes.txt:1193 982ad8c99b6f4f739e357ee11cd3b514 +msgid "" +"**Fixed** `#2275 `_: " +"insert_image: document that rotations are counterclockwise" +msgstr "" + +#: ../../../changes.txt:1194 eb8b181a15924a07abee72fea8a50ce9 +msgid "" +"**Fixed** `#2278 `_: Can " +"not make widget (checkbox) to read-only by adding flags " +"PDF_FIELD_IS_READ_ONLY" +msgstr "" + +#: ../../../changes.txt:1195 2dd5e761dcb94cde9a62d9e95e521f8a +msgid "" +"**Fixed** `#2290 `_: " +"Different image format/data from Page.get_text(\"dict\") and " +"Fitz.get_page_images()" +msgstr "" + +#: ../../../changes.txt:1196 b626d2a058c1457bb8fc7b175049d787 +msgid "" +"**Fixed** `#2293 `_: 68 " +"failed tests when installing from sdist on my box" +msgstr "" + +#: ../../../changes.txt:1197 c7c26b4cf78644b98a99810e21c743c5 +msgid "" +"**Fixed** `#2300 `_: Too " +"much recursion in tree (parents), makes program terminate" +msgstr "" + +#: ../../../changes.txt:1198 53cf50d333db4541900b708daa262c2d +msgid "" +"**Fixed** `#2322 `_: " +"add_highlight_annot using clip generates \"A Number is Out of Range\" " +"error in PDF" +msgstr "" + +#: ../../../changes.txt:1202 dc34fa0179bf4c0097c613d4e4d7cd5d +msgid "" +"Add key \"/AS (Yes)\" to the underlying annot object of a selected button" +" form field." +msgstr "" + +#: ../../../changes.txt:1204 851dc87410c04af3811c1fce6e46d473 +msgid "" +"Remove unused ``Document`` methods ``has_xref_streams()`` and " +"``has_old_style_xrefs()`` as MuPDF equivalents have been removed." +msgstr "" + +#: ../../../changes.txt:1207 85d63fb357cc4ae6843661251e81671d +msgid "" +"Add new ``Document`` methods and properties for getting/setting " +"``/PageMode``, ``/PageLayout`` and ``/MarkInfo``." +msgstr "" + +#: ../../../changes.txt:1210 4692f2e3d07246f4b715a11b16c41826 +msgid "" +"New ``Document`` property ``version_count``, which contains the number of" +" incremental saves plus one." +msgstr "" + +#: ../../../changes.txt:1213 35dcac5f24064e0aa4e37ed607d7ee66 +msgid "" +"New ``Document`` property ``is_fast_webaccess`` which tells whether the " +"document is linearized." +msgstr "" + +#: ../../../changes.txt:1216 123a5e07f4e14c818cdcd4df6eb3afee +msgid "``DocumentWriter`` is now a context manager." +msgstr "" + +#: ../../../changes.txt:1218 78db04ba2a9c48b7ad95cf5a7935dbd9 +msgid "Add support for ``Pixmap`` JPEG output." +msgstr "" + +#: ../../../changes.txt:1220 75aea400570e4b6e9fec59457f4f883e +msgid "Add support for drawing rectangles with rounded corners." +msgstr "" + +#: ../../../changes.txt:1222 8f7ef5836f6341ec93a07f437355992f +msgid "``get_drawings()``: added optional ``extended`` arg." +msgstr "" + +#: ../../../changes.txt:1224 e60534dd491e4153a778b53b862c3666 +msgid "" +"Fixed issue where trace devices' state was not being initialised " +"correctly; data returned from things like ``fitz.Page.get_texttrace()`` " +"might be slightly altered, e.g. ``linewidth`` values." +msgstr "" + +#: ../../../changes.txt:1228 5ce1cdb70dd7438d9abe42cb5886dddc +msgid "" +"Output warning to ``stderr`` if it looks like we are being used with " +"current directory containing an invalid ``fitz/`` directory, because this" +" can break import of ``fitz`` module. For example this happens if one " +"attempts to use ``fitz`` when current directory is a PyMuPDF checkout." +msgstr "" + +#: ../../../changes.txt:1234 ../../../changes.txt:1289 +#: 349693fd237b4cbc8a22aa6cf3da10f1 8656870c12324ba69e9770b2a5f4fad6 +msgid "Documentation:" +msgstr "" + +#: ../../../changes.txt:1236 d223e4e942aa4b40ae6748f3f806de5d +msgid "General rework:" +msgstr "" + +#: ../../../changes.txt:1238 f085940fb9eb4248aa37862aa5ee511f +msgid "Introduces a new home page and new table of contents." +msgstr "" + +#: ../../../changes.txt:1239 7d45f07d7c9f45d085714f462f775464 +msgid "Structural update to include new About section." +msgstr "" + +#: ../../../changes.txt:1240 fbd4e460a3094b4e9f3cbe8bdb120960 +msgid "Comparison & performance graphing." +msgstr "" + +#: ../../../changes.txt:1241 42f77bb0503d48488766f5fdb4d19c15 +msgid "Includes performance methodology in appendix." +msgstr "" + +#: ../../../changes.txt:1242 3bc9a3e24e0249a7a103014e58b0cfe0 +msgid "Updates conf.py to understand single back-ticks as code." +msgstr "" + +#: ../../../changes.txt:1243 a3e9a116b3fb453fa81fe3081ca9ac28 +msgid "Converts double back-ticks to single back-ticks." +msgstr "" + +#: ../../../changes.txt:1244 dc12d40a4c6148f6b2c2740f969fe028 +msgid "Removes redundant files." +msgstr "" + +#: ../../../changes.txt:1246 4b1314b91c0c4a57afc180019e7fcf7f +msgid "Improve ``insert_file()`` documentation." +msgstr "" + +#: ../../../changes.txt:1248 d4504863060147358071d6130ed1d42c +msgid "``get_bboxlog()``: added optional ``layers`` to ``get_bboxlog()``." +msgstr "" + +#: ../../../changes.txt:1249 c11f7f0d2dab4b70968cca0abf587247 +msgid "" +"``Page.get_texttrace()``: add new dictionary key ``layer``, name of " +"Optional Content Group." +msgstr "" + +#: ../../../changes.txt:1251 202373f80f8d415a95fc9f1ab5c7f3c6 +msgid "Mention use of Python venv in installation documentation." +msgstr "" + +#: ../../../changes.txt:1253 b7d408d9e1624b44b165a77a64070262 +msgid "Added missing fix for #2057 to release 1.21.1's changelog." +msgstr "" + +#: ../../../changes.txt:1255 e6cde05edeef4042a0657f838649a63c +msgid "Fixes many links to the PyMuPDF-Utilities repo scripts." +msgstr "" + +#: ../../../changes.txt:1257 038857900256474c9fded24cb273f8b5 +msgid "Avoid duplication of ``changes.txt`` and ``docs/changes.rst``." +msgstr "" + +#: ../../../changes.txt:1259 e343ebb10ae64a2baebc475af2998387 +msgid "Build" +msgstr "" + +#: ../../../changes.txt:1261 70564fcedaa2459bbccc68bc3d893e47 +msgid "Added ``pyproject.toml`` file to improve builds using pip etc." +msgstr "" + +#: ../../../changes.txt:1265 b1ea3fa1f44849439039e1a63d88a6e4 +msgid "**Changes in Version 1.21.1 (2022-12-13)**" +msgstr "" + +#: ../../../changes.txt:1267 92d79ae3bac04eae98a0a5093fe8273d +msgid "This release uses ``MuPDF-1.21.1``." +msgstr "" + +#: ../../../changes.txt:1271 3276e784b07a47648e6c6390b6cd3266 +msgid "" +"**Fixed** `#2110 `_: " +"Fully embedded font is extracted only partially if it occupies more than " +"one object" +msgstr "" + +#: ../../../changes.txt:1272 950a39d02c9a4c8b8fa42d3ac1ac9e37 +msgid "" +"**Fixed** `#2094 `_: " +"Rectangle Detection Logic" +msgstr "" + +#: ../../../changes.txt:1273 2f5a46c0803d4b5a9cbbacd71100b204 +msgid "" +"**Fixed** `#2088 `_: " +"Destination point not set for named links in toc" +msgstr "" + +#: ../../../changes.txt:1274 97e2df4608364a7782f5c3a2e5b51f8d +msgid "" +"**Fixed** `#2087 `_: " +"Image with Filter \"[/FlateDecode/JPXDecode]\" not extracted" +msgstr "" + +#: ../../../changes.txt:1275 2168171e471542ada426f030b803e71d +msgid "" +"**Fixed** `#2086 `_: " +"Document.save() owner_pw & user_pw has buffer overflow bug" +msgstr "" + +#: ../../../changes.txt:1276 a23066f8e8654302b8b78db3816529c8 +msgid "" +"**Fixed** `#2076 `_: " +"Segfault in fitz.py" +msgstr "" + +#: ../../../changes.txt:1277 13898161176b4a65990185478cb80a77 +msgid "" +"**Fixed** `#2057 `_: " +"Document.save garbage parameter not working in PyMuPDF 1.21.0" +msgstr "" + +#: ../../../changes.txt:1278 9d7d27f10c4946fd8036c536b9c192e1 +msgid "" +"**Fixed** `#2051 `_: " +"Missing DPI Parameter" +msgstr "" + +#: ../../../changes.txt:1279 f53e894aea1048b0b6ea80c4ea26c7c5 +msgid "" +"**Fixed** `#2048 `_: " +"Invalid size of TextPage and bbox with newest version 1.21.0" +msgstr "" + +#: ../../../changes.txt:1280 f969ab18933245a593f97d97ee9ecbf6 +msgid "" +"**Fixed** `#2045 `_: " +"SystemError: returned a result " +"with an error set" +msgstr "" + +#: ../../../changes.txt:1281 1f16bd21e2a8445d9592684ec7ecca51 +msgid "" +"**Fixed** `#2039 `_: " +"1.21.0 fails to build against system libmupdf" +msgstr "" + +#: ../../../changes.txt:1282 3c45097d33ee470a9481317257d311f7 +msgid "" +"**Fixed** `#2036 `_: " +"Archive::Archive defined twice" +msgstr "" + +#: ../../../changes.txt:1284 6533ecdf4d754fe7a4443b4a1b02bb72 +msgid "Other" +msgstr "" + +#: ../../../changes.txt:1286 9b576f8a8de143e3b3b9de9b6368ca18 +msgid "Swallow \"&zoom=nan\" in link uri strings." +msgstr "" + +#: ../../../changes.txt:1287 f70b7dad981d4d249124939b4f1aaaee +msgid "" +"Add new Page utility methods ``Page.replace_image()`` and " +"``Page.delete_image()``." +msgstr "" + +#: ../../../changes.txt:1291 4f89ab38e60b43ea987d07e27961bb7d +msgid "" +"`#2040 `_: Added note " +"about test failure with non-default build of MuPDF, to " +"``tests/README.md``." +msgstr "" + +#: ../../../changes.txt:1292 558ff70ae6224480af3e735540cac2e3 +msgid "" +"`#2037 `_: In " +"``docs/installation.rst``, mention incompatibility with chocolatey.org on" +" Windows." +msgstr "" + +#: ../../../changes.txt:1293 397d721cec884107af23df22baffdcb0 +msgid "" +"`#2061 `_: Fixed " +"description of ``Annot.file_info``." +msgstr "" + +#: ../../../changes.txt:1294 c6511b374b8b434caf2413b84c80813d +msgid "" +"`#2065 `_: Show how to " +"insert internal PDF link." +msgstr "" + +#: ../../../changes.txt:1295 6a5f0c4f501b4afd92cfe917137a0758 +msgid "Improved description of building from source without an sdist." +msgstr "" + +#: ../../../changes.txt:1296 67690117d7be41879e6fa66746eefeb1 +msgid "Added information about running tests." +msgstr "" + +#: ../../../changes.txt:1297 49b3f25fb63147c3b4c90a255b9ef648 +msgid "" +"`#2084 `_: Fixed broken " +"link to PyMuPDF-Utilities." +msgstr "" + +#: ../../../changes.txt:1300 575f368bd94e401b9952c6d42b41700d +msgid "**Changes in Version 1.21.0 (2022-11-8)**" +msgstr "" + +#: ../../../changes.txt:1302 673df835349745e7865e5b7f56344a60 +msgid "This release uses ``MuPDF-1.21.0``." +msgstr "" + +#: ../../../changes.txt:1304 17bf58b166d24d168b6139c6e77d3a91 +msgid "New feature: Stories." +msgstr "" + +#: ../../../changes.txt:1306 a17fc35b1e5e48ab82510fb0a263af42 +msgid "Added wheels for Python-3.11." +msgstr "" + +#: ../../../changes.txt:1310 15df913e178e4f6781add4fa251aec7f +msgid "" +"**Fixed** `#1701 `_: " +"Broken custom image insertion." +msgstr "" + +#: ../../../changes.txt:1311 2e7ca2e90f944214af8d8a773028ae37 +msgid "" +"**Fixed** `#1854 `_: " +"`Document.delete_pages()` declines keyword arguments." +msgstr "" + +#: ../../../changes.txt:1312 346bb412bfad447b83a0e599f7336a01 +msgid "" +"**Fixed** `#1868 `_: " +"Access Violation Error at `page.apply_redactions()`." +msgstr "" + +#: ../../../changes.txt:1313 9284226d16f4445cb9f22941a7e04dab +msgid "" +"**Fixed** `#1909 `_: " +"Adding text with `fontname=\"Helvetica\"` can silently fail." +msgstr "" + +#: ../../../changes.txt:1314 c11ff004104f4de1b6e767abc09ba8c4 +msgid "" +"**Fixed** `#1913 `_: " +"`draw_rect()`: does not respect width if color is not specified." +msgstr "" + +#: ../../../changes.txt:1315 0f7b31ba423c48a185bae37f8c31c421 +msgid "" +"**Fixed** `#1917 `_: " +"`subset_fonts()`: make it possible to silence the stdout." +msgstr "" + +#: ../../../changes.txt:1316 a785e9b369404f42b2a872e50d17133b +msgid "" +"**Fixed** `#1936 `_: " +"Rectangle detection can be incorrect producing wrong output." +msgstr "" + +#: ../../../changes.txt:1317 08fa2dec869748e4aa0d6b44cb796106 +msgid "" +"**Fixed** `#1945 `_: " +"Segmentation fault when saving with `clean=True`." +msgstr "" + +#: ../../../changes.txt:1318 3f1f9499ba9540f090c963df0a8cf1c2 +msgid "" +"**Fixed** `#1965 `_: " +"`pdfocr_save()` Hard Crash." +msgstr "" + +#: ../../../changes.txt:1319 e675868f950a47b89b02bdec849ddfaf +msgid "" +"**Fixed** `#1971 `_: " +"Segmentation fault when using `get_drawings()`." +msgstr "" + +#: ../../../changes.txt:1320 9af37195cb0a40ef94d54604e449326c +msgid "" +"**Fixed** `#1946 `_: " +"`block_no` and `block_type` switched in `get_text()` docs." +msgstr "" + +#: ../../../changes.txt:1321 cad632bb6e5347fdb160df1d5e205e7f +msgid "" +"**Fixed** `#2013 `_: " +"AttributeError: 'Widget' object has no attribute '_annot' in delete " +"widget." +msgstr "" + +#: ../../../changes.txt:1323 c6abbf7c5af64afe8a6d1294f4458a5b +msgid "Misc changes to core code:" +msgstr "" + +#: ../../../changes.txt:1325 bcadf404caaf42199adda95adecf0183 +msgid "Fixed various compiler warnings and a sequence-point bug." +msgstr "" + +#: ../../../changes.txt:1326 1e7ac8c3fc184879954a671e241386ce +msgid "Added support for Memento builds." +msgstr "" + +#: ../../../changes.txt:1327 2d4b0ca48cff409ab625548ad136c9dd +msgid "Fixed leaks detected by Memento in test suite." +msgstr "" + +#: ../../../changes.txt:1328 eb361878f2a34aba8443b994d71d171a +msgid "Fixed handling of exceptions in set_name() and set_rect()." +msgstr "" + +#: ../../../changes.txt:1329 a57b2a7cb8ee4135a049aa057aa122ab +msgid "Allow build with latest MuPDF, for regular testing of PyMuPDF master." +msgstr "" + +#: ../../../changes.txt:1330 94ed6dc32d87489980b579f7731e909a +msgid "Cope with new MuPDF exceptions when setting rect for some Annot types." +msgstr "" + +#: ../../../changes.txt:1331 0ddc8291d7994c71af6956edb68bd61f +msgid "" +"Reduced cosmetic differences between MuPDF's config.h and PyMuPDF's " +"_config.h." +msgstr "" + +#: ../../../changes.txt:1332 ca97b466331943fbaf5357ca77d105ff +msgid "Cope with various changes to MuPDF API." +msgstr "" + +#: ../../../changes.txt:1336 ebefa94d051a413c87fa9a3656dcceda +msgid "Fixed various broken links and typos in docs." +msgstr "" + +#: ../../../changes.txt:1337 425cc8bc1fcf4fdaac66e442ee2e5513 +msgid "Mention install of `swig-python` on MacOS for #875." +msgstr "" + +#: ../../../changes.txt:1338 7073906d3d64408c836b7d3de96519aa +msgid "Added (untested) wheels for macos-arm64." +msgstr "" + +#: ../../../changes.txt:1343 30436208e7954516bb195ab1ea1ed488 +msgid "**Changes in Version 1.20.2**" +msgstr "" + +#: ../../../changes.txt:1345 ccf93339cf7245b2820d527e6e093f20 +msgid "This release uses ``MuPDF-1.20.3``." +msgstr "" + +#: ../../../changes.txt:1347 e392d8912dbc4a8596ade19a8161d639 +msgid "" +"**Fixed** `#1787 `_. Fix " +"linking issues on Unix systems." +msgstr "" + +#: ../../../changes.txt:1350 4d180eaf011b4a9fbb8c216aa4a505ec +msgid "" +"**Fixed** `#1824 `_. " +"SegFault when applying redactions overlapping a transparent image. (Fixed" +" in ``MuPDF-1.20.3``.)" +msgstr "" + +#: ../../../changes.txt:1354 6cb696c83bfc47bbb07c549f1a1f0267 +msgid "Improvements to documentation:" +msgstr "" + +#: ../../../changes.txt:1356 0ad4a7a79fe54f24869d872723b404e8 +msgid "" +"Improved information about building from source in " +"``docs/installation.rst``." +msgstr "" + +#: ../../../changes.txt:1357 81117814315f48efbc87955f9a7ef58d +msgid "Clarified memory allocation setting ``JM_MEMORY` in ``docs/tools.rst``." +msgstr "" + +#: ../../../changes.txt:1358 b488d65744d743c4b1333dacf311664c +msgid "Fixed link to PDF Reference manual in ``docs/app3.rst``." +msgstr "" + +#: ../../../changes.txt:1359 472c19e0e68c4c109bde0bb001020dac +msgid "Fixed building of html documentation on OpenBSD." +msgstr "" + +#: ../../../changes.txt:1360 c99ee292bc6c46c686c3cad285701923 +msgid "Moved old ``docs/faq.rst`` into separate ``docs/recipes-*`` files." +msgstr "" + +#: ../../../changes.txt:1362 5fed1f452c8f47549032bcab7853bdde +msgid "Removed some unused files and directories:" +msgstr "" + +#: ../../../changes.txt:1364 7c310414b4384898a324f2841f54decd +msgid "``installation/``" +msgstr "" + +#: ../../../changes.txt:1365 5e5ae4637cb640d19cd1b1a5305c90d8 +msgid "``docs/wheelnames.txt``" +msgstr "" + +#: ../../../changes.txt:1368 f4d58a60a4f946a69ea863d1d7d30c62 +msgid "**Changes in Version 1.20.1**" +msgstr "" + +#: ../../../changes.txt:1370 23e14128203842beadfff33baa6792ae +msgid "" +"**Fixed** `#1724 `_. Fix " +"for building on FreeBSD." +msgstr "" + +#: ../../../changes.txt:1373 ca0919e2a72b45eca23b6ffabb073f2d +msgid "" +"**Fixed** `#1771 `_. " +"`linkDest()` had a broken call to `re.match()`, introduced in 1.20.0." +msgstr "" + +#: ../../../changes.txt:1376 1acfe9e0464545878372d78884eac896 +msgid "" +"**Fixed** `#1751 `_. " +"`get_drawings()` and `get_cdrawings()` previously always returned with " +"`closePath=False`." +msgstr "" + +#: ../../../changes.txt:1379 b1c751d4d6b249f7b1603c75f54e6948 +msgid "" +"**Fixed** `#1645 `_. " +"Default FreeText annotation text color is now black." +msgstr "" + +#: ../../../changes.txt:1382 f7bb3767b4b546a8921290a547e0cf50 +msgid "Improvements to sphinx-generated documentation:" +msgstr "" + +#: ../../../changes.txt:1384 a5a5cb7bebe241279daf65c0700e6d10 +msgid "Use readthedocs theme with enhancements." +msgstr "" + +#: ../../../changes.txt:1385 d06c9bab26ef40449327e0f849c88152 +msgid "Renamed the `.txt` files to have `.rst` suffixes." +msgstr "" + +#: ../../../changes.txt:1389 7af006a5c3a84b03914bc4dcb23055ef +msgid "**Changes in Version 1.20.0**" +msgstr "" + +#: ../../../changes.txt:1391 c5bccf72f35e4edf807800d879e696ff +msgid "This release uses ``MuPDF-1.20.0``, released 2022-06-15." +msgstr "" + +#: ../../../changes.txt:1393 68d1b02687f849fab3365ec98f0308d4 +msgid "" +"Cope with new MuPDF link uri format, changed from ``#,,`` " +"to ``#page=&zoom=,,``." +msgstr "" + +#: ../../../changes.txt:1395 d17d731c792044cfa0b4bc0486f4c5a8 +msgid "" +"In ``tests/test_insertpdf.py``, use new reference output " +"``joined-1.20.pdf``. We also check that new output values are " +"approximately the same as the old ones." +msgstr "" + +#: ../../../changes.txt:1397 96cbfad0c6cb404db15d7aa8d13c5f65 +msgid "" +"**Fixed** `#1738 `_. Leak" +" of `pdf_graft_map`. Also fixed a SEGV issue that this seemed to expose, " +"caused by incorrect freeing of underlying fz_document." +msgstr "" + +#: ../../../changes.txt:1400 a1460a0ec164432ebbe35656a0272c02 +msgid "" +"**Fixed** `#1733 `_. " +"Fixed ownership of `Annotation.get_pixmap()`." +msgstr "" + +#: ../../../changes.txt:1402 1fb8672935f346f18177065d4a876d9b +msgid "Changes to build/release process:" +msgstr "" + +#: ../../../changes.txt:1404 d1f37ff28e754e3891af3658a6d2c4f7 +msgid "" +"If pip builds from source because an appropriate wheel is not available, " +"we no longer require MuPDF to be pre-installed. Instead the required " +"MuPDF source is embedded in the sdist and automatically built into " +"PyMuPDF." +msgstr "" + +#: ../../../changes.txt:1406 c6743d7a837547bfbd14121f922f188b +msgid "" +"Various changes to ``setup.py`` to download the required MuPDF release as" +" required. See comments at start of setup.py for details." +msgstr "" + +#: ../../../changes.txt:1408 2deed3b348e44634a95976500ca61ff1 +msgid "" +"Added ``.github/workflows/build_wheels.yml`` to control building of " +"wheels on Github." +msgstr "" + +#: ../../../changes.txt:1412 bfd2558d12c24e4ba3c0aee0edff3507 +msgid "**Changes in Version 1.19.6**" +msgstr "" + +#: ../../../changes.txt:1414 e9b569d9e70b42518f53a71536bd4f28 +msgid "" +"**Fixed** `#1620 `_. The " +":ref:`TextPage` created by :meth:`Page.get_textpage` will now be freed " +"correctly (removed memory leak)." +msgstr "" + +#: ../../../changes.txt:1415 058f760c8ce740e48a627eb2aee78a56 +msgid "" +"**Fixed** `#1601 `_. " +"Document open errors should now be more concise and easier to interpret. " +"In the course of this, two PyMuPDF-specific Python exceptions have been " +"**added:**" +msgstr "" + +#: ../../../changes.txt:1417 15ef5b12f13b4750a9571bf258d1dd43 +msgid "" +"``EmptyFileError`` -- raised when trying to create a :ref:`Document` " +"(``fitz.open()``) from an empty file or zero-length memory." +msgstr "" + +#: ../../../changes.txt:1418 f1c391fa54a1405ba4a28d352d108404 +msgid "" +"``FileDataError`` -- raised when MuPDF encounters irrecoverable document " +"structure issues." +msgstr "" + +#: ../../../changes.txt:1420 56b2878654114138ac79fad54cecad1b +msgid "**Added** :meth:`Page.load_widget` given a PDF field's xref." +msgstr "" + +#: ../../../changes.txt:1422 c0ece2db951a48efac1849cd7074f28e +msgid "" +"**Added** Dictionary :attr:`pdfcolor` which provide the about 500 colors " +"defined as PDF color values with the lower case color name as key." +msgstr "" + +#: ../../../changes.txt:1424 f9628cc364244bf3a41e4b3a8c2d40c6 +msgid "" +"**Added** algebra functionality to the :ref:`Quad` class. These objects " +"can now also be added and subtracted among themselves, and be multiplied " +"by numbers and matrices." +msgstr "" + +#: ../../../changes.txt:1426 b66574a55e8d41d7accf7dd33f070642 +msgid "" +"**Added** new constants defining the default text extraction flags for " +"more comfortable handling. Their naming convention is like " +":data:`TEXTFLAGS_WORDS` for ``page.get_text(\"words\")``. See " +":ref:`text_extraction_flags`." +msgstr "" + +#: ../../../changes.txt:1428 8f6f15bc876b4df68cda93624b20a4ea +msgid "" +"**Changed** :meth:`Page.annots` and :meth:`Page.widgets` to detect and " +"prevent reloading the page (illegally) inside the iterator loops via " +":meth:`Document.reload_page`. Doing this brings down the interpreter. " +"Documented clean ways to do annotation and widget mass updates within " +"properly designed loops." +msgstr "" + +#: ../../../changes.txt:1430 287feb6044a2402d9651e9690ee78512 +msgid "" +"**Changed** several internal utility functions to become standalone " +"(\"SWIG inline\") as opposed to be part of the :ref:`Tools` class. This, " +"among other things, increases the performance of geometry object " +"creation." +msgstr "" + +#: ../../../changes.txt:1432 ec2b054b07e449debcbc15b510c35e5e +msgid "" +"**Changed** :meth:`Document.update_stream` to always accept stream " +"updates - whether or not the dictionary object behind the xref already is" +" a stream. Thus the former ``new`` parameter is now ignored and will be " +"removed in v1.20.0." +msgstr "" + +#: ../../../changes.txt:1437 89534acd0d50489793f84d93defb75d9 +msgid "**Changes in Version 1.19.5**" +msgstr "" + +#: ../../../changes.txt:1439 15c312e55ff84d4990200b73b5ab7088 +msgid "" +"**Fixed** `#1518 `_. A " +"limited \"fix\": in some cases, rectangles and quadrupels were not " +"correctly encoded to support re-drawing by :ref:`Shape`." +msgstr "" + +#: ../../../changes.txt:1441 4ba09954c0b641a2926f1026d979da09 +msgid "" +"**Fixed** `#1521 `_. This" +" had the same ultimate reason behind issue #1510." +msgstr "" + +#: ../../../changes.txt:1443 dde5fa3810eb4a82b0aa2e61d8cf863b +msgid "" +"**Fixed** `#1513 `_. Some" +" Optional Content functions did not support non-ASCII characters." +msgstr "" + +#: ../../../changes.txt:1445 3d2e4740ec0b41b4aaad51d97655f8e9 +msgid "" +"**Fixed** `#1510 `_. " +"Support more soft-mask image subtypes." +msgstr "" + +#: ../../../changes.txt:1447 e79ebb09f5ea405a8ed23fbed6aa913a +msgid "" +"**Fixed** `#1507 `_. " +"Immunize against items in the outlines chain, that are ``\"null\"`` " +"objects." +msgstr "" + +#: ../../../changes.txt:1449 cd737a2d921f4ee6929d54d756b3ca78 +msgid "" +"**Fixed** re-opened `#1417 " +"`_. (\"too many open " +"files\"). This was due to insufficient calls to MuPDF's " +"``fz_drop_document()``. This also fixes `#1550 " +"`_." +msgstr "" + +#: ../../../changes.txt:1451 10995303e588406895c48eaa98334bdd +msgid "" +"**Fixed** several undocumented issues in relation to incorrectly setting " +"the text span origin :data:`point_like`." +msgstr "" + +#: ../../../changes.txt:1453 c395df4c98a441958d507eaf1a55d6de +msgid "" +"**Fixed** undocumented error computing the character bbox in method " +":meth:`Page.get_texttrace` when text is **flipped** (as opposed to just " +"rotated)." +msgstr "" + +#: ../../../changes.txt:1455 d82b9d2a17b64ddb90e236a9e42f1420 +msgid "" +"**Added** items to the dictionary returned by :meth:`image_properties`: " +"``orientation`` and ``transform`` report the natural image orientation " +"(EXIF data)." +msgstr "" + +#: ../../../changes.txt:1457 30117ed837094556807bb67193004816 +msgid "" +"**Added** method :meth:`Document.xref_copy`. It will make a given target " +"PDF object an exact copy of a source object." +msgstr "" + +#: ../../../changes.txt:1462 c6cda05060f04f1080faf3f5125286a2 +msgid "**Changes in Version 1.19.4**" +msgstr "" + +#: ../../../changes.txt:1465 b2517533bd4f4096af88ca08d40edf65 +msgid "" +"**Fixed** `#1505 `_. " +"Immunize against circular outline items." +msgstr "" + +#: ../../../changes.txt:1467 a0d1479b30084068bad49749240fac45 +msgid "" +"**Fixed** `#1484 `_. " +"Correct CropBox coordinates are now returned in all situations." +msgstr "" + +#: ../../../changes.txt:1469 cf4a7ec57222449f974ef9027151cf36 +msgid "**Fixed** `#1479 `_." +msgstr "" + +#: ../../../changes.txt:1471 89d3111a652d4fe8809050d5c921e6ea +msgid "" +"**Fixed** `#1474 `_. " +"TextPage objects are now properly deleted again." +msgstr "" + +#: ../../../changes.txt:1473 ae6c28903fab4ede991daa53cbb1c7b1 +msgid "" +"**Added** :ref:`Page` methods and attributes for PDF ``/ArtBox``, " +"``/BleedBox``, ``/TrimBox``." +msgstr "" + +#: ../../../changes.txt:1475 d88880cbc50841bfa7c2c78158e9dd46 +msgid "" +"**Added** global attribute :attr:`TESSDATA_PREFIX` for easy checking of " +"OCR support." +msgstr "" + +#: ../../../changes.txt:1477 2be427b5e13c407995bd4f89c694dada +msgid "" +"**Changed** :meth:`Document.xref_set_key` such that dictionary keys will " +"physically be removed if set to value ``\"null\"``." +msgstr "" + +#: ../../../changes.txt:1479 2a9573afceb049e6b671e0432bd529be +msgid "" +"**Changed** :meth:`Document.extract_font` to optionally return a " +"dictionary (instead of a tuple)." +msgstr "" + +#: ../../../changes.txt:1483 4f57093fd45345639ada517bdde872fb +msgid "**Changes in Version 1.19.3**" +msgstr "" + +#: ../../../changes.txt:1485 18dfed128cbf40c38cad3ea42fd28a79 +msgid "" +"This patch version implements minor improvements for :ref:`Pixmap` and " +"also some important fixes." +msgstr "" + +#: ../../../changes.txt:1487 1296ee8815a942b6b05e865c50765b3b +msgid "" +"**Fixed** `#1351 `_." +" Reverted code that introduced the memory growth in v1.18.15." +msgstr "" + +#: ../../../changes.txt:1489 3fb4097c0d9c45d884b47f003b15344b +msgid "" +"**Fixed** `#1417 `_." +" Developed circumvention for growth of open file handles using " +":meth:`Document.insert_pdf`." +msgstr "" + +#: ../../../changes.txt:1491 770e6646f6e74afcb2d4d3dcf9c81366 +msgid "" +"**Fixed** `#1418 `_." +" Developed circumvention for memory growth using " +":meth:`Document.insert_pdf`." +msgstr "" + +#: ../../../changes.txt:1493 9689f4e9544c4246b896448b2322a17e +msgid "" +"**Fixed** `#1430 `_." +" Developed circumvention for mass pixmap generations of document pages." +msgstr "" + +#: ../../../changes.txt:1495 056b81d61e89402fb676e8fa87a24efc +msgid "" +"**Fixed** `#1433 `_." +" Solves a bbox error for some Type 3 font in PyMuPDF text processing." +msgstr "" + +#: ../../../changes.txt:1497 d99a708337c94a539ed17294cc959f0d +msgid "" +"**Added** :meth:`Pixmap.color_topusage` to determine the share of the " +"most frequently used color. Solves `#1397 " +"`_." +msgstr "" + +#: ../../../changes.txt:1499 72e87358c82b4604b24eac87ac4b4a0f +msgid "" +"**Added** :meth:`Pixmap.warp` which makes a new pixmap from a given " +"arbitrary convex quad inside the pixmap." +msgstr "" + +#: ../../../changes.txt:1501 82fcb8b930d84658abdd8396247c78de +msgid "" +"**Added** :attr:`Annot.irt_xref` and :meth:`Annot.set_irt_xref` to " +"inquire or set the `/IRT` (\"In Response To\") property of an annotation." +" Implements `#1450 " +"`_." +msgstr "" + +#: ../../../changes.txt:1503 9d4d189ab5d14fb799a720844599254d +msgid "" +"**Added** :meth:`Rect.torect` and :meth:`IRect.torect` which compute a " +"matrix that transforms to a given other rectangle." +msgstr "" + +#: ../../../changes.txt:1505 4efbe89603de46a59e1fac42a1a66f6a +msgid "" +"**Changed** :meth:`Pixmap.color_count` to also return the count of each " +"color." +msgstr "" + +#: ../../../changes.txt:1506 d98f12929cce4021be5db663b7606192 +msgid "" +"**Changed** :meth:`Page.get_texttrace` to also return correct span and " +"character bboxes if ``span[\"dir\"] != (1, 0)``." +msgstr "" + +#: ../../../changes.txt:1510 d093ad5f399047259588e551285fd994 +msgid "**Changes in Version 1.19.2**" +msgstr "" + +#: ../../../changes.txt:1512 2de7c1c23ba441aa92a089ee02a4635b +msgid "" +"This patch version implements minor improvements for " +":meth:`Page.get_drawings` and also some important fixes." +msgstr "" + +#: ../../../changes.txt:1514 79ddabf469564139b54099c248dbd2b3 +msgid "" +"**Fixed** `#1388 `_." +" Fixed intermittent memory corruption when insert or updating " +"annotations." +msgstr "" + +#: ../../../changes.txt:1516 3f76bb3657c5462ba1ebcdd58bdd3116 +msgid "" +"**Fixed** `#1375 `_." +" Inconsistencies between line numbers as returned by the \"words\" and " +"the \"dict\" options of :meth:`Page.get_text` have been corrected." +msgstr "" + +#: ../../../changes.txt:1518 da3c5e5c691b4bf89bac0ae41797880b +msgid "" +"**Fixed** `#1364 `_. The " +"check for being a ``\"rawdict\"`` span in :meth:`recover_span_quad` now " +"works correctly." +msgstr "" + +#: ../../../changes.txt:1520 63807063fb894a7e983829cafe298fe5 +msgid "" +"**Fixed** `#1342 `_. " +"Corrected the check for rectangle infiniteness in " +":meth:`Page.show_pdf_page`." +msgstr "" + +#: ../../../changes.txt:1522 517a112dc4114acab7f4f5c1b91d6fa8 +msgid "" +"**Changed** :meth:`Page.get_drawings`, :meth:`Page.get_cdrawings` to " +"return an indicator on the area orientation covered by a rectangle. This " +"implements `#1355 `_. " +"Also, the recognition rate for rectangles and quads has been " +"significantly improved." +msgstr "" + +#: ../../../changes.txt:1524 dcddfb46c54741fd8eda15a642648605 +msgid "" +"**Changed** all text search and extraction methods to set the new " +"``flags`` option ``TEXT_MEDIABOX_CLIP`` to ON by default. That bit causes" +" the automatic suppression of all characters that are completely outside " +"a page's mediabox (in as far as that notion is supported for a document " +"type). This eliminates the need for using ``clip=page.rect`` or similar " +"for omitting text outside the visible area." +msgstr "" + +#: ../../../changes.txt:1526 f1b34d7957c44c178eece4e7a6585117 +msgid "" +"**Added** parameter ``\"dpi\"`` to :meth:`Page.get_pixmap` and " +":meth:`Annot.get_pixmap`. When given, parameter ``\"matrix\"`` is " +"ignored, and a :ref:`Pixmap` with the desired dots per inch is created." +msgstr "" + +#: ../../../changes.txt:1528 1317c20bf9004475b5d9e6eff7531e6d +msgid "" +"**Added** attributes :attr:`Pixmap.is_monochrome` and " +":attr:`Pixmap.is_unicolor` allowing fast checks of pixmap properties. " +"Addresses `#1397 `_." +msgstr "" + +#: ../../../changes.txt:1530 2f34d297248a424d9e4bd6390d4abd59 +msgid "" +"**Added** method :meth:`Pixmap.color_count` to determine the unique " +"colors in the pixmap." +msgstr "" + +#: ../../../changes.txt:1532 0eb08456d2ad4e70b01c79a2c2394012 +msgid "" +"**Added** boolean parameter ``\"compress\"`` to PDF document method " +":meth:`Document.update_stream`. Addresses / enables solution for `#1408 " +"`_." +msgstr "" + +#: ../../../changes.txt:1536 e801177ed48145dda1d2c1383f2b0ffc +msgid "**Changes in Version 1.19.1**" +msgstr "" + +#: ../../../changes.txt:1538 57c5fb9887f847ba933543ad12d8a479 +msgid "" +"This is the first patch version to support MuPDF v1.19.0. Apart from one " +"bug fix, it includes important improvements for OCR support and the " +"option to **sort extracted text** to the standard reading order \"from " +"top-left to bottom-right\"." +msgstr "" + +#: ../../../changes.txt:1540 650b810759ce426fb04200ced720f29f +msgid "" +"**Fixed** `#1328 `_. " +"\"words\" text extraction again returns correct ``(x0, y0)`` coordinates." +msgstr "" + +#: ../../../changes.txt:1542 3ba1314a889d44d78998ee7e4000e490 +msgid "" +"**Changed** :meth:`Page.get_textpage_ocr`: it now supports parameter " +"``dpi`` to control OCR quality. It is also possible to choose whether the" +" **full page** should be OCRed or **only the images displayed** by the " +"page." +msgstr "" + +#: ../../../changes.txt:1544 e63faaa903ec48a596466ba7c81be36a +msgid "" +"**Changed** :meth:`Page.get_drawings` and :meth:`Page.get_cdrawings` to " +"automatically convert colors to RGB color tuples. Implements `#1332 " +"`_. Similar change " +"was applied to :meth:`Page.get_texttrace`." +msgstr "" + +#: ../../../changes.txt:1546 478ae75188fb496dbd68e612249a93be +msgid "" +"**Changed** :meth:`Page.get_text` to support a parameter ``sort``. If set" +" to ``True`` the output is conveniently sorted." +msgstr "" + +#: ../../../changes.txt:1551 1fcee4618b1a4606bc1bb1cb00a3c04c +msgid "**Changes in Version 1.19.0**" +msgstr "" + +#: ../../../changes.txt:1553 ddc73ab2354e49519073ae9c706da26e +msgid "" +"This is the first version supporting MuPDF 1.19.*, published 2021-10-05. " +"It introduces many new features compared to the previous version 1.18.*." +msgstr "" + +#: ../../../changes.txt:1555 b350897b3a7d4af6a0a1184d0161e9f5 +msgid "" +"PyMuPDF has now picked up integrated Tesseract OCR support, which was " +"already present in MuPDF v1.18.0." +msgstr "" + +#: ../../../changes.txt:1557 35dd462d0329459bb8788ee6118ce5b5 +msgid "" +"Supported images can be OCRed via their :ref:`Pixmap` which results in a " +"1-page PDF with a text layer." +msgstr "" + +#: ../../../changes.txt:1558 40eb6a6a0deb477f802cfaa332cd816d +msgid "" +"All supported document pages (i.e. not only PDFs), can be OCRed using " +"specialized text extraction methods. The result is a mixture of standard " +"and OCR text (depending on which part of the page was deemed to require " +"OCRing) that can be searched and extracted without restrictions." +msgstr "" + +#: ../../../changes.txt:1559 734f1859407e4513b2cad5b0b02ac6f4 +msgid "" +"All this requires an independent installation of Tesseract. MuPDF " +"actually (only) needs the location of Tesseract's ``\"tessdata\"`` " +"folder, where its language support data are stored. This location must be" +" available as environment variable ``TESSDATA_PREFIX``." +msgstr "" + +#: ../../../changes.txt:1561 b0bd5ab69f33429697fd89f94ea87403 +msgid "" +"A new MuPDF feature is **journalling PDF updates**, which is also " +"supported by this PyMuPDF version. Changes may be logged, rolled back or " +"replayed, allowing to implement a whole new level of control over PDF " +"document integrity -- similar to functions present in modern database " +"systems." +msgstr "" + +#: ../../../changes.txt:1563 c3bc9664f319416cbfbd764f183ecaf1 +msgid "" +"A third feature (unrelated to the new MuPDF version) includes the ability" +" to detect when page **objects cover or hide each other**. It is now e.g." +" possible to see that text is covered by a drawing or an image." +msgstr "" + +#: ../../../changes.txt:1565 368ec08cb31e489e94e2d8a7e4ee86e4 +msgid "" +"**Changed** terminology and meaning of important geometry concepts: " +"Rectangles are now characterized as *finite*, *valid* or *empty*, while " +"the definitions of these terms have also changed. Rectangles specifically" +" are now thought of being \"open\": not all corners and sides are " +"considered part of the rectangle. Please do read the :ref:`Rect` section " +"for details." +msgstr "" + +#: ../../../changes.txt:1567 6dd7d23a06ad4f14b2021126e1286e49 +msgid "" +"**Added** new parameter `\"no_new_id\"` to :meth:`Document.save` / " +":meth:`Document.tobytes` methods. Use it to suppress updating the second " +"item of the document ``/ID`` which in PDF indicates that the original " +"file has been updated. If the PDF has no ``/ID`` at all yet, then no new " +"one will be created either." +msgstr "" + +#: ../../../changes.txt:1569 de9906d677934e3c8dbe4a106dce7c74 +msgid "" +"**Added** a **journalling facility** for PDF updates. This allows logging" +" changes, undoing or redoing them, or saving the journal for later use. " +"Refer to :meth:`Document.journal_enable` and friends." +msgstr "" + +#: ../../../changes.txt:1571 c4160924dc184c4b927a1b6297223458 +msgid "" +"**Added** new :ref:`Pixmap` methods :meth:`Pixmap.pdfocr_save` and " +":meth:`Pixmap.pdfocr_tobytes`, which generate a 1-page PDF containing the" +" pixmap as PNG image with OCR text layer." +msgstr "" + +#: ../../../changes.txt:1573 0e3c62d627264d9f8ffce673e0023b81 +msgid "" +"**Added** :meth:`Page.get_textpage_ocr` which executes optical character " +"recognition for the page, then extracts the results and stores them " +"together with \"normal\" page content in a :ref:`TextPage`. Use or reuse " +"this object in subsequent text extractions and text searches to avoid " +"multiple efforts. The existing text search and text extraction methods " +"have been extended to support a separately created textpage -- see next " +"item." +msgstr "" + +#: ../../../changes.txt:1575 04ef1d300161437ba5b4e28ffed12386 +msgid "" +"**Added** a new parameter ``textpage`` to text extraction and text search" +" methods. This allows reuse of a previously created :ref:`TextPage` and " +"thus achieves significant runtime benefits -- which is especially " +"important for the new OCR features. But \"normal\" text extractions can " +"definitely also benefit." +msgstr "" + +#: ../../../changes.txt:1577 a6d0664ee9d14b07908e08d426ef50e7 +msgid "" +"**Added** :meth:`Page.get_texttrace`, a technical method delivering low-" +"level text character properties. It was present before as a private " +"method, but the author felt it now is mature enough to be officially " +"available. It specifically includes a \"sequence number\" which indicates" +" the page appearance build operation that painted the text." +msgstr "" + +#: ../../../changes.txt:1579 ccb6adfad05549ff96a7d75a2f08de75 +msgid "" +"**Added** :meth:`Page.get_bboxlog` which delivers the list of rectangles " +"of page objects like text, images or drawings. Its significance lies in " +"its sequence: rectangles intersecting areas with a lower index are " +"covering or hiding them." +msgstr "" + +#: ../../../changes.txt:1581 3edfcd55b842410ab082ab50b80e132f +msgid "" +"**Changed** methods :meth:`Page.get_drawings` and " +":meth:`Page.get_cdrawings` to include a \"sequence number\" indicating " +"the page appearance build operation that created the drawing." +msgstr "" + +#: ../../../changes.txt:1583 d4fd7415a1f44eb0b738d6f5df0af7cb +msgid "" +"**Fixed** `#1311 `_. " +"Field values in comboboxes should now be handled correctly." +msgstr "" + +#: ../../../changes.txt:1584 7733dd257974437aa148b45f6ada6568 +msgid "" +"**Fixed** `#1290 `_. " +"Error was caused by incorrect rectangle emptiness check, which is fixed " +"due to new geometry logic of this version." +msgstr "" + +#: ../../../changes.txt:1585 f61c1c44cead4da28d5a0d498a515a7c +msgid "" +"**Fixed** `#1286 `_. Text" +" alignment for redact annotations is working again." +msgstr "" + +#: ../../../changes.txt:1586 bba07d14226e43b498663a99b03b7eb5 +msgid "" +"**Fixed** `#1287 `_. " +"Infinite loop issue for non-Windows systems when applying some redactions" +" has been resolved." +msgstr "" + +#: ../../../changes.txt:1587 5324927b491340e983434647e41ce37e +msgid "" +"**Fixed** `#1284 `_. Text" +" layout destruction after applying redactions in some cases has been " +"resolved." +msgstr "" + +#: ../../../changes.txt:1591 29ec5f63fdcc4f7b857449ced614ae34 +msgid "**Changes in Version 1.18.18 / 1.18.19**" +msgstr "" + +#: ../../../changes.txt:1593 629737c065e9445f96330c435e44d4dc +msgid "" +"**Fixed** issue `#1266 " +"`_. Failure to set " +":attr:`Pixmap.samples` in important cases, was hotfixed in a new version " +"1.18.19." +msgstr "" + +#: ../../../changes.txt:1595 0abe968e8c8349d6991a7e4002c7cc03 +msgid "" +"**Fixed** issue `#1257 " +"`_. Removing the read-" +"only flag from PDF fields is now possible." +msgstr "" + +#: ../../../changes.txt:1597 d5ee064120c44b55a574eb82a9b65093 +msgid "" +"**Fixed** issue `#1252 " +"`_. Now correctly " +"specifying the ``zoom`` value for PDF link annotations." +msgstr "" + +#: ../../../changes.txt:1599 a7183e1808424b69a1a92a0c6c19251d +msgid "" +"**Fixed** issue `#1244 " +"`_. Now correctly " +"computing the transform matrix in :meth:`Page.get_image__bbox`." +msgstr "" + +#: ../../../changes.txt:1601 5b909b03e5e84a92b114914838261915 +msgid "" +"**Fixed** issue `#1241 " +"`_. Prevent returning " +"artifact characters in :meth:`Page.get_textbox`, which happened in " +"certain constellations." +msgstr "" + +#: ../../../changes.txt:1603 76b7202d83754586a167674467627ca6 +msgid "" +"**Fixed** issue `#1234 " +"`_. Avoid creating " +"infinite rectangles in corner cases -- :meth:`Page.get_drawings`, " +":meth:`Page.get_cdrawings`." +msgstr "" + +#: ../../../changes.txt:1605 11277e7c50c84168b89d7c869c0aeb1e +msgid "" +"**Added** test data and test scripts to the source PyPI source " +"distribution." +msgstr "" + +#: ../../../changes.txt:1609 490bf1a121f24135b3e3256666187363 +msgid "**Changes in Version 1.18.17**" +msgstr "" + +#: ../../../changes.txt:1611 d1e131b0d646485daf1c919e31b766d3 +msgid "" +"Focus of this version are major performance improvements of selected " +"functions." +msgstr "" + +#: ../../../changes.txt:1613 03ea6bb0f78c4d679bd6c08b450d9c4e +msgid "" +"**Fixed** issue `#1199 " +"`_. Using a non-existing " +"page number in :meth:`Document.get_page_images` and friends will no " +"longer lead to segfaults." +msgstr "" + +#: ../../../changes.txt:1615 0316ddf4a6a14b918ae314d88765508c +msgid "" +"**Changed** :meth:`Page.get_drawings` to now differentiate between " +"\"stroke\", \"fill\" and combined paths. Paths containing more than one " +"rectangle (i.e. \"re\" items) are now supported. Extracting \"clipped\" " +"paths is now available as an option." +msgstr "" + +#: ../../../changes.txt:1617 68269b90e4374ece9bcc4beae2a5d8ab +msgid "" +"**Added** :meth:`Page.get_cdrawings`, performance-optimized version of " +":meth:`Page.get_drawings`." +msgstr "" + +#: ../../../changes.txt:1619 b9fdb8798cef43d6af0ab313e6117152 +msgid "" +"**Added** :attr:`Pixmap.samples_mv`, *memoryview* of a pixmap's pixel " +"area. Does not copy and thus always accesses the current state of that " +"area." +msgstr "" + +#: ../../../changes.txt:1621 b4530586fbcc46de94110b7f601c43dd +msgid "" +"**Added** :attr:`Pixmap.samples_ptr`, Python \"pointer\" to a pixmap's " +"pixel area. Allows much faster creation (factor 800+) of Qt images." +msgstr "" + +#: ../../../changes.txt:1627 494c735b3a214b2bb172c9afb76b92b1 +msgid "**Changes in Version 1.18.16**" +msgstr "" + +#: ../../../changes.txt:1629 9320ef32a6ec458db091ec9991261f2f +msgid "" +"**Fixed** issue `#1184 " +"`_. Existing PDF widget " +"fonts in a PDF are now accepted (i.e. not forcedly changed to a Base-14 " +"font)." +msgstr "" + +#: ../../../changes.txt:1631 159b6408c2ea4b86a063f21fcce0b7de +msgid "" +"**Fixed** issue `#1154 " +"`_. Text search hits " +"should now be correct when ``clip`` is specified." +msgstr "" + +#: ../../../changes.txt:1633 e98ab6e601d143ab99e23ce8ac756e25 +msgid "**Fixed** issue `#1152 `_." +msgstr "" + +#: ../../../changes.txt:1635 0793a7276f6a47c7833dc4f02c69c59c +msgid "**Fixed** issue `#1146 `_." +msgstr "" + +#: ../../../changes.txt:1637 634669f89d54425fabf3395cef374ae3 +msgid "" +"**Added** :attr:`Link.flags` and :meth:`Link.set_flags` to the " +":ref:`Link` class. Implements enhancement requests `#1187 " +"`_." +msgstr "" + +#: ../../../changes.txt:1639 f0c43b248f16409a8f0905afee41db5d +msgid "" +"**Added** option to *simulate* :meth:`TextWriter.fill_textbox` output for" +" predicting the number of lines, that a given text would occupy in the " +"textbox." +msgstr "" + +#: ../../../changes.txt:1641 7ed434aeca7e4c8283c2ce9ac764e204 +msgid "" +"**Added** text output support as subcommand `gettext` to the ``fitz`` CLI" +" module. Most importantly, original **physical text layout** reproduction" +" is now supported." +msgstr "" + +#: ../../../changes.txt:1646 7a61839613704cb6ba89df11cfd8e0c5 +msgid "**Changes in Version 1.18.15**" +msgstr "" + +#: ../../../changes.txt:1648 76b9d70df76946379cb92b397413d1b1 +msgid "" +"**Fixed** issue `#1088 " +"`_. Removing an " +"annotation's fill color should now work again both ways, using the " +"``fill_color=[]`` argument in :meth:`Annot.update` as well as ``fill=[]``" +" in :meth:`Annot.set_colors`." +msgstr "" + +#: ../../../changes.txt:1650 be8edc4369ba4c6d92c42fd279c10a37 +msgid "" +"**Fixed** issue `#1081 " +"`_. " +":meth:`Document.subset_fonts`: fixed an error which created wrong " +"character widths for some fonts." +msgstr "" + +#: ../../../changes.txt:1652 c86ec8d5f336461a9a82cf58dab23bca +msgid "" +"**Fixed** issue `#1078 " +"`_. :meth:`Page.get_text`" +" and other methods related to text extraction: changed the default value " +"of the :ref:`TextPage` ``flags`` parameter. All whitespace and " +":data:`ligatures` are now preserved." +msgstr "" + +#: ../../../changes.txt:1654 6bf853d1b4f24ed3b493acbbaf102307 +msgid "" +"**Fixed** issue `#1085 " +"`_. The old *snake_cased*" +" alias of ``fitz.detTextlength`` is now defined correctly." +msgstr "" + +#: ../../../changes.txt:1656 0974e8722a4445e0894e2188d5074069 +msgid "" +"**Changed** :meth:`Document.subset_fonts` will now correctly prefix font " +"subsets with an appropriate six letter uppercase tag, complying with the " +"PDF specification." +msgstr "" + +#: ../../../changes.txt:1658 437884a2beb34834be5a5813ff146205 +msgid "" +"**Added** new method :meth:`Widget.button_states` which returns the " +"possible values that a button-type field can have when being set to " +"\"on\" or \"off\"." +msgstr "" + +#: ../../../changes.txt:1660 e165a6b51c0c42f6ac55bb2164ed36ce +msgid "" +"**Added** support of text with **Small Capital** letters to the " +":ref:`Font` and :ref:`TextWriter` classes. This is reflected by an " +"additional bool parameter ``small_caps`` in various of their methods." +msgstr "" + +#: ../../../changes.txt:1665 5fa6df6719ec4a30bc5737a2250ddf26 +msgid "**Changes in Version 1.18.14**" +msgstr "" + +#: ../../../changes.txt:1667 246831ba1ef247c09cc05eb90a12135b +msgid "" +"**Finished** implementing new, \"snake_cased\" names for methods and " +"properties, that were \"camelCased\" and awkward in many aspects. At the " +"end of this documentation, there is section :ref:`Deprecated` with more " +"background and a mapping of old to new names." +msgstr "" + +#: ../../../changes.txt:1669 e9896e6c30074ac28de21b72e13344fd +msgid "" +"**Fixed** issue `#1053 " +"`_. " +":meth:`Page.insert_image`: when given, include image mask in the hash " +"computation." +msgstr "" + +#: ../../../changes.txt:1671 856342d7e04c4c05ad362a20f30a00c5 +msgid "" +"**Fixed** issue `#1043 " +"`_. Added " +"``Pixmap.getPNGdata`` to the aliases of :meth:`Pixmap.tobytes`." +msgstr "" + +#: ../../../changes.txt:1673 a40ac7bfdd1d4c329450f6a5ba99872e +msgid "" +"**Fixed** an internal error when computing the enveloping rectangle of " +"drawn paths as returned by :meth:`Page.get_drawings`." +msgstr "" + +#: ../../../changes.txt:1675 dae13ebf211f48aaa0f6305a01c8c616 +msgid "" +"**Fixed** an internal error occasionally causing loops when outputting " +"text via :meth:`TextWriter.fill_textbox`." +msgstr "" + +#: ../../../changes.txt:1677 944833cd11d14508b1e6e8fa1a487586 +msgid "" +"**Added** :meth:`Font.char_lengths`, which returns a tuple of character " +"widths of a string." +msgstr "" + +#: ../../../changes.txt:1679 4c127faaaa4542d68be1974e72156cdb +msgid "" +"**Added** more ways to specify pages in :meth:`Document.delete_pages`. " +"Now a sequence (list, tuple or range) can be specified, and the Python " +"``del`` statement can be used. In the latter case, Python ``slices`` are " +"also accepted." +msgstr "" + +#: ../../../changes.txt:1681 06fd838ceb61465d9f689dfd3aebbab2 +msgid "" +"**Changed** :meth:`Document.del_toc_item`, which disables a single item " +"of the TOC: previously, the title text was removed. Instead, now the " +"complete item will be shown grayed-out by supporting viewers." +msgstr "" + +#: ../../../changes.txt:1686 7a4fd8bb15ab4fbcaaa183993d721089 +msgid "**Changes in Version 1.18.13**" +msgstr "" + +#: ../../../changes.txt:1688 aeb68fdb27db43d68f6b5362aa749391 +msgid "**Fixed** issue `#1014 `_." +msgstr "" + +#: ../../../changes.txt:1689 8ee7d51d2b5941f8b64a7092fe06f789 +msgid "" +"**Fixed** an internal memory leak when computing image bboxes -- " +":meth:`Page.get_image_bbox`." +msgstr "" + +#: ../../../changes.txt:1690 6e3c2aaf0d0b4752b02aa8c91326937e +msgid "" +"**Added** support for low-level access and modification of the PDF " +"trailer. Applies to :meth:`Document.xref_get_keys`, " +":meth:`Document.xref_get_key`, and :meth:`Document.xref_set_key`." +msgstr "" + +#: ../../../changes.txt:1691 d26b610465374b1a95f57d151f841d2e +msgid "**Added** documentation for maintaining private entries in PDF metadata." +msgstr "" + +#: ../../../changes.txt:1692 49f75a7ada254386acc0d8b341ed91c6 +msgid "" +"**Added** documentation for handling transparent image insertions, " +":meth:`Page.insert_image`." +msgstr "" + +#: ../../../changes.txt:1693 457c2b1325b24f60ab107fe02a4e0085 +msgid "" +"**Added** :meth:`Page.get_image_rects`, an improved version of " +":meth:`Page.get_image_bbox`." +msgstr "" + +#: ../../../changes.txt:1694 a7471bfaf29b46c0bf1baba965058c8b +msgid "" +"**Changed** :meth:`Document.delete_pages` to support various ways of " +"specifying pages to delete. Implements `#1042 " +"`_." +msgstr "" + +#: ../../../changes.txt:1695 3f2e525e5db5466cbf2b21ae6e3e9c36 +msgid "" +"**Changed** :meth:`Page.insert_image` to also accept the xref of an " +"existing image in the file. This allows \"copying\" images between pages," +" and extremely fast multiple insertions." +msgstr "" + +#: ../../../changes.txt:1696 819681238cbc4a129e57b370dfb026fc +msgid "" +"**Changed** :meth:`Page.insert_image` to also accept the integer " +"parameter ``alpha``. To be used for performance improvements." +msgstr "" + +#: ../../../changes.txt:1697 43b014e80e8041ce88847b0848cd3523 +msgid "" +"**Changed** :meth:`Pixmap.set_alpha` to support new parameters for pre-" +"multiplying colors with their alpha values and setting a specific color " +"to fully transparent (e.g. white)." +msgstr "" + +#: ../../../changes.txt:1698 d00c4f08df31471e976b37826d70cb1c +msgid "" +"**Changed** :meth:`Document.embfile_add` to automatically set creation " +"and modification date-time. Correspondingly, :meth:`Document.embfile_upd`" +" automatically maintains modification date-time (``/ModDate`` PDF key), " +"and :meth:`Document.embfile_info` correspondingly reports these data. In " +"addition, the embedded file's associated \"collection item\" is included " +"via its :data:`xref`. This supports the development of PDF portfolio " +"applications." +msgstr "" + +#: ../../../changes.txt:1702 d6c3f0ac21134173a004ebfa78fe2315 +msgid "**Changes in Version 1.18.11 / 1.18.12**" +msgstr "" + +#: ../../../changes.txt:1704 5c6ecd8a73da4cd6a54e60917ddff07a +msgid "" +"**Fixed** issue `#972 `_. " +"Improved layout of source distribution material." +msgstr "" + +#: ../../../changes.txt:1705 086168881dcc4f639364df509a6877b1 +msgid "" +"**Fixed** issue `#962 `_. " +"Stabilized Linux distribution detection for generating PyMuPDF from " +"sources." +msgstr "" + +#: ../../../changes.txt:1706 3a60973423d2463aa5423dc31856ba76 +msgid "" +"**Added:** :meth:`Page.get_xobjects` delivers the result of " +":meth:`Document.get_page_xobjects`." +msgstr "" + +#: ../../../changes.txt:1707 a0b89ac75a28458fb93356628c87d9ab +msgid "" +"**Added:** :meth:`Page.get_image_info` delivers meta information for all " +"images shown on the page." +msgstr "" + +#: ../../../changes.txt:1708 9e865b21aa37414dbfea24ec37e19b67 +msgid "" +"**Added:** :meth:`Tools.mupdf_display_warnings` allows setting on / off " +"the display of MuPDF-generated warnings. The default is off." +msgstr "" + +#: ../../../changes.txt:1709 e3d2420ee8c24d1aa43455c800972e3c +msgid "" +"**Added:** :meth:`Document.ez_save` convenience alias of " +":meth:`Document.save` with some different defaults." +msgstr "" + +#: ../../../changes.txt:1710 7007006565b94595b23bf039c3e09338 +msgid "" +"**Changed:** Image extractions of document pages now also contain the " +"image's **transformation matrix**. This concerns " +":meth:`Page.get_image_bbox` and the DICT, JSON, RAWDICT, and RAWJSON " +"variants of :meth:`Page.get_text`." +msgstr "" + +#: ../../../changes.txt:1715 62af1c5f6b62467897742422e1590f7d +msgid "**Changes in Version 1.18.10**" +msgstr "" + +#: ../../../changes.txt:1717 922707d45703479bbd67527180a768ec +msgid "" +"**Fixed** issue `#941 `_. " +"Added old aliases for :meth:`DisplayList.get_pixmap` and " +":meth:`DisplayList.get_textpage`." +msgstr "" + +#: ../../../changes.txt:1718 5f5903a43c1f44a3bf154f3b1530d64a +msgid "" +"**Fixed** issue `#929 `_. " +"Stabilized removal of JavaScript objects with :meth:`Document.scrub`." +msgstr "" + +#: ../../../changes.txt:1719 0972fadf04e741629d46a18515526a9d +msgid "" +"**Fixed** issue `#927 `_. " +"Removed a loop in the reworked :meth:`TextWriter.fill_textbox`." +msgstr "" + +#: ../../../changes.txt:1720 033e96b4eceb4014bd5620c1e986198d +msgid "" +"**Changed** :meth:`Document.xref_get_keys` and " +":meth:`Document.xref_get_key` to also allow accessing the PDF trailer " +"dictionary. This can be done by using `-1` as the xref number argument." +msgstr "" + +#: ../../../changes.txt:1721 74ff56e5727c43138b496604bbfe57f9 +msgid "" +"**Added** a number of functions for reconstructing the quads for text " +"lines, spans and characters extracted by :meth:`Page.get_text` options " +"\"dict\" and \"rawdict\". See :meth:`recover_quad` and friends." +msgstr "" + +#: ../../../changes.txt:1722 29aa32686d874d42b22bfa8a3901aa14 +msgid "" +"**Added** :meth:`Tools.unset_quad_corrections` to suppress character quad" +" corrections (occasionally required for erroneous fonts)." +msgstr "" + +#: ../../../changes.txt:1726 3a7453ab65404c52984aee45364e6724 +msgid "**Changes in Version 1.18.9**" +msgstr "" + +#: ../../../changes.txt:1729 e1b22c2f9fe54eb993a50fcd6112601f +msgid "" +"**Fixed** issue `#888 `_. " +"Removed ambiguous statements concerning PyMuPDF's license, which is now " +"clearly stated to be GNU AGPL V3." +msgstr "" + +#: ../../../changes.txt:1730 f4d998abf2364f48a156cb6de76c69b7 +msgid "**Fixed** issue `#895 `_." +msgstr "" + +#: ../../../changes.txt:1731 69b074661fb04a1c9748f0ae259d8153 +msgid "" +"**Fixed** issue `#896 `_. " +"Since v1.17.6 PyMuPDF suppresses the font subset tags and only reports " +"the base fontname in text extraction outputs \"dict\" / \"json\" / " +"\"rawdict\" / \"rawjson\". Now a new global parameter can request the old" +" behaviour, :meth:`Tools.set_subset_fontnames`." +msgstr "" + +#: ../../../changes.txt:1732 0e51b11e295245bdb5143f3055f5f4c6 +msgid "" +"**Fixed** issue `#885 `_. " +"Pixmap creation now also works with filenames given as ``pathlib.Paths``." +msgstr "" + +#: ../../../changes.txt:1733 3bfe043f395249f2ad66c8714a4dcd24 +msgid "" +"**Changed** :meth:`Document.subset_fonts`: Text is **not rewritten** any " +"more and should therefore **retain all its original properties** -- like " +"being hidden or being controlled by Optional Content mechanisms." +msgstr "" + +#: ../../../changes.txt:1734 23ad1d2d69494a61b31f3bf6e0d688e0 +msgid "" +"**Changed** :ref:`TextWriter` output to also accept text in right to left" +" mode (Arabian, Hebrew): :meth:`TextWriter.fill_textbox`, " +":meth:`TextWriter.append`. These methods now accept a new boolean " +"parameter `right_to_left`, which is *False* by default. Implements `#897 " +"`_." +msgstr "" + +#: ../../../changes.txt:1735 27997725f8e4450c87939082e366439e +msgid "" +"**Changed** :meth:`TextWriter.fill_textbox` to return all lines of text, " +"that did not fit in the given rectangle. Also changed the default of the " +"``warn`` parameter to no longer print a warning message in overflow " +"situations." +msgstr "" + +#: ../../../changes.txt:1736 66e2fd480ef348c094149914650471d0 +msgid "" +"**Added** a utility function :meth:`recover_quad`, which computes the " +"quadrilateral of a span. This function can be used for correctly marking " +"text extracted with the \"dict\" or \"rawdict\" options of " +":meth:`Page.get_text`." +msgstr "" + +#: ../../../changes.txt:1740 dce8476d6a3749f89835fc274cdabd84 +msgid "**Changes in Version 1.18.8**" +msgstr "" + +#: ../../../changes.txt:1743 fa20b571b5c14e288bfcba7b82655bee +msgid "" +"This is a bug fix version only. We are publishing early because of the " +"potentially widely used functions." +msgstr "" + +#: ../../../changes.txt:1745 21142c13d0cd44bea29198c954e7f0e6 +msgid "" +"**Fixed** issue `#881 `_. " +"Fixed a memory leak in :meth:`Page.insert_image` when inserting images " +"from files or memory." +msgstr "" + +#: ../../../changes.txt:1746 5f457acfd5954696ae76970b611ac49a +msgid "" +"**Fixed** issue `#878 `_. " +"``pathlib.Path`` objects should now correctly handle file path " +"hierarchies." +msgstr "" + +#: ../../../changes.txt:1751 85971c3fb54e449190448842ef48209a +msgid "**Changes in Version 1.18.7**" +msgstr "" + +#: ../../../changes.txt:1754 fbe2287c70d74d55bfa1dd7a61d1a827 +msgid "" +"**Added** an experimental :meth:`Document.subset_fonts` which reduces the" +" size of eligible fonts based on their use by text in the PDF. Implements" +" `#855 `_." +msgstr "" + +#: ../../../changes.txt:1755 e300f81c0c2a414a95786dc2a5b922be +msgid "" +"**Implemented** request `#870 " +"`_: " +":meth:`Document.convert_to_pdf` now also supports PDF documents." +msgstr "" + +#: ../../../changes.txt:1756 8b39542efeb8486782751bc4045f8c45 +msgid "" +"**Renamed** ``Document.write`` to :meth:`Document.tobytes` for greater " +"clarity. But the deprecated name remains available for some time." +msgstr "" + +#: ../../../changes.txt:1757 6717eb5a2cfb422a8b239e698e9d1a4e +msgid "" +"**Implemented** request `#843 " +"`_: " +":meth:`Document.tobytes` now supports linearized PDF output. " +":meth:`Document.save` now also supports writing to Python **file " +"objects**. In addition, the open function now also supports Python file " +"objects." +msgstr "" + +#: ../../../changes.txt:1758 318196b9b9f24559b099a5a3b86b61a3 +msgid "**Fixed** issue `#844 `_." +msgstr "" + +#: ../../../changes.txt:1759 22303a902c214152a94cf6908eaada79 +msgid "**Fixed** issue `#838 `_." +msgstr "" + +#: ../../../changes.txt:1760 8d1575cb41f944d1ab091d1f15fdfe3f +msgid "" +"**Fixed** issue `#823 `_. " +"More logic for better support of OCRed text output (Tesseract, ABBYY)." +msgstr "" + +#: ../../../changes.txt:1761 938fa234a4d64b4998e755f30a353917 +msgid "**Fixed** issue `#818 `_." +msgstr "" + +#: ../../../changes.txt:1762 5b25601056b641bebbe1fdbe9fbf59fc +msgid "**Fixed** issue `#814 `_." +msgstr "" + +#: ../../../changes.txt:1763 b4352fd5bf734216a09bc2b65068a9a1 +msgid "" +"**Added** :meth:`Document.get_page_labels` which returns a list of page " +"label definitions of a PDF." +msgstr "" + +#: ../../../changes.txt:1764 d10d74d2add045f19432215b68dc5965 +msgid "" +"**Added** :meth:`Document.has_annots` and :meth:`Document.has_links` to " +"check whether these object types are present anywhere in a PDF." +msgstr "" + +#: ../../../changes.txt:1765 344e56b009634edaa8a7654870785c6a +msgid "" +"**Added** expert low-level functions to simplify inquiry and modification" +" of PDF object sources: :meth:`Document.xref_get_keys` lists the keys of " +"object :data:`xref`, :meth:`Document.xref_get_key` returns type and " +"content of a key, and :meth:`Document.xref_set_key` modifies the key's " +"value." +msgstr "" + +#: ../../../changes.txt:1766 97ffd95b565242c8a475c6f2123f9b83 +msgid "" +"**Added** parameter ``thumbnails`` to :meth:`Document.scrub` to also " +"allow removing page thumbnail images." +msgstr "" + +#: ../../../changes.txt:1767 be54a84b631a4f539269cea4d2530c10 +msgid "" +"**Improved** documentation for how to add valid text marker annotations " +"for non-horizontal text." +msgstr "" + +#: ../../../changes.txt:1769 7ec7306e128341c2a63a9daaf99494bb +msgid "" +"We continued the process of renaming methods and properties from " +"*\"mixedCase\"* to *\"snake_case\"*. Documentation usually mentions the " +"new names only, but old, deprecated names remain available for some time." +msgstr "" + +#: ../../../changes.txt:1775 40b8c78ac8154766b3f786804b70d764 +msgid "**Changes in Version 1.18.6**" +msgstr "" + +#: ../../../changes.txt:1777 099ac66b71ab437b8f793444fbf3c368 +msgid "**Fixed** issue `#812 `_." +msgstr "" + +#: ../../../changes.txt:1778 8d754c7625ba4e16b8b1d2da2931571c +msgid "" +"**Fixed** issue `#793 `_. " +"Invalid document metadata previously prevented opening some documents at " +"all. This error has been removed." +msgstr "" + +#: ../../../changes.txt:1779 b6756d8e13654194ae64028173969354 +msgid "" +"**Fixed** issue `#792 `_. " +"Text search and text extraction will make no rectangle containment checks" +" at all if the default ``clip=None`` is used." +msgstr "" + +#: ../../../changes.txt:1780 f3374a74399e41139ae1b0fd15053232 +msgid "**Fixed** issue `#785 `_." +msgstr "" + +#: ../../../changes.txt:1781 6f0ad41d3e0845679fc1b7f630d9350e +msgid "" +"**Fixed** issue `#780 `_. " +"Corrected a parameter check error." +msgstr "" + +#: ../../../changes.txt:1782 a9af2b2f5b024f1d90aca0eed1eff596 +msgid "" +"**Fixed** issue `#779 `_. " +"Fixed typo" +msgstr "" + +#: ../../../changes.txt:1783 52e2c5d1e3734d0b9c1eafeea70502c0 +msgid "" +"**Added** an option to set the desired line height for text boxes. " +"Implements `#804 `_." +msgstr "" + +#: ../../../changes.txt:1784 8a89dd2499fa4288aa2e4376409bc950 +msgid "" +"**Changed** text position retrieval to better cope with Tesseract's " +"glyphless font. Implements `#803 " +"`_." +msgstr "" + +#: ../../../changes.txt:1785 1c3abaa13d464f07839341b87f7b065c +msgid "" +"**Added** an option to choose the prefix of new annotations, fields and " +"links for providing unique annotation ids. Implements request `#807 " +"`_." +msgstr "" + +#: ../../../changes.txt:1786 705f241926b94e4faed825b90187d9a8 +msgid "" +"**Added** getting and setting color and text properties for Table of " +"Contents items for PDFs. Implements `#779 " +"`_." +msgstr "" + +#: ../../../changes.txt:1787 f290b3e394a643ef92eb166d6ac700ba +msgid "" +"**Added** PDF page label handling: :meth:`Page.get_label()` returns the " +"page label, :meth:`Document.get_page_numbers` return all page numbers " +"having a specified label, and :meth:`Document.set_page_labels` adds or " +"updates a PDF's page label definition." +msgstr "" + +#: ../../../changes.txt:1792 204e52071aeb4560ad583594170382fc +msgid "" +"This version introduces **Python type hinting**. The goal is to provide " +"each parameter and the return value of all functions and methods with " +"type information. This still is work in progress although the majority of" +" functions has already been handled." +msgstr "" + +#: ../../../changes.txt:1797 ff861662db5c4fe985c61a23a602d0ab +msgid "**Changes in Version 1.18.5**" +msgstr "" + +#: ../../../changes.txt:1799 8972338cdcc14af3a7644a3dcddf69e2 +msgid "" +"Apart from several fixes, this version also focusses on several minor, " +"but important feature improvements. Among the latter is a more precise " +"computation of proper line heights and insertion points for writing / " +"inserting text. As opposed to using font-agnostic constants, these values" +" are now taken from the font's properties." +msgstr "" + +#: ../../../changes.txt:1801 f9a9d31367f946218578af60d466b702 +msgid "" +"Also note that this is the first version which does no longer provide " +"pregenerated wheels for Python versions older than 3.6. PIP also " +"discontinues support for these by end of this year 2020." +msgstr "" + +#: ../../../changes.txt:1803 93396822ddee484c904221f0e650bb40 +msgid "" +"**Fixed** issue `#771 `_. " +"By using \"small glyph heights\" option, the full page text can be " +"extracted." +msgstr "" + +#: ../../../changes.txt:1804 4283660ecb4e497a8d5f66c223269138 +msgid "**Fixed** issue `#768 `_." +msgstr "" + +#: ../../../changes.txt:1805 cb94c9971f18482b8a6116bac1e91eda +msgid "**Fixed** issue `#750 `_." +msgstr "" + +#: ../../../changes.txt:1806 0f4ccdc52d33496780a6883b3eac2040 +msgid "" +"**Fixed** issue `#739 `_. " +"The \"dict\", \"rawdict\" and corresponding JSON output variants now have" +" two new *span* keys: ``\"ascender\"`` and ``\"descender\"``. These " +"floats represent special font properties which can be used to compute " +"bboxes of spans or characters of **exactly fontsize height** (as opposed " +"to the default line height). An example algorithm is shown in section " +"\"Span Dictionary\" `here " +"`_. Also improved the " +"detection and correction of ill-specified ascender / descender values " +"encountered in some fonts." +msgstr "" + +#: ../../../changes.txt:1807 46d09243233b47bfabfb624aabe62a7f +msgid "" +"**Added** a new, experimental :meth:`Tools.set_small_glyph_heights` -- " +"also in response to issue `#739 " +"`_. This method sets or " +"unsets a global parameter to **always compute bboxes with fontsize " +"height**. If \"on\", text searching and all text extractions will " +"returned rectangles, bboxes and quads with a smaller height." +msgstr "" + +#: ../../../changes.txt:1808 2348f09c087f4e77a9552300a273b2f9 +msgid "**Fixed** issue `#728 `_." +msgstr "" + +#: ../../../changes.txt:1809 24ffb89f8a2847978a993810a34d9d8e +msgid "" +"**Changed** fill color logic of 'Polyline' annotations: this parameter " +"now only pertains to line end symbols -- the annotation itself can no " +"longer have a fill color. Also addresses issue `#727 " +"`_." +msgstr "" + +#: ../../../changes.txt:1810 d11988b7d91c474394a305026cbdac36 +msgid "" +"**Changed** :meth:`Page.getImageBbox` to also compute the bbox if the " +"image is contained in an XObject." +msgstr "" + +#: ../../../changes.txt:1811 92be2318a74e44bcbfe6d9d124cc6944 +msgid "" +"**Changed** :meth:`Shape.insertTextbox`, resp. " +":meth:`Page.insertTextbox`, resp. :meth:`TextWriter.fillTextbox` to " +"respect font's properties \"ascender\" / \"descender\" when computing " +"line height and insertion point. This should no longer lead to line " +"overlaps for multi-line output. These methods used to ignore font " +"specifics and used constant values instead." +msgstr "" + +#: ../../../changes.txt:1816 726b3c851a2742a08174e040daa6b3fc +msgid "**Changes in Version 1.18.4**" +msgstr "" + +#: ../../../changes.txt:1818 0669695e181f46b8b1d1c44f84c7cc1e +msgid "" +"This version adds several features to support PDF Optional Content. Among" +" other things, this includes OCMDs (Optional Content Membership " +"Dictionaries) with the full scope of *\"visibility expressions\"* (PDF " +"key ``/VE``), text insertions (including the :ref:`TextWriter` class) and" +" drawings." +msgstr "" + +#: ../../../changes.txt:1820 298b682a9c8e4b17b5d9c2763ce13305 +msgid "" +"**Fixed** issue `#727 `_. " +"Freetext annotations now support an uncolored rectangle when " +"``fill_color=None``." +msgstr "" + +#: ../../../changes.txt:1821 2e4c66207d0441dd87fc8dee4d8db80f +msgid "" +"**Fixed** issue `#726 `_. " +"UTF-8 encoding errors are now handled for HTML / XML :meth:`Page.getText`" +" output." +msgstr "" + +#: ../../../changes.txt:1822 e3ea52520ca74100aa5db3c1a47bcb22 +msgid "" +"**Fixed** issue `#724 `_. " +"Empty values are no longer stored in the PDF /Info metadata dictionary." +msgstr "" + +#: ../../../changes.txt:1823 a76c87f209e9404ea2a27260f984c079 +msgid "" +"**Added** new methods :meth:`Document.set_oc` and :meth:`Document.get_oc`" +" to set or get optional content references for **existing** image and " +"form XObjects. These methods are similar to the same-named methods of " +":ref:`Annot`." +msgstr "" + +#: ../../../changes.txt:1824 6ae1cf58b5734e2db334370bae53194f +msgid "" +"**Added** :meth:`Document.set_ocmd`, :meth:`Document.get_ocmd` for " +"handling OCMDs." +msgstr "" + +#: ../../../changes.txt:1825 02c47a051f444e57a07a5c2cc00d8ece +msgid "**Added** **Optional Content** support for text insertion and drawing." +msgstr "" + +#: ../../../changes.txt:1826 033f5fd3092446d89a8b4be25eaf8fa5 +msgid "" +"**Added** new method :meth:`Page.deleteWidget`, which deletes a form " +"field from a page. This is analogous to deleting annotations." +msgstr "" + +#: ../../../changes.txt:1827 f3f7aabfa367473eb2a71dd0d3b0c8ef +msgid "" +"**Added** support for Popup annotations. This includes defining the Popup" +" rectangle and setting the Popup to open or closed. Methods / attributes " +":meth:`Annot.set_popup`, :meth:`Annot.set_open`, :attr:`Annot.has_popup`," +" :attr:`Annot.is_open`, :attr:`Annot.popup_rect`, " +":attr:`Annot.popup_xref`." +msgstr "" + +#: ../../../changes.txt:1831 fff305ae1bfa4fa7a3b33de7de989103 +msgid "" +"The **naming of methods and attributes** in PyMuPDF is far from being " +"satisfactory: we have *CamelCases*, *mixedCases* and " +"*lower_case_with_underscores* all over the place. With the :ref:`Annot` " +"as the first candidate, we have started an activity to clean this up step" +" by step, converting to lower case with underscores for methods and " +"attributes while keeping UPPERCASE for the constants." +msgstr "" + +#: ../../../changes.txt:1833 5a5df8a85edd445a9168a3050257beb0 +msgid "" +"Old names will remain available to prevent code breaks, but they will no " +"longer be mentioned in the documentation." +msgstr "" + +#: ../../../changes.txt:1834 d9dd3ce555be40288946b5c7b8684d7d +msgid "" +"New methods and attributes of all classes will be named according to the " +"new standard." +msgstr "" + +#: ../../../changes.txt:1838 8d1aa669d43242329cb1e644baaea966 +msgid "**Changes in Version 1.18.3**" +msgstr "" + +#: ../../../changes.txt:1840 0cc7942ae4f54d4698a56df9bcfc4df1 +msgid "" +"As a major new feature, this version introduces support for PDF's " +"**Optional Content** concept." +msgstr "" + +#: ../../../changes.txt:1842 eba5a3b05af340fd8d30d56d8053156a +msgid "**Fixed** issue `#714 `_." +msgstr "" + +#: ../../../changes.txt:1843 e0d1304eda394d6a88565ba84484d6fe +msgid "**Fixed** issue `#711 `_." +msgstr "" + +#: ../../../changes.txt:1844 bc199ec49e1945f1947218cd0c858828 +msgid "" +"**Fixed** issue `#707 `_: " +"if a PDF user password, but no owner password is supplied nor present, " +"then the user password is also used as the owner password." +msgstr "" + +#: ../../../changes.txt:1845 1e99eff725e24f2f91fffda242611187 +msgid "" +"**Fixed** ``expand`` and ``deflate`` parameters of methods " +":meth:`Document.save` and :meth:`Document.write`. Individual image and " +"font compression should now finally work. Addresses issue `#713 " +"`_." +msgstr "" + +#: ../../../changes.txt:1846 c7dbcce5af3f4805bc0bff4a3aa999c8 +msgid "" +"**Added** a support of PDF optional content. This includes several new " +":ref:`Document` methods for inquiring and setting optional content status" +" and adding optional content configurations and groups. In addition, " +"images, form XObjects and annotations now can be bound to optional " +"content specifications. **Resolved** issue `#709 " +"`_." +msgstr "" + +#: ../../../changes.txt:1852 7005feac30d44416a7ae56c3c62aa421 +msgid "**Changes in Version 1.18.2**" +msgstr "" + +#: ../../../changes.txt:1854 2557dd6711e74c5687da189106d7b072 +msgid "" +"This version contains some interesting improvements for text searching: " +"any number of search hits is now returned and the **hit_max** parameter " +"was removed. The new **clip** parameter in addition allows to restrict " +"the search area. Searching now detects hyphenations at line breaks and " +"accordingly finds hyphenated words." +msgstr "" + +#: ../../../changes.txt:1856 f5a9d7fa7c5b434388c99b444417932e +msgid "" +"**Fixed** issue `#575 `_: " +"if using ``quads=False`` in text searching, then overlapping rectangles " +"on the same line are joined. Previously, parts of the search string, " +"which belonged to different \"marked content\" items, each generated " +"their own rectangle -- just as if occurring on separate lines." +msgstr "" + +#: ../../../changes.txt:1857 fa0f315fcdbb4aa7a85ebd875b0542b2 +msgid "" +"**Added** :attr:`Document.isRepaired`, which is true if the PDF was " +"repaired on open." +msgstr "" + +#: ../../../changes.txt:1858 29939ef23137444db25656ddb5c2a50b +msgid "" +"**Added** :meth:`Document.setXmlMetadata` which either updates or creates" +" PDF XML metadata. Implements issue `#691 " +"`_." +msgstr "" + +#: ../../../changes.txt:1859 be99f9d509a84865a76d789e59d88508 +msgid "**Added** :meth:`Document.getXmlMetadata` returns PDF XML metadata." +msgstr "" + +#: ../../../changes.txt:1860 b5792e748a424e2f81526972850dbdf9 +msgid "" +"**Changed** creation of PDF documents: they will now always carry a PDF " +"identification (``/ID`` field) in the document trailer. Implements issue " +"`#691 `_." +msgstr "" + +#: ../../../changes.txt:1861 66eda59a33aa45ee88d7c201c85dfd3a +msgid "" +"**Changed** :meth:`Page.searchFor`: a new parameter ``clip`` is accepted " +"to restrict the search to this rectangle. Correspondingly, the attribute " +":attr:`TextPage.rect` is now respected by :meth:`TextPage.search`." +msgstr "" + +#: ../../../changes.txt:1862 40efc3861a01468ba0b65c1950845cde +msgid "" +"**Changed** parameter ``hit_max`` in :meth:`Page.searchFor` and " +":meth:`TextPage.search` is now obsolete: methods will return all hits." +msgstr "" + +#: ../../../changes.txt:1863 52c4e18a02684b35894a335001e4b449 +msgid "" +"**Changed** character **selection criteria** in :meth:`Page.getText`: a " +"character is now considered to be part of a ``clip`` if its bbox is fully" +" contained. Before this, a non-empty intersection was sufficient." +msgstr "" + +#: ../../../changes.txt:1864 b05dff665c9644849dfb39e3b881dc36 +msgid "" +"**Changed** :meth:`Document.scrub` to support a new option " +"`redact_images`. This addresses issue `#697 " +"`_." +msgstr "" + +#: ../../../changes.txt:1869 dcb97ced9507410d944ce850f20740d7 +msgid "**Changes in Version 1.18.1**" +msgstr "" + +#: ../../../changes.txt:1871 ba246f3cc40a4c189c06444a474f03c8 +msgid "" +"**Fixed** issue `#692 `_. " +"PyMuPDF now detects and recovers from more cyclic resource dependencies " +"in PDF pages and for the first time reports them in the MuPDF warnings " +"store." +msgstr "" + +#: ../../../changes.txt:1872 5ea166e77dfd422487491dc7989ac87b +msgid "**Fixed** issue `#686 `_." +msgstr "" + +#: ../../../changes.txt:1873 24c8bae3003740b3b7ef2f1245674d54 +msgid "" +"**Added** opacity options for the :ref:`Shape` class: Stroke and fill " +"colors can now be set to some transparency value. This means that all " +":ref:`Page` draw methods, methods :meth:`Page.insertText`, " +":meth:`Page.insertTextbox`, :meth:`Shape.finish`, " +":meth:`Shape.insertText`, and :meth:`Shape.insertTextbox` support two new" +" parameters: *stroke_opacity* and *fill_opacity*." +msgstr "" + +#: ../../../changes.txt:1874 0eab763d4bde434c99750d05c7744be8 +msgid "" +"**Added** new parameter ``mask`` to :meth:`Page.insertImage` for " +"optionally providing an external image mask. Resolves issue `#685 " +"`_." +msgstr "" + +#: ../../../changes.txt:1875 d7eb84e2b45346e9805c75ed708951db +msgid "" +"**Added** :meth:`Annot.soundGet` for extracting the sound of an audio " +"annotation." +msgstr "" + +#: ../../../changes.txt:1879 8a1eef562c944225a15aca32aa0a68d0 +msgid "**Changes in Version 1.18.0**" +msgstr "" + +#: ../../../changes.txt:1881 f828b2f6db734312b557796ab1a48396 +msgid "" +"This is the first PyMuPDF version supporting MuPDF v1.18. The focus here " +"is on extending PyMuPDF's own functionality -- apart from bug fixing. " +"Subsequent PyMuPDF patches may address features new in MuPDF." +msgstr "" + +#: ../../../changes.txt:1883 a9a5a178f719434b9bd31e65ea52f799 +msgid "" +"**Fixed** issue `#519 `_. " +"This upstream bug occurred occasionally for some pages only and seems to " +"be fixed now: page layout should no longer be ruined in these cases." +msgstr "" + +#: ../../../changes.txt:1885 532d4ce5429a41979de31fd798876926 +msgid "**Fixed** issue `#675 `_." +msgstr "" + +#: ../../../changes.txt:1887 4afda8086e88434b991c90a40f6b3c63 +msgid "" +"Unsuccessful storage allocations should now always lead to exceptions " +"(circumvention of an upstream bug intermittently crashing the " +"interpreter)." +msgstr "" + +#: ../../../changes.txt:1888 9b95a7d89275404592c843e6e1a69d20 +msgid "" +":ref:`Pixmap` size is now based on ``size_t`` instead of ``int`` in C and" +" should be correct even for extremely large pixmaps." +msgstr "" + +#: ../../../changes.txt:1890 50d1e348ab4a420e82ff6163e457c791 +msgid "" +"**Fixed** issue `#668 `_. " +"Specification of dashes for PDF drawing insertion should now correctly " +"reflect the PDF spec." +msgstr "" + +#: ../../../changes.txt:1891 e2c585c3927446b58b695299aacefa37 +msgid "" +"**Fixed** issue `#669 `_. " +"A major source of memory leakage in :meth:`Page.insert_pdf` has been " +"removed." +msgstr "" + +#: ../../../changes.txt:1892 21f99d039e0b406ba748fa27b51b61ab +msgid "" +"**Added** keyword *\"images\"* to :meth:`Page.apply_redactions` for fine-" +"controlling the handling of images." +msgstr "" + +#: ../../../changes.txt:1893 06f2d99671fb4a4693ac550bbe174f39 +msgid "" +"**Added** :meth:`Annot.getText` and :meth:`Annot.getTextbox`, which offer" +" the same functionality as the :ref:`Page` versions." +msgstr "" + +#: ../../../changes.txt:1894 cc38d6a9295a4baabbe0fa91a8729818 +msgid "" +"**Added** key *\"number\"* to the block dictionaries of " +":meth:`Page.getText` / :meth:`Annot.getText` for options \"dict\" and " +"\"rawdict\"." +msgstr "" + +#: ../../../changes.txt:1895 95b81b00ad5f4f67abab2d83e62fa830 +msgid "" +"**Added** :meth:`glyph_name_to_unicode` and " +":meth:`unicode_to_glyph_name`. Both functions do not really connect to a " +"specific font and are now independently available, too. The data are now " +"based on the `Adobe Glyph List `_." +msgstr "" + +#: ../../../changes.txt:1896 3435f8b2d002434ea2961e3bfa9e9ef5 +msgid "" +"**Added** convenience functions :meth:`adobe_glyph_names` and " +":meth:`adobe_glyph_unicodes` which return the respective available data." +msgstr "" + +#: ../../../changes.txt:1897 46734bcd601a4c10b224d8af13288ece +msgid "" +"**Added** :meth:`Page.getDrawings` which returns details of drawing " +"operations on a document page. Works for all document types." +msgstr "" + +#: ../../../changes.txt:1898 0a520f7de35d43a992a69aaff5c5b428 +msgid "" +"Improved performance of :meth:`Document.insert_pdf`. Multiple object " +"copies are now also suppressed across multiple separate insertions from " +"the same source. This saves time, memory and target file size. Previously" +" this mechanism was only active within each single method execution. The " +"feature can also be suppressed with the new method bool parameter " +"*final=1*, which is the default." +msgstr "" + +#: ../../../changes.txt:1899 61af4c935234421da5ee00ff3ad32977 +msgid "" +"For PNG images created from pixmaps, the resolution (dpi) is now " +"automatically set from the respective :attr:`Pixmap.xres` and " +":attr:`Pixmap.yres` values." +msgstr "" + +#: ../../../changes.txt:1904 5787bf266f7743eba6c3ad62840101c8 +msgid "**Changes in Version 1.17.7**" +msgstr "" + +#: ../../../changes.txt:1906 fe5734ffddc1440683824cf9eaeb5f6e +msgid "" +"**Fixed** issue `#651 `_. " +"An upstream bug causing interpreter crashes in corner case redaction " +"processings was fixed by backporting MuPDF changes from their development" +" repo." +msgstr "" + +#: ../../../changes.txt:1907 ebc978213c4446bba6ca783ac6fc99e5 +msgid "" +"**Fixed** issue `#645 `_. " +"Pixmap top-left coordinates can be set (again) by their own method, " +":meth:`Pixmap.set_origin`." +msgstr "" + +#: ../../../changes.txt:1908 28e1c70a439943fb93756b8877d3f067 +msgid "" +"**Fixed** issue `#622 `_. " +":meth:`Page.insertImage` again accepts a :data:`rect_like` parameter." +msgstr "" + +#: ../../../changes.txt:1909 878ea74492ff47559c0f731484ecd4c7 +msgid "" +"**Added** several new methods to improve and speed-up table of contents " +"(TOC) handling. Among other things, TOC items can now changed or deleted " +"individually -- without always replacing the complete TOC. Furthermore, " +"access to some PDF page attributes is now possible without first " +"**loading** the page. This has a very significant impact on the " +"performance of TOC manipulation." +msgstr "" + +#: ../../../changes.txt:1910 4808333e353f4b9d9eb4c65d42a50c6d +msgid "" +"**Added** an option to :meth:`Document.insert_pdf` which allows " +"displaying progress messages. Addresses `#640 " +"`_." +msgstr "" + +#: ../../../changes.txt:1911 16de294b58a64f549ba7bd27e208d30b +msgid "" +"**Added** :meth:`Page.getTextbox` which extracts text contained in a " +"rectangle. In many cases, this should obsolete writing your own script " +"for this type of thing." +msgstr "" + +#: ../../../changes.txt:1912 9711b2846e2c49f3bb6c283d0b1d9d67 +msgid "" +"**Added** new ``clip`` parameter to :meth:`Page.getText` to simplify and " +"speed up text extraction of page sub areas." +msgstr "" + +#: ../../../changes.txt:1913 8376ab0f05934f11b21f7fe154f09584 +msgid "" +"**Added** :meth:`TextWriter.appendv` to add text in **vertical write " +"mode**. Addresses issue `#653 " +"`_" +msgstr "" + +#: ../../../changes.txt:1918 bd8548ec9f5e41a8ad54094881be2323 +msgid "**Changes in Version 1.17.6**" +msgstr "" + +#: ../../../changes.txt:1920 d2312ab353dc4344a3ef174e63c10207 +msgid "**Fixed** issue `#605 `_" +msgstr "" + +#: ../../../changes.txt:1921 d52cabcacf8e4c7b8f280b8bb95e5d14 +msgid "" +"**Fixed** issue `#600 `_ " +"-- text should now be correctly positioned also for pages with a CropBox " +"smaller than MediaBox." +msgstr "" + +#: ../../../changes.txt:1922 84afef0f9451476d83841dc61e1ae4d6 +msgid "" +"**Added** text span dictionary key ``origin`` which contains the lower " +"left coordinate of the first character in that span." +msgstr "" + +#: ../../../changes.txt:1923 c2104decab38443f85a9f4afbcf59e5f +msgid "**Added** attribute :attr:`Font.buffer`, a *bytes* copy of the font file." +msgstr "" + +#: ../../../changes.txt:1924 3b8f869df37e4187b691a5636fabbcc4 +msgid "" +"**Added** parameter *sanitize* to :meth:`Page.cleanContents`. Allows " +"switching of sanitization, so only syntax cleaning will be done." +msgstr "" + +#: ../../../changes.txt:1928 79b5769975fc461580fc75e187439f1a +msgid "**Changes in Version 1.17.5**" +msgstr "" + +#: ../../../changes.txt:1930 c3dee94cf9eb4f8c9c29a712da46feee +msgid "" +"**Fixed** issue `#561 `_ " +"-- second go: certain :ref:`TextWriter` usages with many alternating " +"fonts did not work correctly." +msgstr "" + +#: ../../../changes.txt:1931 b1cd45be4c3e414b9a31943b87ffa257 +msgid "**Fixed** issue `#566 `_." +msgstr "" + +#: ../../../changes.txt:1932 c4be58f459d54570a15caabfa48b2fea +msgid "**Fixed** issue `#568 `_." +msgstr "" + +#: ../../../changes.txt:1933 a3a69f69f7e446d190a422fd95946055 +msgid "" +"**Fixed** -- opacity is now correctly taken from the :ref:`TextWriter` " +"object, if not given in :meth:`TextWriter.writeText`." +msgstr "" + +#: ../../../changes.txt:1934 60e36a0e76204fc39ca63f66c0e017f0 +msgid "" +"**Added** a new global attribute :attr:`fitz_fontdescriptors`. Contains " +"information about usable fonts from repository `pymupdf-fonts " +"`_." +msgstr "" + +#: ../../../changes.txt:1935 c5bbfe6d1dfc44bea3cf4c3d67f6d27d +msgid "" +"**Added** :meth:`Font.valid_codepoints` which returns an array of unicode" +" codepoints for which the font has a glyph." +msgstr "" + +#: ../../../changes.txt:1936 d2abd73772384a31a507c1e1d6f4988b +msgid "" +"**Added** option ``text_as_path`` to :meth:`Page.getSVGimage`. this " +"implements `#580 `_. " +"Generates much smaller SVG files with parseable text if set to *False*." +msgstr "" + +#: ../../../changes.txt:1941 0214e36149a247f698e38dfd899ff4fb +msgid "**Changes in Version 1.17.4**" +msgstr "" + +#: ../../../changes.txt:1943 e333e2461114401ea23d111aa11cbe48 +msgid "" +"**Fixed** issue `#561 `_. " +"Handling of more than 10 :ref:`Font` objects on one page should now work " +"correctly." +msgstr "" + +#: ../../../changes.txt:1944 3dc7e6c23bdb4fa2af06fa690d6c50e1 +msgid "" +"**Fixed** issue `#562 `_. " +"Annotation pixmaps are no longer derived from the page pixmap, thus " +"avoiding unintended inclusion of page content." +msgstr "" + +#: ../../../changes.txt:1945 598609fee1c2419f8f22dd734d9e4621 +msgid "" +"**Fixed** issue `#559 `_. " +"This **MuPDF** bug is being temporarily fixed with a pre-version of " +"MuPDF's next release." +msgstr "" + +#: ../../../changes.txt:1946 2b01a159631746d0b9e27d2f4ee7f2f3 +msgid "" +"**Added** utility function :meth:`repair_mono_font` for correcting " +"displayed character spacing for some mono-spaced fonts." +msgstr "" + +#: ../../../changes.txt:1947 d63409b0745449c5b326f78fcbdb243d +msgid "" +"**Added** utility method :meth:`Document.need_appearances` for fine-" +"controlling Form PDF behavior. Addresses issue `#563 " +"`_." +msgstr "" + +#: ../../../changes.txt:1948 261813b8c1164f85bd099615986583b1 +msgid "" +"**Added** utility function :meth:`sRGB_to_pdf` to recover the PDF color " +"triple for a given color integer in sRGB format." +msgstr "" + +#: ../../../changes.txt:1949 087525d5979d4e88b699951008f083cd +msgid "" +"**Added** utility function :meth:`sRGB_to_rgb` to recover the (R, G, B) " +"color triple for a given color integer in sRGB format." +msgstr "" + +#: ../../../changes.txt:1950 dfce06d94de945d298f54486d626b557 +msgid "" +"**Added** utility function :meth:`make_table` which delivers table cells " +"for a given rectangle and desired numbers of columns and rows." +msgstr "" + +#: ../../../changes.txt:1951 a5085ba0096648a5abdb1bac873f8a91 +msgid "" +"**Added** support for optional fonts in repository `pymupdf-fonts " +"`_." +msgstr "" + +#: ../../../changes.txt:1955 6035ab0f4f8f4c22b602c2975ca7a9bb +msgid "**Changes in Version 1.17.3**" +msgstr "" + +#: ../../../changes.txt:1957 dd9eec4fdfa74a648a0ddfffafa83372 +msgid "" +"**Fixed** an undocumented issue, which prevented fully cleaning a PDF " +"page when using :meth:`Page.cleanContents`." +msgstr "" + +#: ../../../changes.txt:1958 0847e901e54e42ab97132b411ad8703a +msgid "" +"**Fixed** issue `#540 `_. " +"Text extraction for EPUB should again work correctly." +msgstr "" + +#: ../../../changes.txt:1959 14b815222173483085dcc120dceb9f9b +msgid "" +"**Fixed** issue `#548 `_. " +"Documentation now includes ``LINK_NAMED``." +msgstr "" + +#: ../../../changes.txt:1960 f5eb1a9ec46e48479fef6e71d0ce3f21 +msgid "" +"**Added** new parameter to control start of text in " +":meth:`TextWriter.fillTextbox`. Implements `#549 " +"`_." +msgstr "" + +#: ../../../changes.txt:1961 67cf556f751344f683f697a61d518948 +msgid "" +"**Changed** documentation of :meth:`Page.add_redact_annot` to explain the" +" usage of non-builtin fonts." +msgstr "" + +#: ../../../changes.txt:1965 cc0c58ad8b0b41eda4f8e5716f2b16a8 +msgid "**Changes in Version 1.17.2**" +msgstr "" + +#: ../../../changes.txt:1967 c27ffc8eec8040018fa36d5790749cec +msgid "**Fixed** issue `#533 `_." +msgstr "" + +#: ../../../changes.txt:1968 27350a32fc7840bb8591f6081f20d94d +msgid "" +"**Added** options to modify 'Redact' annotation appearance. Implements " +"`#535 `_." +msgstr "" + +#: ../../../changes.txt:1973 b8bea379222d4215963ee2eb2ffa9049 +msgid "**Changes in Version 1.17.1**" +msgstr "" + +#: ../../../changes.txt:1975 60814804b9f84f3d8b98c3cf2dc5f20c +msgid "**Fixed** issue `#520 `_." +msgstr "" + +#: ../../../changes.txt:1976 9c3b1af133ad4aa9a4f08296f7affa70 +msgid "" +"**Fixed** issue `#525 `_. " +"Vertices for 'Ink' annots should now be correct." +msgstr "" + +#: ../../../changes.txt:1977 98b1d51b954b4c56bebe479ae1c44fdb +msgid "" +"**Fixed** issue `#524 `_. " +"It is now possible to query and set rotation for applicable annotation " +"types." +msgstr "" + +#: ../../../changes.txt:1979 465b318c922644768dbf6d5a01328404 +msgid "" +"Also significantly improved inline documentation for better support of " +"interactive help." +msgstr "" + +#: ../../../changes.txt:1983 5cd63263f85a4783a6ccfc029201386b +msgid "**Changes in Version 1.17.0**" +msgstr "" + +#: ../../../changes.txt:1985 b87f5b93bd9b48eeb6c65b06340048e4 +msgid "" +"This version is based on MuPDF v1.17. Following are highlights of new and" +" changed features:" +msgstr "" + +#: ../../../changes.txt:1987 b2f1ba6ba94140b98e5cc0fe7a3faa3b +msgid "" +"**Added** extended language support for annotations and widgets: a " +"mixture of Latin, Greece, Russian, Chinese, Japanese and Korean " +"characters can now be used in 'FreeText' annotations and text widgets. No" +" special arrangement is required to use it." +msgstr "" + +#: ../../../changes.txt:1989 e733e136ba8c438db34aca4bb17fc4ef +msgid "" +"Faster page access is implemented for documents supporting a \"chapter\" " +"structure. This applies to EPUB documents currently. This comes with " +"several new :ref:`Document` methods and changes for " +":meth:`Document.loadPage` and the \"indexed\" page access *doc[n]*: In " +"addition to specifying a page number as before, a tuple *(chapter, pno)* " +"can be specified to identify the desired page." +msgstr "" + +#: ../../../changes.txt:1991 971b877040f248cdba6abf69baeef371 +msgid "" +"**Changed:** Improved support of redaction annotations: images overlapped" +" by redactions are **permanently modified** by erasing the overlap areas." +" Also links are removed if overlapped by redactions. This is now fully in" +" sync with PDF specifications." +msgstr "" + +#: ../../../changes.txt:1995 b49d2e2fb4e447e1b521a7c628189360 +msgid "" +"**Changed** :meth:`TextWriter.writeText` to support the *\"morph\"* " +"parameter." +msgstr "" + +#: ../../../changes.txt:1996 3fc9ed296a4f4010832533bc9a26128c +msgid "" +"**Added** methods :meth:`Rect.morph`, :meth:`IRect.morph`, and " +":meth:`Quad.morph`, which return a new :ref:`Quad`." +msgstr "" + +#: ../../../changes.txt:1997 b20b08f09a414edaacd286b8f526b6f8 +msgid "" +"**Changed** :meth:`Page.add_freetext_annot` to support text alignment via" +" a new *\"align\"* parameter." +msgstr "" + +#: ../../../changes.txt:1998 2361ff8be9cc46e1b8f08ddefa02efae +msgid "" +"**Fixed** issue `#508 `_. " +"Improved image rectangle calculation to hopefully deliver correct values " +"in most if not all cases." +msgstr "" + +#: ../../../changes.txt:1999 236cc95410f34fcc89f66e66388bfb9b +msgid "**Fixed** issue `#502 `_." +msgstr "" + +#: ../../../changes.txt:2000 b1667139e4fd40a187d32b0c93485b50 +msgid "" +"**Fixed** issue `#500 `_. " +":meth:`Document.convertToPDF` should no longer cause memory leaks." +msgstr "" + +#: ../../../changes.txt:2001 08f135a6cd9f48d68424126027bef590 +msgid "" +"**Fixed** issue `#496 `_. " +"Annotations and widgets / fields are now added or modified using the " +"coordinates of the **unrotated page**. This behavior is now in sync with " +"other methods modifying PDF pages." +msgstr "" + +#: ../../../changes.txt:2002 0129ba9864fa48e3b4ddbc7f32269fc2 +msgid "" +"**Added** :attr:`Page.rotationMatrix` and :attr:`Page.derotationMatrix` " +"to support coordinate transformations between the rotated and the " +"original versions of a PDF page." +msgstr "" + +#: ../../../changes.txt:2004 35a97c98b52e49278109e56b99107387 +msgid "Potential code breaking changes:" +msgstr "" + +#: ../../../changes.txt:2006 1a3fbe2084e24a759582e9aa05cc4591 +msgid "" +"The private method ``Page._getTransformation()`` has been removed. Use " +"the public :attr:`Page.transformationMattrix` instead." +msgstr "" + +#: ../../../changes.txt:2011 f06ca5ab722a487f87a29410f2bb377a +msgid "**Changes in Version 1.16.18**" +msgstr "" + +#: ../../../changes.txt:2013 75fa0dcdb41144b680ec66bfd4a6bd1a +msgid "" +"This version introduces several new features around PDF text output. The " +"motivation is to simplify this task, while at the same time offering " +"extending features." +msgstr "" + +#: ../../../changes.txt:2015 13b1f23e60414710b4271079289007c0 +msgid "" +"One major achievement is using MuPDF's capabilities to dynamically " +"choosing fallback fonts whenever a character cannot be found in the " +"current one. This seamlessly works for Base-14 fonts in combination with " +"CJK fonts (China, Japan, Korea). So a text may contain **any combination " +"of characters** from the Latin, Greek, Russian, Chinese, Japanese and " +"Korean languages." +msgstr "" + +#: ../../../changes.txt:2017 6ffef279ab3d445ca46586a05c3e8d90 +msgid "" +"**Fixed** issue `#493 `_. " +"``Pixmap(doc, xref)`` should now again correctly resemble the loaded " +"image object." +msgstr "" + +#: ../../../changes.txt:2018 afdb0475290145d38834c612bbb45088 +msgid "" +"**Fixed** issue `#488 `_. " +"Widget names are now modifiable." +msgstr "" + +#: ../../../changes.txt:2019 141ce60e1fc44924a6cbdea1662c8a7d +msgid "**Added** new class :ref:`Font` which represents a font." +msgstr "" + +#: ../../../changes.txt:2020 819be8edbaf04a2ebe870b12436fdad6 +msgid "" +"**Added** new class :ref:`TextWriter` which serves as a container for " +"text to be written on a page." +msgstr "" + +#: ../../../changes.txt:2021 be45ac51b3d7415e8150584132c49a33 +msgid "" +"**Added** :meth:`Page.writeText` to write one or more :ref:`TextWriter` " +"objects to the page." +msgstr "" + +#: ../../../changes.txt:2026 c355f22137584b4cbab6f6354bd95bda +msgid "**Changes in Version 1.16.17**" +msgstr "" + +#: ../../../changes.txt:2029 f3f07b3f33cc44c5984500283eb306e1 +msgid "" +"**Fixed** issue `#479 `_. " +"PyMuPDF should now more correctly report image resolutions. This applies " +"to both, images (either from images files or extracted from PDF " +"documents) and pixmaps created from images." +msgstr "" + +#: ../../../changes.txt:2030 96daad3b07ac4308a44d307f62c89c50 +msgid "" +"**Added** :meth:`Pixmap.set_dpi` which sets the image resolution in x and" +" y directions." +msgstr "" + +#: ../../../changes.txt:2034 33fc9fed734a4bf4990dd592129e984c +msgid "**Changes in Version 1.16.16**" +msgstr "" + +#: ../../../changes.txt:2037 765ca3ee977d42678126cf84057b4e3d +msgid "**Fixed** issue `#477 `_." +msgstr "" + +#: ../../../changes.txt:2038 6240d3c9c41c46be9652ecabcbae2fbb +msgid "**Fixed** issue `#476 `_." +msgstr "" + +#: ../../../changes.txt:2039 d5cd872ddead486aa29ca5b255ba885e +msgid "" +"**Changed** annotation line end symbol coloring and fixed an error " +"coloring the interior of 'Polyline' /'Polygon' annotations." +msgstr "" + +#: ../../../changes.txt:2043 bb450a98e5e04667aed64c1004529927 +msgid "**Changes in Version 1.16.14**" +msgstr "" + +#: ../../../changes.txt:2046 3228fbb9e5b4467498da27f2ad55fe5b +msgid "" +"**Changed** text marker annotations to accept parameters beyond just " +"quadrilaterals such that now **text lines between two given points can be" +" marked**." +msgstr "" + +#: ../../../changes.txt:2048 a97e5cc2834a4e96b0ede1ad6db5c900 +msgid "" +"**Added** :meth:`Document.scrub` which **removes potentially sensitive " +"data** from a PDF. Implements `#453 " +"`_." +msgstr "" + +#: ../../../changes.txt:2050 2f3c7cef276444c480a491776e3ef6e8 +msgid "" +"**Added** :meth:`Annot.blendMode` which returns the **blend mode** of " +"annotations." +msgstr "" + +#: ../../../changes.txt:2052 866e4a88a77d48a1b7aafb511b41907c +msgid "" +"**Added** :meth:`Annot.setBlendMode` to set the annotation's blend mode. " +"This resolves issue `#416 " +"`_." +msgstr "" + +#: ../../../changes.txt:2053 501eb9ee56e84e60be74f5ba75eaecb4 +msgid "" +"**Changed** :meth:`Annot.update` to accept additional parameters for " +"setting blend mode and opacity." +msgstr "" + +#: ../../../changes.txt:2054 85b91d3af2b944e09ffc418872e3540e +msgid "" +"**Added** advanced graphics features to **control the anti-aliasing " +"values**, :meth:`Tools.set_aa_level`. Resolves `#467 " +"`_" +msgstr "" + +#: ../../../changes.txt:2056 60b4c208b1c04edc9d0cc75db8e9b3ab +msgid "**Fixed** issue `#474 `_." +msgstr "" + +#: ../../../changes.txt:2057 4f4fa5bbd4bb45dc965381d06a2c28e1 +msgid "**Fixed** issue `#466 `_." +msgstr "" + +#: ../../../changes.txt:2063 c2150d5e98ed4b29a8d7d0e0e049893a +msgid "**Changes in Version 1.16.13**" +msgstr "" + +#: ../../../changes.txt:2066 6ffa2c895b184d7c9579c04c5e72d6cc +msgid "" +"**Added** :meth:`Document.getPageXObjectList` which returns a list of " +"**Form XObjects** of the page." +msgstr "" + +#: ../../../changes.txt:2067 1ad5db1dcf4e406d84fe85e8ac783a34 +msgid "" +"**Added** :meth:`Page.setMediaBox` for changing the physical PDF page " +"size." +msgstr "" + +#: ../../../changes.txt:2068 dc4ffb1b3bba4dd7a2c0b5018278954e +msgid "" +"**Added** :ref:`Page` methods which have been internal before: " +":meth:`Page.cleanContents` (= :meth:`Page._cleanContents`), " +":meth:`Page.getContents` (= :meth:`Page._getContents`), " +":meth:`Page.getTransformation` (= :meth:`Page._getTransformation`)." +msgstr "" + +#: ../../../changes.txt:2074 0a926e1f6bb64ff4ab4b4fed8ea0ee89 +msgid "**Changes in Version 1.16.12**" +msgstr "" + +#: ../../../changes.txt:2076 6f5ea75220774bb684dc3fe1dbf48e9b +msgid "**Fixed** issue `#447 `_" +msgstr "" + +#: ../../../changes.txt:2077 71bac266ce3746019c6a08f26d3ec822 +msgid "**Fixed** issue `#461 `_." +msgstr "" + +#: ../../../changes.txt:2078 373fc96ec8a54dee8c321088ee944682 +msgid "**Fixed** issue `#397 `_." +msgstr "" + +#: ../../../changes.txt:2079 7cf9d00c4d19420abaaf8c58b10147a0 +msgid "**Fixed** issue `#463 `_." +msgstr "" + +#: ../../../changes.txt:2080 fe57fdfdfd8d4dbab5eed84540ad2c09 +msgid "" +"**Added** JavaScript support to PDF form fields, thereby fixing `#454 " +"`_." +msgstr "" + +#: ../../../changes.txt:2081 3eb09d62dd6044afa545088e6207f9f5 +msgid "" +"**Added** a new annotation method :meth:`Annot.delete_responses`, which " +"removes 'Popup' and response annotations referring to the current one. " +"Mainly serves data protection purposes." +msgstr "" + +#: ../../../changes.txt:2082 5c849834cfb14620809866c9ac0b1f25 +msgid "" +"**Added** a new form field method :meth:`Widget.reset`, which resets the " +"field value to its default." +msgstr "" + +#: ../../../changes.txt:2083 1d43ac4e7dcf4344b0dfdcf700f6d7a5 +msgid "" +"**Changed** and extended handling of redactions: images and XObjects are " +"removed if *contained* in a redaction rectangle. Any partial only " +"overlaps will just be covered by the redaction background color. Now an " +"*overlay* text can be specified to be inserted in the rectangle area to " +"**take the place the deleted original** text. This resolves `#434 " +"`_." +msgstr "" + +#: ../../../changes.txt:2087 d41286ba5ebd44c280d5f43f2c164594 +msgid "**Changes in Version 1.16.11**" +msgstr "" + +#: ../../../changes.txt:2089 74c14cc395804937832a051835d5fecb +msgid "" +"**Added** Support for redaction annotations via method " +":meth:`Page.add_redact_annot` and :meth:`Page.apply_redactions`." +msgstr "" + +#: ../../../changes.txt:2090 68b7efcedf5f4d94964ff855c1baaa83 +msgid "**Fixed** issue #426 (\"PolygonAnnotation in 1.16.10 version\")." +msgstr "" + +#: ../../../changes.txt:2091 247da6da5b67427fab1dc09bed47037f +msgid "" +"**Fixed** documentation only issues `#443 " +"`_ and `#444 " +"`_." +msgstr "" + +#: ../../../changes.txt:2095 ed5a70ba54b5438786c6e36834b30a3d +msgid "**Changes in Version 1.16.10**" +msgstr "" + +#: ../../../changes.txt:2097 9147f50e16864bfe9fc59b9c324a45ca +msgid "" +"**Fixed** issue #421 (\"annot.set_rect(rect) has no effect on text " +"Annotation\")" +msgstr "" + +#: ../../../changes.txt:2098 2a0e32d4811546f3a036844d15350182 +msgid "" +"**Fixed** issue #417 (\"Strange behavior for page.deleteAnnot on 1.16.9 " +"compare to 1.13.20\")" +msgstr "" + +#: ../../../changes.txt:2099 85979328a4bc4780a1adf5da1b2e3893 +msgid "**Fixed** issue #415 (\"Annot.setOpacity throws mupdf warnings\")" +msgstr "" + +#: ../../../changes.txt:2100 2419b5fdf6bd4e14bf9217b890caa587 +msgid "" +"**Changed** all \"add annotation / widget\" methods to store a unique " +"name in the */NM* PDF key." +msgstr "" + +#: ../../../changes.txt:2101 9d4a65a638864c41800994ff9674b45a +msgid "" +"**Changed** :meth:`Annot.setInfo` to also accept direct parameters in " +"addition to a dictionary." +msgstr "" + +#: ../../../changes.txt:2102 d7c062a9ce2e4526a3f42e875262dd86 +msgid "" +"**Changed** :attr:`Annot.info` to now also show the annotation's unique " +"id (*/NM* PDF key) if present." +msgstr "" + +#: ../../../changes.txt:2103 e8cff5d5c3c8451381b2fbccf05c6ad9 +msgid "" +"**Added** :meth:`Page.annot_names` which returns a list of all annotation" +" names (*/NM* keys)." +msgstr "" + +#: ../../../changes.txt:2104 9e3fa2fe09b54dc29528cfced4d8729f +msgid "" +"**Added** :meth:`Page.load_annot` which loads an annotation given its " +"unique id (*/NM* key)." +msgstr "" + +#: ../../../changes.txt:2105 f5d8b4dd62cf460a9126ea02f116c488 +msgid "" +"**Added** :meth:`Document.reload_page` which provides a new copy of a " +"page after finishing any pending updates to it." +msgstr "" + +#: ../../../changes.txt:2110 072a5e68ce9a45629a888405caa5a5d2 +msgid "**Changes in Version 1.16.9**" +msgstr "" + +#: ../../../changes.txt:2112 c18c92f84efa4cfa8b797880e17d8bcb +msgid "" +"**Fixed** #412 (\"Feature Request: Allow controlling whether TOC entries " +"should be collapsed\")" +msgstr "" + +#: ../../../changes.txt:2113 f9a9a45513f74bfa9a4747231296426f +msgid "**Fixed** #411 (\"Seg Fault with page.firstWidget\")" +msgstr "" + +#: ../../../changes.txt:2114 cbe0b8f39db641068257179e30232c1f +msgid "**Fixed** #407 (\"Annot.setOpacity trouble\")" +msgstr "" + +#: ../../../changes.txt:2115 c4b9b8f9ef874c7f88678471ea871da9 +msgid "" +"**Changed** methods :meth:`Annot.setBorder`, :meth:`Annot.setColors`, " +":meth:`Link.setBorder`, and :meth:`Link.setColors` to also accept direct " +"parameters, and not just cumbersome dictionaries." +msgstr "" + +#: ../../../changes.txt:2119 d0e24eb6d1f34da0aca34159c1e8309c +msgid "**Changes in Version 1.16.8**" +msgstr "" + +#: ../../../changes.txt:2121 78fe31bc2d304b78a7a2cec103ad3a86 +msgid "" +"**Added** several new methods to the :ref:`Document` class, which make " +"dealing with PDF low-level structures easier. I also decided to provide " +"them as \"normal\" methods (as opposed to private ones starting with an " +"underscore \"_\"). These are :meth:`Document.xrefObject`, " +":meth:`Document.xrefStream`, :meth:`Document.xrefStreamRaw`, " +":meth:`Document.PDFTrailer`, :meth:`Document.PDFCatalog`, " +":meth:`Document.metadataXML`, :meth:`Document.updateObject`, " +":meth:`Document.updateStream`." +msgstr "" + +#: ../../../changes.txt:2122 f907ccb57c184be2857e9e13341bcf7f +msgid "" +"**Added** :meth:`Tools.mupdf_disply_errors` which sets the display of " +"mupdf errors on *sys.stderr*." +msgstr "" + +#: ../../../changes.txt:2123 462c8d75060e4a88a09ea596464f5368 +msgid "" +"**Added** a commandline facility. This a major new feature: you can now " +"invoke several utility functions via *\"python -m fitz ...\"*. It should " +"obsolete the need for many of the most trivial scripts. Please refer to " +":ref:`Module`." +msgstr "" + +#: ../../../changes.txt:2128 4f1ac7ae88d343e886b0fc8edee75d46 +msgid "**Changes in Version 1.16.7**" +msgstr "" + +#: ../../../changes.txt:2130 59ec1afd2e0b4cd3a5dc260bd354751e +msgid "" +"Minor changes to better synchronize the binary image streams of " +":ref:`TextPage` image blocks and :meth:`Document.extractImage` images." +msgstr "" + +#: ../../../changes.txt:2132 ac25ec6537ba4e92aab44dcf172c4ba8 +msgid "" +"**Fixed** issue #394 (\"PyMuPDF Segfaults when using " +"TOOLS.mupdf_warnings()\")." +msgstr "" + +#: ../../../changes.txt:2133 d9b7bf416f824ce09246787bdda98e63 +msgid "" +"**Changed** redirection of MuPDF error messages: apart from writing them " +"to Python *sys.stderr*, they are now also stored with the MuPDF warnings." +msgstr "" + +#: ../../../changes.txt:2134 f40406dcc3f04e31b7a7a9805de02e42 +msgid "" +"**Changed** :meth:`Tools.mupdf_warnings` to automatically empty the store" +" (if not deactivated via a parameter)." +msgstr "" + +#: ../../../changes.txt:2135 2299c535d3cb4aa6a186707196175500 +msgid "" +"**Changed** :meth:`Page.getImageBbox` to return an **infinite rectangle**" +" if the image could not be located on the page -- instead of raising an " +"exception." +msgstr "" + +#: ../../../changes.txt:2140 bfbc4d7dee2442f3b0f015ea21421028 +msgid "**Changes in Version 1.16.6**" +msgstr "" + +#: ../../../changes.txt:2142 c28c263feaa6419cb63d73ad8209d28d +msgid "**Fixed** issue #390 (\"Incomplete deletion of annotations\")." +msgstr "" + +#: ../../../changes.txt:2143 c5219152f7854dc88d39a7689713a4a8 +msgid "" +"**Changed** :meth:`Page.searchFor` / :meth:`Document.searchPageFor` to " +"also support the *flags* parameter, which controls the data included in a" +" :ref:`TextPage`." +msgstr "" + +#: ../../../changes.txt:2144 21ea396db0a04f04ac4bf6146ab72b59 +msgid "" +"**Changed** :meth:`Document.getPageImageList`, " +":meth:`Document.getPageFontList` and their :ref:`Page` counterparts to " +"support a new parameter *full*. If true, the returned items will contain " +"the :data:`xref` of the *Form XObject* where the font or image is " +"referenced." +msgstr "" + +#: ../../../changes.txt:2148 69f333b42ed44c918c9378c6632bd3e2 +msgid "**Changes in Version 1.16.5**" +msgstr "" + +#: ../../../changes.txt:2150 9f2ab73d9d874b4784539e77ddee4f5b +msgid "More performance improvements for text extraction." +msgstr "" + +#: ../../../changes.txt:2152 fb2a1a0548f3424b8d89927d5f5047ee +msgid "**Fixed** second part of issue #381 (see item in v1.16.4)." +msgstr "" + +#: ../../../changes.txt:2153 3f0ac5e4286c4997836ff33e123dbaf4 +msgid "" +"**Added** :meth:`Page.getTextPage`, so it is no longer required to create" +" an intermediate display list for text extractions. Page level wrappers " +"for text extraction and text searching are now based on this, which " +"should improve performance by ca. 5%." +msgstr "" + +#: ../../../changes.txt:2157 9e9865f910ed4d4399d4dfbe3c3d0597 +msgid "**Changes in Version 1.16.4**" +msgstr "" + +#: ../../../changes.txt:2160 e7d84df2ad7448e1880d04a6a7858521 +msgid "" +"**Fixed** issue #381 (\"TextPage.extractDICT ... failed ... after " +"upgrading ... to 1.16.3\")" +msgstr "" + +#: ../../../changes.txt:2161 17ca6aae522d4d84a5b1c510ca445cc6 +msgid "" +"**Added** method :meth:`Document.pages` which delivers a generator " +"iterator over a page range." +msgstr "" + +#: ../../../changes.txt:2162 b2b7308c362b461bb878fcc1538a0c92 +msgid "" +"**Added** method :meth:`Page.links` which delivers a generator iterator " +"over the links of a page." +msgstr "" + +#: ../../../changes.txt:2163 765160822cdc4aa9b4b723db791c91b6 +msgid "" +"**Added** method :meth:`Page.annots` which delivers a generator iterator " +"over the annotations of a page." +msgstr "" + +#: ../../../changes.txt:2164 3eb7fc95d4214c22a621ccb900d1e490 +msgid "" +"**Added** method :meth:`Page.widgets` which delivers a generator iterator" +" over the form fields of a page." +msgstr "" + +#: ../../../changes.txt:2165 d91d637897d54651a998f7dc0d19dc08 +msgid "" +"**Changed** :attr:`Document.is_form_pdf` to now contain the number of " +"widgets, and *False* if not a PDF or this number is zero." +msgstr "" + +#: ../../../changes.txt:2170 c01be0ed23784665aa2ce10d9ee9e605 +msgid "**Changes in Version 1.16.3**" +msgstr "" + +#: ../../../changes.txt:2172 112fd892e91d4394b0bbd52b9a508533 +msgid "" +"Minor changes compared to version 1.16.2. The code of the \"dict\" and " +"\"rawdict\" variants of :meth:`Page.getText` has been ported to C which " +"has greatly improved their performance. This improvement is mostly " +"noticeable with text-oriented documents, where they now should execute " +"almost two times faster." +msgstr "" + +#: ../../../changes.txt:2174 529a6e2ef3a44e7496d36d3b262a6697 +msgid "" +"**Fixed** issue #369 (\"mupdf: cmsCreateTransform failed\") by removing " +"ICC colorspace support." +msgstr "" + +#: ../../../changes.txt:2175 d2e2ed462d9a420181f57a3bf178f0c7 +msgid "" +"**Changed** :meth:`Page.getText` to accept additional keywords \"blocks\"" +" and \"words\". These will deliver the results of " +":meth:`Page.getTextBlocks` and :meth:`Page.getTextWords`, respectively. " +"So all text extraction methods are now available via a uniform API. " +"Correspondingly, there are now new methods :meth:`TextPage.extractBLOCKS`" +" and :meth:`TextPage.extractWords`." +msgstr "" + +#: ../../../changes.txt:2176 1c333634e45449ce9b326aff470a6f28 +msgid "" +"**Changed** :meth:`Page.getText` to default bit indicator " +"*TEXT_INHIBIT_SPACES* to **off**. Insertion of additional spaces is **not" +" suppressed** by default." +msgstr "" + +#: ../../../changes.txt:2180 12e20189c1f143da88f1568d186c2402 +msgid "**Changes in Version 1.16.2**" +msgstr "" + +#: ../../../changes.txt:2182 5b0a0190d48d45a79172681a52191e85 +msgid "" +"**Changed** text extraction methods of :ref:`Page` to allow detail " +"control of the amount of extracted data." +msgstr "" + +#: ../../../changes.txt:2183 26cc0a7bee624a97a6c6ee19ee703703 +msgid "" +"**Added** :meth:`planish_line` which maps a given line (defined as a pair" +" of points) to the x-axis." +msgstr "" + +#: ../../../changes.txt:2184 b3df1c1be11846f9993b323a07181579 +msgid "" +"**Fixed** an issue (w/o Github number) which brought down the interpreter" +" when encountering certain non-UTF-8 encodable characters while using " +":meth:`Page.getText` with the \"dict\" option." +msgstr "" + +#: ../../../changes.txt:2185 e6ba0bd1a32e4b12891ded9326249a81 +msgid "**Fixed** issue #362 (\"Memory Leak with getText('rawDICT')\")." +msgstr "" + +#: ../../../changes.txt:2189 e9569fdba664447da20f33096718b92f +msgid "**Changes in Version 1.16.1**" +msgstr "" + +#: ../../../changes.txt:2191 dcc8cf6fc2384f3bb994e03b3a87c729 +msgid "" +"**Added** property :attr:`Quad.is_convex` which checks whether a line is " +"contained in the quad if it connects two points of it." +msgstr "" + +#: ../../../changes.txt:2192 cc61e8f19f5e488b8316b4e8235659f5 +msgid "" +"**Changed** :meth:`Document.insert_pdf` to now allow dropping or " +"including links and annotations independently during the copy. Fixes " +"issue #352 (\"Corrupt PDF data and ...\"), which seemed to intermittently" +" occur when using the method for some problematic PDF files." +msgstr "" + +#: ../../../changes.txt:2193 d407b04268d44237912c00860184f190 +msgid "" +"**Fixed** a bug which, in matrix division using the syntax *\"m1/m2\"*, " +"caused matrix *\"m1\"* to be **replaced** by the result instead of " +"delivering a new matrix." +msgstr "" + +#: ../../../changes.txt:2194 7817d3234a47487b971b3830ef28ec19 +msgid "" +"**Fixed** issue #354 (\"SyntaxWarning with Python 3.8\"). We now always " +"use *\"==\"* for literals (instead of the *\"is\"* Python keyword)." +msgstr "" + +#: ../../../changes.txt:2195 ec50e4c219bd4062ad4ed5c0dddaac86 +msgid "" +"**Fixed** issue #353 (\"mupdf version check\"), to no longer refuse the " +"import when there are only patch level deviations from MuPDF." +msgstr "" + +#: ../../../changes.txt:2201 97813723c7e74febb3697d506c0094da +msgid "**Changes in Version 1.16.0**" +msgstr "" + +#: ../../../changes.txt:2203 2c7908f042184d21a92a433a0dace8f2 +msgid "" +"This major new version of MuPDF comes with several nice new or changed " +"features. Some of them imply programming API changes, however. This is a " +"synopsis of what has changed:" +msgstr "" + +#: ../../../changes.txt:2205 a005bf6b6c26445f8a8e708efa7b1e6d +msgid "" +"PDF document encryption and decryption is now **fully supported**. This " +"includes setting **permissions**, **passwords** (user and owner " +"passwords) and the desired encryption method." +msgstr "" + +#: ../../../changes.txt:2206 f64056f6bc3f4c5c9e5716fd5b547a3b +msgid "" +"In response to the new encryption features, PyMuPDF returns an integer " +"(ie. a combination of bits) for document permissions, and no longer a " +"dictionary." +msgstr "" + +#: ../../../changes.txt:2207 12c5b87d97b548be96df9490e4a9b1f8 +msgid "" +"Redirection of MuPDF errors and warnings is now natively supported. " +"PyMuPDF redirects error messages from MuPDF to *sys.stderr* and no longer" +" buffers them. Warnings continue to be buffered and will not be " +"displayed. Functions exist to access and reset the warnings buffer." +msgstr "" + +#: ../../../changes.txt:2208 9ee23cc47bf54e33ac5b25ec8bd3a5b0 +msgid "Annotations are now **only supported for PDF**." +msgstr "" + +#: ../../../changes.txt:2209 043f8a35721a45789fc958c22ae0db05 +msgid "" +"Annotations and widgets (form fields) are now **separate object chains** " +"on a page (although widgets technically still **are** PDF annotations). " +"This means, that you will **never encounter widgets** when using " +":attr:`Page.firstAnnot` or :meth:`Annot.next`. You must use " +":attr:`Page.firstWidget` and :meth:`Widget.next` to access form fields." +msgstr "" + +#: ../../../changes.txt:2210 98ff046f99264c3aadf74240a8bc473d +msgid "" +"As part of MuPDF's changes regarding widgets, only the following four " +"fonts are supported, when **adding** or **changing** form fields: " +"**Courier, Helvetica, Times-Roman** and **ZapfDingBats**." +msgstr "" + +#: ../../../changes.txt:2212 c153729a2d494ff0ae2def2ff637078a +msgid "List of change details:" +msgstr "" + +#: ../../../changes.txt:2214 b23f45be6d7741b295688a68df3dab61 +msgid "" +"**Added** :meth:`Document.can_save_incrementally` which checks conditions" +" that are preventing use of option *incremental=True* of " +":meth:`Document.save`." +msgstr "" + +#: ../../../changes.txt:2215 f4ec8c96484849b498b2ccf6668ed972 +msgid "" +"**Added** :attr:`Page.firstWidget` which points to the first field on a " +"page." +msgstr "" + +#: ../../../changes.txt:2216 bcff0ac6bdc749b7b1bdca9295590789 +msgid "" +"**Added** :meth:`Page.getImageBbox` which returns the rectangle occupied " +"by an image shown on the page." +msgstr "" + +#: ../../../changes.txt:2217 027854d96da7483d84939b2e60db8b94 +msgid "" +"**Added** :meth:`Annot.setName` which lets you change the (icon) name " +"field." +msgstr "" + +#: ../../../changes.txt:2218 bcc01e342bb8486ca3ef80ba6e2007f8 +msgid "" +"**Added** outputting the text color in :meth:`Page.getText`: the " +"*\"dict\"*, *\"rawdict\"* and *\"xml\"* options now also show the color " +"in sRGB format." +msgstr "" + +#: ../../../changes.txt:2219 bc0cbfa3b0484956b6eaea0bdb98a8fc +msgid "" +"**Changed** :attr:`Document.permissions` to now contain an integer of " +"bool indicators -- was a dictionary before." +msgstr "" + +#: ../../../changes.txt:2220 820b45730e5f4cd09d1a94837ecb4e08 +msgid "" +"**Changed** :meth:`Document.save`, :meth:`Document.write`, which now " +"fully support password-based decryption and encryption of PDF files." +msgstr "" + +#: ../../../changes.txt:2221 4731ba6ffeda46a2a2d03259b480522f +msgid "" +"**Changed the names of all Python constants** related to annotations and " +"widgets. Please make sure to consult the **Constants and Enumerations** " +"chapter if your script is dealing with these two classes. This decision " +"goes back to the dropped support for non-PDF annotations. The **old " +"names** (starting with \"ANNOT_*\" or \"WIDGET_*\") will be available as " +"deprecated synonyms." +msgstr "" + +#: ../../../changes.txt:2222 238de30d8f3c49d48c79ee5b21a0e5f6 +msgid "" +"**Changed** font support for widgets: only *Cour* (Courier), *Helv* " +"(Helvetica, default), *TiRo* (Times-Roman) and *ZaDb* (ZapfDingBats) are " +"accepted when **adding or changing** form fields. Only the plain versions" +" are possible -- not their italic or bold variations. **Reading** " +"widgets, however will show its original font." +msgstr "" + +#: ../../../changes.txt:2223 e763e7235e744348bb116c13b8db7bfa +msgid "" +"**Changed** the name of the warnings buffer to " +":meth:`Tools.mupdf_warnings` and the function to empty this buffer is now" +" called :meth:`Tools.reset_mupdf_warnings`." +msgstr "" + +#: ../../../changes.txt:2224 e51bbdba4a7f47c99ae6f3828cb8299d +msgid "" +"**Changed** :meth:`Page.getPixmap`, :meth:`Document.get_page_pixmap`: a " +"new bool argument *annots* can now be used to **suppress the rendering of" +" annotations** on the page." +msgstr "" + +#: ../../../changes.txt:2225 caaa515792364bf3902f0f1c3f484995 +msgid "" +"**Changed** :meth:`Page.add_file_annot` and :meth:`Page.add_text_annot` " +"to enable setting an icon." +msgstr "" + +#: ../../../changes.txt:2226 0086e4a6b881460f8c71102f2729bc2d +msgid "" +"**Removed** widget-related methods and attributes from the :ref:`Annot` " +"object." +msgstr "" + +#: ../../../changes.txt:2227 f50931d062644b8f880b652ea90f83f5 +msgid "" +"**Removed** :ref:`Document` attributes *openErrCode*, *openErrMsg*, and " +":ref:`Tools` attributes / methods *stderr*, *reset_stderr*, *stdout*, and" +" *reset_stdout*." +msgstr "" + +#: ../../../changes.txt:2228 a67f4a89f4f64dd68267c94b2d73ce86 +msgid "" +"**Removed** **thirdparty zlib** dependency in PyMuPDF: there are now " +"compression functions available in MuPDF. Source installers of PyMuPDF " +"may now omit this extra installation step." +msgstr "" + +#: ../../../changes.txt:2230 42c8303233d940a8bb202082575e9d67 +msgid "**No version published for MuPDF v1.15.0**" +msgstr "" + +#: ../../../changes.txt:2235 0e262b2012e24e66bcbb16697b9750e3 +msgid "**Changes in Version 1.14.20 / 1.14.21**" +msgstr "" + +#: ../../../changes.txt:2237 cf8c37c3fab846c3bfc824d30a64fe50 +msgid "" +"**Changed** text marker annotations to support multiple rectangles / " +"quadrilaterals. This fixes issue #341 (\"Question : How to addhighlight " +"so that a string spread across more than a line is covered by one " +"highlight?\") and similar (#285)." +msgstr "" + +#: ../../../changes.txt:2238 cea5aecbd9e84d1aa23aa5d28149aa16 +msgid "" +"**Fixed** issue #331 (\"Importing PyMuPDF changes warning filtering " +"behaviour globally\")." +msgstr "" + +#: ../../../changes.txt:2243 97bdc13f89b8480bb31a7a26ed32a594 +msgid "**Changes in Version 1.14.19**" +msgstr "" + +#: ../../../changes.txt:2245 6b2efadb462c476c86b64734cc2f0abe +msgid "**Fixed** issue #319 (\"InsertText function error when use custom font\")." +msgstr "" + +#: ../../../changes.txt:2246 55649a3c6956439eb948ff4f5d16de35 +msgid "" +"**Added** new method :meth:`Document.get_sigflags` which returns " +"information on whether a PDF is signed. Resolves issue #326 (\"How to " +"detect signature in a form pdf?\")." +msgstr "" + +#: ../../../changes.txt:2251 8b00c1d84be44f0e843dcc2f618a054f +msgid "**Changes in Version 1.14.17**" +msgstr "" + +#: ../../../changes.txt:2253 bf77aace3abb4d87a3a27f4fde38cdee +msgid "" +"**Added** :meth:`Document.fullcopyPage` to make full page copies within a" +" PDF (not just copied references as :meth:`Document.copyPage` does)." +msgstr "" + +#: ../../../changes.txt:2254 f5f13a70b41041ac94342d177b78283e +msgid "" +"**Changed** :meth:`Page.getPixmap`, :meth:`Document.get_page_pixmap` now " +"use *alpha=False* as default." +msgstr "" + +#: ../../../changes.txt:2255 0b81e0a298f842cfae56289c691fc8af +msgid "" +"**Changed** text extraction: the span dictionary now (again) contains its" +" rectangle under the *bbox* key." +msgstr "" + +#: ../../../changes.txt:2256 80171c31ff824cf5a8796464b7f185bd +msgid "" +"**Changed** :meth:`Document.movePage` and :meth:`Document.copyPage` to " +"use direct functions instead of wrapping :meth:`Document.select` -- " +"similar to :meth:`Document.delete_page` in v1.14.16." +msgstr "" + +#: ../../../changes.txt:2260 2102f0e54ede402daf1c78dac1d0ca26 +msgid "**Changes in Version 1.14.16**" +msgstr "" + +#: ../../../changes.txt:2262 6703d3f0199a482cadb2d9a376aaa7c6 +msgid "" +"**Changed** :ref:`Document` methods around PDF */EmbeddedFiles* to no " +"longer use MuPDF's \"portfolio\" functions. That support will be dropped " +"in MuPDF v1.15 -- therefore another solution was required." +msgstr "" + +#: ../../../changes.txt:2263 6447adac2fa6472d8d443e4326ffe0f4 +msgid "" +"**Changed** :meth:`Document.embfile_Count` to be a function (was an " +"attribute)." +msgstr "" + +#: ../../../changes.txt:2264 0f5ec06d87f74cdc82a5f05fa5beae80 +msgid "" +"**Added** new method :meth:`Document.embfile_Names` which returns a list " +"of names of embedded files." +msgstr "" + +#: ../../../changes.txt:2265 c99e5b42134b48d28118a34b7b00f400 +msgid "" +"**Changed** :meth:`Document.delete_page` and " +":meth:`Document.delete_pages` to internally no longer use " +":meth:`Document.select`, but instead use functions to perform the " +"deletion directly. As it has turned out, the :meth:`Document.select` " +"method yields invalid outline trees (tables of content) for very complex " +"PDFs and sophisticated use of annotations." +msgstr "" + +#: ../../../changes.txt:2270 d47507f7f3114b71864f6f89dff1d8de +msgid "**Changes in Version 1.14.15**" +msgstr "" + +#: ../../../changes.txt:2272 685a47651ab74ab9baa02751bdfeea45 +msgid "" +"**Fixed** issues #301 (\"Line cap and Line join\"), #300 (\"How to draw a" +" shape without outlines\") and #298 (\"utils.updateRect exception\"). " +"These bugs pertain to drawing shapes with PyMuPDF. Drawing shapes without" +" any border is fully supported. Line cap styles and line line join style " +"are now differentiated and support all possible PDF values (0, 1, 2) " +"instead of just being a bool. The previous parameter *roundCap* is " +"deprecated in favor of *lineCap* and *lineJoin* and will be deleted in " +"the next release." +msgstr "" + +#: ../../../changes.txt:2273 69635ffd084f40da8a77aef036ecbc5b +msgid "" +"**Fixed** issue #290 (\"Memory Leak with getText('rawDICT')\"). This bug " +"caused memory not being (completely) freed after invoking the \"dict\", " +"\"rawdict\" and \"json\" versions of :meth:`Page.getText`." +msgstr "" + +#: ../../../changes.txt:2278 347daa4b4d614a538c8264a0f7513365 +msgid "**Changes in Version 1.14.14**" +msgstr "" + +#: ../../../changes.txt:2280 fd89b8ffed0e45b4becf36770405f0a5 +msgid "" +"**Added** new low-level function :meth:`ImageProperties` to determine a " +"number of characteristics for an image." +msgstr "" + +#: ../../../changes.txt:2281 5b71c3a43a3d4b468a46d3704d1a5fed +msgid "" +"**Added** new low-level function :meth:`Document.is_stream`, which checks" +" whether an object is of stream type." +msgstr "" + +#: ../../../changes.txt:2282 7704e37dc4954c43891ea6905e994602 +msgid "" +"**Changed** low-level functions :meth:`Document._getXrefString` and " +":meth:`Document._getTrailerString` now by default return object " +"definitions in a formatted form which makes parsing easy." +msgstr "" + +#: ../../../changes.txt:2286 60c8b7ae348144f590caa8dd2b6475b4 +msgid "**Changes in Version 1.14.13**" +msgstr "" + +#: ../../../changes.txt:2288 409b6e7270844e05986a6af2e04bf234 +msgid "" +"**Changed** methods working with binary input: while ever supporting " +"bytes and bytearray objects, they now also accept *io.BytesIO* input, " +"using their *getvalue()* method. This pertains to document creation, " +"embedded files, FileAttachment annotations, pixmap creation and others. " +"Fixes issue #274 (\"Segfault when using BytesIO as a stream for " +"insertImage\")." +msgstr "" + +#: ../../../changes.txt:2289 517a02e2889046a4bf151c5da878dec9 +msgid "" +"**Fixed** issue #278 (\"Is insertImage(keep_proportion=True) broken?\"). " +"Images are now correctly presented when keeping aspect ratio." +msgstr "" + +#: ../../../changes.txt:2294 d22de33a96de48479a5d908ec0ba6cd2 +msgid "**Changes in Version 1.14.12**" +msgstr "" + +#: ../../../changes.txt:2296 8e8898b2f62f4ccfabbc4633afa8d524 +msgid "" +"**Changed** the draw methods of :ref:`Page` and :ref:`Shape` to support " +"not only RGB, but also GRAY and CMYK colorspaces. This solves issue #270 " +"(\"Is there a way to use CMYK color to draw shapes?\"). This change also " +"applies to text insertion methods of :ref:`Shape`, resp. :ref:`Page`." +msgstr "" + +#: ../../../changes.txt:2297 12008f80180643aeb7c59cd9d81f7b17 +msgid "" +"**Fixed** issue #269 (\"AttributeError in Document.insert_page()\"), " +"which occurred when using :meth:`Document.insert_page` with text " +"insertion." +msgstr "" + +#: ../../../changes.txt:2302 5926b5208b964e5bb1c6d9aa237e3b25 +msgid "**Changes in Version 1.14.11**" +msgstr "" + +#: ../../../changes.txt:2304 7cd2f991658242e0a818633e00e32840 +msgid "" +"**Changed** :meth:`Page.show_pdf_page` to always position the source " +"rectangle centered in the target. This method now also supports " +"**rotation by arbitrary angles**. The argument *reuse_xref* has been " +"deprecated: prevention of duplicates is now **handled internally**." +msgstr "" + +#: ../../../changes.txt:2305 92cb4e6a37f04f8fbe1fe50f20b4315e +msgid "" +"**Changed** :meth:`Page.insertImage` to support rotated display of the " +"image and keeping the aspect ratio. Only rotations by multiples of 90 " +"degrees are supported here." +msgstr "" + +#: ../../../changes.txt:2306 a3321e012bd14420978e83b39fe71692 +msgid "" +"**Fixed** issue #265 (\"TypeError: insertText() got an unexpected keyword" +" argument 'idx'\"). This issue only occurred when using " +":meth:`Document.insert_page` with also inserting text." +msgstr "" + +#: ../../../changes.txt:2310 ce94e552e8634de490994f5a58a88b5a +msgid "**Changes in Version 1.14.10**" +msgstr "" + +#: ../../../changes.txt:2312 91400574def7471c9bcf3e3b784293fa +msgid "" +"**Changed** :meth:`Page.show_pdf_page` to support rotation of the source " +"rectangle. Fixes #261 (\"Cannot rotate inserted pages\")." +msgstr "" + +#: ../../../changes.txt:2313 373a473d44604ea0a33bee60a4608003 +msgid "" +"**Fixed** a bug in :meth:`Page.insertImage` which prevented insertion of " +"multiple images provided as streams." +msgstr "" + +#: ../../../changes.txt:2318 a745612de5d944648494f2f4fe5a7367 +msgid "**Changes in Version 1.14.9**" +msgstr "" + +#: ../../../changes.txt:2320 786372a66f0346f5b2ebf49918ac01fc +msgid "" +"**Added** new low-level method :meth:`Document._getTrailerString`, which " +"returns the trailer object of a PDF. This is much like " +":meth:`Document._getXrefString` except that the PDF trailer has no / " +"needs no :data:`xref` to identify it." +msgstr "" + +#: ../../../changes.txt:2321 166ee0276f23464790afa4aa78d3fb2b +msgid "" +"**Added** new parameters for text insertion methods. You can now set " +"stroke and fill colors of glyphs (text characters) independently, as well" +" as the thickness of the glyph border. A new parameter *render_mode* " +"controls the use of these colors, and whether the text should be visible " +"at all." +msgstr "" + +#: ../../../changes.txt:2322 ec5e00cd07f74051b60872c21459da65 +msgid "" +"**Fixed** issue #258 (\"Copying image streams to new PDF without size " +"increase\"): For JPX images embedded in a PDF, " +":meth:`Document.extractImage` will now return them in their original " +"format. Previously, the MuPDF base library was used, which returns them " +"in PNG format (entailing a massive size increase)." +msgstr "" + +#: ../../../changes.txt:2323 9c4df9a330534524ae96733260628fa2 +msgid "" +"**Fixed** issue #259 (\"Morphing text to fit inside rect\"). Clarified " +"use of :meth:`get_text_length` and removed extra line breaks for long " +"words." +msgstr "" + +#: ../../../changes.txt:2327 40cd0da7bb2c49d28cf036e85d01e73d +msgid "**Changes in Version 1.14.8**" +msgstr "" + +#: ../../../changes.txt:2329 c23dc29674cd4476a5d1ce8bdba7c25b +msgid "" +"**Added** :meth:`Pixmap.set_rect` to change the pixel values in a " +"rectangle. This is also an alternative to setting the color of a complete" +" pixmap (:meth:`Pixmap.clear_with`)." +msgstr "" + +#: ../../../changes.txt:2330 647ba02e1ad3448b85b1e417300551d5 +msgid "" +"**Fixed** an image extraction issue with JBIG2 (monochrome) encoded PDF " +"images. The issue occurred in :meth:`Page.getText` (parameters \"dict\" " +"and \"rawdict\") and in :meth:`Document.extractImage` methods." +msgstr "" + +#: ../../../changes.txt:2331 97187008a30a4a7cad0a589358db47c2 +msgid "" +"**Fixed** an issue with not correctly clearing a non-alpha :ref:`Pixmap` " +"(:meth:`Pixmap.clear_with`)." +msgstr "" + +#: ../../../changes.txt:2332 e8d31f10770246f0a19e29e3fe088dba +msgid "" +"**Fixed** an issue with not correctly inverting colors of a non-alpha " +":ref:`Pixmap` (:meth:`Pixmap.invert_irect`)." +msgstr "" + +#: ../../../changes.txt:2336 67dff84982fa4c1680c49d7d32e32cd7 +msgid "**Changes in Version 1.14.7**" +msgstr "" + +#: ../../../changes.txt:2338 7a13d485e8154810a7af7370e7e9252d +msgid "**Added** :meth:`Pixmap.set_pixel` to change one pixel value." +msgstr "" + +#: ../../../changes.txt:2339 4c9debbd3ad14281953bef2ed96535b3 +msgid "**Added** documentation for image conversion in the :ref:`FAQ`." +msgstr "" + +#: ../../../changes.txt:2340 78bdc22a5a5e4e64a9d8b4b07bfb1123 +msgid "" +"**Added** new function :meth:`get_text_length` to determine the string " +"length for a given font." +msgstr "" + +#: ../../../changes.txt:2341 a5c814fd37c640aa8a93aa10f85c235c +msgid "" +"**Added** Postscript image output (changed :meth:`Pixmap.save` and " +":meth:`Pixmap.tobytes`)." +msgstr "" + +#: ../../../changes.txt:2342 f3c2525369734e7089b7c83e8cf9de47 +msgid "" +"**Changed** :meth:`Pixmap.save` and :meth:`Pixmap.tobytes` to ensure " +"valid combinations of colorspace, alpha and output format." +msgstr "" + +#: ../../../changes.txt:2343 b9e74f4416644fccb65daa7e89c723c3 +msgid "" +"**Changed** :meth:`Pixmap.save`: the desired format is now inferred from " +"the filename." +msgstr "" + +#: ../../../changes.txt:2344 2d75602bfe7c4491afe16b74bc43214f +msgid "" +"**Changed** FreeText annotations can now have a transparent background - " +"see :meth:`Annot.update`." +msgstr "" + +#: ../../../changes.txt:2348 6c3551ae311845ee9b99b03931d18295 +msgid "**Changes in Version 1.14.5**" +msgstr "" + +#: ../../../changes.txt:2350 bf604455e7bc49078d6f8fad925b9c40 +msgid "" +"**Changed:** :ref:`Shape` methods now strictly use the transformation " +"matrix of the :ref:`Page` -- instead of \"manually\" calculating " +"locations." +msgstr "" + +#: ../../../changes.txt:2351 a31dae7889694da7be488d4e185ec9eb +msgid "" +"**Added** method :meth:`Pixmap.pixel` which returns the pixel value (a " +"list) for given pixel coordinates." +msgstr "" + +#: ../../../changes.txt:2352 27fb489fd3c4437dae7d84ea827220f4 +msgid "" +"**Added** method :meth:`Pixmap.tobytes` which returns a bytes object " +"representing the pixmap in a variety of formats. Previously, this could " +"be done for PNG outputs only (:meth:`Pixmap.tobytes`)." +msgstr "" + +#: ../../../changes.txt:2353 1c71f20d72344b9d92a9db58d371f81b +msgid "" +"**Changed:** output of methods :meth:`Pixmap.save` and (the new) " +":meth:`Pixmap.tobytes` may now also be PSD (Adobe Photoshop Document)." +msgstr "" + +#: ../../../changes.txt:2354 fa29ec91aa714c5f907b7366ffb9a3b9 +msgid "" +"**Added** method :meth:`Shape.drawQuad` which draws a :ref:`Quad`. This " +"actually is a shorthand for a :meth:`Shape.drawPolyline` with the edges " +"of the quad." +msgstr "" + +#: ../../../changes.txt:2355 91031a98d09349dbb69473db2e7329ec +msgid "" +"**Changed** method :meth:`Shape.drawOval`: the argument can now be " +"**either** a rectangle (:data:`rect_like`) **or** a quadrilateral " +"(:data:`quad_like`)." +msgstr "" + +#: ../../../changes.txt:2359 0e8436f8a5324f5c854c6da3891f584a +msgid "**Changes in Version 1.14.4**" +msgstr "" + +#: ../../../changes.txt:2361 f161930e41614a59bd8398be1a48b0c9 +msgid "**Fixes** issue #239 \"Annotation coordinate consistency\"." +msgstr "" + +#: ../../../changes.txt:2366 f717329397b04912b44b761001662800 +msgid "**Changes in Version 1.14.3**" +msgstr "" + +#: ../../../changes.txt:2368 c8623149250744e589dc449330738ae7 +msgid "This patch version contains minor bug fixes and CJK font output support." +msgstr "" + +#: ../../../changes.txt:2370 090ca3d9b2344ba888c0876c7b71ace0 +msgid "" +"**Added** support for the four CJK fonts as PyMuPDF generated text " +"output. This pertains to methods :meth:`Page.insertFont`, " +":meth:`Shape.insertText`, :meth:`Shape.insertTextbox`, and corresponding " +":ref:`Page` methods. The new fonts are available under \"reserved\" " +"fontnames \"china-t\" (traditional Chinese), \"china-s\" (simplified " +"Chinese), \"japan\" (Japanese), and \"korea\" (Korean)." +msgstr "" + +#: ../../../changes.txt:2371 0883c9f987274b41ae7f270c3f497622 +msgid "**Added** full support for the built-in fonts 'Symbol' and 'Zapfdingbats'." +msgstr "" + +#: ../../../changes.txt:2372 28cecba376654ea4aabaf41a9a9e76a0 +msgid "" +"**Changed:** The 14 standard fonts can now each be referenced by a " +"4-letter abbreviation." +msgstr "" + +#: ../../../changes.txt:2376 2af6e8674b4443da9ecbfff548ce5a69 +msgid "**Changes in Version 1.14.1**" +msgstr "" + +#: ../../../changes.txt:2378 b0f0dfdd4d05439fbb192a2fff012afd +msgid "This patch version contains minor performance improvements." +msgstr "" + +#: ../../../changes.txt:2380 d55c7a1c5617427cae944d98885ab488 +msgid "" +"**Added** support for :ref:`Document` filenames given as *pathlib* object" +" by using the Python *str()* function." +msgstr "" + +#: ../../../changes.txt:2385 8408ffdc08bd4b988e1d1d8706e8852d +msgid "**Changes in Version 1.14.0**" +msgstr "" + +#: ../../../changes.txt:2387 5e88bed306444855bb7cb18769259f07 +msgid "" +"To support MuPDF v1.14.0, massive changes were required in PyMuPDF -- " +"most of them purely technical, with little visibility to developers. But " +"there are also quite a lot of interesting new and improved features. " +"Following are the details:" +msgstr "" + +#: ../../../changes.txt:2389 ddc84ec9e77d406180396849960f6fd3 +msgid "**Added** \"ink\" annotation." +msgstr "" + +#: ../../../changes.txt:2390 5ef49f9b2028452da946e586194111bd +msgid "**Added** \"rubber stamp\" annotation." +msgstr "" + +#: ../../../changes.txt:2391 4a7bb926db894ea39c7f10315f2e825a +msgid "**Added** \"squiggly\" text marker annotation." +msgstr "" + +#: ../../../changes.txt:2392 3398303dd33846db9cfde43f06070d2d +msgid "" +"**Added** new class :ref:`Quad` (quadrilateral or tetragon) -- which " +"represents a general four-sided shape in the plane. The special subtype " +"of rectangular, non-empty tetragons is used in text marker annotations " +"and as returned objects in text search methods." +msgstr "" + +#: ../../../changes.txt:2393 6c56ac281b924d2fb189ede6e9c8be61 +msgid "" +"**Added** a new option \"decrypt\" to :meth:`Document.save` and " +":meth:`Document.write`. Now you can **keep encryption** when saving a " +"password protected PDF." +msgstr "" + +#: ../../../changes.txt:2394 b394b2a1574646c89160273346915f47 +msgid "" +"**Added** suppression and redirection of unsolicited messages issued by " +"the underlying C-library MuPDF. Consult :ref:`RedirectMessages` for " +"details." +msgstr "" + +#: ../../../changes.txt:2395 47856295d652463f8184801b60dee8a0 +msgid "" +"**Changed:** Changes to annotations now **always require** " +":meth:`Annot.update` to become effective." +msgstr "" + +#: ../../../changes.txt:2396 ef1b316a5b024381bc8ab808d69d2891 +msgid "" +"**Changed** free text annotations to support the full Latin character set" +" and range of appearance options." +msgstr "" + +#: ../../../changes.txt:2397 506d4cd601f04e2c83386b5ec8940898 +msgid "" +"**Changed** text searching, :meth:`Page.searchFor`, to optionally return " +":ref:`Quad` instead :ref:`Rect` objects surrounding each search hit." +msgstr "" + +#: ../../../changes.txt:2398 4fd963295c354372b9e8574e51f097ee +msgid "" +"**Changed** plain text output: we now add a *\\n* to each line if it does" +" not itself end with this character." +msgstr "" + +#: ../../../changes.txt:2399 1db7b0929bbf4596b2a0d22f3ca7b59c +msgid "**Fixed** issue 211 (\"Something wrong in the doc\")." +msgstr "" + +#: ../../../changes.txt:2400 f1128c764272467f8fb8a6c3a9b0087e +msgid "" +"**Fixed** issue 213 (\"Rewritten outline is displayed only by mupdf-based" +" applications\")." +msgstr "" + +#: ../../../changes.txt:2401 f7b1e5c7dc7c4676a9bf4838c03b508c +msgid "**Fixed** issue 214 (\"PDF decryption GONE!\")." +msgstr "" + +#: ../../../changes.txt:2402 7a1c216e3cf04513bac8a38d46fb777a +msgid "**Fixed** issue 215 (\"Formatting of links added with pyMuPDF\")." +msgstr "" + +#: ../../../changes.txt:2403 9c9ae8e5f826442d8888cefae230e64e +msgid "**Fixed** issue 217 (\"extraction through json is failing for my pdf\")." +msgstr "" + +#: ../../../changes.txt:2405 5ae51da467b64e26bfb10cf525eb9581 +msgid "" +"Behind the curtain, we have changed the implementation of geometry " +"objects: they now purely exist in Python and no longer have \"shadow\" " +"twins on the C-level (in MuPDF). This has improved processing speed in " +"that area by more than a factor of two." +msgstr "" + +#: ../../../changes.txt:2407 b5211152c64342a49990467a8d763bd5 +msgid "" +"Because of the same reason, most methods involving geometry parameters " +"now also accept the corresponding Python sequence. For example, in method" +" *\"page.show_pdf_page(rect, ...)\"* parameter *rect* may now be any " +":data:`rect_like` sequence." +msgstr "" + +#: ../../../changes.txt:2409 79b7deaba4ec49f58fd8987c7e950e28 +msgid "" +"We also invested considerable effort to further extend and improve the " +":ref:`FAQ` chapter." +msgstr "" + +#: ../../../changes.txt:2414 fd91322d1a494ed189d8932bb19e425a +msgid "**Changes in Version 1.13.19**" +msgstr "" + +#: ../../../changes.txt:2416 c99f01c86e0f418e8ece858b509f575f +msgid "" +"This version contains some technical / performance improvements and bug " +"fixes." +msgstr "" + +#: ../../../changes.txt:2418 f6ca673e1a514b8c88882528546fc938 +#, python-format +msgid "" +"**Changed** memory management: for Python 3 builds, Python memory " +"management is exclusively used across all C-level code (i.e. no more " +"native *malloc()* in MuPDF code or PyMuPDF interface code). This leads to" +" improved memory usage profiles and also some runtime improvements: we " +"have seen > 2% shorter runtimes for text extractions and pixmap creations" +" (on Windows machines only to date)." +msgstr "" + +#: ../../../changes.txt:2419 5bfccbbb021842b9abb0b04bf9de48c3 +msgid "" +"**Fixed** an error occurring in Python 2.7, which crashed the interpreter" +" when using :meth:`TextPage.extractRAWDICT` (= " +"*Page.getText(\"rawdict\")*)." +msgstr "" + +#: ../../../changes.txt:2420 0f2cb31dfbf9466fa8a235d46d2c6e8a +msgid "" +"**Fixed** an error occurring in Python 2.7, when creating link " +"destinations." +msgstr "" + +#: ../../../changes.txt:2421 08e34b265b7e454f94220ea943997f4d +msgid "**Extended** the :ref:`FAQ` chapter with more examples." +msgstr "" + +#: ../../../changes.txt:2425 63b7e43da4034c64859e960033709c83 +msgid "**Changes in Version 1.13.18**" +msgstr "" + +#: ../../../changes.txt:2427 cf5beb6e03c54affafc84f316858c9aa +msgid "" +"**Added** method :meth:`TextPage.extractRAWDICT`, and a corresponding new" +" string parameter \"rawdict\" to method :meth:`Page.getText`. It extracts" +" text and images from a page in Python *dict* form like " +":meth:`TextPage.extractDICT`, but with the detail level of " +":meth:`TextPage.extractXML`, which is position information down to each " +"single character." +msgstr "" + +#: ../../../changes.txt:2431 9b563f0c8c3a4d1fb8e8fe127bb76d6c +msgid "**Changes in Version 1.13.17**" +msgstr "" + +#: ../../../changes.txt:2433 b3c0162af9db4f608389e2c811c7bc4b +msgid "" +"**Fixed** an error that intermittently caused an exception in " +":meth:`Page.show_pdf_page`, when pages from many different source PDFs " +"were shown." +msgstr "" + +#: ../../../changes.txt:2434 c35c79318b584e5790dbea763351299b +msgid "" +"**Changed** method :meth:`Document.extractImage` to now return more meta " +"information about the extracted image. Also, its performance has been " +"greatly improved. Several demo scripts have been changed to make use of " +"this method." +msgstr "" + +#: ../../../changes.txt:2435 ef0a501dd401489f8d0796417bf84a65 +msgid "" +"**Changed** method :meth:`Document._getXrefStream` to now return *None* " +"if the object is no stream and no longer raise an exception if otherwise." +msgstr "" + +#: ../../../changes.txt:2436 7032fecda32745aeb0b54febfa6571f7 +msgid "" +"**Added** method :meth:`Document._deleteObject` which deletes a PDF " +"object identified by its :data:`xref`. Only to be used by the experienced" +" PDF expert." +msgstr "" + +#: ../../../changes.txt:2437 64f62a994fb742cf84570443580cf6a2 +msgid "" +"**Added** a method :meth:`paper_rect` which returns a :ref:`Rect` for a " +"supplied paper format string. Example: *fitz.paper_rect(\"letter\") = " +"fitz.Rect(0.0, 0.0, 612.0, 792.0)*." +msgstr "" + +#: ../../../changes.txt:2438 31e24169fc6849878acc3c4b81c2931b +msgid "**Added** a :ref:`FAQ` chapter to this document." +msgstr "" + +#: ../../../changes.txt:2442 43d63ac60a0c46a591e1b79f54377917 +msgid "**Changes in Version 1.13.16**" +msgstr "" + +#: ../../../changes.txt:2444 d904d04d3cfb4dcda46139c25fe24c71 +msgid "" +"**Added** support for correctly setting transparency (opacity) for " +"certain annotation types." +msgstr "" + +#: ../../../changes.txt:2445 3b7e735489e94623ac095480bdcbc2a5 +msgid "" +"**Added** a tool property (:attr:`Tools.fitz_config`) showing the " +"configuration of this PyMuPDF version." +msgstr "" + +#: ../../../changes.txt:2446 9c879f61145948b188ee8d93c5efe154 +msgid "" +"**Fixed** issue #193 ('insertText(overlay=False) gives \"cannot resize a " +"buffer with shared storage\" error') by avoiding read-only buffers." +msgstr "" + +#: ../../../changes.txt:2450 5d037ed847b44095be41047f123f2c7d +msgid "**Changes in Version 1.13.15**" +msgstr "" + +#: ../../../changes.txt:2452 7b20562ab960458cb2a37834b262bc0a +msgid "" +"**Fixed** issue #189 (\"cannot find builtin CJK font\"), so we are " +"supporting builtin CJK fonts now (CJK = China, Japan, Korea). This should" +" lead to correctly generated pixmaps for documents using these languages." +" This change has consequences for our binary file size: it will now range" +" between 8 and 10 MB, depending on the OS." +msgstr "" + +#: ../../../changes.txt:2453 09714417974d4784bbb8ce28449b0ed4 +msgid "" +"**Fixed** issue #191 (\"Jupyter notebook kernel dies after ca. 40 " +"pages\"), which occurred when modifying the contents of an annotation." +msgstr "" + +#: ../../../changes.txt:2457 5adc29b99ec94005bffd7ef24998e110 +msgid "**Changes in Version 1.13.14**" +msgstr "" + +#: ../../../changes.txt:2459 7f38a7f515424bdf958094ead9ab7ef0 +msgid "This patch version contains several improvements, mainly for annotations." +msgstr "" + +#: ../../../changes.txt:2461 b1c7424aa4d54a5caefae33e0e5f4f84 +msgid "" +"**Changed** :attr:`Annot.lineEnds` is now a list of two integers " +"representing the line end symbols. Previously was a *dict* of strings." +msgstr "" + +#: ../../../changes.txt:2462 641b3d6d6a8f46359ce78aacec1a00fe +msgid "" +"**Added** support of line end symbols for applicable annotations. PyMuPDF" +" now can generate these annotations including the line end symbols." +msgstr "" + +#: ../../../changes.txt:2463 f00765d5f2434220a9bfa1b43ce083c6 +msgid "" +"**Added** :meth:`Annot.setLineEnds` adds line end symbols to applicable " +"annotation types ('Line', 'PolyLine', 'Polygon')." +msgstr "" + +#: ../../../changes.txt:2464 c43498bf8fbe4da3bbbd2a1b57eb2ade +msgid "" +"**Changed** technical implementation of :meth:`Page.insertImage` and " +":meth:`Page.show_pdf_page`: they now create there own contents objects, " +"thereby avoiding changes of potentially large streams with consequential " +"compression / decompression efforts and high change volumes with " +"incremental updates." +msgstr "" + +#: ../../../changes.txt:2468 6d6106b5cef0412c859b77efff74d76a +msgid "**Changes in Version 1.13.13**" +msgstr "" + +#: ../../../changes.txt:2470 76e178082cef4bbcaf9d02facb74a2a8 +msgid "" +"This patch version contains several improvements for embedded files and " +"file attachment annotations." +msgstr "" + +#: ../../../changes.txt:2472 a3ecffcb691f41e18fa492558ef375d5 +msgid "" +"**Added** :meth:`Document.embfile_Upd` which allows changing **file " +"content and metadata** of an embedded file. It supersedes the old method " +":meth:`Document.embfile_SetInfo` (which will be deleted in a future " +"version). Content is automatically compressed and metadata may be " +"unicode." +msgstr "" + +#: ../../../changes.txt:2473 8741c8c5503e49c5a9e436d200d0c70c +msgid "" +"**Changed** :meth:`Document.embfile_Add` to now automatically compress " +"file content. Accompanying metadata can now be unicode (had to be ASCII " +"in the past)." +msgstr "" + +#: ../../../changes.txt:2474 c8825e3ce49940899586673a8c1ca760 +msgid "" +"**Changed** :meth:`Document.embfile_Del` to now automatically delete " +"**all entries** having the supplied identifying name. The return code is " +"now an integer count of the removed entries (was *None* previously)." +msgstr "" + +#: ../../../changes.txt:2475 4958c06f7c0b4eaca87af2482582ca8c +msgid "" +"**Changed** embedded file methods to now also accept or show the PDF " +"unicode filename as additional parameter *ufilename*." +msgstr "" + +#: ../../../changes.txt:2476 0f95f3527f1a489a9a72167a6cee97cf +msgid "" +"**Added** :meth:`Page.add_file_annot` which adds a new file attachment " +"annotation." +msgstr "" + +#: ../../../changes.txt:2477 14f2faf502b74997b3e11958e4ffd5dd +msgid "" +"**Changed** :meth:`Annot.fileUpd` (file attachment annot) to now also " +"accept the PDF unicode *ufilename* parameter. The description parameter " +"*desc* correctly works with unicode. Furthermore, **all** parameters are " +"optional, so metadata may be changed without also replacing the file " +"content." +msgstr "" + +#: ../../../changes.txt:2478 f11e4025175f468fb362dc45b4b459a8 +msgid "" +"**Changed** :meth:`Annot.fileInfo` (file attachment annot) to now also " +"show the PDF unicode filename as parameter *ufilename*." +msgstr "" + +#: ../../../changes.txt:2479 96f083ba329841dc866568603f6bf4e0 +msgid "" +"**Fixed** issue #180 (\"page.getText(output='dict') return invalid " +"bbox\") to now also work for vertical text." +msgstr "" + +#: ../../../changes.txt:2480 b9c17d72bfcd4a87983f018daf4d8fd9 +msgid "" +"**Fixed** issue #185 (\"Can't render the annotations created by " +"PyMuPDF\"). The issue's cause was the minimalistic MuPDF approach when " +"creating annotations. Several annotation types have no */AP* " +"(\"appearance\") object when created by MuPDF functions. MuPDF, " +"SumatraPDF and hence also PyMuPDF cannot render annotations without such " +"an object. This fix now ensures, that an appearance object is always " +"created together with the annotation itself. We still do not support line" +" end styles." +msgstr "" + +#: ../../../changes.txt:2484 17b80da49d874916b1fa04cbc2e8225e +msgid "**Changes in Version 1.13.12**" +msgstr "" + +#: ../../../changes.txt:2486 16cf3df1aa764ac99837e6ba6929de3a +msgid "" +"**Fixed** issue #180 (\"page.getText(output='dict') return invalid " +"bbox\"). Note that this is a circumvention of an MuPDF error, which " +"generates zero-height character rectangles in some cases. When this " +"happens, this fix ensures a bbox height of at least fontsize." +msgstr "" + +#: ../../../changes.txt:2487 61159291a2db420095ce281675ae121e +msgid "" +"**Changed** for ListBox and ComboBox widgets, the attribute list of " +"selectable values has been renamed to :attr:`Widget.choice_values`." +msgstr "" + +#: ../../../changes.txt:2488 bab6778e8c2944089f3b525aa8b0827d +msgid "" +"**Changed** when adding widgets, any missing of the :ref:`Base-14-Fonts` " +"is automatically added to the PDF. Widget text fonts can now also be " +"chosen from existing widget fonts. Any specified field values are now " +"honored and lead to a field with a preset value." +msgstr "" + +#: ../../../changes.txt:2489 30b1813eb102490a896faa64748c1400 +msgid "" +"**Added** :meth:`Annot.updateWidget` which allows changing existing form " +"fields -- including the field value." +msgstr "" + +#: ../../../changes.txt:2493 9bc92bc23e1a46ab8548886763c96d47 +msgid "**Changes in Version 1.13.11**" +msgstr "" + +#: ../../../changes.txt:2495 474a1a3d16e74ac7bcfe223ce5d3daad +msgid "" +"While the preceding patch subversions only contained various fixes, this " +"version again introduces major new features:" +msgstr "" + +#: ../../../changes.txt:2497 5edc44b1ecc84b25be1507861ce353f4 +msgid "" +"**Added** basic support for PDF widget annotations. You can now add PDF " +"form fields of types Text, CheckBox, ListBox and ComboBox. Where " +"necessary, the PDF is transformed to a Form PDF with the first added " +"widget." +msgstr "" + +#: ../../../changes.txt:2498 1a904dc65fe64ade80e693aa4edb88ae +msgid "" +"**Fixed** issues #176 (\"wrong file embedding\"), #177 (\"segment fault " +"when invoking page.getText()\")and #179 (\"Segmentation fault using " +"page.getLinks() on encrypted PDF\")." +msgstr "" + +#: ../../../changes.txt:2503 7b2a31d79daa40d497d99853e692f397 +msgid "**Changes in Version 1.13.7**" +msgstr "" + +#: ../../../changes.txt:2505 445d2b1c88854acbb84fecfeeb62cdc1 +msgid "" +"**Added** support of variable page sizes for reflowable documents " +"(e-books, HTML, etc.): new parameters *rect* and *fontsize* in " +":ref:`Document` creation (open), and as a separate method " +":meth:`Document.layout`." +msgstr "" + +#: ../../../changes.txt:2506 b16382d708314b4c9ed3ac5b10f9a517 +msgid "" +"**Added** :ref:`Annot` creation of many annotations types: sticky notes, " +"free text, circle, rectangle, line, polygon, polyline and text markers." +msgstr "" + +#: ../../../changes.txt:2507 1444d852579b4d93837b7fe871afbf81 +msgid "" +"**Added** support of annotation transparency (:attr:`Annot.opacity`, " +":meth:`Annot.setOpacity`)." +msgstr "" + +#: ../../../changes.txt:2508 d544fe252c1f408785338b846f68eb33 +msgid "" +"**Changed** :attr:`Annot.vertices`: point coordinates are now grouped as " +"pairs of floats (no longer as separate floats)." +msgstr "" + +#: ../../../changes.txt:2509 d7dd102d5d974b77a860d4ee2a960da8 +msgid "" +"**Changed** annotation colors dictionary: the two keys are now named " +"*\"stroke\"* (formerly *\"common\"*) and *\"fill\"*." +msgstr "" + +#: ../../../changes.txt:2510 8ba3ff12895543d4b2b60a1b9a3646d4 +msgid "" +"**Added** :attr:`Document.isDirty` which is *True* if a PDF has been " +"changed in this session. Reset to *False* on each :meth:`Document.save` " +"or :meth:`Document.write`." +msgstr "" + +#: ../../../changes.txt:2514 572be3e137d346d1bc831219977e2a47 +msgid "**Changes in Version 1.13.6**" +msgstr "" + +#: ../../../changes.txt:2516 32c7a915842343e78b6da4d29061d488 +msgid "" +"Fix #173: for memory-resident documents, ensure the stream object will " +"not be garbage-collected by Python before document is closed." +msgstr "" + +#: ../../../changes.txt:2520 dfb8278835404213b0f3e00e10fa6f44 +msgid "**Changes in Version 1.13.5**" +msgstr "" + +#: ../../../changes.txt:2522 d0f227e259ff4badbddfa8bc99f77761 +msgid "" +"New low-level method :meth:`Page._setContents` defines an object given by" +" its :data:`xref` to serve as the :data:`contents` object." +msgstr "" + +#: ../../../changes.txt:2523 f305bdd0987e4a1f95ef94714cb586b7 +msgid "" +"Changed and extended PDF form field support: the attribute *widget_text* " +"has been renamed to :attr:`Annot.widget_value`. Values of all form field " +"types (except signatures) are now supported. A new attribute " +":attr:`Annot.widget_choices` contains the selectable values of listboxes " +"and comboboxes. All these attributes now contain *None* if no value is " +"present." +msgstr "" + +#: ../../../changes.txt:2527 4fd769eb21f048a19b8230f7e72178ca +msgid "**Changes in Version 1.13.4**" +msgstr "" + +#: ../../../changes.txt:2529 53ed864ab32f470bb28b858354a50e08 +msgid "" +":meth:`Document.convertToPDF` now supports page ranges, reverted page " +"sequences and page rotation. If the document already is a PDF, an " +"exception is raised." +msgstr "" + +#: ../../../changes.txt:2530 76b57e7db1504c5aba637f3c1da9e11c +msgid "" +"Fixed a bug (introduced with v1.13.0) that prevented " +":meth:`Page.insertImage` for transparent images." +msgstr "" + +#: ../../../changes.txt:2534 2ee92c34815a4f8fb2c8e58d119f4ea1 +msgid "**Changes in Version 1.13.3**" +msgstr "" + +#: ../../../changes.txt:2536 b6964dbe69ac4c14913e804c1db84219 +msgid "" +"Introduces a way to convert **any MuPDF supported document** to a PDF. If" +" you ever wanted PDF versions of your XPS, EPUB, CBZ or FB2 files -- here" +" is a way to do this." +msgstr "" + +#: ../../../changes.txt:2538 3b8c44dc6cc2424186ca83fb933f4d4d +msgid "" +":meth:`Document.convertToPDF` returns a Python *bytes* object in PDF " +"format. Can be opened like normal in PyMuPDF, or be written to disk with " +"the *\".pdf\"* extension." +msgstr "" + +#: ../../../changes.txt:2542 a74fa53b1f63473e95f8ae83eadc426f +msgid "**Changes in Version 1.13.2**" +msgstr "" + +#: ../../../changes.txt:2544 7ebed477136d45edbc0674eaaa9dff08 +msgid "" +"The major enhancement is PDF form field support. Form fields are " +"annotations of type *(19, 'Widget')*. There is a new document method to " +"check whether a PDF is a form. The :ref:`Annot` class has new properties " +"describing field details." +msgstr "" + +#: ../../../changes.txt:2546 6224991d69044aed91933c6ef3db8872 +msgid "" +":attr:`Document.is_form_pdf` is true if object type */AcroForm* and at " +"least one form field exists." +msgstr "" + +#: ../../../changes.txt:2547 3c3eddc4ca6a41179dba2d970ae478cf +msgid "" +":attr:`Annot.widget_type`, :attr:`Annot.widget_text` and " +":attr:`Annot.widget_name` contain the details of a form field (i.e. a " +"\"Widget\" annotation)." +msgstr "" + +#: ../../../changes.txt:2551 33caa17db3314e8f8ec675dfcc887087 +msgid "**Changes in Version 1.13.1**" +msgstr "" + +#: ../../../changes.txt:2553 9344a01be7c64abbbe4577c065593441 +msgid "" +":meth:`TextPage.extractDICT` is a new method to extract the contents of a" +" document page (text and images). All document types are supported as " +"with the other :ref:`TextPage` *extract*()* methods. The returned object " +"is a dictionary of nested lists and other dictionaries, and **exactly " +"equal** to the JSON-deserialization of the old " +":meth:`TextPage.extractJSON`. The difference is that the result is " +"created directly -- no JSON module is used. Because the user needs no " +"JSON module to interpret the information, it should be easier to use, and" +" also have a better performance, because it contains images in their " +"original **binary format** -- they need not be base64-decoded." +msgstr "" + +#: ../../../changes.txt:2554 a0c4ad5a3c484f91ac0a8e10f14f5e12 +msgid "" +":meth:`Page.getText` correspondingly supports the new parameter value " +"*\"dict\"* to invoke the above method." +msgstr "" + +#: ../../../changes.txt:2555 093f2f8fbd7d47c8a423fd962433aaf6 +msgid "" +":meth:`TextPage.extractJSON` (resp. *Page.getText(\"json\")*) is still " +"supported for convenience, but its use is expected to decline." +msgstr "" + +#: ../../../changes.txt:2559 0502f4342d864193843c189056a3f649 +msgid "**Changes in Version 1.13.0**" +msgstr "" + +#: ../../../changes.txt:2561 a1fd3f8dcf7347f0b02e341033bab447 +msgid "" +"This version is based on MuPDF v1.13.0. This release is \"primarily a bug" +" fix release\"." +msgstr "" + +#: ../../../changes.txt:2563 f6293a0c60534e0aa61af056ce5873ab +msgid "" +"In PyMuPDF, we are also doing some bug fixes while introducing minor " +"enhancements. There only very minimal changes to the user's API." +msgstr "" + +#: ../../../changes.txt:2565 112b9e394ace4296b2004b9cc2566a4c +msgid "" +":ref:`Document` construction is more flexible: the new *filetype* " +"parameter allows setting the document type. If specified, any extension " +"in the filename will be ignored. More completely addresses `issue #156 " +"`_. As part of this, the " +"documentation has been reworked." +msgstr "" + +#: ../../../changes.txt:2569 1fd37787dc5e4b74860ae968de485c3a +msgid "Changes to :ref:`Pixmap` constructors:" +msgstr "" + +#: ../../../changes.txt:2568 b1dfea15e23f480e9294338557073269 +msgid "" +"Colorspace conversion no longer allows dropping the alpha channel: source" +" and target **alpha will now always be the same**. We have seen " +"exceptions and even interpreter crashes when using *alpha = 0*." +msgstr "" + +#: ../../../changes.txt:2569 d13b23318d24436a98e726ab0c700090 +msgid "As a replacement, the simple pixmap copy lets you choose the target alpha." +msgstr "" + +#: ../../../changes.txt:2571 1245466299bd401c91dede79edbe0761 +msgid "" +":meth:`Document.save` again offers the full garbage collection range 0 " +"thru 4. Because of a bug in :data:`xref` maintenance, we had to " +"temporarily enforce *garbage > 1*. Finally resolves `issue #148 " +"`_." +msgstr "" + +#: ../../../changes.txt:2573 5e0acf1f4a8b4284b68c4664d8506094 +msgid "" +":meth:`Document.save` now offers to \"prettify\" PDF source via an " +"additional argument." +msgstr "" + +#: ../../../changes.txt:2574 696c719c11ba4d4f8436604179238f4f +msgid "" +":meth:`Page.insertImage` has the additional *stream* \\-parameter, " +"specifying a memory area holding an image." +msgstr "" + +#: ../../../changes.txt:2576 083d9194c33f41068f0776f565c79c87 +msgid "" +"Issue with garbled PNGs on Linux systems has been resolved (`\"Problem " +"writing PNG\" #133) `_." +msgstr "" + +#: ../../../changes.txt:2581 98cc7e1927894f43bd5433b0231b3dcf +msgid "**Changes in Version 1.12.4**" +msgstr "" + +#: ../../../changes.txt:2583 7611c52e40a247d499880fc162bf20bb +msgid "This is an extension of 1.12.3." +msgstr "" + +#: ../../../changes.txt:2585 55de61bfb5954f95b17921dcd4914391 +msgid "" +"Fix of `issue #147 `_: " +"methods :meth:`Document.getPageFontlist` and " +":meth:`Document.getPageImagelist` now also show fonts and images " +"contained in :data:`resources` nested via \"Form XObjects\"." +msgstr "" + +#: ../../../changes.txt:2586 241a50f48e4b403481f23435638646e1 +msgid "" +"Temporary fix of `issue #148 " +"`_: Saving to new PDF " +"files will now automatically use *garbage = 2* if a lower value is given." +" Final fix is to be expected with MuPDF's next version. At that point we " +"will remove this circumvention." +msgstr "" + +#: ../../../changes.txt:2587 d1aeb27a9161455f91a41a0c53d1de52 +msgid "" +"Preventive fix of illegally using stencil / image mask pixmaps in some " +"methods." +msgstr "" + +#: ../../../changes.txt:2588 4d9f3bf7e9db4f75a524f3e201db2d32 +msgid "" +"Method :meth:`Document.getPageFontlist` now includes the encoding name " +"for each font in the list." +msgstr "" + +#: ../../../changes.txt:2589 da72830c7d2c40009f927c37bd604e55 +msgid "" +"Method :meth:`Document.getPageImagelist` now includes the decode method " +"name for each image in the list." +msgstr "" + +#: ../../../changes.txt:2593 b3c6fae68a704c8eb5f4e78304a1d854 +msgid "**Changes in Version 1.12.3**" +msgstr "" + +#: ../../../changes.txt:2595 4c52faae63874d45873aa766f417ab6f +msgid "This is an extension of 1.12.2." +msgstr "" + +#: ../../../changes.txt:2597 943612aea06749f4962d1ced1418925a +msgid "" +"Many functions now return *None* instead of *0*, if the result has no " +"other meaning than just indicating successful execution " +"(:meth:`Document.close`, :meth:`Document.save`, :meth:`Document.select`, " +":meth:`Pixmap.save` and many others)." +msgstr "" + +#: ../../../changes.txt:2601 6f0d4e2bdd41401d94ed4fe0fd9ec7e8 +msgid "**Changes in Version 1.12.2**" +msgstr "" + +#: ../../../changes.txt:2603 630bed92f4e34421925b88efe1ba42b6 +msgid "This is an extension of 1.12.1." +msgstr "" + +#: ../../../changes.txt:2605 50a351aa4579484893c9094cda2cfeba +msgid "" +"Method :meth:`Page.show_pdf_page` now accepts the new *clip* argument. " +"This specifies an area of the source page to which the display should be " +"restricted." +msgstr "" + +#: ../../../changes.txt:2607 80570d982b004e41989292ba7bb4ddb9 +msgid "" +"New :attr:`Page.CropBox` and :attr:`Page.MediaBox` have been included for" +" convenience." +msgstr "" + +#: ../../../changes.txt:2612 54fd6f1c51e04778bac0835de4f0361a +msgid "**Changes in Version 1.12.1**" +msgstr "" + +#: ../../../changes.txt:2614 db11fc420c4b4bd59ba30cf2a4f190d3 +msgid "This is an extension of version 1.12.0." +msgstr "" + +#: ../../../changes.txt:2616 82affdfbc4bb42ccabe2c77070a11719 +msgid "" +"New method :meth:`Page.show_pdf_page` displays another's PDF page. This " +"is a **vector** image and therefore remains precise across zooming. Both " +"involved documents must be PDF." +msgstr "" + +#: ../../../changes.txt:2618 f0e7a4343cf14d058e07063707db7b7e +msgid "" +"New method :meth:`Page.getSVGimage` creates an SVG image from the page. " +"In contrast to the raster image of a pixmap, this is a vector image " +"format. The return is a unicode text string, which can be saved in a " +"*.svg* file." +msgstr "" + +#: ../../../changes.txt:2620 c81d51dc94f646fda815c43c09bab73d +msgid "" +"Method :meth:`Page.getTextBlocks` now accepts an additional bool " +"parameter \"images\". If set to true (default is false), image blocks " +"(metadata only) are included in the produced list and thus allow " +"detecting areas with rendered images." +msgstr "" + +#: ../../../changes.txt:2622 5eafe44f47b34527bfff5138b15affd3 +msgid "Minor bug fixes." +msgstr "" + +#: ../../../changes.txt:2624 6bf7252d584b4c8e9b97592fc0d934e4 +msgid "" +"\"text\" result of :meth:`Page.getText` concatenates all lines within a " +"block using a single space character. MuPDF's original uses \"\\\\n\" " +"instead, producing a rather ragged output." +msgstr "" + +#: ../../../changes.txt:2626 94bf5fb0e50249e78857f02ebaaff525 +msgid "" +"New properties of :ref:`Page` objects :attr:`Page.MediaBoxSize` and " +":attr:`Page.CropBoxPosition` provide more information about a page's " +"dimensions. For non-PDF files (and for most PDF files, too) these will be" +" equal to :attr:`Page.rect.bottom_right`, resp. " +":attr:`Page.rect.top_left`. For example, class :ref:`Shape` makes use of " +"them to correctly position its items." +msgstr "" + +#: ../../../changes.txt:2630 74d15ecb1b914538a684a22683984be7 +msgid "**Changes in Version 1.12.0**" +msgstr "" + +#: ../../../changes.txt:2632 ac50d19ead2044d4afef9637fadb68d5 +msgid "" +"This version is based on and requires MuPDF v1.12.0. The new MuPDF " +"version contains quite a number of changes -- most of them around text " +"extraction. Some of the changes impact the programmer's API." +msgstr "" + +#: ../../../changes.txt:2634 1b465153b5814abe8ed0d412684e1e54 +msgid "" +":meth:`Outline.saveText` and :meth:`Outline.saveXML` have been deleted " +"without replacement. You probably haven't used them much anyway. But if " +"you are looking for a replacement: the output of :meth:`Document.get_toc`" +" can easily be used to produce something equivalent." +msgstr "" + +#: ../../../changes.txt:2636 b2b48a42c44c4a1dab5f5c66edaf406a +msgid "Class *TextSheet* does no longer exist." +msgstr "" + +#: ../../../changes.txt:2638 f6faca5ccc3b4ddab529d2c73f600396 +msgid "" +"Text \"spans\" (one of the hierarchy levels of :ref:`TextPage`) no longer" +" contain positioning information (i.e. no \"bbox\" key). Instead, spans " +"now provide the font information for its text. This impacts our JSON " +"output variant." +msgstr "" + +#: ../../../changes.txt:2640 cc737a16a9114bea9f2892a3d611d32f +msgid "" +"HTML output has improved very much: it now creates valid documents which " +"can be displayed by browsers to produce a similar view as the original " +"document." +msgstr "" + +#: ../../../changes.txt:2642 88630dce5a784283a7c487d4fd39dfe4 +msgid "" +"There is a new output format XHTML, which provides text and images in a " +"browser-readable format. The difference to HTML output is, that no effort" +" is made to reproduce the original layout." +msgstr "" + +#: ../../../changes.txt:2644 3af5ba7ff439426696f0f07a23e1d8fa +msgid "" +"All output formats of :meth:`Page.getText` now support creating complete," +" valid documents, by wrapping them with appropriate header and trailer " +"information. If you are interested in using the HTML output, please make " +"sure to read :ref:`HTMLQuality`." +msgstr "" + +#: ../../../changes.txt:2646 87e42d9c77a54890af57f976c5071ba7 +msgid "" +"To support finding text positions, we have added special methods that " +"don't need detours like :meth:`TextPage.extractJSON` or " +":meth:`TextPage.extractXML`: use :meth:`Page.getTextBlocks` or resp. " +":meth:`Page.getTextWords` to create lists of text blocks or resp. words, " +"which are accompanied by their rectangles. This should be much faster " +"than the standard text extraction methods and also avoids using " +"additional packages for interpreting their output." +msgstr "" + +#: ../../../changes.txt:2651 239ae39492b748df849ea403ef2108f0 +msgid "**Changes in Version 1.11.2**" +msgstr "" + +#: ../../../changes.txt:2653 2c6897b2b1734812a1b0c402d1ba8907 +msgid "This is an extension of v1.11.1." +msgstr "" + +#: ../../../changes.txt:2655 b024b8bd2f954e69a9f3a58c001cc2d8 +msgid "" +"New :meth:`Page.insertFont` creates a PDF */Font* object and returns its " +"object number." +msgstr "" + +#: ../../../changes.txt:2657 17bf32eed08e4af7a9235c26da714f4c +msgid "" +"New :meth:`Document.extractFont` extracts the content of an embedded font" +" given its object number." +msgstr "" + +#: ../../../changes.txt:2659 8a06bf9858264b8aaddd5dcc4b335cca +msgid "" +"Methods **FontList(...)** items no longer contain the PDF generation " +"number. This value never had any significance. Instead, the font file " +"extension is included (e.g. \"pfa\" for a \"PostScript Font for ASCII\")," +" which is more valuable information." +msgstr "" + +#: ../../../changes.txt:2661 f45d17bd4282467ca8855a3a25ae091d +msgid "Fonts other than \"simple fonts\" (Type1) are now also supported." +msgstr "" + +#: ../../../changes.txt:2663 18c58364a89d48b6aa981d0c901c91ea +msgid "New options to change :ref:`Pixmap` size:" +msgstr "" + +#: ../../../changes.txt:2665 399900b7d04b4cda9bdb0645844fa951 +msgid "Method :meth:`Pixmap.shrink` reduces the pixmap proportionally in place." +msgstr "" + +#: ../../../changes.txt:2667 3c624215a18b4ee5acf3b3f95f7d3b8f +msgid "" +"A new :ref:`Pixmap` copy constructor allows scaling via setting target " +"width and height." +msgstr "" + +#: ../../../changes.txt:2672 787726e4ea8e4f998d5c45f15750e062 +msgid "**Changes in Version 1.11.1**" +msgstr "" + +#: ../../../changes.txt:2674 3f97c63d1ab042b0938270157fe47048 +msgid "This is an extension of v1.11.0." +msgstr "" + +#: ../../../changes.txt:2676 51d6f21f07544106b1652c72ebc2ffe2 +msgid "" +"New class *Shape*. It facilitates and extends the creation of image " +"shapes on PDF pages. It contains multiple methods for creating elementary" +" shapes like lines, rectangles or circles, which can be combined into " +"more complex ones and be given common properties like line width or " +"colors. Combined shapes are handled as a unit and e.g. be \"morphed\" " +"together. The class can accumulate multiple complex shapes and put them " +"all in the page's foreground or background -- thus also reducing the " +"number of updates to the page's :data:`contents` object." +msgstr "" + +#: ../../../changes.txt:2678 2d4cfa604e58468ea1577f10209e6280 +msgid "All *Page* draw methods now use the new *Shape* class." +msgstr "" + +#: ../../../changes.txt:2680 fc7ba2646c3448c297ae41f9fadeda05 +msgid "" +"Text insertion methods *insertText()* and *insertTextBox()* now support " +"morphing in addition to text rotation. They have become part of the " +"*Shape* class and thus allow text to be freely combined with graphics." +msgstr "" + +#: ../../../changes.txt:2682 737fb07ba7c242ff9478cdcd66f9c5ec +msgid "" +"A new *Pixmap* constructor allows creating pixmap copies with an added " +"alpha channel. A new method also allows directly manipulating alpha " +"values." +msgstr "" + +#: ../../../changes.txt:2684 8ce597ee78ed4486bbf604c79de4b733 +msgid "" +"Binary algebraic operations with geometry objects (matrices, rectangles " +"and points) now generally also support lists or tuples as the second " +"operand. You can add a tuple *(x, y)* of numbers to a :ref:`Point`. In " +"this context, such sequences are called \":data:`point_like`\" (resp. " +":data:`matrix_like`, :data:`rect_like`)." +msgstr "" + +#: ../../../changes.txt:2686 5788fb7d7f784ac09ae37611ece715fa +msgid "" +"Geometry objects now fully support in-place operators. For example, *p /=" +" m* replaces point p with *p * 1/m* for a number, or *p * ~m* for a " +":data:`matrix_like` object *m*. Similarly, if *r* is a rectangle, then *r" +" |= (3, 4)* is the new rectangle that also includes *fitz.Point(3, 4)*, " +"and *r &= (1, 2, 3, 4)* is its intersection with *fitz.Rect(1, 2, 3, 4)*." +msgstr "" + +#: ../../../changes.txt:2690 34897b5e1f8042e392f5a46fcd148809 +msgid "**Changes in Version 1.11.0**" +msgstr "" + +#: ../../../changes.txt:2692 d292bd8392b648e4a31cef92ae09f8b5 +msgid "This version is based on and requires MuPDF v1.11." +msgstr "" + +#: ../../../changes.txt:2694 6de44e4ec25b476cb9fc163cdece9c5f +msgid "" +"Though MuPDF has declared it as being mostly a bug fix version, one major" +" new feature is indeed contained: support of embedded files -- also " +"called portfolios or collections. We have extended PyMuPDF functionality " +"to embrace this up to an extent just a little beyond the *mutool* utility" +" as follows." +msgstr "" + +#: ../../../changes.txt:2696 3f70b50c029542ff87e1112b28bb11f5 +msgid "" +"The *Document* class now support embedded files with several new methods " +"and one new property:" +msgstr "" + +#: ../../../changes.txt:2698 1922650fdba747cd960cf08984a60150 +msgid "" +"*embfile_Info()* returns metadata information about an entry in the list " +"of embedded files. This is more than *mutool* currently provides: it " +"shows all the information that was used to embed the file (not just the " +"entry's name)." +msgstr "" + +#: ../../../changes.txt:2699 3a1e2417a0dd47e985c0fd31c45e52fa +msgid "" +"*embfile_Get()* retrieves the (decompressed) content of an entry into a " +"*bytes* buffer." +msgstr "" + +#: ../../../changes.txt:2700 9c68f32b3ab04c2ba2849db67d9b5edc +msgid "" +"*embfile_Add(...)* inserts new content into the PDF portfolio. We (in " +"contrast to *mutool*) **restrict** this to entries with a **new name** " +"(no duplicate names allowed)." +msgstr "" + +#: ../../../changes.txt:2701 274f3e1bbceb4acfb7ceb07d7a164afb +msgid "" +"*embfile_Del(...)* deletes an entry from the portfolio (function not " +"offered in MuPDF)." +msgstr "" + +#: ../../../changes.txt:2702 0a75c5b044d54d62b32f6e6a9c1bb143 +msgid "" +"*embfile_SetInfo()* -- changes filename or description of an embedded " +"file." +msgstr "" + +#: ../../../changes.txt:2703 f80bb0230db84d0fb5d130853430ffb0 +msgid "*embfile_Count* -- contains the number of embedded files." +msgstr "" + +#: ../../../changes.txt:2705 5474da97a2ee44f59d0e2fd58ad55665 +msgid "" +"Several enhancements deal with streamlining geometry objects. These are " +"not connected to the new MuPDF version and most of them are also " +"reflected in PyMuPDF v1.10.0. Among them are new properties to identify " +"the corners of rectangles by name (e.g. *Rect.bottom_right*) and new " +"methods to deal with set-theoretic questions like *Rect.contains(x)* or " +"*IRect.intersects(x)*. Special effort focussed on supporting more " +"\"Pythonic\" language constructs: *if x in rect ...* is equivalent to " +"*rect.contains(x)*." +msgstr "" + +#: ../../../changes.txt:2707 2a7db4a61ce24c848f83c0863bad09b7 +msgid "" +"The :ref:`Rect` chapter now has more background on empty amd infinite " +"rectangles and how we handle them. The handling itself was also updated " +"for more consistency in this area." +msgstr "" + +#: ../../../changes.txt:2709 33aee8dea574413681caf242adf8da6a +msgid "We have started basic support for **generation** of PDF content:" +msgstr "" + +#: ../../../changes.txt:2711 deb4a2603a53455cb82d849ad34308aa +msgid "" +"*Document.insert_page()* adds a new page into a PDF, optionally " +"containing some text." +msgstr "" + +#: ../../../changes.txt:2712 f7497c0e1764493a945c64046add98a1 +msgid "*Page.insertImage()* places a new image on a PDF page." +msgstr "" + +#: ../../../changes.txt:2713 59797715081c4303a9d023f624eeda19 +msgid "*Page.insertText()* puts new text on an existing page" +msgstr "" + +#: ../../../changes.txt:2715 1e1119160b9b47b6838fe3a16078aabc +msgid "" +"For **FileAttachment** annotations, content and name of the attached file" +" can extracted and changed." +msgstr "" + +#: ../../../changes.txt:2719 b6b1a71f6e9c4006ad908aca83e94958 +msgid "**Changes in Version 1.10.0**" +msgstr "" + +#: ../../../changes.txt:2721 2d15107ed72748df88b1f193e0590a28 +msgid "**MuPDF v1.10 Impact**" +msgstr "" + +#: ../../../changes.txt:2723 bcefb5c4e9884f03a30f600abedbeb81 +msgid "" +"MuPDF version 1.10 has a significant impact on our bindings. Some of the " +"changes also affect the API -- in other words, **you** as a PyMuPDF user." +msgstr "" + +#: ../../../changes.txt:2725 50ef82a6f0904d01b9d131853ef968fe +msgid "" +"Link destination information has been reduced. Several properties of the " +"*linkDest* class no longer contain valuable information. In fact, this " +"class as a whole has been deleted from MuPDF's library and we in PyMuPDF " +"only maintain it to provide compatibility to existing code." +msgstr "" + +#: ../../../changes.txt:2727 e0f444dd42e048608c890061f2205bab +msgid "" +"In an effort to minimize memory requirements, several improvements have " +"been built into MuPDF v1.10:" +msgstr "" + +#: ../../../changes.txt:2729 dd57640466d6465693ecfa9e6153edb1 +msgid "" +"A new *config.h* file can be used to de-select unwanted features in the C" +" base code. Using this feature we have been able to reduce the size of " +"our binary *_fitz.o* / *_fitz.pyd* by about 50% (from 9 MB to 4.5 MB). " +"When UPX-ing this, the size goes even further down to a very handy 2.3 " +"MB." +msgstr "" + +#: ../../../changes.txt:2731 42d66398d41a44a099a22715ab110b6a +msgid "" +"The alpha (transparency) channel for pixmaps is now optional. Letting " +"alpha default to *False* significantly reduces pixmap sizes (by 20% -- " +"CMYK, 25% -- RGB, 50% -- GRAY). Many *Pixmap* constructors therefore now " +"accept an *alpha* boolean to control inclusion of this channel. Other " +"pixmap constructors (e.g. those for file and image input) create pixmaps " +"with no alpha altogether. On the downside, save methods for pixmaps no " +"longer accept a *savealpha* option: this channel will always be saved " +"when present. To minimize code breaks, we have left this parameter in the" +" call patterns -- it will just be ignored." +msgstr "" + +#: ../../../changes.txt:2733 58b3832200ca448a9f2942f1ec5f30d9 +msgid "" +"*DisplayList* and *TextPage* class constructors now **require the " +"mediabox** of the page they are referring to (i.e. the *page.bound()* " +"rectangle). There is no way to construct this information from other " +"sources, therefore a source code change cannot be avoided in these cases." +" We assume however, that not many users are actually employing these " +"rather low level classes explicitly. So the impact of that change should " +"be minor." +msgstr "" + +#: ../../../changes.txt:2735 01de368016c141b1b2553cd585883f58 +msgid "**Other Changes compared to Version 1.9.3**" +msgstr "" + +#: ../../../changes.txt:2737 df26434942574d7da8fc1befaf6d049e +msgid "" +"The new :ref:`Document` method *write()* writes an opened PDF to memory " +"(as opposed to a file, like *save()* does)." +msgstr "" + +#: ../../../changes.txt:2738 5190f090e6f84628be18a2e1c9fd43df +msgid "" +"An annotation can now be scaled and moved around on its page. This is " +"done by modifying its rectangle." +msgstr "" + +#: ../../../changes.txt:2739 0eb2ec9314ee488196226314519b9129 +msgid "" +"Annotations can now be deleted. :ref:`Page` contains the new method " +"*deleteAnnot()*." +msgstr "" + +#: ../../../changes.txt:2740 99724b99bd0548eaa19c8c85f41c3b21 +msgid "" +"Various annotation attributes can now be modified, e.g. content, dates, " +"title (= author), border, colors." +msgstr "" + +#: ../../../changes.txt:2741 d958d6b52dd140669174995b9aa48a2c +msgid "" +"Method *Document.insert_pdf()* now also copies annotations of source " +"pages." +msgstr "" + +#: ../../../changes.txt:2742 a77b60cbc9834c8885e873395b2e5293 +msgid "" +"The *Pages* class has been deleted. As documents can now be accessed with" +" page numbers as indices (like *doc[n] = doc.loadPage(n)*), and document " +"object can be used as iterators, the benefit of this class was too low to" +" maintain it. See the following comments." +msgstr "" + +#: ../../../changes.txt:2743 8310daf4e1854f8d93f3fccbab7b350f +msgid "" +"*loadPage(n)* / *doc[n]* now accept arbitrary integers to specify a page " +"number, as long as *n < pageCount*. So, e.g. *doc[-500]* is always valid " +"and will load page *(-500) % pageCount*." +msgstr "" + +#: ../../../changes.txt:2744 1204cbb1b1c544fb9e21c114bb1d1ba0 +msgid "" +"A document can now also be used as an iterator like this: *for page in " +"doc: ... ...*. This will yield all pages of " +"*doc* as *page*." +msgstr "" + +#: ../../../changes.txt:2745 638b89cc45b748c1871ca2d5aead5130 +msgid "" +"The :ref:`Pixmap` method *getSize()* has been replaced with property " +"*size*. As before *Pixmap.size == len(Pixmap)* is true." +msgstr "" + +#: ../../../changes.txt:2746 08362ae590bb4f6d909e17c344eac186 +msgid "" +"In response to transparency (alpha) being optional, several new " +"parameters and properties have been added to :ref:`Pixmap` and " +":ref:`Colorspace` classes to support determining their characteristics." +msgstr "" + +#: ../../../changes.txt:2747 26af3ec444444862b651b0a46668621b +msgid "" +"The :ref:`Page` class now contains new properties *firstAnnot* and " +"*firstLink* to provide starting points to the respective class chains, " +"where *firstLink* is just a mnemonic synonym to method *loadLinks()* " +"which continues to exist. Similarly, the new property *rect* is a synonym" +" for method *bound()*, which also continues to exist." +msgstr "" + +#: ../../../changes.txt:2748 ded24a5038154723bb3341c82e3cbf85 +msgid "" +":ref:`Pixmap` methods *samplesRGB()* and *samplesAlpha()* have been " +"deleted because pixmaps can now be created without transparency." +msgstr "" + +#: ../../../changes.txt:2749 0f12d21dba014e89b8c28b88440ddf0d +msgid "" +":ref:`Rect` now has a property *irect* which is a synonym of method " +"*round()*. Likewise, :ref:`IRect` now has property *rect* to deliver a " +":ref:`Rect` which has the same coordinates as floats values." +msgstr "" + +#: ../../../changes.txt:2750 30d1287837f24dc3b01d070c0235a6b3 +msgid "" +"Document has the new method *searchPageFor()* to search for a text " +"string. It works exactly like the corresponding *Page.searchFor()* with " +"page number as additional parameter." +msgstr "" + +#: ../../../changes.txt:2755 efde2cd3f108453c92668ab6680d8c22 +msgid "**Changes in Version 1.9.3**" +msgstr "" + +#: ../../../changes.txt:2757 0ea28511a44f47cbabd5e1818b9aa8aa +msgid "" +"This version is also based on MuPDF v1.9a. Changes compared to version " +"1.9.2:" +msgstr "" + +#: ../../../changes.txt:2759 4e290039221648db96c98c392772b446 +msgid "" +"As a major enhancement, annotations are now supported in a similar way as" +" links. Annotations can be displayed (as pixmaps) and their properties " +"can be accessed." +msgstr "" + +#: ../../../changes.txt:2760 9b2336cd5062432881d29cf06440709d +msgid "" +"In addition to the document *select()* method, some simpler methods can " +"now be used to manipulate a PDF:" +msgstr "" + +#: ../../../changes.txt:2762 8d2322bb4a7d4981a30ae2ec5a2cbdb0 +msgid "*copyPage()* copies a page within a document." +msgstr "" + +#: ../../../changes.txt:2763 b7683db8abd54cb09161d5edf19f4bd3 +msgid "*movePage()* is similar, but deletes the original." +msgstr "" + +#: ../../../changes.txt:2764 a4c469e758a1452bb9ab330b06d00638 +msgid "*delete_page()* deletes a page" +msgstr "" + +#: ../../../changes.txt:2765 edfd6b26956f4fbfbe96ae5f0b82abd1 +msgid "*delete_pages()* deletes a page range" +msgstr "" + +#: ../../../changes.txt:2767 39a894ab055d4710b6bd443c6df69890 +msgid "" +"*rotation* or *setRotation()* access or change a PDF page's rotation, " +"respectively." +msgstr "" + +#: ../../../changes.txt:2768 4c32f65b4b694d6bb428aa23ca44e50a +msgid "" +"Available but undocumented before, :ref:`IRect`, :ref:`Rect`, " +":ref:`Point` and :ref:`Matrix` support the *len()* method and their " +"coordinate properties can be accessed via indices, e.g. *IRect.x1 == " +"IRect[2]*." +msgstr "" + +#: ../../../changes.txt:2769 f60011476e35442c8866a3831c378b54 +msgid "" +"For convenience, documents now support simple indexing: *doc.loadPage(n) " +"== doc[n]*. The index may however be in range *-pageCount < n < " +"pageCount*, such that *doc[-1]* is the last page of the document." +msgstr "" + +#: ../../../changes.txt:2773 b923307f30254e48ba8f3dfb4835b05a +msgid "**Changes in Version 1.9.2**" +msgstr "" + +#: ../../../changes.txt:2775 6449dd561a1d46078eff4b1c6983b1ae +msgid "" +"This version is also based on MuPDF v1.9a. Changes compared to version " +"1.9.1:" +msgstr "" + +#: ../../../changes.txt:2777 f9a699d3f70e4d6caed1fb3017bf1f0b +msgid "" +"*fitz.open()* (no parameters) creates a new empty **PDF** document, i.e. " +"if saved afterwards, it must be given a *.pdf* extension." +msgstr "" + +#: ../../../changes.txt:2778 6d6ed72ba57c49cab25dd46b125a7992 +msgid "" +":ref:`Document` now accepts all of the following formats (*Document* and " +"*open* are synonyms):" +msgstr "" + +#: ../../../changes.txt:2780 a3a89203f10e4adeb3cfe637ceb6fdff +msgid "*open()*," +msgstr "" + +#: ../../../changes.txt:2781 adac8cae62784b188b7532c740bb1379 +msgid "*open(filename)* (equivalent to *open(filename, None)*)," +msgstr "" + +#: ../../../changes.txt:2782 5d35476e5dcf46248458a566565f6b6f +msgid "*open(filetype, area)* (equivalent to *open(filetype, stream = area)*)." +msgstr "" + +#: ../../../changes.txt:2784 2fdc6dd492a14cc68fa4d2de4e051cfc +msgid "" +"Type of memory area *stream* may be *bytes* or *bytearray*. Thus, e.g. " +"*area = open(\"file.pdf\", \"rb\").read()* may be used directly (without " +"first converting it to bytearray)." +msgstr "" + +#: ../../../changes.txt:2785 ad12c912ac3247a4a7c774429b01c39b +msgid "" +"New method *Document.insert_pdf()* (PDFs only) inserts a range of pages " +"from another PDF." +msgstr "" + +#: ../../../changes.txt:2786 93f16447ec77443ba90329b70366c78f +msgid "" +"*Document* objects doc now support the *len()* function: ``len(doc) == " +"doc.pageCount``." +msgstr "" + +#: ../../../changes.txt:2787 b9dfdd6106944a0ab643f64882fa6526 +msgid "" +"New method *Document.getPageImageList()* creates a list of images used on" +" a page." +msgstr "" + +#: ../../../changes.txt:2788 f2906fa3f14c4f93bddbe0029d43681f +msgid "" +"New method *Document.getPageFontList()* creates a list of fonts " +"referenced by a page." +msgstr "" + +#: ../../../changes.txt:2789 a053e3c6bd69480aa1a4639e8522af69 +msgid "" +"New pixmap constructor *fitz.Pixmap(doc, xref)* creates a pixmap based on" +" an opened PDF document and an :data:`xref` number of the image." +msgstr "" + +#: ../../../changes.txt:2790 9dfdd7f9d9b14e15963c179646bcbbeb +msgid "" +"New pixmap constructor *fitz.Pixmap(cspace, spix)* creates a pixmap as a " +"copy of another one *spix* with the colorspace converted to *cspace*. " +"This works for all colorspace combinations." +msgstr "" + +#: ../../../changes.txt:2791 2a61334e5c304e09a3efe93e1daf2a53 +msgid "" +"Pixmap constructor *fitz.Pixmap(colorspace, width, height, samples)* now " +"allows *samples* to also be *bytes*, not only *bytearray*." +msgstr "" + +#: ../../../changes.txt:2796 b95080e967b24b66ae4b63c42d239889 +msgid "**Changes in Version 1.9.1**" +msgstr "" + +#: ../../../changes.txt:2798 9273e10701d143069e9c0424e4b6bded +msgid "" +"This version of PyMuPDF is based on MuPDF library source code version " +"1.9a published on April 21, 2016." +msgstr "" + +#: ../../../changes.txt:2800 517fc4042ed6446e9e7457b0f69e8504 +msgid "" +"Please have a look at MuPDF's website to see which changes and " +"enhancements are contained herein." +msgstr "" + +#: ../../../changes.txt:2802 c70db83bdb1d48d198e4344cae4de7b5 +msgid "Changes in version 1.9.1 compared to version 1.8.0 are the following:" +msgstr "" + +#: ../../../changes.txt:2804 0d6385d834804b7d9b0ab1c6ef0d85b8 +msgid "New methods *get_area()* for both *fitz.Rect* and *fitz.IRect*" +msgstr "" + +#: ../../../changes.txt:2805 85fda6915f8c488cb6fbe936f1ea49ab +msgid "" +"Pixmaps can now be created directly from files using the new constructor " +"*fitz.Pixmap(filename)*." +msgstr "" + +#: ../../../changes.txt:2806 d92fe0f7f8304a5190d37c53f89f3a24 +msgid "The Pixmap constructor *fitz.Pixmap(image)* has been extended accordingly." +msgstr "" + +#: ../../../changes.txt:2807 cdaceee4b768492e9110c3d0cd75e175 +msgid "" +"*fitz.Rect* can now be created with all possible combinations of points " +"and coordinates." +msgstr "" + +#: ../../../changes.txt:2808 03f45a90666540d8b5cb4c257457b006 +msgid "" +"PyMuPDF classes and methods now all contain __doc__ strings, most of " +"them created by SWIG automatically. While the PyMuPDF documentation " +"certainly is more detailed, this feature should help a lot when " +"programming in Python-aware IDEs." +msgstr "" + +#: ../../../changes.txt:2809 2ddafe376f5e4f4e9ac5c3db523eea26 +msgid "" +"A new document method of *getPermits()* returns the permissions " +"associated with the current access to the document (print, edit, " +"annotate, copy), as a Python dictionary." +msgstr "" + +#: ../../../changes.txt:2810 38dbe8d276f348d6b76c6d0a15d0676f +msgid "The identity matrix *fitz.Identity* is now **immutable**." +msgstr "" + +#: ../../../changes.txt:2811 fa0425c7b7b04f0bb7c04eec634e2756 +msgid "" +"The new document method *select(list)* removes all pages from a document " +"that are not contained in the list. Pages can also be duplicated and re-" +"arranged." +msgstr "" + +#: ../../../changes.txt:2812 3c561ea70df341be88b491b64dc6f313 +msgid "" +"Various improvements and new members in our demo and examples " +"collections. Perhaps most prominently: *PDF_display* now supports " +"scrolling with the mouse wheel, and there is a new example program " +"*wxTableExtract* which allows to graphically identify and extract table " +"data in documents." +msgstr "" + +#: ../../../changes.txt:2813 4d9bea8a8e514d67958c633b66ca31fb +msgid "*fitz.open()* is now an alias of *fitz.Document()*." +msgstr "" + +#: ../../../changes.txt:2814 f62c2e04dea346d0a23964798a6150e8 +msgid "" +"New pixmap method *tobytes()* which will return a bytearray formatted as " +"a PNG image of the pixmap." +msgstr "" + +#: ../../../changes.txt:2815 691532d03793437899a4b59421388b4c +msgid "" +"New pixmap method *samplesRGB()* providing a *samples* version with alpha" +" bytes stripped off (RGB colorspaces only)." +msgstr "" + +#: ../../../changes.txt:2816 2780806eef3f43b28a7e9601a270e9f2 +msgid "" +"New pixmap method *samplesAlpha()* providing the alpha bytes only of the " +"*samples* area." +msgstr "" + +#: ../../../changes.txt:2817 21fbef3bc0e64a59a9a9b9f5005063e8 +msgid "New iterator *fitz.Pages(doc)* over a document's set of pages." +msgstr "" + +#: ../../../changes.txt:2818 707a5edabf3e4c3cbb66ed5d280d40ae +msgid "" +"New matrix methods *invert()* (calculate inverted matrix), *concat()* " +"(calculate matrix product), *pretranslate()* (perform a shift operation)." +msgstr "" + +#: ../../../changes.txt:2819 cc8cea5eaf77474aa84e90031d6f3318 +msgid "" +"New *IRect* methods *intersect()* (intersection with another rectangle), " +"*translate()* (perform a shift operation)." +msgstr "" + +#: ../../../changes.txt:2820 893b259908084462b3a1a85629a6ee06 +msgid "" +"New *Rect* methods *intersect()* (intersection with another rectangle), " +"*transform()* (transformation with a matrix), *include_point()* (enlarge " +"rectangle to also contain a point), *include_rect()* (enlarge rectangle " +"to also contain another one)." +msgstr "" + +#: ../../../changes.txt:2821 21838e58f15b4457816e55450382ccb9 +msgid "Documented *Point.transform()* (transform a point with a matrix)." +msgstr "" + +#: ../../../changes.txt:2822 3f2842cba4c044eb99d8d250d9f84740 +msgid "" +"*Matrix*, *IRect*, *Rect* and *Point* classes now support compact, " +"algebraic formulations for manipulating such objects." +msgstr "" + +#: ../../../changes.txt:2823 bb13c21e58c14cf59f36e99322166ac4 +msgid "" +"Incremental saves for changes are possible now using the call pattern " +"*doc.save(doc.name, incremental=True)*." +msgstr "" + +#: ../../../changes.txt:2824 34093067a0274622aa66ca0e40f20da0 +msgid "" +"A PDF's metadata can now be deleted, set or changed by document method " +"*set_metadata()*. Supports incremental saves." +msgstr "" + +#: ../../../changes.txt:2825 0e2f9f83f2244178a0772a7f0de76b0d +msgid "" +"A PDF's bookmarks (or table of contents) can now be deleted, set or " +"changed with the entries of a list using document method *set_toc(list)*." +" Supports incremental saves." +msgstr "" + +#: ../../footer.rst:48 0555f8605d724eadbe65f9eb27755b4f +msgid "This documentation covers all versions up to |version|." +msgstr "" + diff --git a/docs/locales/ko/LC_MESSAGES/classes.mo b/docs/locales/ko/LC_MESSAGES/classes.mo new file mode 100644 index 000000000..ef8978a09 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/classes.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/classes.po b/docs/locales/ko/LC_MESSAGES/classes.po new file mode 100644 index 000000000..a340657ba --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/classes.po @@ -0,0 +1,45 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 72d124a4df2940ae91c02b99f3c82423 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 0da5ffd890c841748068ca615eab3107 +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 9d0127c5f1f14daa981562792c65c9b5 +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" + +#: ../../classes.rst:5 fe9040dd12d946768ce0d27a27fdaf3d +msgid "Classes" +msgstr "클래스" + +#: ../../footer.rst:46 8ffd075421f949e383a9682ed7ae841d +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/colors.mo b/docs/locales/ko/LC_MESSAGES/colors.mo new file mode 100644 index 000000000..0642de508 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/colors.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/colors.po b/docs/locales/ko/LC_MESSAGES/colors.po new file mode 100644 index 000000000..a0742f59f --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/colors.po @@ -0,0 +1,97 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 f7f80c710949468b8bd435236ad8e2c4 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 128dbd8ce067437e9fa9367d9a81490c +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 fc29ad4440c04367a8583f77893f5da0 +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" + +#: ../../colors.rst:7 904c9bd5c37245ada62e1853d3d3ab41 +msgid "Color Database" +msgstr "색상 데이터베이스" + +#: ../../colors.rst:8 3a6a8c4737a04dff80244d2af0ec3eb5 +msgid "" +"Since the introduction of methods involving colors (like " +":meth:`Page.draw_circle`), a requirement may be to have access to " +"predefined colors." +msgstr ":meth:`Page.draw_circle` 과 같은 색상을 포함하는 메서드가 도입된 이후, 미리 정의된 색상에 액세스할 필요가 있을 수 있습니다." + +#: ../../colors.rst:10 413288a3680f4de18bf71a5e9d578ce4 +msgid "" +"The fabulous GUI package `wxPython `_ has a " +"database of over 540 predefined RGB colors, which are given more or less " +"memorizable names. Among them are not only standard names like \"green\" " +"or \"blue\", but also \"turquoise\", \"skyblue\", and 100 (not only 50 " +"...) shades of \"gray\", etc." +msgstr "훌륭한 GUI 패키지 `wxPython `_ 는 540개 이상의 미리 정의된 RGB 색상 데이터베이스를 가지고 있으며, 각각 기억하기 쉬운 이름이 부여되어 있습니다. 그 중에는 \"green\"이나 \"blue\"와 같은 표준 이름뿐만 아니라 \"turquoise\", \"skyblue\", 그리고 \"gray\"의 100가지(50가지뿐만 아니라...) 음영 등이 포함되어 있습니다." + +#: ../../colors.rst:12 14609f03f5aa4aaa8e49243c7e03e485 +msgid "" +"We have taken the liberty to copy this database (a list of tuples) " +"modified into PyMuPDF and make its colors available as PDF compatible " +"float triples: for wxPython's *(\"WHITE\", 255, 255, 255)* we return *(1," +" 1, 1)*, which can be directly used in *color* and *fill* parameters. We " +"also accept any mixed case of \"wHiTe\" to find a color." +msgstr "이 데이터베이스(튜플 목록)를 PyMuPDF로 복사하여 수정하고 색상을 PDF 호환 float 삼중값으로 사용할 수 있게 했습니다: wxPython의 *(\"WHITE\", 255, 255, 255)* 에 대해 *(1, 1, 1)* 을 반환하며, 이것은 *color* 및 *fill* 매개변수에서 직접 사용할 수 있습니다. 또한 색상을 찾기 위해 \"wHiTe\"와 같은 대소문자 혼합도 허용합니다." + +#: ../../colors.rst:15 9ad1f31ffff5428d982d997142d514ed +msgid "Function *getColor()*" +msgstr "함수 *getColor()*" + +#: ../../colors.rst:16 a622de02c9de4a36be638603c453810c +msgid "" +"As the color database may not be needed very often, one additional import" +" statement seems acceptable to get access to it::" +msgstr "색상 데이터베이스가 자주 필요하지 않을 수 있으므로, 액세스하기 위해 하나의 추가 import 문이 허용되는 것으로 보입니다::" + +#: ../../colors.rst:41 77d5cf06ffb64791bf093176968e3823 +msgid "Printing the Color Database" +msgstr "색상 데이터베이스 인쇄" + +#: ../../colors.rst:42 671f64b3cd454ac79241e57967a08885 +msgid "" +"If you want to actually see how the many available colors look like, use " +"scripts `print by RGB `_ or `print by HSV " +"`_ in the examples directory. They create PDFs (already " +"existing in the same directory) with all these colors. Their only " +"difference is sorting order: one takes the RGB values, the other one the " +"Hue-Saturation-Values as sort criteria. This is a screen print of what " +"these files look like." +msgstr "실제로 사용 가능한 많은 색상이 어떻게 보이는지 확인하려면 examples 디렉토리의 `RGB로 인쇄 `_ 또는 `HSV로 인쇄 `_ 스크립트를 사용하세요. 이들은 이러한 모든 색상이 포함된 PDF를 생성합니다(이미 같은 디렉토리에 존재). 유일한 차이점은 정렬 순서입니다: 하나는 RGB 값을 사용하고 다른 하나는 색상-채도-값을 정렬 기준으로 사용합니다. 이것은 이러한 파일이 어떻게 보이는지에 대한 화면 인쇄입니다." + +#: ../../footer.rst:46 8a7d56a546234904856ce9f0b72c1614 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/colorspace.mo b/docs/locales/ko/LC_MESSAGES/colorspace.mo new file mode 100644 index 000000000..a27e2ac56 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/colorspace.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/colorspace.po b/docs/locales/ko/LC_MESSAGES/colorspace.po new file mode 100644 index 000000000..a22747133 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/colorspace.po @@ -0,0 +1,114 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 f549435fd225442b88591b9ea748ccf5 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 26942a499b7a445b90c295eca24482e7 +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 af615b1043644e81bbff2aaf9a089159 +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" + +#: ../../colorspace.rst:7 34c209fdd6e340a2957eb63d18046708 +msgid "Colorspace" +msgstr "Colorspace (색 공간)" + +#: ../../colorspace.rst:9 f977d2d374354205a274599236a85e9e +msgid "Represents the color space of a :ref:`Pixmap`." +msgstr ":ref:`Pixmap` 의 색 공간을 나타냅니다." + +#: ../../colorspace.rst:12 1b2a1f6f61a04f109833fcd6f2cd89f6 +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../colorspace.rst:18 e6633c622a404083816fea39291502e0 +msgid "Constructor" +msgstr "생성자" + +#: ../../colorspace.rst bb53728a68224c1598e93adba7f88d7b +msgid "Parameters" +msgstr "매개변수" + +#: ../../colorspace.rst:20 2f9149a75fe74a3ea8f99ed87ca10a79 +msgid "" +"A number identifying the colorspace. Possible values are :data:`CS_RGB`, " +":data:`CS_GRAY` and :data:`CS_CMYK`." +msgstr "색 공간을 식별하는 숫자. 가능한 값은 :data:`CS_RGB`, :data:`CS_GRAY`, :data:`CS_CMYK` 입니다." + +#: ../../colorspace.rst:24 68374fc9f8604e2c9f51ccab76cd667f +msgid "" +"The name identifying the colorspace. Example: *pymupdf.csCMYK.name = " +"'DeviceCMYK'*." +msgstr "색 공간을 식별하는 이름. 예: *pymupdf.csCMYK.name = 'DeviceCMYK'*." + +#: ../../colorspace.rst 2b529cfead5f452aa08c4f0889094f2a +#: de6bc202909d47c1ac4f59fb0cfd08f4 +msgid "type" +msgstr "유형" + +#: ../../colorspace.rst:26 fae8ee7d418c442591c2744e79c8744d +msgid "str" +msgstr "str" + +#: ../../colorspace.rst:30 c1510ca299d344e599e43a51f294701f +msgid "" +"The number of bytes required to define the color of one pixel. Example: " +"*pymupdf.csCMYK.n == 4*." +msgstr "한 픽셀의 색상을 정의하는 데 필요한 바이트 수. 예: *pymupdf.csCMYK.n == 4*." + +#: ../../colorspace.rst:32 f102b99da0f947f2ad6e51b936a3be73 +msgid "int" +msgstr "int" + +#: ../../colorspace.rst:35 38447c5856904db38a697c5fbbac7a22 +msgid "**Predefined Colorspaces**" +msgstr "**사전 정의된 색 공간**" + +#: ../../colorspace.rst:37 050d42a00f5a4101af529f195bc8bb1c +msgid "" +"For saving some typing effort, there exist predefined colorspace objects " +"for the three available cases." +msgstr "입력을 간소화하기 위해 세 가지 사용 가능한 경우에 대한 사전 정의된 색 공간 객체가 존재합니다." + +#: ../../colorspace.rst:39 e4c24c0bade34c0893756619c1ebc542 +msgid ":data:`csRGB` = *pymupdf.Colorspace(pymupdf.CS_RGB)*" +msgstr ":data:`csRGB` = *pymupdf.Colorspace(pymupdf.CS_RGB)*" + +#: ../../colorspace.rst:40 2094a63eb7ee45d9ae81e24499dde735 +msgid ":data:`csGRAY` = *pymupdf.Colorspace(pymupdf.CS_GRAY)*" +msgstr ":data:`csGRAY` = *pymupdf.Colorspace(pymupdf.CS_GRAY)*" + +#: ../../colorspace.rst:41 055f0bfcd886462d9efd42028ac34cf4 +msgid ":data:`csCMYK` = *pymupdf.Colorspace(pymupdf.CS_CMYK)*" +msgstr ":data:`csCMYK` = *pymupdf.Colorspace(pymupdf.CS_CMYK)*" + +#: ../../footer.rst:46 db2d1460e2e34af68d7315f27089b57f +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/converting-files.mo b/docs/locales/ko/LC_MESSAGES/converting-files.mo new file mode 100644 index 000000000..3c2fffb47 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/converting-files.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/converting-files.po b/docs/locales/ko/LC_MESSAGES/converting-files.po new file mode 100644 index 000000000..f3bb2de0b --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/converting-files.po @@ -0,0 +1,100 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 f8990f687e0047c89745e6b15ef5f312 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 606c02d809cb449ab8e5df484cb2149f +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 90891c93f09445feb007b8f80d447d93 +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" + +#: ../../converting-files.rst:7 153e0c6c14bf4b8bac1dcdc565ac0f16 +msgid "Converting Files" +msgstr "파일 변환" + +#: ../../converting-files.rst:12 9b1bc6f3061c4fd9a084829ef7554c37 +msgid "Files to PDF" +msgstr "파일을 PDF로" + +#: ../../converting-files.rst:14 38d5a093dfc24e72b3627f1a2c952515 +msgid "" +":ref:`Document types supported by PyMuPDF` can easily be " +"converted to |PDF| by using the :meth:`Document.convert_to_pdf` method. " +"This method returns a buffer of data which can then be utilized by " +"|PyMuPDF| to create a new |PDF|." +msgstr ":ref:`PyMuPDF 가 지원하는 문서 유형` 은 :meth:`Document.convert_to_pdf` 메서드를 사용하여 쉽게 |PDF| 로 변환할 수 있습니다. 이 메서드는 데이터 버퍼를 반환하며, 이를 |PyMuPDF| 에서 사용하여 새로운 |PDF| 를 생성할 수 있습니다." + +#: ../../converting-files.rst:18 ../../converting-files.rst:38 +#: ../../converting-files.rst:62 ../../converting-files.rst:82 +#: 2eff8f1c0f704e9d9e23a98078353847 7345723f19864e81be97447aab194cd9 +#: c3ae18efff164928b70b884d3a47caac ecdbf8cbbb2d46bc9bf312b716b264af +msgid "**Example**" +msgstr "**예제**" + +#: ../../converting-files.rst:32 4e3eda1d4bff4593ae1f0333bcc47a5d +msgid "PDF to SVG" +msgstr "PDF를 SVG로" + +#: ../../converting-files.rst:34 d8f0e0e26f99486485d27038482b5558 +msgid "" +"Technically, as SVG files cannot be multipage, we must export each page " +"as an SVG." +msgstr "기술적으로 SVG 파일은 다중 페이지를 지원하지 않으므로 각 페이지를 SVG로 내보내야 합니다." + +#: ../../converting-files.rst:36 45efc8839a1b44e9a877335aa51df1b6 +msgid "" +"To get an SVG representation of a page use the :meth:`Page.get_svg_image`" +" method." +msgstr "페이지의 SVG 표현을 얻으려면 :meth:`Page.get_svg_image` 메서드를 사용하세요." + +#: ../../converting-files.rst:58 9249883d41654d3c8041c561743679c6 +msgid "PDF to Markdown" +msgstr "PDF를 Markdown으로" + +#: ../../converting-files.rst:60 9d35a0dc74c742419817cfab8ac5fbb6 +msgid "" +"By utlilizing the :doc:`PyMuPDF4LLM API ` we are able to" +" convert PDF to a Markdown representation." +msgstr ":doc:`PyMuPDF4LLM API ` 를 활용하여 PDF를 Markdown 표현으로 변환할 수 있습니다." + +#: ../../converting-files.rst:76 a8c608159d57471c89e55f3c44adafe2 +msgid "PDF to DOCX" +msgstr "PDF를 DOCX로" + +#: ../../converting-files.rst:78 443eb3ec0d3a4ba89f8e4361a7607e16 +msgid "" +"Use the pdf2docx_ library which uses |PyMuPDF| to provide document " +"conversion from |PDF| to **DOCX** format." +msgstr "|PyMuPDF| 를 사용하여 |PDF| 에서 **DOCX** 형식으로 문서 변환을 제공하는 pdf2docx_ 라이브러리를 사용하세요." + +#: ../../footer.rst:46 bf92de7cbdc140fba9255f9a43b9932a +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/coop_low.mo b/docs/locales/ko/LC_MESSAGES/coop_low.mo new file mode 100644 index 000000000..891cc5095 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/coop_low.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/coop_low.po b/docs/locales/ko/LC_MESSAGES/coop_low.po new file mode 100644 index 000000000..d8772b3de --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/coop_low.po @@ -0,0 +1,171 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 8d754aed1e2740038b917c525f18b9ca +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 48fc1e2d0d4044849ac51203907c3038 +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 9455ddb086974d8fbdb10bf9926ee2c2 +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" + +#: ../../coop_low.rst:7 1424337399114434a5fcad7ec04fb525 +msgid "Working together: DisplayList and TextPage" +msgstr "함께 작업하기: DisplayList 및 TextPage" + +#: ../../coop_low.rst:8 a3db195fac9545f6bcdb871b180a3157 +msgid "Here are some instructions on how to use these classes together." +msgstr "이러한 클래스를 함께 사용하는 방법에 대한 지침입니다." + +#: ../../coop_low.rst:10 0151aabe7884411ab744c548ff37a84f +msgid "" +"In some situations, performance improvements may be achievable, when you " +"fall back to the detail level explained here." +msgstr "일부 상황에서는 여기서 설명하는 세부 수준으로 돌아가면 성능 개선을 달성할 수 있습니다." + +#: ../../coop_low.rst:13 54d7972a1340441eaea756f718523d0b +msgid "Create a DisplayList" +msgstr "DisplayList 생성" + +#: ../../coop_low.rst:14 c98d7572988c49e6a0b6a9e9719d1774 +msgid "" +"A :ref:`DisplayList` represents an interpreted document page. Methods for" +" pixmap creation, text extraction and text search are -- behind the " +"curtain -- all using the page's display list to perform their tasks. If a" +" page must be rendered several times (e.g. because of changed zoom " +"levels), or if text search and text extraction should both be performed, " +"overhead can be saved, if the display list is created only once and then " +"used for all other tasks." +msgstr ":ref:`DisplayList` 는 해석된 문서 페이지를 나타냅니다. 픽스맵 생성, 텍스트 추출 및 텍스트 검색 메서드는 모두 -- 배후에서 -- 페이지의 디스플레이 리스트를 사용하여 작업을 수행합니다. 페이지를 여러 번 렌더링해야 하거나(예: 확대/축소 수준 변경), 텍스트 검색과 텍스트 추출을 모두 수행해야 하는 경우, 디스플레이 리스트를 한 번만 생성한 다음 다른 모든 작업에 사용하면 오버헤드를 절약할 수 있습니다." + +#: ../../coop_low.rst:18 4e74ccb447ad4e808e44350168bf55d2 +msgid "" +"You can also create display lists for many pages \"on stack\" (in a " +"list), may be during document open, during idling times, or you store it " +"when a page is visited for the first time (e.g. in GUI scripts)." +msgstr "여러 페이지에 대한 디스플레이 리스트를 \"스택에\"(리스트에) 생성할 수도 있습니다. 문서를 열 때, 유휴 시간 동안, 또는 페이지를 처음 방문할 때(예: GUI 스크립트) 저장할 수 있습니다." + +#: ../../coop_low.rst:20 12bb2e8c763e4ad3a237fd80266a2543 +msgid "" +"Note, that for everything what follows, only the display list is needed " +"-- the corresponding :ref:`Page` object could have been deleted." +msgstr "다음의 모든 작업에는 디스플레이 리스트만 필요합니다. 해당 :ref:`Page` 객체는 삭제되었을 수 있습니다." + +#: ../../coop_low.rst:23 686688813b8745b284b6d509397757da +msgid "Generate Pixmap" +msgstr "픽스맵 생성" + +#: ../../coop_low.rst:24 d5a176c44d9a4202a1247dbea491d65e +msgid "" +"The following creates a Pixmap from a :ref:`DisplayList`. Parameters are " +"the same as for :meth:`Page.get_pixmap`." +msgstr "다음은 :ref:`DisplayList` 에서 픽스맵을 생성합니다. 매개변수는 :meth:`Page.get_pixmap` 과 동일합니다." + +#: ../../coop_low.rst:28 141a5838b45c4b229d3aa4b5d32e29e6 +#, python-format +msgid "" +"The execution time of this statement may be up to 50% shorter than that " +"of :meth:`Page.get_pixmap`." +msgstr "이 문의 실행 시간은 :meth:`Page.get_pixmap` 보다 최대 50% 짧을 수 있습니다." + +#: ../../coop_low.rst:31 23be506420454ef7b8ccdcabdadf9684 +msgid "Perform Text Search" +msgstr "텍스트 검색 수행" + +#: ../../coop_low.rst:32 304eb217224047588efee4d3a4959ad2 +msgid "With the display list from above, we can also search for text." +msgstr "위의 디스플레이 리스트를 사용하여 텍스트를 검색할 수도 있습니다." + +#: ../../coop_low.rst:34 6f3c8ea4c8134e719b9c2c789a52eaf5 +msgid "For this we need to create a :ref:`TextPage`." +msgstr "이를 위해 :ref:`TextPage` 를 생성해야 합니다." + +#: ../../coop_low.rst:42 702318fa16304e26a6dbff34f1f56e8c +msgid "Extract Text" +msgstr "텍스트 추출" + +#: ../../coop_low.rst:43 50018abeea15456b936054a8e8301808 +msgid "" +"With the same :ref:`TextPage` object from above, we can now immediately " +"use any or all of the 5 text extraction methods." +msgstr "위의 동일한 :ref:`TextPage` 객체를 사용하여 이제 5가지 텍스트 추출 메서드 중 하나 또는 모두를 즉시 사용할 수 있습니다." + +#: ../../coop_low.rst:45 01c692d0961a48d78607d7cdef1b8734 +msgid "" +"Above, we have created our text page without argument. This leads to a " +"default argument of 3 (:data:`ligatures` and white-space are preserved), " +"IAW images will **not** be extracted -- see below." +msgstr "위에서 인수 없이 텍스트 페이지를 생성했습니다. 이것은 기본 인수 3(:data:`ligatures` 및 공백이 보존됨)으로 이어지며, 즉 이미지는 **추출되지 않습니다** -- 아래를 참조하세요." + +#: ../../coop_low.rst:54 15150223bde3445b8a3ddc5a334745ce +msgid "Further Performance improvements" +msgstr "추가 성능 개선" + +#: ../../coop_low.rst:56 815c6e2e62894b99850c2da374681e5c +msgid "Pixmap" +msgstr "픽스맵" + +#: ../../coop_low.rst:57 5fa23435785d41b3aa98150e549e6a24 +msgid "As explained in the :ref:`Page` chapter:" +msgstr ":ref:`Page` 장에서 설명한 대로:" + +#: ../../coop_low.rst:59 d7489842cfb34a66b6decf4e2c4626a6 +#, python-format +msgid "" +"If you do not need transparency set *alpha = 0* when creating pixmaps. " +"This will save 25% memory (if RGB, the most common case) and possibly 5% " +"execution time (depending on the GUI software)." +msgstr "투명도가 필요하지 않으면 픽스맵을 생성할 때 *alpha = 0* 을 설정하세요. 이것은 25%의 메모리를 절약하고(RGB인 경우, 가장 일반적인 경우) GUI 소프트웨어에 따라 실행 시간을 약 5% 절약할 수 있습니다." + +#: ../../coop_low.rst:62 85b6f710f9d440e6a4e7167325c704a1 +msgid "TextPage" +msgstr "TextPage" + +#: ../../coop_low.rst:63 eacc58b3ec3b4895b3defc1f4a0cff2b +msgid "" +"If you do not need images extracted alongside the text of a page, you can" +" set the following option:" +msgstr "페이지의 텍스트와 함께 이미지를 추출할 필요가 없으면 다음 옵션을 설정할 수 있습니다:" + +#: ../../coop_low.rst:68 494f5310e02d4bc18d9d3742d80c9a1d +#, python-format +msgid "" +"This will save ca. 25% overall execution time for the HTML, XHTML and " +"JSON text extractions and **hugely** reduce the amount of storage (both, " +"memory and disk space) if the document is graphics oriented." +msgstr "이것은 HTML, XHTML 및 JSON 텍스트 추출의 전체 실행 시간을 약 25% 절약하고, 문서가 그래픽 지향적인 경우 스토리지(메모리 및 디스크 공간 모두)의 양을 **대폭** 줄입니다." + +#: ../../coop_low.rst:70 c7b5ac2b784947f6a4bd325d1474f9b8 +msgid "If you however do need images, use a value of 7 for flags:" +msgstr "하지만 이미지가 필요한 경우 플래그에 7 값을 사용하세요:" + +#: ../../footer.rst:46 74ed18ccd6ca45b28e31f30369c051a8 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/device.mo b/docs/locales/ko/LC_MESSAGES/device.mo new file mode 100644 index 000000000..d995d99d1 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/device.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/device.po b/docs/locales/ko/LC_MESSAGES/device.po new file mode 100644 index 000000000..e89ca73e9 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/device.po @@ -0,0 +1,93 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 db41752d7d77475b91dce6987192b03e +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 9d1395b42c0242c2937c063ec31289da +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 c674fa9ee73a4fcf888b701a69a14f4a +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" + +#: ../../device.rst:7 d8f699f2197d4cccb1a32e36349536c8 +msgid "Device" +msgstr "Device (디바이스)" + +#: ../../device.rst:9 c03889a987f445ea84d79f3d5abfb84d +msgid "" +"The different format handlers (pdf, xps, etc.) interpret pages to a " +"\"device\". Devices are the basis for everything that can be done with a " +"page: rendering, text extraction and searching. The device type is " +"determined by the selected construction method." +msgstr "다양한 형식 핸들러(pdf, xps 등)는 페이지를 \"디바이스\"로 해석합니다. 디바이스는 페이지로 수행할 수 있는 모든 작업(렌더링, 텍스트 추출, 검색)의 기반입니다. 디바이스 유형은 선택한 생성 방법에 의해 결정됩니다." + +#: ../../device.rst:11 5997f573701045499919ec1f18ab7518 +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../device.rst:17 4b9fd079e127474e94506fe9eadb79d7 +msgid "Constructor for either a pixel map or a display list device." +msgstr "픽셀 맵 또는 디스플레이 리스트 디바이스의 생성자." + +#: ../../device.rst 3029384c54544ad783072064ea96675d +#: ca7a504aacc440719aba0931b7724c60 +msgid "Parameters" +msgstr "매개변수" + +#: ../../device.rst:19 9b095106055b4d568344ac7d142034f3 +msgid "either a ``Pixmap`` or a ``DisplayList``." +msgstr "``Pixmap`` 또는 ``DisplayList`` 중 하나." + +#: ../../device.rst:22 30003de713004e58977091af11644238 +msgid "" +"An optional `IRect` for ``Pixmap`` devices to restrict rendering to a " +"certain area of the page. If the complete page is required, specify " +"``None``. For display list devices, this parameter must be omitted." +msgstr "``Pixmap`` 디바이스의 선택적 `IRect` 로, 페이지의 특정 영역으로 렌더링을 제한합니다. 전체 페이지가 필요한 경우 ``None`` 을 지정하세요. 디스플레이 리스트 디바이스의 경우 이 매개변수는 생략해야 합니다." + +#: ../../device.rst:27 5a3223623124424ba115721d21086469 +msgid "Constructor for a text page device." +msgstr "텍스트 페이지 디바이스의 생성자." + +#: ../../device.rst:29 8f77a7687a804d458ddb9a4be4624d77 +msgid "``TextPage`` object" +msgstr "``TextPage`` 객체" + +#: ../../device.rst:32 53c8b35c8b0e4e488b05cfbe1c988a0d +msgid "" +"control the way how text is parsed into the text page. Currently 3 " +"options can be coded into this parameter, see :ref:`TextPreserve`. To set" +" these options use something like `flags=0 | TEXT_PRESERVE_LIGATURES | " +"...`." +msgstr "텍스트가 텍스트 페이지로 파싱되는 방식을 제어하는 플래그입니다. 현재 3가지 옵션을 이 매개변수에 코딩할 수 있으며, :ref:`TextPreserve` 를 참조하세요. 이러한 옵션을 설정하려면 `flags=0 | TEXT_PRESERVE_LIGATURES | ...` 와 같은 형식을 사용하세요." + +#: ../../footer.rst:46 233763b8ff7c42718f2a5b6285c3802f +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/displaylist.mo b/docs/locales/ko/LC_MESSAGES/displaylist.mo new file mode 100644 index 000000000..94e7c43bc Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/displaylist.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/displaylist.po b/docs/locales/ko/LC_MESSAGES/displaylist.po new file mode 100644 index 000000000..1de408312 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/displaylist.po @@ -0,0 +1,241 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 ff003cfb5c0b4ca9ba474a0f6e3841c2 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 c536d6f0052e4f9cbf11534486001461 +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 2b6c43a92fad451db1603199ddd7c294 +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" + +#: ../../displaylist.rst:7 698bbcf656244694aa96f09767a54aa5 +msgid "DisplayList" +msgstr "DisplayList (디스플레이 리스트)" + +#: ../../displaylist.rst:9 2b6a249a9e6a46a482202e8b105e8ddc +msgid "" +"DisplayList is a list containing drawing commands (text, images, etc.). " +"The intent is two-fold:" +msgstr "DisplayList는 그리기 명령(텍스트, 이미지 등)을 포함하는 리스트입니다. 목적은 두 가지입니다:" + +#: ../../displaylist.rst:11 01de3b874c654c729617cd5a69c98a06 +msgid "as a caching-mechanism to reduce parsing of a page" +msgstr "페이지 파싱을 줄이기 위한 캐싱 메커니즘으로" + +#: ../../displaylist.rst:12 e47cc33899c24e9b8b48607d9cc55aca +msgid "" +"as a data structure in multi-threading setups, where one thread parses " +"the page and another one renders pages. This aspect is currently not " +"supported by PyMuPDF." +msgstr "멀티스레딩 설정에서 데이터 구조로, 한 스레드는 페이지를 파싱하고 다른 스레드는 페이지를 렌더링합니다. 이 측면은 현재 PyMuPDF에서 지원되지 않습니다." + +#: ../../displaylist.rst:14 ff6ed96e5e434d9ab8b7c046b2b5b89e +msgid "" +"A display list is populated with objects from a page, usually by " +"executing :meth:`Page.get_displaylist`. There also exists an independent " +"constructor." +msgstr "디스플레이 리스트는 일반적으로 :meth:`Page.get_displaylist` 를 실행하여 페이지의 객체로 채워집니다. 독립적인 생성자도 존재합니다." + +#: ../../displaylist.rst:16 66dc12118dd1430c91493428b6adb3ca +msgid "" +"\"Replay\" the list (once or many times) by invoking one of its methods " +":meth:`~DisplayList.run`, :meth:`~DisplayList.get_pixmap` or " +":meth:`~DisplayList.get_textpage`." +msgstr "리스트를 \"재생\"하려면(한 번 또는 여러 번) 메서드 중 하나인 :meth:`~DisplayList.run`, :meth:`~DisplayList.get_pixmap` 또는 :meth:`~DisplayList.get_textpage` 를 호출하세요." + +#: ../../displaylist.rst:20 c6df8741dd9746c4849b6615f4787387 +msgid "**Method**" +msgstr "**메서드**" + +#: ../../displaylist.rst:20 7f551f0499df4df7ad355142c819deef +msgid "**Short Description**" +msgstr "**간략 설명**" + +#: ../../displaylist.rst:22 81094ba0fcee4f3dac4c1d13adccd9d9 +msgid ":meth:`~DisplayList.run`" +msgstr ":meth:`~DisplayList.run`" + +#: ../../displaylist.rst:22 790d819aba1b4a4e89cf7059456f3be1 +msgid "Run a display list through a device." +msgstr "디스플레이 리스트를 디바이스를 통해 실행합니다." + +#: ../../displaylist.rst:23 c12a3766ae42430fadfe30df077ebef7 +msgid ":meth:`~DisplayList.get_pixmap`" +msgstr ":meth:`~DisplayList.get_pixmap`" + +#: ../../displaylist.rst:23 a2c2be7f9085440cb858e4a52c0253c3 +msgid "generate a pixmap" +msgstr "픽스맵 생성" + +#: ../../displaylist.rst:24 2e841e7218aa459b955f952f63f85c7f +msgid ":meth:`~DisplayList.get_textpage`" +msgstr ":meth:`~DisplayList.get_textpage`" + +#: ../../displaylist.rst:24 4b5a1849844142eba8b0e00c4ea85c1b +msgid "generate a text page" +msgstr "텍스트 페이지 생성" + +#: ../../displaylist.rst:25 e7f6a71e64b144b2bb150227a7b7183b +msgid ":attr:`~DisplayList.rect`" +msgstr ":attr:`~DisplayList.rect`" + +#: ../../displaylist.rst:25 205d05395d674e39a9e4f0e958d3d06f +msgid "mediabox of the display list" +msgstr "디스플레이 리스트의 mediabox" + +#: ../../displaylist.rst:29 4a42cea626fe4460b70834ce0af2a4ef +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../displaylist.rst:35 9e9d57cb314843a081adb93c9240ac5f +msgid "Create a new display list." +msgstr "새 디스플레이 리스트를 생성합니다." + +#: ../../displaylist.rst 02a4c577c3194a778a9d75f67212861e +#: 27616f064af541208365c4cf3260036b 27eb0863e4044881b0a7ef37d0114e28 +#: d4d3d713dc85432f9ebc95eac1f51a09 +msgid "Parameters" +msgstr "매개변수" + +#: ../../displaylist.rst:37 06aebf2ce5d941adbb8e7aa50ae0b2b8 +msgid "The page's rectangle." +msgstr "페이지의 사각형." + +#: ../../displaylist.rst 3e56029375ab4b639b13a2bd6b5dc316 +#: a18c2d343b454f2bb564792a3fc55a17 d0a557e9eef6429c8aa58d2cbac510a6 +msgid "Return type" +msgstr "반환 유형" + +#: ../../displaylist.rst:40 b8ad61a1e5a44b7587e9e889a0f7b29a +msgid "``DisplayList``" +msgstr "``DisplayList``" + +#: ../../displaylist.rst:44 ce5a41193477481c88976a823b4ad9d6 +msgid "" +"Run the display list through a device. The device will populate the " +"display list with its \"commands\" (i.e. text extraction or image " +"creation). The display list can later be used to \"read\" a page many " +"times without having to re-interpret it from the document file." +msgstr "디스플레이 리스트를 디바이스를 통해 실행합니다. 디바이스는 디스플레이 리스트를 \"명령\"(즉, 텍스트 추출 또는 이미지 생성)으로 채웁니다. 디스플레이 리스트는 나중에 문서 파일에서 다시 해석할 필요 없이 페이지를 여러 번 \"읽는\" 데 사용할 수 있습니다." + +#: ../../displaylist.rst:46 2dc2aba3d46f4fc4a7820028e1a60253 +msgid "" +"You will most probably instead use one of the specialized run methods " +"below -- :meth:`get_pixmap` or :meth:`get_textpage`." +msgstr "아래의 특수화된 실행 메서드 중 하나를 사용하는 것이 좋습니다 -- :meth:`get_pixmap` 또는 :meth:`get_textpage`." + +#: ../../displaylist.rst:48 6e70c4b85f91448c9a7c98c37c0a0ae4 +msgid "Device" +msgstr "Device" + +#: ../../displaylist.rst:51 2f667d2e56bf4e01898f21ff9eb28571 +msgid "Transformation matrix to apply to the display list contents." +msgstr "디스플레이 리스트 콘텐츠에 적용할 변환 행렬." + +#: ../../displaylist.rst:54 b64884bb37bd4618a66990bf4733f646 +msgid "" +"Only the part visible within this area will be considered when the list " +"is run through the device." +msgstr "리스트가 디바이스를 통해 실행될 때 이 영역 내에서 보이는 부분만 고려됩니다." + +#: ../../displaylist.rst:65 ab527e51c453471f9f60eedf09b9d087 +msgid "Run the display list through a draw device and return a pixmap." +msgstr "디스플레이 리스트를 그리기 디바이스를 통해 실행하고 픽스맵을 반환합니다." + +#: ../../displaylist.rst:67 61769985d519468490018723da292d0a +msgid "matrix to use. Default is the identity matrix." +msgstr "사용할 행렬. 기본값은 항등 행렬입니다." + +#: ../../displaylist.rst:70 5932c2f43fdd4b4c8a0f5d2d7c994379 +msgid "the desired colorspace. Default is RGB." +msgstr "원하는 색 공간. 기본값은 RGB입니다." + +#: ../../displaylist.rst:73 fbab40e0ab2c491e9dfb956c94981baa +msgid "determine whether or not (0, default) to include a transparency channel." +msgstr "투명도 채널을 포함할지 여부를 결정합니다(0, 기본값은 포함하지 않음)." + +#: ../../displaylist.rst:75 466d20a9e3a74fb78536c5cce52c0423 +msgid "" +"restrict rendering to the intersection of this area with " +":attr:`DisplayList.rect`." +msgstr ":attr:`DisplayList.rect` 와 이 영역의 교집합으로 렌더링을 제한합니다." + +#: ../../displaylist.rst:77 757d1f9a21b041c6ae4ed0b958ce457b +msgid ":ref:`Pixmap`" +msgstr ":ref:`Pixmap`" + +#: ../../displaylist.rst 65ed81ab27df4ce49e030837b6f76d44 +#: bc2f03674971487f858250a2cbe58732 +msgid "Returns" +msgstr "반환값" + +#: ../../displaylist.rst:78 ea8ff1cc1cdf40caa3e75151ca6cb92c +msgid "pixmap of the display list." +msgstr "디스플레이 리스트의 픽스맵." + +#: ../../displaylist.rst:82 f854adb186fc469aa47d5bd62e907d4d +msgid "Run the display list through a text device and return a text page." +msgstr "디스플레이 리스트를 텍스트 디바이스를 통해 실행하고 텍스트 페이지를 반환합니다." + +#: ../../displaylist.rst:84 a9b235a2d522430c93c09a55cb019b92 +msgid "" +"control which information is parsed into a text page. Default value in " +"PyMuPDF is `3 = TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE`, i.e." +" :data:`ligatures` are **passed through**, white spaces are **passed " +"through** (not translated to spaces), and images are **not included**. " +"See :ref:`TextPreserve`." +msgstr "텍스트 페이지로 파싱되는 정보를 제어하는 플래그입니다. PyMuPDF의 기본값은 `3 = TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE` 입니다. 즉, :data:`ligatures` 는 **그대로 전달** 되고, 공백은 **그대로 전달** 되며(공백으로 변환되지 않음), 이미지는 **포함되지 않습니다**. :ref:`TextPreserve` 를 참조하세요." + +#: ../../displaylist.rst:86 daf0b2be9b6a4376b53e036006a9a7e3 +msgid ":ref:`TextPage`" +msgstr ":ref:`TextPage`" + +#: ../../displaylist.rst:87 4d6cd4f91f0e4964b02aad9a3db2ad8a +msgid "text page of the display list." +msgstr "디스플레이 리스트의 텍스트 페이지." + +#: ../../displaylist.rst:91 e4d71370db2d4368b08b17d8436d7747 +msgid "" +"Contains the display list's mediabox. This will equal the page's " +"rectangle if it was created via :meth:`Page.get_displaylist`." +msgstr "디스플레이 리스트의 mediabox를 포함합니다. :meth:`Page.get_displaylist` 를 통해 생성된 경우 페이지의 사각형과 같습니다." + +#: ../../displaylist.rst 0b6e65f6961f4c6b9882f9b9dfe93154 +msgid "type" +msgstr "유형" + +#: ../../displaylist.rst:93 f277dc21a3714454ae8f4cf4f1e5113d +msgid ":ref:`Rect`" +msgstr ":ref:`Rect`" + +#: ../../footer.rst:46 e683ef7401754f0d941d78c8c96788e0 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/document-writer-class.mo b/docs/locales/ko/LC_MESSAGES/document-writer-class.mo new file mode 100644 index 000000000..a1306551d Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/document-writer-class.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/document-writer-class.po b/docs/locales/ko/LC_MESSAGES/document-writer-class.po new file mode 100644 index 000000000..b54f0d134 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/document-writer-class.po @@ -0,0 +1,178 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 b5b4277baa2f45589bb33213fe28d133 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 99651177bb7e45218e911de8509ad3d7 +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 bfa8a6eb19134fd5a3ed2f7ff3e5a66b +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" + +#: ../../document-writer-class.rst:7 9ec19dc1ee5e4333ada6ca4a81b20c76 +msgid "DocumentWriter" +msgstr "DocumentWriter" + +#: ../../document-writer-class.rst:9 a8428a7a09fa4d84ba14e57e1cd9933c +msgid "|pdf_only_class|" +msgstr "|pdf_only_class|" + +#: ../../document-writer-class.rst:12 fdd84ae0909a4d88bcdceeefa2b39965 +msgid "New in v1.21.0" +msgstr "v1.21.0의 새로운 기능" + +#: ../../document-writer-class.rst:14 2d81b86330d54196bb5037872069be5e +msgid "" +"This class represents a utility which can output various :ref:`document " +"types supported by PyMuPDF`." +msgstr "이 클래스는 |PyMuPDF| 가 :ref:`지원하는 다양한 문서 유형` 을 출력할 수 있는 유틸리티를 나타냅니다." + +#: ../../document-writer-class.rst:16 f752c28f5ed14d28b92bcff7e31a12f8 +msgid "" +"In |PyMuPDF| only used for outputting PDF documents whose pages are " +"populated by :ref:`Story` DOMs." +msgstr "|PyMuPDF| 에서는 :ref:`Story` DOM으로 페이지가 채워진 PDF 문서를 출력하는 데만 사용됩니다." + +#: ../../document-writer-class.rst:18 a51f0f40cbb0442f86dc705ad1fa8132 +msgid "" +"Using DocumentWriter_ also for other document types might happen in the " +"future." +msgstr "DocumentWriter_ 를 다른 문서 유형에도 사용하는 것은 향후 가능할 수 있습니다." + +#: ../../document-writer-class.rst:21 8c16e93aa1ce4c6e89c38ba3555943a2 +msgid "**Method / Attribute**" +msgstr "**메서드 / 속성**" + +#: ../../document-writer-class.rst:21 078570c061cc494ab88a122d6f975a13 +msgid "**Short Description**" +msgstr "**간단한 설명**" + +#: ../../document-writer-class.rst:23 e28aaeaab2de42e2be303102f8816b38 +msgid ":meth:`DocumentWriter.begin_page`" +msgstr ":meth:`DocumentWriter.begin_page`" + +#: ../../document-writer-class.rst:23 46462fa63c0f497ca2b40e3aa34b103a +msgid "start a new output page" +msgstr "새 출력 페이지 시작" + +#: ../../document-writer-class.rst:24 3fb4972774e64633aeb1fa920d332d0b +msgid ":meth:`DocumentWriter.end_page`" +msgstr ":meth:`DocumentWriter.end_page`" + +#: ../../document-writer-class.rst:24 deca462b344444baaba815c62c4ccf49 +msgid "finish the current output page" +msgstr "현재 출력 페이지 완료" + +#: ../../document-writer-class.rst:25 e80c1d8e184c453bbec00d4725057371 +msgid ":meth:`DocumentWriter.close`" +msgstr ":meth:`DocumentWriter.close`" + +#: ../../document-writer-class.rst:25 82b604112a0849018b6017d0b48a269a +msgid "flush pending output and close the file" +msgstr "대기 중인 출력을 플러시하고 파일 닫기" + +#: ../../document-writer-class.rst:28 77d9bb485f4345bc9066ac6cbf59d8a9 +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../document-writer-class.rst:34 ae20c5fbdb154f71a4aa713c0690c587 +msgid "" +"Create a document writer object, passing a Python file pointer or a file " +"path. Options to use when saving the file may also be passed." +msgstr "Python 파일 포인터 또는 파일 경로를 전달하여 문서 작성자 객체를 생성합니다. 파일을 저장할 때 사용할 옵션도 전달할 수 있습니다." + +#: ../../document-writer-class.rst:36 6124d2357c6a4781a34eddaaf0ca7dfa +msgid "This class can also be used as a Python context manager." +msgstr "이 클래스는 Python 컨텍스트 관리자로도 사용할 수 있습니다." + +#: ../../document-writer-class.rst d2e1469751bd4c2e8536b3688da9abc9 +#: e1457a30002847edb1dba253d238fc76 +msgid "Parameters" +msgstr "매개변수" + +#: ../../document-writer-class.rst:38 3fd7620d0e854ab3bc313135cc0b7a22 +msgid "" +"the output file. This may be a string file name, or any Python file " +"pointer. .. note:: By using a `io.BytesIO()` object as file pointer, a " +"document writer can create a PDF in memory. Subsequently, this PDF can be" +" re-opened for input and be further manipulated. This technique is used " +"by several example scripts in :ref:`Stories recipes`." +msgstr "" + +#: ../../document-writer-class.rst:38 8206476585d647538a060a35c0be1961 +msgid "" +"the output file. This may be a string file name, or any Python file " +"pointer." +msgstr "출력 파일. 이것은 문자열 파일 이름이거나 모든 Python 파일 포인터일 수 있습니다." + +#: ../../document-writer-class.rst:40 5cc894a076804ce4bbaf88cd575d9067 +msgid "" +"By using a `io.BytesIO()` object as file pointer, a document writer can " +"create a PDF in memory. Subsequently, this PDF can be re-opened for input" +" and be further manipulated. This technique is used by several example " +"scripts in :ref:`Stories recipes`." +msgstr "`io.BytesIO()` 객체를 파일 포인터로 사용하면 문서 작성자가 메모리에서 PDF를 생성할 수 있습니다. 그런 다음 이 PDF를 입력용으로 다시 열고 추가로 조작할 수 있습니다. 이 기술은 :ref:`Stories recipes` 의 여러 예제 스크립트에서 사용됩니다." + +#: ../../document-writer-class.rst:42 8e2b505af0b34fec888ef183d42bc55a +msgid "" +"specify saving options for the output PDF. Typical are \"compress\" or " +"\"clean\". More possible values may be taken from help output of the " +"`mutool convert` CLI utility." +msgstr "출력 PDF의 저장 옵션을 지정합니다. 일반적인 옵션은 \"compress\" 또는 \"clean\"입니다. 더 많은 가능한 값은 `mutool convert` CLI 유틸리티의 도움말 출력에서 가져올 수 있습니다." + +#: ../../document-writer-class.rst:46 f4aad7b430d043e1af763b51fe58f1be +msgid "Start a new output page of a given dimension." +msgstr "주어진 크기의 새 출력 페이지를 시작합니다." + +#: ../../document-writer-class.rst:48 d97df503773b4b5d804d95f381624a79 +msgid "" +"a rectangle specifying the page size. After this method, output " +"operations may write content to the page." +msgstr "페이지 크기를 지정하는 사각형. 이 메서드 후에 출력 작업이 페이지에 콘텐츠를 쓸 수 있습니다." + +#: ../../document-writer-class.rst:52 3357a3e14b5c4681a572cf35f2056a51 +msgid "" +"Finish a page. This flushes any pending data and appends the page to the " +"output document." +msgstr "페이지를 완료합니다. 이것은 대기 중인 모든 데이터를 플러시하고 페이지를 출력 문서에 추가합니다." + +#: ../../document-writer-class.rst:56 b42cc189417341c8939b89cb1ea93a07 +msgid "" +"Close the output file. This method is required for writing any pending " +"data." +msgstr "출력 파일을 닫습니다. 대기 중인 데이터를 쓰려면 이 메서드가 필요합니다." + +#: ../../document-writer-class.rst:58 f5b95d821dfe45629904bb96a9fb09e4 +msgid "For usage examples consult the section of :ref:`Story`." +msgstr "사용 예제는 :ref:`Story` 섹션을 참조하세요." + +#: ../../footer.rst:46 de69d88972544cf695683e1f78897d93 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/document.mo b/docs/locales/ko/LC_MESSAGES/document.mo new file mode 100644 index 000000000..a97944dfd Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/document.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/document.po b/docs/locales/ko/LC_MESSAGES/document.po new file mode 100644 index 000000000..1abe2bbde --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/document.po @@ -0,0 +1,6316 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PyMuPDF 1.26.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-03 09:30+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ko\n" +"Language-Team: ko \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.17.0\n" + +#: ../../header.rst:-1 44ccd9af706d4fd09cbe79b42e629a20 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 70ca2976f112470bb748e32924a487bd +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 81b4037c4ad64026a570bc64aa3b9ddb +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" + +#: ../../document.rst:7 6f9364c2520544c89caa6bccb4ace73d +msgid "Document" +msgstr "Document" + +#: ../../document.rst:11 b64bcbba58e84c91858551ce23f6e170 +msgid "" +"This class represents a document. It can be constructed from a file or " +"from memory." +msgstr "이 클래스는 문서를 나타냅니다. 파일 또는 메모리에서 생성할 수 있습니다." + +#: ../../document.rst:13 c5a7eb078446487baf15439ed4463a67 +msgid "" +"There exists the alias *open* for this class, i.e. " +"`pymupdf.Document(...)` and `pymupdf.open(...)` do exactly the same " +"thing." +msgstr "" +"이 클래스에는 *open* 별칭이 있습니다. 즉, `pymupdf.Document(...)` 와 `pymupdf.open(...)`" +" 는 정확히 동일한 작업을 수행합니다." + +#: ../../document.rst:15 e66711c1a68c4bcb99c4a34100a14cd1 +msgid "For details on **embedded files** refer to Appendix 3." +msgstr "**임베디드 파일** 에 대한 자세한 내용은 부록 3을 참조하세요." + +#: ../../document.rst:19 26f0b72a907b4767b496b9a50b705cb7 +msgid "" +"Starting with v1.17.0, a new page addressing mechanism for **EPUB files " +"only** is supported. This document type is internally organized in " +"chapters such that pages can most efficiently be found by their so-called" +" \"location\". The location is a tuple *(chapter, pno)* consisting of the" +" chapter number and the page number **in that chapter**. Both numbers are" +" zero-based." +msgstr "" +"v1.17.0부터 **EPUB 파일 전용** 새로운 페이지 주소 지정 메커니즘이 지원됩니다. 이 문서 타입은 내부적으로 장으로 " +"구성되어 있어 페이지를 소위 \"location\" 으로 가장 효율적으로 찾을 수 있습니다. location은 장 번호와 **해당 " +"장의** 페이지 번호로 구성된 튜플 *(chapter, pno)* 입니다. 두 숫자 모두 0부터 시작합니다." + +#: ../../document.rst:21 178b2c734378413abc91131145d04d44 +msgid "" +"While it is still possible to locate a page via its (absolute) number, " +"doing so may mean that the complete EPUB document must be laid out before" +" the page can be addressed. This may have a significant performance " +"impact if the document is very large. Using the page's *(chapter, pno)* " +"prevents this from happening." +msgstr "" +"여전히 (절대) 번호로 페이지를 찾을 수 있지만, 이렇게 하면 페이지를 주소 지정하기 전에 전체 EPUB 문서를 레이아웃해야 할 수" +" 있습니다. 문서가 매우 큰 경우 성능에 상당한 영향을 줄 수 있습니다. 페이지의 *(chapter, pno)* 를 사용하면 이를 " +"방지할 수 있습니다." + +#: ../../document.rst:23 2159d3254f2042e28d38a6352b880f37 +msgid "" +"To maintain a consistent API, PyMuPDF supports the page *location* syntax" +" for **all file types** -- documents without this feature simply have " +"just one chapter. :meth:`Document.load_page` and the equivalent index " +"access now also support a *location* argument." +msgstr "" +"일관된 API를 유지하기 위해 |PyMuPDF| 는 **모든 파일 타입** 에 대해 페이지 *location* 구문을 지원합니다. " +"이 기능이 없는 문서는 단순히 하나의 장만 가집니다. :meth:`Document.load_page` 및 동등한 인덱스 액세스는 " +"이제 *location* 인수도 지원합니다." + +#: ../../document.rst:25 df232cf85be34f7694fc6bae4310265f +msgid "" +"There are a number of methods for converting between page numbers and " +"locations, for determining the chapter count, the page count per chapter," +" for computing the next and the previous locations, and the last page " +"location of a document." +msgstr "" +"페이지 번호와 location 간 변환, 장 수 결정, 장당 페이지 수, 다음 및 이전 location 계산, 문서의 마지막 페이지" +" location을 위한 여러 메서드가 있습니다." + +#: ../../document.rst:28 46f524c760e44c68ac0212f9fb4848a2 +msgid "**Method / Attribute**" +msgstr "**메서드 / 속성**" + +#: ../../document.rst:28 4e9377212f2f4e3082b3e2b410eab114 +msgid "**Short Description**" +msgstr "**간단한 설명**" + +#: ../../document.rst:30 5b3602e531d94c1db1c6497e9803431f +msgid ":meth:`Document.add_layer`" +msgstr ":meth:`Document.add_layer`" + +#: ../../document.rst:30 65d3136ffad541db9619e9893cfdf1f8 +msgid "PDF only: make new optional content configuration" +msgstr "PDF 전용: 새로운 선택적 콘텐츠 구성 만들기" + +#: ../../document.rst:31 3c176560d54742a5b24d578c141af482 +msgid ":meth:`Document.add_ocg`" +msgstr ":meth:`Document.add_ocg`" + +#: ../../document.rst:31 201b8f9ef3564eb2b643e1d781ba9ebc +msgid "PDF only: add new optional content group" +msgstr "PDF 전용: 새로운 선택적 콘텐츠 그룹 추가" + +#: ../../document.rst:32 7ddab358521d4686bd9db4941273693b +msgid ":meth:`Document.authenticate`" +msgstr ":meth:`Document.authenticate`" + +#: ../../document.rst:32 6e2b79b1ac224cfbb3fb95f4607c5e08 +msgid "gain access to an encrypted document" +msgstr "암호화된 문서에 액세스" + +#: ../../document.rst:33 f23216d1e7344106bf5c998fa4e9fcc1 +msgid ":meth:`Document.bake`" +msgstr ":meth:`Document.bake`" + +#: ../../document.rst:33 701834a50a9449449b74ed220600c326 +msgid "PDF only: make annotations / fields permanent content" +msgstr "PDF 전용: 주석/필드를 영구 콘텐츠로 만들기" + +#: ../../document.rst:34 1445d611a0f54db29ae05f37b828c0a3 +msgid ":meth:`Document.can_save_incrementally`" +msgstr ":meth:`Document.can_save_incrementally`" + +#: ../../document.rst:34 9195cef3b66445fea3244e46c710903a +msgid "check if incremental save is possible" +msgstr "증분 저장이 가능한지 확인" + +#: ../../document.rst:35 06fd6aaf02c146c8ae72f3fab40cd5a5 +msgid ":meth:`Document.chapter_page_count`" +msgstr ":meth:`Document.chapter_page_count`" + +#: ../../document.rst:35 1b4ca64be4784cfa9d385e411ba4de10 +msgid "number of pages in chapter" +msgstr "장의 페이지 수" + +#: ../../document.rst:36 e22fa04e62c34c00946eff36e3cbf8d2 +msgid ":meth:`Document.close`" +msgstr ":meth:`Document.close`" + +#: ../../document.rst:36 8dd025a8b44244e2b675ca00ea7467b3 +msgid "close the document" +msgstr "문서 닫기" + +#: ../../document.rst:37 2df8c1ec290848699114b13a06ca7702 +msgid ":meth:`Document.convert_to_pdf`" +msgstr ":meth:`Document.convert_to_pdf`" + +#: ../../document.rst:37 07ae613bdb784b69adf173fa0bcd3d84 +msgid "write a PDF version to memory" +msgstr "메모리에 PDF 버전 쓰기" + +#: ../../document.rst:38 9130926279ca4df19aec8e03217dfd20 +msgid ":meth:`Document.copy_page`" +msgstr ":meth:`Document.copy_page`" + +#: ../../document.rst:38 2284f3eeb2104ff5945ac48b6f9dc501 +msgid "PDF only: copy a page reference" +msgstr "PDF 전용: 페이지 참조 복사" + +#: ../../document.rst:39 a4a84dbf2abb4f8b87db310b7e5d6f65 +msgid ":meth:`Document.del_toc_item`" +msgstr ":meth:`Document.del_toc_item`" + +#: ../../document.rst:39 1d88797ba50244df87c018fbd0a1325c +msgid "PDF only: remove a single TOC item" +msgstr "PDF 전용: 단일 TOC 항목 제거" + +#: ../../document.rst:40 4b5b2f2193ee40268e3409b60e9d1993 +msgid ":meth:`Document.delete_page`" +msgstr ":meth:`Document.delete_page`" + +#: ../../document.rst:40 3b0577dd9e9d493eb0b8f2d054e76e32 +msgid "PDF only: delete a page" +msgstr "PDF 전용: 페이지 삭제" + +#: ../../document.rst:41 98476640118346639145607edd0502bb +msgid ":meth:`Document.delete_pages`" +msgstr ":meth:`Document.delete_pages`" + +#: ../../document.rst:41 2538d93965d74c58bbbf5e4596c5f25d +msgid "PDF only: delete multiple pages" +msgstr "PDF 전용: 여러 페이지 삭제" + +#: ../../document.rst:42 61345aebdd664464829398e410a5310b +msgid ":meth:`Document.embfile_add`" +msgstr ":meth:`Document.embfile_add`" + +#: ../../document.rst:42 5a68f72c35de4d37b228d5f8346c4580 +msgid "PDF only: add a new embedded file from buffer" +msgstr "PDF 전용: 버퍼에서 새 임베디드 파일 추가" + +#: ../../document.rst:43 18633aec87e94b9ca718ea6ed390688d +msgid ":meth:`Document.embfile_count`" +msgstr ":meth:`Document.embfile_count`" + +#: ../../document.rst:43 f033cc2e882b4095a655c775436b4735 +msgid "PDF only: number of embedded files" +msgstr "PDF 전용: 임베디드 파일 수" + +#: ../../document.rst:44 06a7fe3f8efc49909007b9940d51ad20 +msgid ":meth:`Document.embfile_del`" +msgstr ":meth:`Document.embfile_del`" + +#: ../../document.rst:44 5b16fd13df354ec08ec0e0f2237988a9 +msgid "PDF only: delete an embedded file entry" +msgstr "PDF 전용: 임베디드 파일 항목 삭제" + +#: ../../document.rst:45 60594207c907496aa08c503b3cfe89f6 +msgid ":meth:`Document.embfile_get`" +msgstr ":meth:`Document.embfile_get`" + +#: ../../document.rst:45 999f103381d34492a8ba2b37a6086938 +msgid "PDF only: extract an embedded file buffer" +msgstr "PDF 전용: 임베디드 파일 버퍼 추출" + +#: ../../document.rst:46 e9bf1793dd2747629395caecc286671a +msgid ":meth:`Document.embfile_info`" +msgstr ":meth:`Document.embfile_info`" + +#: ../../document.rst:46 125fea066b3942b08edaad0bc6d3f4a7 +msgid "PDF only: metadata of an embedded file" +msgstr "PDF 전용: 임베디드 파일의 메타데이터" + +#: ../../document.rst:47 76e5c528f0c0400a97717a27fa7c782b +msgid ":meth:`Document.embfile_names`" +msgstr ":meth:`Document.embfile_names`" + +#: ../../document.rst:47 afb7511107e34829b92c8dd670340f11 +msgid "PDF only: list of embedded files" +msgstr "PDF 전용: 임베디드 파일 목록" + +#: ../../document.rst:48 95b76c0413ad4f1dbcccefe6473aaed0 +msgid ":meth:`Document.embfile_upd`" +msgstr ":meth:`Document.embfile_upd`" + +#: ../../document.rst:48 8a1ba2aa97ad4d93b72b824b5972f61d +msgid "PDF only: change an embedded file" +msgstr "PDF 전용: 임베디드 파일 변경" + +#: ../../document.rst:49 c15752ac19fe4bf3b06f09954bedb276 +msgid ":meth:`Document.extract_font`" +msgstr ":meth:`Document.extract_font`" + +#: ../../document.rst:49 16b2ad2113eb4c9486a04750afbeb48e +msgid "PDF only: extract a font by :data:`xref`" +msgstr "PDF 전용: :data:`xref` 로 글꼴 추출" + +#: ../../document.rst:50 9a00f7ac64df4bdc972886fe7daef5f5 +msgid ":meth:`Document.extract_image`" +msgstr ":meth:`Document.extract_image`" + +#: ../../document.rst:50 231c94516aae4427b026bb5b2d3d9093 +msgid "PDF only: extract an embedded image by :data:`xref`" +msgstr "PDF 전용: :data:`xref` 로 임베디드 이미지 추출" + +#: ../../document.rst:51 baebb0fc699c458984b242b7139e1728 +msgid ":meth:`Document.ez_save`" +msgstr ":meth:`Document.ez_save`" + +#: ../../document.rst:51 3ce9b54342e7444eaf2b9f3bba3e6f16 +msgid "PDF only: :meth:`Document.save` with different defaults" +msgstr "PDF 전용: 다른 기본값으로 :meth:`Document.save`" + +#: ../../document.rst:52 5cec6b3c172f4656a22121134d433007 +msgid ":meth:`Document.find_bookmark`" +msgstr ":meth:`Document.find_bookmark`" + +#: ../../document.rst:52 ec569e92de1f4544a945bfaca8347747 +msgid "retrieve page location after laid out document" +msgstr "레이아웃된 문서 후 페이지 location 검색" + +#: ../../document.rst:53 934ec46a1ef84942ae7d272bb00b5de3 +msgid ":meth:`Document.fullcopy_page`" +msgstr ":meth:`Document.fullcopy_page`" + +#: ../../document.rst:53 af34d7a3cda34a54a4b0722878c745a1 +msgid "PDF only: duplicate a page" +msgstr "PDF 전용: 페이지 복제" + +#: ../../document.rst:54 beac81b115604ae688930966a58178bf +msgid ":meth:`Document.get_layer`" +msgstr ":meth:`Document.get_layer`" + +#: ../../document.rst:54 b970ece30e74455f872d4a1f28bd88b4 +msgid "PDF only: lists of OCGs in ON, OFF, RBGroups" +msgstr "PDF 전용: ON, OFF, RBGroups의 OCG 목록" + +#: ../../document.rst:55 8afcf442694c4348be8b13278c5e8443 +msgid ":meth:`Document.get_layers`" +msgstr ":meth:`Document.get_layers`" + +#: ../../document.rst:55 062661b7effe49e684f1e499084b08b7 +msgid "PDF only: list of optional content configurations" +msgstr "PDF 전용: 선택적 콘텐츠 구성 목록" + +#: ../../document.rst:56 85e0ac74eca046faa7c0556a44b1a8d0 +msgid ":meth:`Document.get_oc`" +msgstr ":meth:`Document.get_oc`" + +#: ../../document.rst:56 b561cdb739f0443facf651a7b7ab8229 +msgid "PDF only: get OCG /OCMD xref of image / form xobject" +msgstr "PDF 전용: 이미지/폼 xobject의 OCG/OCMD xref 가져오기" + +#: ../../document.rst:57 b09065ba3930470ebf537f0ddb5a498f +msgid ":meth:`Document.get_ocgs`" +msgstr ":meth:`Document.get_ocgs`" + +#: ../../document.rst:57 873364f685fb4875bb78e820afa1e216 +msgid "PDF only: info on all optional content groups" +msgstr "PDF 전용: 모든 선택적 콘텐츠 그룹 정보" + +#: ../../document.rst:58 99b8161657d24b2eb4f397ce80f5f36f +msgid ":meth:`Document.get_ocmd`" +msgstr ":meth:`Document.get_ocmd`" + +#: ../../document.rst:58 24cde3757ecd4f6683277d7674f33b96 +msgid "PDF only: retrieve definition of an :data:`OCMD`" +msgstr "PDF 전용: :data:`OCMD` 정의 검색" + +#: ../../document.rst:59 1e447980e885431990479bbaac18087f +msgid ":meth:`Document.get_page_fonts`" +msgstr ":meth:`Document.get_page_fonts`" + +#: ../../document.rst:59 218a049cce39410cb568fcec949a0cb1 +msgid "PDF only: list of fonts referenced by a page" +msgstr "PDF 전용: 페이지에서 참조하는 글꼴 목록" + +#: ../../document.rst:60 634e95f27afe40aabed15306e6e5f3a8 +msgid ":meth:`Document.get_page_images`" +msgstr ":meth:`Document.get_page_images`" + +#: ../../document.rst:60 c77477a1f9784f0ab264def72a81bb15 +msgid "PDF only: list of images referenced by a page" +msgstr "PDF 전용: 페이지에서 참조하는 이미지 목록" + +#: ../../document.rst:61 0727d4b995964e10af190dd7cfb897e5 +msgid ":meth:`Document.get_page_labels`" +msgstr ":meth:`Document.get_page_labels`" + +#: ../../document.rst:61 fa0286f2112a4c94a90c75e6175dbbbe +msgid "PDF only: list of page label definitions" +msgstr "PDF 전용: 페이지 레이블 정의 목록" + +#: ../../document.rst:62 6221c6245a934039a5818787cf85bee0 +msgid ":meth:`Document.get_page_numbers`" +msgstr ":meth:`Document.get_page_numbers`" + +#: ../../document.rst:62 9055b20ef77543ccaa348fd85e287813 +msgid "PDF only: get page numbers having a given label" +msgstr "PDF 전용: 주어진 레이블을 가진 페이지 번호 가져오기" + +#: ../../document.rst:63 b890980658c145fc86e2d8453e4dc4bf +msgid ":meth:`Document.get_page_pixmap`" +msgstr ":meth:`Document.get_page_pixmap`" + +#: ../../document.rst:63 9bf18031a8264a1195ef48bf05f6ebcd +msgid "create a pixmap of a page by page number" +msgstr "페이지 번호로 페이지의 pixmap 생성" + +#: ../../document.rst:64 2c3b6eb10d2c443c9e43f14fcf323679 +msgid ":meth:`Document.get_page_text`" +msgstr ":meth:`Document.get_page_text`" + +#: ../../document.rst:64 e50152ab76234bd199393b23c20e5f2b +msgid "extract the text of a page by page number" +msgstr "페이지 번호로 페이지의 텍스트 추출" + +#: ../../document.rst:65 6e3dbc70b1af422ba02c5de40db51227 +msgid ":meth:`Document.get_page_xobjects`" +msgstr ":meth:`Document.get_page_xobjects`" + +#: ../../document.rst:65 03e1a6c888d6428da83be3d52fcc6dc5 +msgid "PDF only: list of XObjects referenced by a page" +msgstr "PDF 전용: 페이지에서 참조하는 XObject 목록" + +#: ../../document.rst:66 d7fed3570628496781e26eea0fb88560 +msgid ":meth:`Document.get_sigflags`" +msgstr ":meth:`Document.get_sigflags`" + +#: ../../document.rst:66 57ae0f17dfbf46dfbda2134cd4e08b21 +msgid "PDF only: determine signature state" +msgstr "PDF 전용: 서명 상태 확인" + +#: ../../document.rst:67 1b9ec8899eab41e1b6e41764596a29fa +msgid ":meth:`Document.get_toc`" +msgstr ":meth:`Document.get_toc`" + +#: ../../document.rst:67 866abb5def4347499ca11de1dbe1a8e1 +msgid "extract the table of contents" +msgstr "목차 추출" + +#: ../../document.rst:68 82845c18f95c434790783d3885e3e58c +msgid ":meth:`Document.get_xml_metadata`" +msgstr ":meth:`Document.get_xml_metadata`" + +#: ../../document.rst:68 c6779c10381c4226a246aaf0ed325272 +msgid "PDF only: read the XML metadata" +msgstr "PDF 전용: XML 메타데이터 읽기" + +#: ../../document.rst:69 2a2d620a34c549f187ea62b6f2994726 +msgid ":meth:`Document.has_annots`" +msgstr ":meth:`Document.has_annots`" + +#: ../../document.rst:69 9998561217d44b509743282a54412d14 +msgid "PDF only: check if PDF contains any annots" +msgstr "PDF 전용: PDF에 주석이 있는지 확인" + +#: ../../document.rst:70 9bfb1faf1cc045bdae83c0bef14cb87a +msgid ":meth:`Document.has_links`" +msgstr ":meth:`Document.has_links`" + +#: ../../document.rst:70 b3b5865766b146cba5209502fbdc7016 +msgid "PDF only: check if PDF contains any links" +msgstr "PDF 전용: PDF에 링크가 있는지 확인" + +#: ../../document.rst:71 932fc1b4e64741b0ac7ece1f30469b48 +msgid ":meth:`Document.insert_page`" +msgstr ":meth:`Document.insert_page`" + +#: ../../document.rst:71 270cba89f81345efa9dafa53163b187b +msgid "PDF only: insert a new page" +msgstr "PDF 전용: 새 페이지 삽입" + +#: ../../document.rst:72 f5a25046b2c3451ea1a3a6a71ecad26d +msgid ":meth:`Document.insert_pdf`" +msgstr ":meth:`Document.insert_pdf`" + +#: ../../document.rst:72 2d42116aae5e442a907b006552760768 +msgid "PDF only: insert pages from another PDF" +msgstr "PDF 전용: 다른 PDF에서 페이지 삽입" + +#: ../../document.rst:73 5e07d2a848454f8ebc0e60f5c15361da +msgid ":meth:`Document.insert_file`" +msgstr ":meth:`Document.insert_file`" + +#: ../../document.rst:73 a13c5a83593743148f171785c25abfbe +msgid "PDF only: insert pages from arbitrary document" +msgstr "PDF 전용: 임의 문서에서 페이지 삽입" + +#: ../../document.rst:74 da81e9fba93c4e02bd963939be7fd721 +msgid ":meth:`Document.journal_can_do`" +msgstr ":meth:`Document.journal_can_do`" + +#: ../../document.rst:74 f003731191ba400aa315f4d89a7e4496 +msgid "PDF only: which journal actions are possible" +msgstr "PDF 전용: 어떤 저널 작업이 가능한지" + +#: ../../document.rst:75 53afd4fad6684cbcbf998d63695219f6 +msgid ":meth:`Document.journal_enable`" +msgstr ":meth:`Document.journal_enable`" + +#: ../../document.rst:75 466c85e3cd404f1eb8a1aab4a9eff2ef +msgid "PDF only: enables journalling for the document" +msgstr "PDF 전용: 문서에 대한 저널링 활성화" + +#: ../../document.rst:76 8a840e1674cb4a8292514219d5233be5 +msgid ":meth:`Document.journal_load`" +msgstr ":meth:`Document.journal_load`" + +#: ../../document.rst:76 be15f80486ba4b5eb417b7536e7a9c1f +msgid "PDF only: load journal from a file" +msgstr "PDF 전용: 파일에서 저널 로드" + +#: ../../document.rst:77 c3abfd7dfc684a0eabab17f2154ef1cb +msgid ":meth:`Document.journal_op_name`" +msgstr ":meth:`Document.journal_op_name`" + +#: ../../document.rst:77 8f0cf3234beb49a69154166b09198334 +msgid "PDF only: return name of a journalling step" +msgstr "PDF 전용: 저널링 단계의 이름 반환" + +#: ../../document.rst:78 3893cf1fdeb9469b9e6e653eaa9e1c44 +msgid ":meth:`Document.journal_position`" +msgstr ":meth:`Document.journal_position`" + +#: ../../document.rst:78 0e35098b113747de855c33fde152b50c +msgid "PDF only: return journalling status" +msgstr "PDF 전용: 저널링 상태 반환" + +#: ../../document.rst:79 52ff8d29e1ff41b5b7a9f6eed3eca524 +msgid ":meth:`Document.journal_redo`" +msgstr ":meth:`Document.journal_redo`" + +#: ../../document.rst:79 5de38e35b20f4c8c9c7669bf4faff487 +msgid "PDF only: redo current operation" +msgstr "PDF 전용: 현재 작업 다시 실행" + +#: ../../document.rst:80 cb385893200e4bb1ba7ac9d5ed8f9f52 +msgid ":meth:`Document.journal_save`" +msgstr ":meth:`Document.journal_save`" + +#: ../../document.rst:80 c5827a1af6cd46d0b852b6f8d8c5d013 +msgid "PDF only: save journal to a file" +msgstr "PDF 전용: 파일에 저널 저장" + +#: ../../document.rst:81 5df7cd504f094a9f957f314d8d835bef +msgid ":meth:`Document.journal_start_op`" +msgstr ":meth:`Document.journal_start_op`" + +#: ../../document.rst:81 535142a5dd984152a49fee7de70e3625 +msgid "PDF only: start an \"operation\" giving it a name" +msgstr "PDF 전용: 이름을 지정하여 \"작업\" 시작" + +#: ../../document.rst:82 d95c10cd751448148b51128e83d187d1 +msgid ":meth:`Document.journal_stop_op`" +msgstr ":meth:`Document.journal_stop_op`" + +#: ../../document.rst:82 76267fa3c43546d3a8433b9483244816 +msgid "PDF only: end current operation" +msgstr "PDF 전용: 현재 작업 종료" + +#: ../../document.rst:83 6c06ee831e5d492582f709a89de650da +msgid ":meth:`Document.journal_undo`" +msgstr ":meth:`Document.journal_undo`" + +#: ../../document.rst:83 48a3042404bc45da9d5b1aa672c5e5e3 +msgid "PDF only: undo current operation" +msgstr "PDF 전용: 현재 작업 실행 취소" + +#: ../../document.rst:84 a7663f4b73274da08256c916f19f008a +msgid ":meth:`Document.layer_ui_configs`" +msgstr ":meth:`Document.layer_ui_configs`" + +#: ../../document.rst:84 a5ea77e6f6ec4f50acb131b0cb83fe8e +msgid "PDF only: list of optional content intents" +msgstr "PDF 전용: 선택적 콘텐츠 의도 목록" + +#: ../../document.rst:85 e25b0824906149399a490263db250b41 +msgid ":meth:`Document.layout`" +msgstr ":meth:`Document.layout`" + +#: ../../document.rst:85 9d414ccd3311467f9526fbcfb70a3cd4 +msgid "re-paginate the document (if supported)" +msgstr "문서 재페이지화(지원되는 경우)" + +#: ../../document.rst:86 8e8d6694b6434582a77b4d60c4685594 +msgid ":meth:`Document.load_page`" +msgstr ":meth:`Document.load_page`" + +#: ../../document.rst:86 2a290bf3d63347c69c3bfe1ee7d2c3c8 +msgid "read a page" +msgstr "페이지 읽기" + +#: ../../document.rst:87 b9f9cb023be64cf2a96f7d065646060d +msgid ":meth:`Document.make_bookmark`" +msgstr ":meth:`Document.make_bookmark`" + +#: ../../document.rst:87 345855234e20436e8ed4aaa74ef9351a +msgid "create a page pointer in reflowable documents" +msgstr "재배치 가능한 문서에서 페이지 포인터 생성" + +#: ../../document.rst:88 29d4e91b8ab54e0eaf2d20b0a751f624 +msgid ":meth:`Document.move_page`" +msgstr ":meth:`Document.move_page`" + +#: ../../document.rst:88 691dccf584bc4853b6e2d5675c80c7d3 +msgid "PDF only: move a page to different location in doc" +msgstr "PDF 전용: 문서 내 다른 위치로 페이지 이동" + +#: ../../document.rst:89 67c910fcd5ed41c9991479c54e306404 +msgid ":meth:`Document.need_appearances`" +msgstr ":meth:`Document.need_appearances`" + +#: ../../document.rst:89 154d52d4749041489a187968e2b62e29 +msgid "PDF only: get/set `/NeedAppearances` property" +msgstr "PDF 전용: `/NeedAppearances` 속성 가져오기/설정" + +#: ../../document.rst:90 67997ce8145242828157b731aeea5309 +msgid ":meth:`Document.new_page`" +msgstr ":meth:`Document.new_page`" + +#: ../../document.rst:90 f373235056a94d918bf71a59a4e39fb6 +msgid "PDF only: insert a new empty page" +msgstr "PDF 전용: 새 빈 페이지 삽입" + +#: ../../document.rst:91 2ebb59db0b7c46f5b8372676ec664cc2 +msgid ":meth:`Document.next_location`" +msgstr ":meth:`Document.next_location`" + +#: ../../document.rst:91 fea286b98cea474ea4dd19ca31d36bf3 +msgid "return (chapter, pno) of following page" +msgstr "다음 페이지의 (chapter, pno) 반환" + +#: ../../document.rst:92 4d9ab9b1b05348f3b04acd8b61454fe9 +msgid ":meth:`Document.outline_xref`" +msgstr ":meth:`Document.outline_xref`" + +#: ../../document.rst:92 01c12f7a26a74fd5bf9821784d29795e +msgid "PDF only: :data:`xref` a TOC item" +msgstr "PDF 전용: TOC 항목의 :data:`xref`" + +#: ../../document.rst:93 9768ffa1299a442caccdf7c671b0bf27 +msgid ":meth:`Document.page_cropbox`" +msgstr ":meth:`Document.page_cropbox`" + +#: ../../document.rst:93 dd064dbd65b448cc9042f887cac6617c +msgid "PDF only: the unrotated page rectangle" +msgstr "PDF 전용: 회전되지 않은 페이지 사각형" + +#: ../../document.rst:94 b41ff5956b474fa397c37ade86b111ee +msgid ":meth:`Document.page_xref`" +msgstr ":meth:`Document.page_xref`" + +#: ../../document.rst:94 0824864d572b403c8674639a069fa531 +msgid "PDF only: :data:`xref` of a page number" +msgstr "PDF 전용: 페이지 번호의 :data:`xref`" + +#: ../../document.rst:95 b8928e6f8083487493c9d650c0907cf7 +msgid ":meth:`Document.pages`" +msgstr ":meth:`Document.pages`" + +#: ../../document.rst:95 953faf375f4a4467b9cc641f8aa60451 +msgid "iterator over a page range" +msgstr "페이지 범위에 대한 반복자" + +#: ../../document.rst:96 ee1c62d129c843e282a7042ed3b6e72a +msgid ":meth:`Document.pdf_catalog`" +msgstr ":meth:`Document.pdf_catalog`" + +#: ../../document.rst:96 48452a6b17f64ea6bbfeb6a5f978d17a +msgid "PDF only: :data:`xref` of catalog (root)" +msgstr "PDF 전용: 카탈로그(루트)의 :data:`xref`" + +#: ../../document.rst:97 0da14aaa4866451eb1be470696335f35 +msgid ":meth:`Document.pdf_trailer`" +msgstr ":meth:`Document.pdf_trailer`" + +#: ../../document.rst:97 8fcead81b4a349a89a593a5f87b1f579 +msgid "PDF only: trailer source" +msgstr "PDF 전용: 트레일러 소스" + +#: ../../document.rst:98 52890ca247594e77857e850c264f6bb1 +msgid ":meth:`Document.prev_location`" +msgstr ":meth:`Document.prev_location`" + +#: ../../document.rst:98 6b4f422f07a04229a6b0cf9f67ec4fd8 +msgid "return (chapter, pno) of preceding page" +msgstr "이전 페이지의 (chapter, pno) 반환" + +#: ../../document.rst:99 d6c679d125c042528e2960090decfc63 +msgid ":meth:`Document.rewrite_images`" +msgstr ":meth:`Document.rewrite_images`" + +#: ../../document.rst:99 ad80fd7b1a02452f943efeac7a6fe588 +msgid "PDF only: rewrite / extra compression for images" +msgstr "PDF 전용: 이미지 재작성/추가 압축" + +#: ../../document.rst:100 90879d3f9f35492ab438590b55f64080 +msgid ":meth:`Document.recolor`" +msgstr ":meth:`Document.recolor`" + +#: ../../document.rst:100 048b7aa969ff482397e0f20f2113e309 +msgid "PDF only: execute :meth:`Page.recolor` for all pages" +msgstr "PDF 전용: 모든 페이지에 대해 :meth:`Page.recolor` 실행" + +#: ../../document.rst:101 0420a4b50b874b069c87053bacb087ad +msgid ":meth:`Document.reload_page`" +msgstr ":meth:`Document.reload_page`" + +#: ../../document.rst:101 4e23ac1ef56e49d497dd09d1bb07a50a +msgid "PDF only: provide a new copy of a page" +msgstr "PDF 전용: 페이지의 새 복사본 제공" + +#: ../../document.rst:102 e6f66d0ad9a241a787373320375cb6ea +msgid ":meth:`Document.resolve_names`" +msgstr ":meth:`Document.resolve_names`" + +#: ../../document.rst:102 08c8ce45d9934cf486d9652f5351d823 +msgid "PDF only: Convert destination names into a Python dict" +msgstr "PDF 전용: 대상 이름을 Python dict로 변환" + +#: ../../document.rst:103 f53e78a26a26487898548af383ad2b04 +msgid ":meth:`Document.save`" +msgstr ":meth:`Document.save`" + +#: ../../document.rst:103 e1666396777c469eaa440b91907b4ba4 +msgid "PDF only: save the document" +msgstr "PDF 전용: 문서 저장" + +#: ../../document.rst:104 79410e6cae40486a9e185a468505c1d0 +msgid ":meth:`Document.saveIncr`" +msgstr ":meth:`Document.saveIncr`" + +#: ../../document.rst:104 e043fb40d0c14b578d219707f0e5c381 +msgid "PDF only: save the document incrementally" +msgstr "PDF 전용: 문서 증분 저장" + +#: ../../document.rst:105 0805ea1a287f460082863449cf526443 +msgid ":meth:`Document.scrub`" +msgstr ":meth:`Document.scrub`" + +#: ../../document.rst:105 048424aedefa422d99e89d8b18815b9a +msgid "PDF only: remove sensitive data" +msgstr "PDF 전용: 민감한 데이터 제거" + +#: ../../document.rst:106 f5637e670f41414d9c58af3aa5c3919c +msgid ":meth:`Document.search_page_for`" +msgstr ":meth:`Document.search_page_for`" + +#: ../../document.rst:106 954d77ecb8cf4cf7b4259b807d255e5f +msgid "search for a string on a page" +msgstr "페이지에서 문자열 검색" + +#: ../../document.rst:107 3c98443c81714deaaf66571cdc3aee63 +msgid ":meth:`Document.select`" +msgstr ":meth:`Document.select`" + +#: ../../document.rst:107 89f0842e40f244f3b1b2beeb03cf8f79 +msgid "PDF only: select a subset of pages" +msgstr "PDF 전용: 페이지 하위 집합 선택" + +#: ../../document.rst:108 ec80d7f1fd6e4ae6bd8fe34235e53d51 +msgid ":meth:`Document.set_layer_ui_config`" +msgstr ":meth:`Document.set_layer_ui_config`" + +#: ../../document.rst:108 bc3010d7daee494191971416ac2f27a3 +msgid "PDF only: set OCG visibility temporarily" +msgstr "PDF 전용: OCG 가시성 임시 설정" + +#: ../../document.rst:109 0de756b0b7da49cdb45d6ba4d1375de7 +msgid ":meth:`Document.set_layer`" +msgstr ":meth:`Document.set_layer`" + +#: ../../document.rst:109 062d5ad83cf1469ca236e2542030877b +msgid "PDF only: mass changing OCG states" +msgstr "PDF 전용: OCG 상태 대량 변경" + +#: ../../document.rst:110 6b915bb80b65485fa37649f3e25f9635 +msgid ":meth:`Document.set_markinfo`" +msgstr ":meth:`Document.set_markinfo`" + +#: ../../document.rst:110 c9a6ec82888f423897687332e5a6aeb9 +msgid "PDF only: set the MarkInfo values" +msgstr "PDF 전용: MarkInfo 값 설정" + +#: ../../document.rst:111 3e2e221f48e74d36aa62a40e05c5dc44 +msgid ":meth:`Document.set_metadata`" +msgstr ":meth:`Document.set_metadata`" + +#: ../../document.rst:111 2c0ba8035650467183a0348c174fc768 +msgid "PDF only: set the metadata" +msgstr "PDF 전용: 메타데이터 설정" + +#: ../../document.rst:112 23ab87427be240ec946ceeb5a4f558d7 +msgid ":meth:`Document.set_oc`" +msgstr ":meth:`Document.set_oc`" + +#: ../../document.rst:112 77f693748ae947f2baba48a8bc881a44 +msgid "PDF only: attach OCG/OCMD to image / form xobject" +msgstr "PDF 전용: 이미지/폼 xobject에 OCG/OCMD 첨부" + +#: ../../document.rst:113 cda51f6dbcec472299a7a16c636f0a12 +msgid ":meth:`Document.set_ocmd`" +msgstr ":meth:`Document.set_ocmd`" + +#: ../../document.rst:113 20d4b8a0924f4ea29246e027a1f0c007 +msgid "PDF only: create or update an :data:`OCMD`" +msgstr "PDF 전용: :data:`OCMD` 생성 또는 업데이트" + +#: ../../document.rst:114 a7e13374f46740c4822c7a5111703736 +msgid ":meth:`Document.set_page_labels`" +msgstr ":meth:`Document.set_page_labels`" + +#: ../../document.rst:114 94fe2ff39a9643378567dcb63f367048 +msgid "PDF only: add/update page label definitions" +msgstr "PDF 전용: 페이지 레이블 정의 추가/업데이트" + +#: ../../document.rst:115 60f0adf4c1034acd97a115b10f39646f +msgid ":meth:`Document.set_pagemode`" +msgstr ":meth:`Document.set_pagemode`" + +#: ../../document.rst:115 2de11d6c970445279a611a51fde70d09 +msgid "PDF only: set the PageMode" +msgstr "PDF 전용: PageMode 설정" + +#: ../../document.rst:116 6918b302a70047618b1f366d63f56f87 +msgid ":meth:`Document.set_pagelayout`" +msgstr ":meth:`Document.set_pagelayout`" + +#: ../../document.rst:116 ba12021554e24e189c726510b2ebee5f +msgid "PDF only: set the PageLayout" +msgstr "PDF 전용: PageLayout 설정" + +#: ../../document.rst:117 1ebdac8147c049f69aa6e0232975466e +msgid ":meth:`Document.set_toc_item`" +msgstr ":meth:`Document.set_toc_item`" + +#: ../../document.rst:117 8364d653136141b69b74d53e652719fd +msgid "PDF only: change a single TOC item" +msgstr "PDF 전용: 단일 TOC 항목 변경" + +#: ../../document.rst:118 2a317675273941beaad2c9211d911be7 +msgid ":meth:`Document.set_toc`" +msgstr ":meth:`Document.set_toc`" + +#: ../../document.rst:118 5f3982dba4914daaa18904ea68caade2 +msgid "PDF only: set the table of contents (TOC)" +msgstr "PDF 전용: 목차(TOC) 설정" + +#: ../../document.rst:119 94ee47ccf9a1419691946e271ef887e6 +msgid ":meth:`Document.set_xml_metadata`" +msgstr ":meth:`Document.set_xml_metadata`" + +#: ../../document.rst:119 8ebe617a04564a6a81e3729f7bea6248 +msgid "PDF only: create or update document XML metadata" +msgstr "PDF 전용: 문서 XML 메타데이터 생성 또는 업데이트" + +#: ../../document.rst:120 afc237479de04f878c80f9ca95546260 +msgid ":meth:`Document.subset_fonts`" +msgstr ":meth:`Document.subset_fonts`" + +#: ../../document.rst:120 74c0da056f3d49229285cdc50fc621fa +msgid "PDF only: create font subsets" +msgstr "PDF 전용: 글꼴 하위 집합 생성" + +#: ../../document.rst:121 89c3474ebdf8469b8df51d20bf5900fb +msgid ":meth:`Document.switch_layer`" +msgstr ":meth:`Document.switch_layer`" + +#: ../../document.rst:121 cd1b6a92de2c4a9cbc956b8cc27d6a0d +msgid "PDF only: activate OC configuration" +msgstr "PDF 전용: OC 구성 활성화" + +#: ../../document.rst:122 2c4e7b739b374987a9fae13bfbee26eb +msgid ":meth:`Document.tobytes`" +msgstr ":meth:`Document.tobytes`" + +#: ../../document.rst:122 2cbda5bb9d9745e08ce126b505a05ca7 +msgid "PDF only: writes document to memory" +msgstr "PDF 전용: 메모리에 문서 쓰기" + +#: ../../document.rst:123 2dff81839c264b1fa86c1b188e9502c1 +msgid ":meth:`Document.xref_copy`" +msgstr ":meth:`Document.xref_copy`" + +#: ../../document.rst:123 64a39ef729364a0ea13434f870b0f943 +msgid "PDF only: copy a PDF dictionary to another :data:`xref`" +msgstr "PDF 전용: PDF 딕셔너리를 다른 :data:`xref` 로 복사" + +#: ../../document.rst:124 1580d4746a56446d993210e18ea0de6e +msgid ":meth:`Document.xref_get_key`" +msgstr ":meth:`Document.xref_get_key`" + +#: ../../document.rst:124 8944519b866243fe8efbe830de8d7255 +msgid "PDF only: get the value of a dictionary key" +msgstr "PDF 전용: 딕셔너리 키의 값 가져오기" + +#: ../../document.rst:125 7173a26e0e9543f48763170017fa9e3b +msgid ":meth:`Document.xref_get_keys`" +msgstr ":meth:`Document.xref_get_keys`" + +#: ../../document.rst:125 b310a70e04e6405e8d148fcf54152bbb +msgid "PDF only: list the keys of object at :data:`xref`" +msgstr "PDF 전용: :data:`xref` 의 객체 키 목록" + +#: ../../document.rst:126 00bdb06b8b5549758da9e1899fb9f342 +msgid ":meth:`Document.xref_object`" +msgstr ":meth:`Document.xref_object`" + +#: ../../document.rst:126 f884a66ec00e467fa7e27e13ac4e3698 +msgid "PDF only: get the definition source of :data:`xref`" +msgstr "PDF 전용: :data:`xref` 의 정의 소스 가져오기" + +#: ../../document.rst:127 59678d3196fe4a31ae9e8a30b856dd51 +msgid ":meth:`Document.xref_set_key`" +msgstr ":meth:`Document.xref_set_key`" + +#: ../../document.rst:127 973aa3316e7543f9933bd6dd2396fdde +msgid "PDF only: set the value of a dictionary key" +msgstr "PDF 전용: 딕셔너리 키의 값 설정" + +#: ../../document.rst:128 68e9aab8d5c748e0bdcc0d0f68c75d0d +msgid ":meth:`Document.xref_stream_raw`" +msgstr ":meth:`Document.xref_stream_raw`" + +#: ../../document.rst:128 6a98c4bce47b40fb8b4d4b7c65016f3e +msgid "PDF only: raw stream source at :data:`xref`" +msgstr "PDF 전용: :data:`xref` 의 원시 스트림 소스" + +#: ../../document.rst:129 90600270debe41fab02700603bd39668 +msgid ":meth:`Document.xref_xml_metadata`" +msgstr ":meth:`Document.xref_xml_metadata`" + +#: ../../document.rst:129 fe9104e47feb4cde80ae1d21c7f02527 +msgid "PDF only: :data:`xref` of XML metadata" +msgstr "PDF 전용: XML 메타데이터의 :data:`xref`" + +#: ../../document.rst:130 2a38972d01a14963af624e5647cd2437 +msgid ":attr:`Document.chapter_count`" +msgstr ":attr:`Document.chapter_count`" + +#: ../../document.rst:130 9cffee9fac6b46f58dbb3f15f57f95f4 +msgid "number of chapters" +msgstr "장 수" + +#: ../../document.rst:131 a65efc93b59e40b0919ed0734ea60467 +msgid ":attr:`Document.FormFonts`" +msgstr ":attr:`Document.FormFonts`" + +#: ../../document.rst:131 31520e4940ce41adb477abd2bd8c1959 +msgid "PDF only: list of global widget fonts" +msgstr "PDF 전용: 전역 위젯 글꼴 목록" + +#: ../../document.rst:132 403f10b0f86247ae9613df5b06ebe74d +msgid ":attr:`Document.is_closed`" +msgstr ":attr:`Document.is_closed`" + +#: ../../document.rst:132 56e7e9bcb0b04d82b8e24e904e1d785f +msgid "has document been closed?" +msgstr "문서가 닫혔나요?" + +#: ../../document.rst:133 8f07cc755bef4cbdab45a3d3a55ae298 +msgid ":attr:`Document.is_dirty`" +msgstr ":attr:`Document.is_dirty`" + +#: ../../document.rst:133 538d5029daa1469090cf8ca7651b6fe2 +msgid "PDF only: has document been changed yet?" +msgstr "PDF 전용: 문서가 변경되었나요?" + +#: ../../document.rst:134 10e61f565e024e6e90d25c631e429fb8 +msgid ":attr:`Document.is_encrypted`" +msgstr ":attr:`Document.is_encrypted`" + +#: ../../document.rst:134 3d661d7413174d478ef8e8df9faf68d4 +msgid "document (still) encrypted?" +msgstr "문서가 (여전히) 암호화되어 있나요?" + +#: ../../document.rst:135 3934359bba084c55ac3861d5a21333ab +msgid ":attr:`Document.is_fast_webaccess`" +msgstr ":attr:`Document.is_fast_webaccess`" + +#: ../../document.rst:135 3e6aed8f3b8a444e9371093edc090830 +msgid "is PDF linearized?" +msgstr "PDF가 선형화되었나요?" + +#: ../../document.rst:136 db2d0d04655146cab76e2c677c42e6fa +msgid ":attr:`Document.is_form_pdf`" +msgstr ":attr:`Document.is_form_pdf`" + +#: ../../document.rst:136 3f8f952ffdf44f89929386cecb8ae090 +msgid "is this a Form PDF?" +msgstr "이것이 Form PDF인가요?" + +#: ../../document.rst:137 d93ff3eb5ef04b868a661bcfa04e5789 +msgid ":attr:`Document.is_pdf`" +msgstr ":attr:`Document.is_pdf`" + +#: ../../document.rst:137 7091e832546c41e5b2463e8848d6eaff +msgid "is this a PDF?" +msgstr "이것이 PDF인가요?" + +#: ../../document.rst:138 bcca823f15c242b783f465d7c49dbc08 +msgid ":attr:`Document.is_reflowable`" +msgstr ":attr:`Document.is_reflowable`" + +#: ../../document.rst:138 126b44ccff1d442281f3bb8aae57fdb0 +msgid "is this a reflowable document?" +msgstr "이것이 재배치 가능한 문서인가요?" + +#: ../../document.rst:139 3eaeba567fa543048ed9a6b7124708ff +msgid ":attr:`Document.is_repaired`" +msgstr ":attr:`Document.is_repaired`" + +#: ../../document.rst:139 6a01b1d2a2c543c4bb0a0af64488840c +msgid "PDF only: has this PDF been repaired during open?" +msgstr "PDF 전용: 이 PDF가 열리는 동안 수리되었나요?" + +#: ../../document.rst:140 70c231a16f1e415d92a69f2825540a3a +msgid ":attr:`Document.last_location`" +msgstr ":attr:`Document.last_location`" + +#: ../../document.rst:140 deaff42c88544730a696e276f1ee3356 +msgid "(chapter, pno) of last page" +msgstr "마지막 페이지의 (chapter, pno)" + +#: ../../document.rst:141 2dfa14e25a6945a3a108582a1841c5f2 +msgid ":attr:`Document.metadata`" +msgstr ":attr:`Document.metadata`" + +#: ../../document.rst:141 3c005bee965a4d6983014f54c70c0745 +msgid "metadata" +msgstr "metadata" + +#: ../../document.rst:142 e2e76a2e26c84bb7abb2a1cf2c3886eb +msgid ":attr:`Document.markinfo`" +msgstr ":attr:`Document.markinfo`" + +#: ../../document.rst:142 adf532837b4946519e3adf5658feda0b +msgid "PDF MarkInfo value" +msgstr "PDF MarkInfo 값" + +#: ../../document.rst:143 c9b166961e114d45bae6093d7b289056 +msgid ":attr:`Document.name`" +msgstr ":attr:`Document.name`" + +#: ../../document.rst:143 1a00c00be7f545d4b9f8322dac73b7a0 +msgid "filename of document" +msgstr "문서의 파일 이름" + +#: ../../document.rst:144 c1d6eb720bf546b69ac234d91b82c81d +msgid ":attr:`Document.needs_pass`" +msgstr ":attr:`Document.needs_pass`" + +#: ../../document.rst:144 844e8ad327bb49ecabd4a2014d08633e +msgid "require password to access data?" +msgstr "데이터 액세스에 비밀번호가 필요한가요?" + +#: ../../document.rst:145 7a82a24938a444b78c372a8a64c5f6a6 +msgid ":attr:`Document.outline`" +msgstr ":attr:`Document.outline`" + +#: ../../document.rst:145 51bb30f14a45459aafee41036779aefd +msgid "first `Outline` item" +msgstr "첫 번째 `Outline` 항목" + +#: ../../document.rst:146 035e8573692143248ff800c690d12a14 +msgid ":attr:`Document.page_count`" +msgstr ":attr:`Document.page_count`" + +#: ../../document.rst:146 a16b9f3e62be464e99e6e17ee0d89eee +msgid "number of pages" +msgstr "페이지 수" + +#: ../../document.rst:147 f870fbb0ac57487d95999b5229a01a2c +msgid ":attr:`Document.permissions`" +msgstr ":attr:`Document.permissions`" + +#: ../../document.rst:147 ad91c7a04147452bb800342c2b61fa3e +msgid "permissions to access the document" +msgstr "문서 액세스 권한" + +#: ../../document.rst:148 1ab3ec62dcc849a89d1dfdef6c3f9450 +msgid ":attr:`Document.pagemode`" +msgstr ":attr:`Document.pagemode`" + +#: ../../document.rst:148 03bd098a7c5b4168a2e597145c81b8b1 +msgid "PDF PageMode value" +msgstr "PDF PageMode 값" + +#: ../../document.rst:149 ac546f38c66f4c619203c1e400047866 +msgid ":attr:`Document.pagelayout`" +msgstr ":attr:`Document.pagelayout`" + +#: ../../document.rst:149 297c610806504aac9b1439935f9c876c +msgid "PDF PageLayout value" +msgstr "PDF PageLayout 값" + +#: ../../document.rst:150 c60c4a19eb464863a364d28d0cd6e111 +msgid ":attr:`Document.version_count`" +msgstr ":attr:`Document.version_count`" + +#: ../../document.rst:150 4b3612a523ae45af99c60a18fb4d114b +msgid "PDF count of versions" +msgstr "PDF 버전 수" + +#: ../../document.rst:153 d2bdb0fb83164bf0959ae16f5d6dc6dd +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../document.rst:174 6451d24475784d32a99b011cdfcaa9f8 +msgid "Create a ``Document`` object." +msgstr "``Document`` 객체를 생성합니다." + +#: ../../document.rst:176 64a565f2ff36449b87d82c1c99493b67 +msgid "With default parameters, a **new empty PDF** document will be created." +msgstr "기본 매개변수를 사용하면 **새 빈 PDF** 문서가 생성됩니다." + +#: ../../document.rst:177 50f2c71dcec24699b5940564f67caf86 +msgid "If ``stream`` is given, then the document is created from memory." +msgstr "``stream`` 이 제공되면 문서가 메모리에서 생성됩니다." + +#: ../../document.rst:178 33e92cae18af4d17895e380dd9ed6867 +msgid "" +"If ``stream`` is `None`, then a document is created from the file given " +"by ``filename``." +msgstr "``stream`` 이 `None` 이면 ``filename`` 으로 지정된 파일에서 문서가 생성됩니다." + +#: ../../document.rst 011ee7615c7b431da28ad4a0f34a15ea +#: 043e1f7f88294546bb28055113829f3c 05fbe4e150264d8c98845bf991aa451d +#: 07ccc6435fc443a0b8b3ace5bde8df5d 0aaa1d00d7724cea8d50b7a0d1175fc5 +#: 0dbf133d5966474f80441769534086c9 170025aaca9c4ec8b7d13dec29e5b232 +#: 1ad58de6628f45ed85f92e616d5f1b89 1f8c9ef6c8874776abba5754093edb2b +#: 1f91d09a2e3a4eb6902e439a24fc85d4 297d42ce6e624bdaab8ccf0148558cea +#: 29d92736f06749be8093a4152834704f 2e955653fb8443519d7960d32db26bd2 +#: 33feb2dfd464453eb16ec8933f1eac03 3ce32169d9af4e76a0b465264e073258 +#: 3d86e3e54d5d4f0f8ac5cbf4cd3949db 3e5ef652ee204a13b2200d2ff5f1e7e5 +#: 3f473faa03a649c287642f4ba4d971ba 408b5b208d5b49e88dbaf684542bfbfa +#: 409b8fceac504f4abf1ef1ec7d77eb72 49df8a4b95154193b5df2620f0a275a0 +#: 4bedcac6800d4ae09f2817f3ed1d0e62 4c32267c73b84f9e97295b8c549bbcc4 +#: 4dbed9def0b246b6b317dee344729ac6 4ef2802c907044f692ad144a6b25c4ef +#: 5163d8880d6b4688b9e93be572d6162e 58ffcea5f2524ad5bdccc8bf017574e4 +#: 63771f4a8438461ea1aa13c8daa905ef 669d28e0f6ac4195bdb67e532d1b819d +#: 6e395ebc7d9c4cdb8ebfc086b16d8e71 754278aec73b41d698a40b9364c3fb51 +#: 78f440188fe14ece96c38413324756b6 7a359b69c8994a4f9c556dcfbe7a3f3b +#: 7c13ff43ff5746f29a5067fee7748cca 7d3c575cf7d8441abeb9e17d24ff5b9c +#: 7eacdc9a402a4d2d94e1c4eb1961a772 8e343c1256444dee9aea92a341606973 +#: 93411fcbe3c64165a55f34297d058d6a 95500979035e4bc38e1e37be369b6f4a +#: 961048fa2e2b4641ab46db1f4b0f7713 962cc6f293284ada9e7b8ac28a1ae338 +#: 9960f80414664467b52697561ffb7dda 997d6aa772ea479d8b19880effb45444 +#: 9c5ac8955ee944f1a0ab7a60ae6867c3 a00436c513104a7288f6d4cc1f19f5a9 +#: a32902bfa30f4d848b38175e545779a5 a3f306f98e844f58a22519da78bdf879 +#: a7d283f20a2f47349e35ca0d8cc52cd8 ab338f78ff44446eb34411310099834c +#: ad31c573327c469181938b01534aed1a af00f235420648bab28e6d0b79d4a243 +#: b6df452370724f7e9e15bb7c78273856 ba89cb4ecf3d423d95414de73be52994 +#: bafc21087f4c4e69ad5d5dea423347e9 bbd53cac62e74bec85990b4148d9d8cb +#: bec305b9b0af437c9cfabb6a81c4bec5 c0870c34fbca44a5b226b996aaee33fe +#: c28037c809d049299e43f1b9b7fb1d9c cc7b4803acfc4b74840a07530bb2412e +#: d2a8f4dd5628414db4250530dd010cae d3184e2ca6a34686a5e8c1a90e5b3eb5 +#: d8432653099c4ac989efe85ee548a285 dc42b76dbc5f4e19ab4e6f87bb3b29a4 +#: dc772479597c49be8700b8a5f272edc5 e0923d8b89424ea384e0f5a178804d1b +#: e51810e9ad3f438298fb77f28bcb042c ec89e80f8b434a17941d0bd8ad34e9a7 +#: eeda58a336794902b520182212b35979 f18fa2a6b3114ecb8802728c1601bb23 +#: f5e02e10e6ac42fbb50930c6df235f8c f758028805654d02a020ffbbad2626f8 +#: fa5511f7a1f448479736a410f199e0c4 fcb76ae90bf847dfb50d5b120e8fd97b +#: fe71ecaaa4c44a7aaa7b89d0e916ca8f +msgid "Parameters" +msgstr "매개변수" + +#: ../../document.rst:180 014acda4567c436291e86a2b00e3fcaa +msgid "" +"A UTF-8 string or ``pathlib.Path`` object containing a file path. The " +"document type is always determined from the file content. The " +"``filetype`` parameter is ignored, except when content inspection was " +"unsuccessful. This is regularly the case for plain text types like " +"\"txt\", \"html\", \"xml\" etc. with a wrong or missing file extension." +msgstr "" +"파일 경로를 포함하는 UTF-8 문자열 또는 ``pathlib.Path`` 객체. 문서 타입은 항상 파일 콘텐츠에서 결정됩니다. " +"``filetype`` 매개변수는 콘텐츠 검사가 실패한 경우를 제외하고 무시됩니다. 잘못되었거나 누락된 파일 확장자를 가진 " +"\"txt\", \"html\", \"xml\" 등과 같은 일반 텍스트 타입의 경우가 일반적입니다." + +#: ../../document.rst:182 97a008f8fbe04599ad4e4ba4d6bdcaf7 +msgid "" +"A memory area containing file data. The document type is always detected " +"from the data content. The ``filetype`` parameter is ignored, except when" +" content inspection was unsuccessful. This is regularly the case for " +"plain text types like \"txt\", \"html\", \"xml\" etc." +msgstr "" +"파일 데이터를 포함하는 메모리 영역. 문서 타입은 항상 데이터 콘텐츠에서 감지됩니다. ``filetype`` 매개변수는 콘텐츠 " +"검사가 실패한 경우를 제외하고 무시됩니다. \"txt\", \"html\", \"xml\" 등과 같은 일반 텍스트 타입의 경우가 " +"일반적입니다." + +#: ../../document.rst:184 f94f9deed99649d4914149d0f84ee237 +msgid "" +"A string specifying the type of document. This is only ever needed when " +"file content inspection fails. Text types like \"txt\", \"html\", \"xml\"" +" etc. cannot be disambiguated by their content. When such files are " +"provided in memory or being provided with the wrong file extension, this " +"parameter **must** be used." +msgstr "" +"문서 타입을 지정하는 문자열. 파일 콘텐츠 검사가 실패할 때만 필요합니다. \"txt\", \"html\", \"xml\" 등과 " +"같은 텍스트 타입은 콘텐츠로 구분할 수 없습니다. 이러한 파일이 메모리에서 제공되거나 잘못된 파일 확장자로 제공되는 경우 이 " +"매개변수를 **반드시** 사용해야 합니다." + +#: ../../document.rst:186 4fa028bb7c5642588afa6cc6342c5a88 +msgid "" +"a rectangle specifying the desired page size. This parameter is only " +"meaningful for documents with a variable page layout (\"reflowable\" " +"documents), like e-books or HTML, and ignored otherwise. If specified, it" +" must be a non-empty, finite rectangle with top-left coordinates (0, 0). " +"Together with parameter :data:`fontsize`, each page will be accordingly " +"laid out and hence also determine the number of pages." +msgstr "" +"원하는 페이지 크기를 지정하는 사각형. 이 매개변수는 전자책이나 HTML과 같은 가변 페이지 레이아웃(\"재배치 가능한\" 문서)이" +" 있는 문서에만 의미가 있으며, 그렇지 않으면 무시됩니다. 지정된 경우 왼쪽 위 좌표가 (0, 0)인 비어 있지 않은 유한 " +"사각형이어야 합니다. :data:`fontsize` 매개변수와 함께 각 페이지가 그에 따라 레이아웃되므로 페이지 수도 결정됩니다." + +#: ../../document.rst:188 0e700acb9750499884fa95729f70533c +msgid "" +"may used together with ``height`` as an alternative to ``rect`` to " +"specify layout information." +msgstr "레이아웃 정보를 지정하기 위해 ``height`` 와 함께 ``rect`` 의 대안으로 사용할 수 있습니다." + +#: ../../document.rst:190 011cb8d1a5e14e1c9362a4977467f8b3 +msgid "" +"may used together with ``width`` as an alternative to ``rect`` to specify" +" layout information." +msgstr "레이아웃 정보를 지정하기 위해 ``width`` 와 함께 ``rect`` 의 대안으로 사용할 수 있습니다." + +#: ../../document.rst:192 4811a6a492ef40a09b407d00f0d2e3b9 +msgid "" +"the default :data:`fontsize` for reflowable document types. This " +"parameter is ignored if none of the parameters ``rect`` or ``width`` and " +"``height`` are specified. Will be used to calculate the page layout." +msgstr "" +"재배치 가능한 문서 타입의 기본 :data:`fontsize`. ``rect`` 또는 ``width`` 및 ``height`` " +"매개변수가 지정되지 않은 경우 이 매개변수는 무시됩니다. 페이지 레이아웃을 계산하는 데 사용됩니다." + +#: ../../document.rst abcb9a746c2b4f62abeed6ccf8efa17d +#: f2545763439a4ee594dbd98ad0edf43e +msgid "Raises" +msgstr "발생" + +#: ../../document.rst:194 f470cca528b745c9a90831df3e861ea2 +msgid "if the *type* of any parameter does not conform." +msgstr "매개변수의 *타입* 이 적합하지 않은 경우." + +#: ../../document.rst:195 8c21a351ef83465497530b3df321b248 +msgid "" +"if the file / path cannot be found. Re-implemented as subclass of " +"`RuntimeError`." +msgstr "파일/경로를 찾을 수 없는 경우. `RuntimeError` 의 하위 클래스로 재구현됨." + +#: ../../document.rst:196 fffb535dd70c40419e33cb85c3478a56 +msgid "" +"if the file / path is empty or the `bytes` object in memory has zero " +"length. A subclass of `FileDataError` and `RuntimeError`." +msgstr "" +"파일/경로가 비어 있거나 메모리의 `bytes` 객체 길이가 0인 경우. `FileDataError` 및 `RuntimeError`" +" 의 하위 클래스." + +#: ../../document.rst:197 2da86a34dee74be2bfc325592465ca50 +msgid "if an unknown file type is explicitly specified." +msgstr "알 수 없는 파일 타입이 명시적으로 지정된 경우." + +#: ../../document.rst:198 72d5fd6fabfb4775b794aad117955ffd +msgid "" +"if the document has an invalid structure for the given type -- or is no " +"file at all (but e.g. a folder). A subclass of `RuntimeError`." +msgstr "문서가 주어진 타입에 대해 유효하지 않은 구조를 가지거나 파일이 아닌 경우(예: 폴더). `RuntimeError` 의 하위 클래스." + +#: ../../document.rst 0b9565acff23447ebd391dc02025defd +#: 0d46c89c1dc84ef7a8b2ce78c73fa2f0 0e133b2b68684e80825b5ffd442964a6 +#: 1ebf59777711413282c7b813e486b14d 22e92858f96749bd979c8b1d97f53141 +#: 2582886835ba484cbc6362bcd0294110 29b3f69d713b4e2baf28c15d8335d4d0 +#: 2daf9297b2b947f59c29603028bdc171 2fbd3af7a9dd47bcb918a2afc3d3d2ae +#: 333d2ff36ce5424a9a6a9f0ef315e9f6 38e8965bfa884723862a910e35980260 +#: 39f9bc12c5d146b98e014503e81bbeab 43dcb947c54d4e5b813016fcd28911fb +#: 444b74f48dd74a199f9add5e1f9af762 46303bbfa9d64c1988fe842589733a4b +#: 46c1cf4166714992b0f5a1a1ccb20835 4865908155da41849fdb6be46efbab80 +#: 5eedd5ec48ec43009b74aa21cb5a4f5e 675da3dffdee4242ad59c756d3d4ec2d +#: 689c89e5a32f43e09e3ea270734096d9 7adeeadfb8a84b9e8790609ba5bc7765 +#: 7c3cba7c278941deafdcf00e8c3fc7c8 7ff99ed95e934a59b82878c8068a10f8 +#: 81fd28a92da849b894299938c7262571 8f2c0027871d4dbfa63523294209dd4d +#: 901880de4b364792adbac5aac0281b3b 903ff8cf00ef42a2af64f374cb0cdec3 +#: 912cd9c328854abcac39f0139f5e13da 98a3f5b39c0e4eeb9588b83976f1b954 +#: ab8d5df67c824ec08658e756765d4bb5 b1c55529a2d64de8993763d1ef44d0dd +#: b31f42a8e4fd414ea57fb4d437cf2e73 c2982953c7264eca9b0074df8d337bce +#: c762118fd4d842038a9dff91cd1c85cd c77e00acb46640089980b06ee883d005 +#: cc8f358941704f05baab8f5e45775fc8 d3a808fe6600422fbd26e1dc8906851b +#: d6d5325a2e7f4d798ffd6326d1c898c2 dc36f475c23841168562540b7aa1b81b +#: e12cf9fc8351457dae9235c1d8b88e4a e2b42ca22d734917b9217f6ad6021891 +#: eac82d309f514f35a8cd27a08ec37d2a efae7f82f4944c26a45f8b40aac6da5a +#: f504824956a7474fa92c3133ca3ba45c fc84c379722e4558b9622025890c4170 +msgid "Returns" +msgstr "반환값" + +#: ../../document.rst:200 5379105ad1f54307a38807d4a326c24c +msgid "" +"A document object. If the document cannot be created, an exception is " +"raised in the above sequence. Note that PyMuPDF-specific exceptions, " +"`FileNotFoundError`, `EmptyFileError` and `FileDataError` are intercepted" +" if you check for `RuntimeError`. In case of problems you can see more " +"detail in the internal messages store: " +"`print(pymupdf.TOOLS.mupdf_warnings())` (which will be emptied by this " +"call, but you can also prevent this -- consult " +":meth:`Tools.mupdf_warnings`)." +msgstr "" + +#: ../../document.rst:200 2b78b15da31c4933938a15d26f37e5a2 +msgid "" +"A document object. If the document cannot be created, an exception is " +"raised in the above sequence. Note that PyMuPDF-specific exceptions, " +"`FileNotFoundError`, `EmptyFileError` and `FileDataError` are intercepted" +" if you check for `RuntimeError`." +msgstr "" +"문서 객체. 문서를 생성할 수 없으면 위 순서에서 예외가 발생합니다. |PyMuPDF| 전용 예외인 " +"`FileNotFoundError`, `EmptyFileError` 및 `FileDataError` 는 `RuntimeError` " +"를 확인하면 가로채집니다." + +#: ../../document.rst:202 5cfeca13702a454fa2a279a1c95212cb +msgid "" +"In case of problems you can see more detail in the internal messages " +"store: `print(pymupdf.TOOLS.mupdf_warnings())` (which will be emptied by " +"this call, but you can also prevent this -- consult " +":meth:`Tools.mupdf_warnings`)." +msgstr "" +"문제가 있는 경우 내부 메시지 저장소에서 더 자세한 내용을 볼 수 있습니다: " +"`print(pymupdf.TOOLS.mupdf_warnings())` (이 호출로 비워지지만, 이를 방지할 수도 있습니다. " +":meth:`Tools.mupdf_warnings` 참조)." + +#: ../../document.rst:204 85a57c6989194e89b1b69856a7d9a394 +msgid "Overview of possible forms, note: `open` is a synonym of `Document`::" +msgstr "가능한 형식 개요, 참고: `open` 은 `Document` 의 동의어입니다::" + +#: ../../document.rst:221 3e33d53ee5224879a1ea5e05123c6739 +msgid "" +"Raster images with a wrong (but supported) file extension **are no " +"problem**. MuPDF will determine the correct image type when file " +"**content** is actually accessed and will process it without complaint." +msgstr "" +"잘못된(하지만 지원되는) 파일 확장자를 가진 래스터 이미지는 **문제가 되지 않습니다**. |MuPDF| 는 파일 **콘텐츠** 가" +" 실제로 액세스될 때 올바른 이미지 타입을 결정하고 불만 없이 처리합니다." + +#: ../../document.rst:223 065b06239b8d411e91f31a11cf0b763b +msgid "" +"The Document class can be also be used as a **context manager**. Exiting " +"the content manager will close the document automatically." +msgstr "" +"Document 클래스는 **context manager** 로도 사용할 수 있습니다. 콘텐츠 관리자를 종료하면 문서가 자동으로 " +"닫힙니다." + +#: ../../document.rst:239 ../../document.rst:249 ../../document.rst:309 +#: ../../document.rst:355 590a057c4b6b44d6a0918523f52f6f9d +#: 8e6e393f5b684e0bafd4caf83d908e86 b5812f621a6c4e63bf0172b3f1d3cc29 +#: fc7e417737a44f688ae8d2191b3b7ab9 +msgid "New in v1.18.4" +msgstr "v1.18.4에서 새로 추가됨" + +#: ../../document.rst:241 7e3878780e334136b767b9359746ea53 +msgid "" +"Return the cross reference number of an :data:`OCG` or :data:`OCMD` " +"attached to an image or form xobject." +msgstr "이미지 또는 폼 xobject에 첨부된 :data:`OCG` 또는 :data:`OCMD` 의 교차 참조 번호를 반환합니다." + +#: ../../document.rst:243 02a0e1e835614fec97682f8673d2a44a +msgid "" +"the :data:`xref` of an image or form xobject. Valid such cross reference " +"numbers are returned by :meth:`Document.get_page_images`, resp. " +":meth:`Document.get_page_xobjects`. For invalid numbers, an exception is " +"raised." +msgstr "" +"이미지 또는 폼 xobject의 :data:`xref`. 유효한 교차 참조 번호는 " +":meth:`Document.get_page_images` 또는 :meth:`Document.get_page_xobjects` 에 " +"의해 반환됩니다. 유효하지 않은 번호의 경우 예외가 발생합니다." + +#: ../../document.rst 03106ba1def448ee947cabdaf71b64af +#: 0323e07d28b34d3db57c8793633c6693 03fa12cfb70346d0a59357cc2fac0b53 +#: 1aba81a7b43b479e8b6c20dfc4b285a7 280115f8654a46c19b9605b53ae5cb25 +#: 293f411b7cde49c9bdcfd193dcdcdcc3 311a57ac78794e2e90319718b2abee35 +#: 3870aff916b940ebae177370b1d79d02 3b8f4617cb6a4273bc5cc5871f6dd926 +#: 3d82dbb2f594402b9a35693796ef923b 42758cfc2b43478abb870a4303f08b46 +#: 4cc5ae419ec54d569bbe6924027803f8 5236a41b0be944409e172dc5b2e4bf86 +#: 5a9aaff08bd04bca832bcab4af64df9c 69766670b3434e69bcd622dc0dc9e27d +#: 7a81d4febe394e368e4f731ec0edcbd3 7ae03a444f9b4584adfedd95fb3e1832 +#: 7c50040809f54baea13ac5bf14e7b8b5 81e419072a7040609488c69f1a3ee6a9 +#: 8262bfce4d2447748d541f718f81d09f 83054de5a1f24a5e9e84a905db0c8a15 +#: a3d3a8ca642c4433beeef23cc55ccc0c ae294c0d81814ae680474407dc878475 +#: af12de8b069e4c0f89174e9b7b798f8c b591f61bc81144a3be6c8d4ca224d43c +#: bae2e3773fea460a9bec117512d86b4e d1aabcba697f4ccca6722d874ddc4b91 +#: d1c59ac972354c3bb0e8960dc03143fc d22157f38e4c482b9f059900ceea860e +#: d41d99df291f4539a09e041db9a01693 e8696467db1a43938ae8baf7d06fbe94 +#: f079281dd45045a98b9fa58f73453901 f165f1911ae248fe8e958ed35a1c95f3 +#: f43b1009cbe1438595747275491e5fb3 fa67f21ad4ba4619b33e9d5e01dd956c +#: fb20d7ae8e29407a93c1316afa952e4e +msgid "Return type" +msgstr "반환 타입" + +#: ../../document.rst:245 54f83b65a1444382948e30d8b439e254 +msgid "" +"the cross reference number of an optional contents object or zero if " +"there is none." +msgstr "선택적 콘텐츠 객체의 교차 참조 번호 또는 없는 경우 0." + +#: ../../document.rst:251 96b8fa378c624f70997c27f227a1cb0c +msgid "" +"If :data:`xref` represents an image or form xobject, set or remove the " +"cross reference number *ocxref* of an optional contents object." +msgstr "" +":data:`xref` 가 이미지 또는 form xobject를 나타내는 경우 선택적 콘텐츠 객체의 교차 참조 번호 *ocxref*" +" 를 설정하거나 제거합니다." + +#: ../../document.rst:253 ccd437bf85874e6796fd6bc48db22b17 +msgid "" +"the :data:`xref` of an image or form xobject [#f5]_. Valid such cross " +"reference numbers are returned by :meth:`Document.get_page_images`, resp." +" :meth:`Document.get_page_xobjects`. For invalid numbers, an exception is" +" raised." +msgstr "" +"이미지 또는 form xobject의 :data:`xref` [#f5]_. 유효한 이러한 교차 참조 번호는 " +":meth:`Document.get_page_images`, 각각 :meth:`Document.get_page_xobjects` " +"에서 반환됩니다. 잘못된 번호의 경우 예외가 발생합니다." + +#: ../../document.rst:254 01092297808443f49fec83f07bf7c1b1 +msgid "" +"the :data:`xref` number of an :data:`OCG` / :data:`OCMD`. If not zero, an" +" invalid reference raises an exception. If zero, any OC reference is " +"removed." +msgstr "" +":data:`OCG` / :data:`OCMD` 의 :data:`xref` 번호. 0이 아니면 유효하지 않은 참조가 예외를 " +"발생시킵니다. 0이면 모든 OC 참조가 제거됩니다." + +#: ../../document.rst:259 ../../document.rst:269 ../../document.rst:280 +#: ../../document.rst:292 ../../document.rst:366 ../../document.rst:378 +#: ../../document.rst:400 ../../document.rst:418 ../../document.rst:434 +#: 0cdb3bd2d31b4b66a2c59a426a908115 11d1e22fc75f4c299aaa32ee9660e732 +#: 651472cf224d4e7cb1c4607e35070f52 7b127219d8df4b649a052c0a2b97c25e +#: 91ec18953623402d83c21367dfbac24b b1c95139441d4a9cae92305b838dc63e +#: b3ab1a356e21428fb3c661c2a380695c ed9937dd5d174b9ea28d6f61bcb82e87 +#: fca4c990f25d40c091f29bd4f8738a73 +msgid "New in v1.18.3" +msgstr "v1.18.3에서 새로 추가됨" + +#: ../../document.rst:261 e496afcef3664b1f81d450a3619e61af +msgid "" +"Show optional layer configurations. There always is a standard one, which" +" is not included in the response." +msgstr "선택적 레이어 구성을 표시합니다. 항상 표준 구성이 있으며, 응답에 포함되지 않습니다." + +#: ../../document.rst:271 f799d02d101b4380aaaf1c4db1b48eb6 +msgid "" +"Add an optional content configuration. Layers serve as a collection of ON" +" / OFF states for optional content groups and allow fast visibility " +"switches between different views on the same document." +msgstr "" +"선택적 콘텐츠 구성을 추가합니다. 레이어는 선택적 콘텐츠 그룹의 ON/OFF 상태 모음 역할을 하며, 동일한 문서의 다른 보기 간 " +"빠른 가시성 전환을 허용합니다." + +#: ../../document.rst:273 08dc8765d1304fd7b44f572a0744f0f1 +msgid "arbitrary name." +msgstr "임의의 이름." + +#: ../../document.rst:274 98d7de11d27e443691ea0949884cd849 +msgid "(optional) creating software." +msgstr "(선택 사항) 생성 소프트웨어." + +#: ../../document.rst:275 0d34230a987b46f481e1e00efa0aea08 +msgid "" +"a sequence of OCG :data:`xref` numbers which should be set to ON when " +"this layer gets activated. All OCGs not listed here will be set to OFF." +msgstr "" +"이 레이어가 활성화될 때 ON으로 설정해야 하는 OCG :data:`xref` 번호 시퀀스. 여기에 나열되지 않은 모든 OCG는 " +"OFF로 설정됩니다." + +#: ../../document.rst:282 bf8e78a200584541a6aa40bfe589b2cb +msgid "" +"Switch to a document view as defined by the optional layer's " +"configuration number. This is temporary, except if established as " +"default." +msgstr "선택적 레이어의 구성 번호로 정의된 문서 보기로 전환합니다. 기본값으로 설정되지 않은 경우 임시입니다." + +#: ../../document.rst:284 a5c2d8c7581d4bdc8b1aa451802f594f +msgid "config number as returned by :meth:`Document.layer_configs`." +msgstr ":meth:`Document.layer_configs` 에서 반환된 구성 번호." + +#: ../../document.rst:285 1bd81b54cedd49f18769be40480ce85d +msgid "make this the default configuration." +msgstr "이것을 기본 구성으로 만듭니다." + +#: ../../document.rst:287 90648b40bc2941c9a74ee11db323a3af +msgid "" +"Activates the ON / OFF states of OCGs as defined in the identified layer." +" If ``as_default=True``, then additionally all layers, including the " +"standard one, are merged and the result is written back to the standard " +"layer, and **all optional layers are deleted**." +msgstr "" +"식별된 레이어에 정의된 대로 OCG의 ON/OFF 상태를 활성화합니다. ``as_default=True`` 이면 표준 레이어를 " +"포함한 모든 레이어가 병합되고 결과가 표준 레이어에 다시 쓰여지며, **모든 선택적 레이어가 삭제됩니다**." + +#: ../../document.rst:294 64c365c54c204dc9a79d20e140c88f37 +msgid "" +"Add an optional content group. An OCG is the most important unit of " +"information to determine object visibility. For a PDF, in order to be " +"regarded as having optional content, at least one OCG must exist." +msgstr "" +"선택적 콘텐츠 그룹을 추가합니다. OCG는 객체 가시성을 결정하는 가장 중요한 정보 단위입니다. PDF의 경우 선택적 콘텐츠를 가진" +" 것으로 간주되려면 최소한 하나의 OCG가 있어야 합니다." + +#: ../../document.rst:296 582c5907afae46aa9917cffb6bbc7e9d +msgid "arbitrary name. Will show up in supporting PDF viewers." +msgstr "임의의 이름. 지원하는 PDF 뷰어에 표시됩니다." + +#: ../../document.rst:297 f3ea3172645446aab9bd34bdaaa95772 +msgid "layer configuration number. Default -1 is the standard configuration." +msgstr "레이어 구성 번호. 기본값 -1은 표준 구성입니다." + +#: ../../document.rst:298 17c0cb89e5074470a202a4250ea9f078 +msgid "standard visibility status for objects pointing to this OCG." +msgstr "이 OCG를 가리키는 객체의 표준 가시성 상태." + +#: ../../document.rst:299 c62203a85b33422185c8017d9e36af57 +msgid "" +"a string or list of strings declaring the visibility intents. There are " +"two PDF standard values to choose from: \"View\" and \"Design\". Default " +"is \"View\". Correct **spelling is important**." +msgstr "" +"가시성 의도를 선언하는 문자열 또는 문자열 목록. 선택할 수 있는 두 가지 PDF 표준 값이 있습니다: \"View\" 와 " +"\"Design\". 기본값은 \"View\" 입니다. 올바른 **철자가 중요합니다**." + +#: ../../document.rst:300 700ecf059c634c4296e822ca1f324ace +msgid "" +"another influencer for OCG visibility. This will become part of the OCG's" +" `/Usage` key. There are two PDF standard values to choose from: " +"\"Artwork\" and \"Technical\". Default is \"Artwork\". Please only change" +" when required." +msgstr "" +"OCG 가시성에 영향을 미치는 또 다른 요소. 이것은 OCG의 `/Usage` 키의 일부가 됩니다. 선택할 수 있는 두 가지 PDF" +" 표준 값이 있습니다: \"Artwork\" 와 \"Technical\". 기본값은 \"Artwork\" 입니다. 필요한 경우에만 " +"변경하세요." + +#: ../../document.rst:302 3145601d35874b718a0c6f74a6a309b8 +msgid "" +":data:`xref` of the created OCG. Use as entry for `oc` parameter in " +"supporting objects." +msgstr "생성된 OCG의 :data:`xref`. 지원 객체의 `oc` 매개변수 항목으로 사용합니다." + +#: ../../document.rst:304 4b1189a56ca745249bc4b28c2436ca85 +msgid "" +"Multiple OCGs with identical parameters may be created. This will not " +"cause problems. Garbage option 3 of :meth:`Document.save` will get rid of" +" any duplicates." +msgstr "" +"동일한 매개변수를 가진 여러 OCG가 생성될 수 있습니다. 이것은 문제를 일으키지 않습니다. :meth:`Document.save`" +" 의 Garbage 옵션 3은 모든 중복을 제거합니다." + +#: ../../document.rst:311 e5f3f34164f14819912a3b03637210d1 +msgid "" +"Create or update an :data:`OCMD`, **Optional Content Membership " +"Dictionary.**" +msgstr ":data:`OCMD`, **Optional Content Membership Dictionary** 를 생성하거나 업데이트합니다." + +#: ../../document.rst:313 cb1088cf2f894416ae66a48c48f1a083 +msgid ":data:`xref` of the OCMD to be updated, or 0 for a new OCMD." +msgstr "업데이트할 OCMD의 :data:`xref` 또는 새 OCMD의 경우 0." + +#: ../../document.rst:314 369dd3e1a5934cd1ac9d74315ec46778 +msgid "a sequence of :data:`xref` numbers of existing :data:`OCG` PDF objects." +msgstr "기존 :data:`OCG` PDF 객체의 :data:`xref` 번호 시퀀스." + +#: ../../document.rst:315 bf9b40e2e22c4f97953a165672812856 +msgid "" +"one of \"AnyOn\" (default), \"AnyOff\", \"AllOn\", \"AllOff\" (mixed or " +"lower case)." +msgstr "\"AnyOn\" (기본값), \"AnyOff\", \"AllOn\", \"AllOff\" 중 하나(대소문자 혼합 또는 소문자)." + +#: ../../document.rst:316 88174bf787d4486d91457a1003cc8d34 +msgid "" +"a \"visibility expression\". This is a list of arbitrarily nested other " +"lists -- see explanation below. Use as an alternative to the combination " +"*ocgs* / *policy* if you need to formulate more complex conditions." +msgstr "" +"\"가시성 표현식\". 이것은 임의로 중첩된 다른 목록의 목록입니다. 아래 설명을 참조하세요. 더 복잡한 조건을 공식화해야 하는 " +"경우 *ocgs* / *policy* 조합의 대안으로 사용합니다." + +#: ../../document.rst:318 8928d324f6024b2a9bb8500b1ff504f4 +msgid "" +":data:`xref` of the OCMD. Use as `oc=xref` parameter in supporting " +"objects, and respectively in :meth:`Document.set_oc` or " +":meth:`Annot.set_oc`." +msgstr "" +"OCMD의 :data:`xref`. 지원 객체에서 `oc=xref` 매개변수로 사용하고, 각각 " +":meth:`Document.set_oc` 또는 :meth:`Annot.set_oc` 에서 사용합니다." + +#: ../../document.rst:322 77b7cd5933544b45be8e20f83eec5ec1 +msgid "" +"Like an OCG, an OCMD has a visibility state ON or OFF, and it can be used" +" like an OCG. In contrast to an OCG, the OCMD state is determined by " +"evaluating the state of one or more OCGs via special forms of **boolean " +"expressions.** If the expression evaluates to true, the OCMD state is ON " +"and OFF for false." +msgstr "" +"OCG와 마찬가지로 OCMD는 ON 또는 OFF 가시성 상태를 가지며 OCG처럼 사용할 수 있습니다. OCG와 달리 OCMD 상태는" +" **부울 표현식** 의 특수 형식을 통해 하나 이상의 OCG 상태를 평가하여 결정됩니다. 표현식이 true로 평가되면 OCMD " +"상태는 ON이고, false이면 OFF입니다." + +#: ../../document.rst:324 c5c61ce450e24c5e9ea1fa1bad8b6751 +msgid "There are two ways to formulate OCMD visibility:" +msgstr "OCMD 가시성을 공식화하는 두 가지 방법이 있습니다:" + +#: ../../document.rst:326 462d8be9d3a5420cbd8cb048c7eeb28b +msgid "" +"Use the combination of *ocgs* and *policy*: The *policy* value is " +"interpreted as follows:" +msgstr "*ocgs* 와 *policy* 조합 사용: *policy* 값은 다음과 같이 해석됩니다:" + +#: ../../document.rst:328 86b63ed8ef38451ebf96d60ec77bce37 +msgid "AnyOn -- (default) true if at least one OCG is ON." +msgstr "AnyOn -- (기본값) 최소한 하나의 OCG가 ON이면 true." + +#: ../../document.rst:329 f3f796350ef742cf9d6068183f6bcc38 +msgid "AnyOff -- true if at least one OCG is OFF." +msgstr "AnyOff -- 최소한 하나의 OCG가 OFF이면 true." + +#: ../../document.rst:330 adc9429b7f46427dbfb52493bd1c0204 +msgid "AllOn -- true if all OCGs are ON." +msgstr "AllOn -- 모든 OCG가 ON이면 true." + +#: ../../document.rst:331 daa610b72ef4437f8457d46428a9a2b1 +msgid "AllOff -- true if all OCGs are OFF." +msgstr "AllOff -- 모든 OCG가 OFF이면 true." + +#: ../../document.rst:333 7014ef73277e45d4a51f02398cfaadd8 +msgid "" +"Suppose you want two PDF objects be displayed exactly one at a time (if " +"one is ON, then the other one must be OFF):" +msgstr "두 개의 PDF 객체를 한 번에 정확히 하나씩만 표시하려는 경우(하나가 ON이면 다른 하나는 OFF여야 함):" + +#: ../../document.rst:335 658089c6f0b9489686f71ec565438854 +msgid "" +"Solution: use an **OCG** for object 1 and an **OCMD** for object 2. " +"Create the OCMD via `set_ocmd(ocgs=[xref], policy=\"AllOff\")`, with the " +":data:`xref` of the OCG." +msgstr "" +"해결책: 객체 1에 **OCG** 를 사용하고 객체 2에 **OCMD** 를 사용합니다. OCG의 :data:`xref` 로 " +"`set_ocmd(ocgs=[xref], policy=\"AllOff\")` 를 통해 OCMD를 생성합니다." + +#: ../../document.rst:337 82ba080d68bb4981b7587f8bab2460c8 +msgid "" +"Use the **visibility expression** *ve*: This is a list of two or more " +"items. The **first item** is a logical keyword: one of the strings " +"**\"and\"**, **\"or\"**, or **\"not\"**. The **second** and all " +"subsequent items must either be an integer or another list. An integer " +"must be the :data:`xref` number of an OCG. A list must again have at " +"least two items starting with one of the boolean keywords. This syntax is" +" a bit awkward, but quite powerful:" +msgstr "" +"**가시성 표현식** *ve* 사용: 이것은 두 개 이상의 항목 목록입니다. **첫 번째 항목** 은 논리 키워드입니다: " +"**\"and\"**, **\"or\"**, 또는 **\"not\"** 중 하나. **두 번째** 및 모든 후속 항목은 정수 또는 " +"다른 목록이어야 합니다. 정수는 OCG의 :data:`xref` 번호여야 합니다. 목록은 부울 키워드 중 하나로 시작하는 최소 두 " +"개의 항목을 다시 가져야 합니다. 이 구문은 약간 어색하지만 매우 강력합니다:" + +#: ../../document.rst:339 8c43a5aff72040a7a6d28e5bb990e66b +msgid "Each list must start with a logical keyword." +msgstr "각 목록은 논리 키워드로 시작해야 합니다." + +#: ../../document.rst:340 19d1f313dc9c49d0a6293fc1ad610021 +msgid "" +"If the keyword is a **\"not\"**, then the list must have exactly two " +"items. If it is **\"and\"** or **\"or\"**, any number of other items may " +"follow." +msgstr "" +"키워드가 **\"not\"** 이면 목록은 정확히 두 개의 항목을 가져야 합니다. **\"and\"** 또는 **\"or\"** " +"이면 임의의 수의 다른 항목이 올 수 있습니다." + +#: ../../document.rst:341 bc4958d9848f4d9eb526b661a0948965 +msgid "" +"Items following the logical keyword may be either integers or again a " +"list. An *integer* must be the xref of an OCG. A *list* must conform to " +"the previous rules." +msgstr "" +"논리 키워드 다음의 항목은 정수이거나 다시 목록일 수 있습니다. *정수* 는 OCG의 xref여야 합니다. *목록* 은 이전 규칙을" +" 준수해야 합니다." + +#: ../../document.rst:343 909440e89ac14b0583e1721a3248b452 +msgid "**Examples:**" +msgstr "**예제:**" + +#: ../../document.rst:345 39d40410d7484e3e825de23071befbe8 +msgid "" +"`set_ocmd(ve=[\"or\", 4, [\"not\", 5], [\"and\", 6, 7]])`. This delivers " +"ON if the following is true: **\"4 is ON, or 5 is OFF, or 6 and 7 are " +"both ON\"**." +msgstr "" +"`set_ocmd(ve=[\"or\", 4, [\"not\", 5], [\"and\", 6, 7]])`. 다음이 true이면 ON을" +" 제공합니다: **\"4가 ON이거나, 5가 OFF이거나, 6과 7이 모두 ON\"**." + +#: ../../document.rst:346 97dc40557fcc4158b6cb22c3353018db +msgid "" +"`set_ocmd(ve=[\"not\", xref])`. This has the same effect as the OCMD " +"example created under 1." +msgstr "`set_ocmd(ve=[\"not\", xref])`. 이것은 1번에서 생성된 OCMD 예제와 동일한 효과를 가집니다." + +#: ../../document.rst:348 434eb7de1a77405aa34ed1d2e20e1b02 +msgid "" +"For more details and examples see page 224 of :ref:`AdobeManual`. Also do" +" have a look at example scripts `here `_." +msgstr "" +"자세한 내용과 예제는 :ref:`AdobeManual` 의 224페이지를 참조하세요. 또한 예제 스크립트 `여기 " +"`_ 도 확인하세요." + +#: ../../document.rst:350 7658995b2a4549639c7ace90d07d93b3 +msgid "" +"Visibility expressions, `/VE`, are part of PDF specification version 1.6." +" So not all PDF viewers / readers may already support this feature and " +"hence will react in some standard way for those cases." +msgstr "" +"가시성 표현식 `/VE` 는 PDF 사양 버전 1.6의 일부입니다. 따라서 모든 PDF 뷰어/리더가 이 기능을 지원하지 않을 수 " +"있으며, 따라서 이러한 경우 표준 방식으로 반응할 수 있습니다." + +#: ../../document.rst:357 dcfcc58d11a2462ba2c2f22a728129bb +msgid "Retrieve the definition of an :data:`OCMD`." +msgstr ":data:`OCMD` 의 정의를 검색합니다." + +#: ../../document.rst:359 7d1bff0a19054f2db6c4bd89fe1bcc2b +msgid "the :data:`xref` of the OCMD." +msgstr "OCMD의 :data:`xref`." + +#: ../../document.rst:361 10a42b8798f54b0280077c1c0449a55e +msgid "a dictionary with the keys :data:`xref`, *ocgs*, *policy* and *ve*." +msgstr ":data:`xref`, *ocgs*, *policy* 및 *ve* 키를 가진 딕셔너리." + +#: ../../document.rst:368 a71256dcfa4a4a33b07ae79e240a88e3 +msgid "" +"List of optional content groups by status in the specified configuration." +" This is a dictionary with lists of cross reference numbers for OCGs that" +" occur in the arrays `/ON`, `/OFF` or in some radio button group " +"(`/RBGroups`)." +msgstr "" +"지정된 구성에서 상태별 선택적 콘텐츠 그룹 목록. 이것은 `/ON`, `/OFF` 배열 또는 일부 라디오 버튼 " +"그룹(`/RBGroups`)에 나타나는 OCG의 교차 참조 번호 목록을 가진 딕셔너리입니다." + +#: ../../document.rst:370 e1289b8663ed42c88f7aeabecc6d605e +msgid "the configuration layer (default is the standard config layer)." +msgstr "구성 레이어(기본값은 표준 구성 레이어)." + +#: ../../document.rst:380 6f7007b493e44fba98c65146eb69d34c +msgid "Changed in v1.22.5: Support list of *locked* OCGs." +msgstr "v1.22.5에서 변경됨: *잠긴* OCG 목록 지원." + +#: ../../document.rst:382 ac89d60a2a5f4b48be8c2261db601aa9 +msgid "" +"Mass status changes of optional content groups. **Permanently** sets the " +"status of OCGs." +msgstr "선택적 콘텐츠 그룹의 대량 상태 변경. OCG 상태를 **영구적으로** 설정합니다." + +#: ../../document.rst:384 468388be95424c0d8a9b49b756008f0d +msgid "desired configuration layer, choose -1 for the default one." +msgstr "원하는 구성 레이어, 기본값의 경우 -1을 선택합니다." + +#: ../../document.rst:385 ede15b445e8841da94cafafdeb425744 +msgid "" +"list of :data:`xref` of OCGs to set ON. Replaces previous values. An " +"empty list will cause no OCG being set to ON anymore. Should be specified" +" if `basestate=\"ON\"` is used." +msgstr "" +"ON으로 설정할 OCG의 :data:`xref` 목록. 이전 값을 대체합니다. 빈 목록은 더 이상 OCG가 ON으로 설정되지 않도록" +" 합니다. `basestate=\"ON\"` 이 사용되는 경우 지정해야 합니다." + +#: ../../document.rst:386 8ba93f6ec2554e599cb52b9e35a6871e +msgid "" +"list of :data:`xref` of OCGs to set OFF. Replaces previous values. An " +"empty list will cause no OCG being set to OFF anymore. Should be " +"specified if `basestate=\"OFF\"` is used." +msgstr "" +"OFF로 설정할 OCG의 :data:`xref` 목록. 이전 값을 대체합니다. 빈 목록은 더 이상 OCG가 OFF로 설정되지 않도록" +" 합니다. `basestate=\"OFF\"` 가 사용되는 경우 지정해야 합니다." + +#: ../../document.rst:387 85b511fbc799407395e9ee0a53fd3d75 +msgid "" +"state of OCGs that are not mentioned in *on* or *off*. Possible values " +"are \"ON\", \"OFF\" or \"Unchanged\". Upper / lower case possible." +msgstr "" +"*on* 또는 *off* 에 언급되지 않은 OCG의 상태. 가능한 값은 \"ON\", \"OFF\" 또는 \"Unchanged\" " +"입니다. 대소문자 가능." + +#: ../../document.rst:388 103c3e8b6c5d4ddea0e0693af1420970 +msgid "" +"a list of lists. Replaces previous values. Each sublist should contain " +"two or more OCG xrefs. OCGs in the same sublist are handled like buttons " +"in a radio button group: setting one to ON automatically sets all other " +"group members to OFF." +msgstr "" +"목록의 목록. 이전 값을 대체합니다. 각 하위 목록은 두 개 이상의 OCG xref를 포함해야 합니다. 동일한 하위 목록의 OCG는" +" 라디오 버튼 그룹의 버튼처럼 처리됩니다: 하나를 ON으로 설정하면 다른 모든 그룹 구성원이 자동으로 OFF로 설정됩니다." + +#: ../../document.rst:389 dc1e634515e44d1c9a4d4d3fdd70fcd9 +msgid "a list of OCG xref number that cannot be changed by the user interface." +msgstr "사용자 인터페이스로 변경할 수 없는 OCG xref 번호 목록." + +#: ../../document.rst:391 0f646eb8554b43a5b6b2525fb77f6a59 +msgid "Values `None` will not change the corresponding PDF array." +msgstr "`None` 값은 해당 PDF 배열을 변경하지 않습니다." + +#: ../../document.rst:402 46f83dd2ff484f27982ec01f17716437 +msgid "" +"Details of all optional content groups. This is a dictionary of " +"dictionaries like this (key is the OCG's :data:`xref`):" +msgstr "모든 선택적 콘텐츠 그룹의 세부 정보. 이것은 다음과 같은 딕셔너리의 딕셔너리입니다(키는 OCG의 :data:`xref`):" + +#: ../../document.rst:420 c417700fcc5b4b1eae4fa6465cba21de +msgid "" +"Show the visibility status of optional content that is modifiable by the " +"user interface of supporting PDF viewers." +msgstr "지원하는 PDF 뷰어의 사용자 인터페이스로 수정 가능한 선택적 콘텐츠의 가시성 상태를 표시합니다." + +#: ../../document.rst:422 4aa5dc6d9637420fbaa9715a0f68a0cc +msgid "" +"Only reports items contained in the currently selected layer " +"configuration." +msgstr "현재 선택된 레이어 구성에 포함된 항목만 보고합니다." + +#: ../../document.rst:429 64cd741b0f154a59882f3ecbad6f6c4d +msgid "The meaning of the dictionary keys is as follows:" +msgstr "딕셔너리 키의 의미는 다음과 같습니다:" + +#: ../../document.rst:425 a1d441dff29442abbe52ac442fba4857 +msgid "*depth:* item's nesting level in the `/Order` array" +msgstr "*depth:* `/Order` 배열에서 항목의 중첩 수준" + +#: ../../document.rst:426 afed949ed9c94f36b9dc60f092483e05 +msgid "*locked:* true if cannot be changed via user interfaces" +msgstr "*locked:* 사용자 인터페이스를 통해 변경할 수 없으면 true" + +#: ../../document.rst:427 710278fb91c2494cbd5c46259e9fe457 +msgid "*number:* running sequence number" +msgstr "*number:* 실행 시퀀스 번호" + +#: ../../document.rst:428 a2442736222d45c083eb9cad2e3cf565 +msgid "*on:* item state" +msgstr "*on:* 항목 상태" + +#: ../../document.rst:429 92dfbeb754404026afaa90073baff793 +msgid "*text:* text string or name field of the originating OCG" +msgstr "*text:* 원본 OCG의 텍스트 문자열 또는 이름 필드" + +#: ../../document.rst:430 c8d971a7af4b492bbd1fbc73337424ad +msgid "" +"*type:* one of \"label\" (set by a text string), \"checkbox\" (set by a " +"single OCG) or \"radiobox\" (set by a set of connected OCGs)" +msgstr "" +"*type:* \"label\" (텍스트 문자열로 설정), \"checkbox\" (단일 OCG로 설정) 또는 " +"\"radiobox\" (연결된 OCG 집합으로 설정) 중 하나" + +#: ../../document.rst:436 ca0c2b9b2d704bf4926d5541ce17576a +msgid "" +"Modify OC visibility status of content groups. This is analog to what " +"supporting PDF viewers would offer." +msgstr "콘텐츠 그룹의 OC 가시성 상태를 수정합니다. 이것은 지원하는 PDF 뷰어가 제공하는 것과 유사합니다." + +#: ../../document.rst:438 2d3943b22c954c3e9f6217dc93f52b4c +msgid "" +"Please note that visibility is **not** a property stored with the OCG. It" +" is not even information necessarily present in the PDF document at all. " +"Instead, the current visibility is **temporarily** set using the user " +"interface of some supporting PDF consumer software. The same type of " +"functionality is offered by this method." +msgstr "" +"가시성은 OCG와 함께 저장되는 속성이 **아닙니다**. PDF 문서에 반드시 존재하는 정보도 아닙니다. 대신, 현재 가시성은 일부" +" 지원하는 PDF 소비자 소프트웨어의 사용자 인터페이스를 사용하여 **임시로** 설정됩니다. 이 메서드는 동일한 유형의 기능을 " +"제공합니다." + +#: ../../document.rst:440 4360a90c60fa4f3090c35c0af96d1a99 +msgid "To make **permanent** changes, use :meth:`Document.set_layer`." +msgstr "**영구적인** 변경을 하려면 :meth:`Document.set_layer` 를 사용하세요." + +#: ../../document.rst:442 29750667f90046a896bd2ed12b182314 +msgid "" +"either the sequence number of the item in list " +":meth:`Document.layer_configs` or the \"text\" of one of these items." +msgstr ":meth:`Document.layer_configs` 목록의 항목 시퀀스 번호 또는 이러한 항목 중 하나의 \"text\"." + +#: ../../document.rst:443 f398780fe9cd4cb9a46fe8eb8c8591f2 +msgid "" +"`PDF_OC_ON` = set on (default), `PDF_OC_TOGGLE` = toggle on/off, " +"`PDF_OC_OFF` = set off." +msgstr "`PDF_OC_ON` = 켜기(기본값), `PDF_OC_TOGGLE` = 켜기/끄기 전환, `PDF_OC_OFF` = 끄기." + +#: ../../document.rst:448 bac35af4cb58496282e3f36f790b2d94 +msgid "" +"Decrypts the document with the string *password*. If successful, document" +" data can be accessed. For PDF documents, the \"owner\" and the \"user\" " +"have different privileges, and hence different passwords may exist for " +"these authorization levels. The method will automatically establish the " +"appropriate (owner or user) access rights for the provided password." +msgstr "" +"문자열 *password* 로 문서를 복호화합니다. 성공하면 문서 데이터에 액세스할 수 있습니다. PDF 문서의 경우 " +"\"owner\" 와 \"user\" 는 다른 권한을 가지므로 이러한 권한 수준에 대해 다른 비밀번호가 존재할 수 있습니다. 이 " +"메서드는 제공된 비밀번호에 대해 적절한(owner 또는 user) 액세스 권한을 자동으로 설정합니다." + +#: ../../document.rst:450 d19b070d8c8c4e07bb85b92d121abe18 +msgid "owner or user password." +msgstr "owner 또는 user 비밀번호." + +#: ../../document.rst:453 09c81228f6f144ec9e2812177c48be57 +msgid "" +"a positive value if successful, zero otherwise (the string does not match" +" either password). If positive, the indicator " +":attr:`Document.is_encrypted` is set to ``False``. **Positive** return " +"codes carry the following information detail: * 1 => authenticated, but " +"the PDF has neither owner nor user passwords. * 2 => authenticated with " +"the **user** password. * 4 => authenticated with the **owner** password. " +"* 6 => authenticated and both passwords are equal -- probably a rare " +"situation. .. note:: The document may be protected by an owner, but " +"**not** by a user password. Detect this situation via " +"`doc.authenticate(\"\") == 2`. This allows opening and reading the " +"document without authentication, but, depending on the " +":attr:`Document.permissions` value, other actions may be prohibited. " +"PyMuPDF (like MuPDF) in this case **ignores those restrictions**. So, -- " +"in contrast to any PDF viewers -- you can for example extract text and " +"add or modify content, even if the respective permission flags " +"`PDF_PERM_COPY`, `PDF_PERM_MODIFY`, `PDF_PERM_ANNOTATE`, etc. are set " +"off! It is your responsibility building a legally compliant application " +"where applicable." +msgstr "" + +#: ../../document.rst:453 a27a648e6c744e1c9f93f1717c0ce5e4 +msgid "" +"a positive value if successful, zero otherwise (the string does not match" +" either password). If positive, the indicator " +":attr:`Document.is_encrypted` is set to ``False``. **Positive** return " +"codes carry the following information detail:" +msgstr "" +"성공하면 양수 값, 그렇지 않으면 0(문자열이 두 비밀번호와 일치하지 않음). 양수이면 표시기 " +":attr:`Document.is_encrypted` 가 ``False`` 로 설정됩니다. **양수** 반환 코드는 다음 정보 세부" +" 사항을 포함합니다:" + +#: ../../document.rst:455 ad0771c151124449b3a89661edd657dd +msgid "1 => authenticated, but the PDF has neither owner nor user passwords." +msgstr "1 => 인증되었지만 PDF에 owner 또는 user 비밀번호가 없습니다." + +#: ../../document.rst:456 45d3470658684c13b95b87cc78f20822 +msgid "2 => authenticated with the **user** password." +msgstr "2 => **user** 비밀번호로 인증되었습니다." + +#: ../../document.rst:457 3d1ac17d43984900a8e2fa5e25f7faa0 +msgid "4 => authenticated with the **owner** password." +msgstr "4 => **owner** 비밀번호로 인증되었습니다." + +#: ../../document.rst:458 971a66bb85bc4ab486ae62db4d6615f7 +msgid "" +"6 => authenticated and both passwords are equal -- probably a rare " +"situation." +msgstr "6 => 인증되었고 두 비밀번호가 동일합니다. 아마도 드문 상황입니다." + +#: ../../document.rst:462 b2a20378b0b5427a8d960f26e7b1ecdf +msgid "" +"The document may be protected by an owner, but **not** by a user " +"password. Detect this situation via `doc.authenticate(\"\") == 2`. This " +"allows opening and reading the document without authentication, but, " +"depending on the :attr:`Document.permissions` value, other actions may be" +" prohibited. PyMuPDF (like MuPDF) in this case **ignores those " +"restrictions**. So, -- in contrast to any PDF viewers -- you can for " +"example extract text and add or modify content, even if the respective " +"permission flags `PDF_PERM_COPY`, `PDF_PERM_MODIFY`, `PDF_PERM_ANNOTATE`," +" etc. are set off! It is your responsibility building a legally compliant" +" application where applicable." +msgstr "" +"문서는 owner로 보호될 수 있지만 user 비밀번호로는 보호되지 **않을** 수 있습니다. " +"`doc.authenticate(\"\") == 2` 를 통해 이 상황을 감지합니다. 이것은 인증 없이 문서를 열고 읽을 수 있게 " +"하지만, :attr:`Document.permissions` 값에 따라 다른 작업이 금지될 수 있습니다. |PyMuPDF| " +"(|MuPDF| 와 마찬가지로) 이 경우 **이러한 제한을 무시합니다**. 따라서 -- 모든 PDF 뷰어와 달리 -- 예를 들어 " +"해당 권한 플래그 `PDF_PERM_COPY`, `PDF_PERM_MODIFY`, `PDF_PERM_ANNOTATE` 등이 꺼져 " +"있어도 텍스트를 추출하고 콘텐츠를 추가하거나 수정할 수 있습니다! 해당되는 경우 법적으로 준수하는 애플리케이션을 구축하는 것은 " +"귀하의 책임입니다." + +#: ../../document.rst:466 f77a2af6763a4e99aa429f7e98659d79 +msgid "New in v 1.18.6" +msgstr "v 1.18.6에서 새로 추가됨" + +#: ../../document.rst:468 f4bbff5e7ed442339312ec3c0ef8a04b +msgid "" +"PDF only: Return a list of page numbers that have the specified label -- " +"note that labels may not be unique in a PDF. This implies a sequential " +"search through **all page numbers** to compare their labels." +msgstr "" +"PDF 전용: 지정된 레이블을 가진 페이지 번호 목록을 반환합니다. 레이블이 PDF에서 고유하지 않을 수 있습니다. 이것은 레이블을" +" 비교하기 위해 **모든 페이지 번호** 를 순차적으로 검색하는 것을 의미합니다." + +#: ../../document.rst:470 284419aaa5c14aaf9838d76305b7e6fd +msgid "Implementation detail -- pages are **not loaded** for this purpose." +msgstr "구현 세부 사항 -- 이 목적을 위해 페이지는 **로드되지 않습니다**." + +#: ../../document.rst:472 1fa71ee28df5429f91ab5ed8669e52f8 +msgid "the label to look for, e.g. \"vii\" (Roman number 7)." +msgstr "찾을 레이블, 예: \"vii\" (로마 숫자 7)." + +#: ../../document.rst:473 cf505e7ed7bd4f6d90bd2804a9b59277 +msgid "" +"stop after first hit. Useful e.g. if labelling is known to be unique, or " +"there are many pages, etc. The default will check every page number." +msgstr "" +"첫 번째 일치 후 중지. 레이블링이 고유한 것으로 알려져 있거나 페이지가 많은 경우 등에 유용합니다. 기본값은 모든 페이지 번호를 " +"확인합니다." + +#: ../../document.rst:475 7fcfbfc46bea4a529ec9a179bf248165 +msgid "" +"list of page numbers that have this label. Empty if none found, no labels" +" defined, etc." +msgstr "이 레이블을 가진 페이지 번호 목록. 찾을 수 없거나 레이블이 정의되지 않은 경우 비어 있습니다." + +#: ../../document.rst:480 ../../document.rst:843 ../../document.rst:864 +#: ../../document.rst:1897 ../../document.rst:1921 +#: 0e9d135c2c694491862abf575442c967 544935bd7d614c9db589293891fdce0f +#: 74efba34b38140e980ef5f9591e33759 b1ba150b171340d88337555ba1cd0b2b +#: ee0ffb51d237488e9b8a23feb27a244c +msgid "New in v1.18.7" +msgstr "v1.18.7에서 새로 추가됨" + +#: ../../document.rst:482 d49573b0569d48a1aa0c91946c9138d9 +msgid "" +"PDF only: Extract the list of page label definitions. Typically used for " +"modifications before feeding it into :meth:`Document.set_page_labels`." +msgstr "" +"PDF 전용: 페이지 레이블 정의 목록을 추출합니다. 일반적으로 :meth:`Document.set_page_labels` 에 " +"전달하기 전에 수정하는 데 사용됩니다." + +#: ../../document.rst:484 831722188ad841a9947ddd4ed8b6cc3b +msgid "a list of dictionaries as defined in :meth:`Document.set_page_labels`." +msgstr ":meth:`Document.set_page_labels` 에 정의된 대로 딕셔너리 목록." + +#: ../../document.rst:488 1ba6ad21168d4d6eb7121d531daa9fe5 +msgid "New in v1.18.6" +msgstr "v1.18.6에서 새로 추가됨" + +#: ../../document.rst:490 9a57871c71864eaa8c4df22898b6c3ba +msgid "PDF only: Add or update the page label definitions of the PDF." +msgstr "PDF 전용: PDF의 페이지 레이블 정의를 추가하거나 업데이트합니다." + +#: ../../document.rst:492 8023f294ed3e465abd9879124efa0c93 +#, python-brace-format +msgid "" +"a list of dictionaries. Each dictionary defines a label building rule and" +" a 0-based \"start\" page number. That start page is the first for which " +"the label definition is valid. Each dictionary has up to 4 items and " +"looks like `{'startpage': int, 'prefix': str, 'style': str, " +"'firstpagenum': int}` and has the following items. - `startpage`: (int) " +"the first page number (0-based) to apply the label rule. This key **must " +"be present**. The rule is applied to all subsequent pages until either " +"end of document or superseded by the rule with the next larger page " +"number. - `prefix`: (str) an arbitrary string to start the label with, " +"e.g. \"A-\". Default is \"\". - `style`: (str) the numbering style. " +"Available are \"D\" (decimal), \"r\"/\"R\" (Roman numbers, lower / upper " +"case), and \"a\"/\"A\" (lower / upper case alphabetical numbering: \"a\" " +"through \"z\", then \"aa\" through \"zz\", etc.). Default is \"\". If " +"\"\", no numbering will take place and the pages in that range will " +"receive the same label consisting of the `prefix` value. If prefix is " +"also omitted, then the label will be \"\". - `firstpagenum`: (int) start " +"numbering with this value. Default is 1, smaller values are ignored." +msgstr "" + +#: ../../document.rst:492 f0236618e0804858971c55deab0fe7fe +#, python-brace-format +msgid "" +"a list of dictionaries. Each dictionary defines a label building rule and" +" a 0-based \"start\" page number. That start page is the first for which " +"the label definition is valid. Each dictionary has up to 4 items and " +"looks like `{'startpage': int, 'prefix': str, 'style': str, " +"'firstpagenum': int}` and has the following items." +msgstr "" +"딕셔너리 목록. 각 딕셔너리는 레이블 빌딩 규칙과 0 기반 \"시작\" 페이지 번호를 정의합니다. 해당 시작 페이지는 레이블 정의가" +" 유효한 첫 번째 페이지입니다. 각 딕셔너리는 최대 4개의 항목을 가지며 `{'startpage': int, 'prefix': " +"str, 'style': str, 'firstpagenum': int}` 와 같이 보이며 다음 항목을 가집니다." + +#: ../../document.rst:494 7ada331695bb454facb941b2016338ac +msgid "" +"`startpage`: (int) the first page number (0-based) to apply the label " +"rule. This key **must be present**. The rule is applied to all subsequent" +" pages until either end of document or superseded by the rule with the " +"next larger page number." +msgstr "" +"`startpage`: (int) 레이블 규칙을 적용할 첫 번째 페이지 번호(0 기반). 이 키는 **반드시 있어야 합니다**. " +"규칙은 문서 끝까지 또는 다음 더 큰 페이지 번호를 가진 규칙으로 대체될 때까지 모든 후속 페이지에 적용됩니다." + +#: ../../document.rst:495 17d1a6d64dc0414d868aaa9ab7317f23 +msgid "" +"`prefix`: (str) an arbitrary string to start the label with, e.g. \"A-\"." +" Default is \"\"." +msgstr "`prefix`: (str) 레이블을 시작하는 임의의 문자열, 예: \"A-\". 기본값은 \"\" 입니다." + +#: ../../document.rst:496 912d2eb8b5b24751a0f30b902fd6b532 +msgid "" +"`style`: (str) the numbering style. Available are \"D\" (decimal), " +"\"r\"/\"R\" (Roman numbers, lower / upper case), and \"a\"/\"A\" (lower /" +" upper case alphabetical numbering: \"a\" through \"z\", then \"aa\" " +"through \"zz\", etc.). Default is \"\". If \"\", no numbering will take " +"place and the pages in that range will receive the same label consisting " +"of the `prefix` value. If prefix is also omitted, then the label will be " +"\"\"." +msgstr "" +"`style`: (str) 번호 매기기 스타일. 사용 가능한 것은 \"D\" (십진수), \"r\"/\"R\" (로마 숫자, " +"소문자/대문자), \"a\"/\"A\" (소문자/대문자 알파벳 번호 매기기: \"a\" 부터 \"z\" 까지, 그 다음 \"aa\"" +" 부터 \"zz\" 까지 등). 기본값은 \"\" 입니다. \"\" 이면 번호 매기기가 수행되지 않고 해당 범위의 페이지는 " +"`prefix` 값으로 구성된 동일한 레이블을 받습니다. prefix도 생략되면 레이블은 \"\" 가 됩니다." + +#: ../../document.rst:497 63acf88f059441f2bc4e4af1e8d8650a +msgid "" +"`firstpagenum`: (int) start numbering with this value. Default is 1, " +"smaller values are ignored." +msgstr "`firstpagenum`: (int) 이 값으로 번호 매기기를 시작합니다. 기본값은 1이며, 더 작은 값은 무시됩니다." + +#: ../../document.rst:499 384ec1a67413470785f411317701132b +msgid "For example::" +msgstr "예를 들어::" + +#: ../../document.rst:504 b8301b8cf19d4e02ac8a0bcd0352c92d +msgid "" +"will generate the labels \"A-10\", \"A-11\", \"A-12\", \"A-13\", \"1\", " +"\"2\", \"3\", ... for pages 6, 7 and so on until end of document. Pages 0" +" through 5 will have the label \"\"." +msgstr "" +"페이지 6, 7 등 문서 끝까지 \"A-10\", \"A-11\", \"A-12\", \"A-13\", \"1\", \"2\", " +"\"3\", ... 레이블을 생성합니다. 페이지 0부터 5까지는 레이블이 \"\" 입니다." + +#: ../../document.rst:509 ../../document.rst:523 +#: a2b10c378f7a4169a34c80b25fd3b781 dd39cd38852c4114b99d2bd5eb73b6e2 +msgid "New in v.1.17.3" +msgstr "v.1.17.3에서 새로 추가됨" + +#: ../../document.rst:511 6f3e58f86d23447789f879a032a3c941 +msgid "" +"Return a page pointer in a reflowable document. After re-layouting the " +"document, the result of this method can be used to find the new location " +"of the page." +msgstr "" +"재배치 가능한 문서에서 페이지 포인터를 반환합니다. 문서를 다시 레이아웃한 후 이 메서드의 결과를 사용하여 페이지의 새 위치를 찾을" +" 수 있습니다." + +#: ../../document.rst:513 9c43c3c696e44b848e88cb43517118b7 +msgid "Do not confuse with items of a table of contents, TOC." +msgstr "목차(TOC) 항목과 혼동하지 마세요." + +#: ../../document.rst:515 cd56f6afe2b64b0c85a5cc6be4cfed1d +msgid "page location. Must be a valid *(chapter, pno)*." +msgstr "페이지 location. 유효한 *(chapter, pno)* 여야 합니다." + +#: ../../document.rst:518 de63fa23b9dd457da0f6793091194ee8 +msgid "" +"a long integer in pointer format. To be used for finding the new location" +" of the page after re-layouting the document. Do not touch or re-assign." +msgstr "포인터 형식의 긴 정수. 문서를 다시 레이아웃한 후 페이지의 새 위치를 찾는 데 사용됩니다. 건드리거나 재할당하지 마세요." + +#: ../../document.rst:525 913919f58489450c8f242d2cd3216182 +msgid "Return the new page location after re-layouting the document." +msgstr "문서를 다시 레이아웃한 후 새 페이지 location을 반환합니다." + +#: ../../document.rst:527 f2193906ae744c47ba74f5923e5f39ea +msgid "created by :meth:`Document.make_bookmark`." +msgstr ":meth:`Document.make_bookmark` 에 의해 생성됨." + +#: ../../document.rst:530 6464a8ee1ffd421286788623fe35387a +msgid "the new (chapter, pno) of the page." +msgstr "페이지의 새 (chapter, pno)." + +#: ../../document.rst:535 ../../document.rst:547 ../../document.rst:558 +#: 2c2b3d20cfd34f43884f9e342fe74972 432814f8916748ba9f235825511c6890 +#: d0dfb3092bfb48daad9187dcf8ab30b1 +msgid "New in v.1.17.0" +msgstr "v.1.17.0에서 새로 추가됨" + +#: ../../document.rst:537 c0e2a2bf75c542f1a01355c1c674e527 +msgid "Return the number of pages of a chapter." +msgstr "장의 페이지 수를 반환합니다." + +#: ../../document.rst:539 022a532a4be94cd9a0a10cdead619a0e +msgid "the 0-based chapter number." +msgstr "0 기반 장 번호." + +#: ../../document.rst:542 9be187716918410591450efaf38f2b01 +msgid "" +"number of pages in chapter. Relevant only for document types with chapter" +" support (EPUB currently)." +msgstr "장의 페이지 수. 장 지원이 있는 문서 타입(현재 EPUB)에만 관련됩니다." + +#: ../../document.rst:549 e533b993f4aa4e748f7fc650a74d28e6 +msgid "Return the location of the following page." +msgstr "다음 페이지의 location을 반환합니다." + +#: ../../document.rst:551 ../../document.rst:562 +#: 2f8ffb9193c540f49c32191e72b9ae2f 7c0ea3575def40a0841b17016db6f227 +msgid "" +"the current page id. This must be a tuple *(chapter, pno)* identifying an" +" existing page." +msgstr "현재 페이지 id. 이것은 기존 페이지를 식별하는 튜플 *(chapter, pno)* 여야 합니다." + +#: ../../document.rst:553 32dbdc16dbeb4e8c99445020925a3e38 +msgid "" +"The tuple of the following page, i.e. either *(chapter, pno + 1)* or " +"*(chapter + 1, 0)*, **or** the empty tuple *()* if the argument was the " +"last page. Relevant only for document types with chapter support (EPUB " +"currently)." +msgstr "" +"다음 페이지의 튜플, 즉 *(chapter, pno + 1)* 또는 *(chapter + 1, 0)*, **또는** 인수가 마지막 " +"페이지인 경우 빈 튜플 *()*. 장 지원이 있는 문서 타입(현재 EPUB)에만 관련됩니다." + +#: ../../document.rst:560 7dae3e783cc443a0a88110bdc72a0cf6 +msgid "Return the locator of the preceding page." +msgstr "이전 페이지의 위치 지정자를 반환합니다." + +#: ../../document.rst:564 cb600a2817c449e79741984189d126d4 +msgid "" +"The tuple of the preceding page, i.e. either *(chapter, pno - 1)* or the " +"last page of the preceding chapter, **or** the empty tuple *()* if the " +"argument was the first page. Relevant only for document types with " +"chapter support (EPUB currently)." +msgstr "" +"이전 페이지의 튜플, 즉 *(chapter, pno - 1)* 또는 이전 장의 마지막 페이지, **또는** 인수가 첫 번째 페이지인" +" 경우 빈 튜플 *()*. 장 지원이 있는 문서 타입(현재 EPUB)에만 관련됩니다." + +#: ../../document.rst:569 7a0fdbda67e34d958f9dbcb0292e9116 +msgid "" +"Changed in v1.17.0: For document types supporting a so-called \"chapter " +"structure\" (like EPUB), pages can also be loaded via the combination of " +"chapter number and relative page number, instead of the absolute page " +"number. This should **significantly speed up access** for large " +"documents." +msgstr "" +"v1.17.0에서 변경됨: 소위 \"장 구조\" (EPUB 등)를 지원하는 문서 타입의 경우, 절대 페이지 번호 대신 장 번호와 " +"상대 페이지 번호의 조합을 통해 페이지를 로드할 수도 있습니다. 이것은 큰 문서에 대해 **액세스를 크게 향상시켜야** 합니다." + +#: ../../document.rst:571 b2e8b49a32a4477f86470bc9ed51f929 +msgid "" +"Create a :ref:`Page` object for further processing (like rendering, text " +"searching, etc.)." +msgstr "추가 처리(렌더링, 텍스트 검색 등)를 위한 :ref:`Page` 객체를 생성합니다." + +#: ../../document.rst:573 89dd1233c4cf421f9ff21d9beee9b294 +msgid "" +"*(Changed in v1.17.0)* Either a 0-based page number, or a tuple " +"*(chapter, pno)*. For an **integer**, any `-∞ < page_id < page_count` is " +"acceptable. While page_id is negative, :attr:`page_count` will be added " +"to it. For example: to load the last page, you can use " +"*doc.load_page(-1)*. After this you have page.number = doc.page_count - " +"1. For a tuple, *chapter* must be in range " +":attr:`Document.chapter_count`, and *pno* must be in range " +":meth:`Document.chapter_page_count` of that chapter. Both values are " +"0-based. Using this notation, :attr:`Page.number` will equal the given " +"tuple. Relevant only for document types with chapter support (EPUB " +"currently)." +msgstr "" + +#: ../../document.rst:573 e282ccf1b1c343d89ec35cf61d5591b9 +msgid "*(Changed in v1.17.0)*" +msgstr "*(v1.17.0에서 변경됨)*" + +#: ../../document.rst:575 9777eceecadf454084f47700b9be0cb6 +msgid "" +"Either a 0-based page number, or a tuple *(chapter, pno)*. For an " +"**integer**, any `-∞ < page_id < page_count` is acceptable. While page_id" +" is negative, :attr:`page_count` will be added to it. For example: to " +"load the last page, you can use *doc.load_page(-1)*. After this you have " +"page.number = doc.page_count - 1." +msgstr "" +"0 기반 페이지 번호 또는 튜플 *(chapter, pno)*. **정수** 의 경우 `-∞ < page_id < " +"page_count` 가 허용됩니다. page_id가 음수이면 :attr:`page_count` 가 추가됩니다. 예를 들어: 마지막" +" 페이지를 로드하려면 *doc.load_page(-1)* 를 사용할 수 있습니다. 그 후 page.number = " +"doc.page_count - 1 입니다." + +#: ../../document.rst:577 74810654696e4baf8bcbdc8c746cc775 +msgid "" +"For a tuple, *chapter* must be in range :attr:`Document.chapter_count`, " +"and *pno* must be in range :meth:`Document.chapter_page_count` of that " +"chapter. Both values are 0-based. Using this notation, " +":attr:`Page.number` will equal the given tuple. Relevant only for " +"document types with chapter support (EPUB currently)." +msgstr "" +"튜플의 경우 *chapter* 는 :attr:`Document.chapter_count` 범위에 있어야 하고, *pno* 는 해당 " +"장의 :meth:`Document.chapter_page_count` 범위에 있어야 합니다. 두 값 모두 0 기반입니다. 이 " +"표기법을 사용하면 :attr:`Page.number` 가 주어진 튜플과 같습니다. 장 지원이 있는 문서 타입(현재 EPUB)에만 " +"관련됩니다." + +#: ../../document.rst:579 ../../document.rst:683 ../../document.rst:1452 +#: 650ab56d4df54dd8aec8fe0a7592a3bc d3df878a5b5247f1913be4deb5b6649c +#: f14fc92ab834466f8549257c73ebb9ff +msgid ":ref:`Page`" +msgstr ":ref:`Page`" + +#: ../../document.rst:583 59d5cb9d27a84699bf71d6a5f487a61b +msgid "" +"Documents also follow the Python sequence protocol with page numbers as " +"indices: *doc.load_page(n) == doc[n]*." +msgstr "문서는 페이지 번호를 인덱스로 사용하는 Python 시퀀스 프로토콜도 따릅니다: *doc.load_page(n) == doc[n]*." + +#: ../../document.rst:585 e1b05eec25bd4808ad4d6219711d4017 +msgid "" +"For **absolute page numbers** only, expressions like *\"for page in doc: " +"...\"* and *\"for page in reversed(doc): ...\"* will successively yield " +"the document's pages. Refer to :meth:`Document.pages` which allows " +"processing pages as with slicing." +msgstr "" +"**절대 페이지 번호** 에만 해당하는 경우, *\"for page in doc: ...\"* 및 *\"for page in " +"reversed(doc): ...\"* 와 같은 표현식이 문서의 페이지를 순차적으로 생성합니다. 슬라이싱과 같이 페이지를 처리할 수" +" 있는 :meth:`Document.pages` 를 참조하세요." + +#: ../../document.rst:587 a88f8092ff8f4819a3dbc62a28c6bf8f +msgid "" +"You can also use index notation with the new chapter-based page " +"identification: use *page = doc[(5, 2)]* to load the third page of the " +"sixth chapter." +msgstr "" +"새로운 장 기반 페이지 식별과 함께 인덱스 표기법을 사용할 수도 있습니다: *page = doc[(5, 2)]* 를 사용하여 여섯 " +"번째 장의 세 번째 페이지를 로드합니다." + +#: ../../document.rst:589 4664a59b1d8a4c12bcb11bb1222159e2 +msgid "" +"To maintain a consistent API, for document types not supporting a chapter" +" structure (like PDFs), :attr:`Document.chapter_count` is 1, and pages " +"can also be loaded via tuples *(0, pno)*. See this [#f3]_ footnote for " +"comments on performance improvements." +msgstr "" +"일관된 API를 유지하기 위해 장 구조를 지원하지 않는 문서 타입(예: PDF)의 경우 " +":attr:`Document.chapter_count` 는 1이며, 튜플 *(0, pno)* 를 통해 페이지를 로드할 수도 " +"있습니다. 성능 개선에 대한 설명은 이 [#f3]_ 각주를 참조하세요." + +#: ../../document.rst:594 98c022087ffe4895a4720631007c2d24 +msgid "" +"PDF only: Walk through all images and rewrite them according to the " +"specified parameters. This is useful for reducing file size, changing " +"image formats, or converting color spaces." +msgstr "" +"PDF 전용: 모든 이미지를 순회하고 지정된 매개변수에 따라 다시 작성합니다. 파일 크기 줄이기, 이미지 형식 변경 또는 색상 공간" +" 변환에 유용합니다." + +#: ../../document.rst:596 b2634076489d41739029ea4fc04d66fb +msgid "" +"The typical usage is extra compression of images for significantly " +"reducing the file size of the PDF. When setting quality and the dpi " +"parameters to positive values and accepting defaults for the rest, the " +"following will happen:" +msgstr "" +"일반적인 사용법은 PDF 파일 크기를 크게 줄이기 위한 이미지의 추가 압축입니다. quality 및 dpi 매개변수를 양수 값으로 " +"설정하고 나머지는 기본값을 사용하면 다음이 발생합니다:" + +#: ../../document.rst:598 dd54469242944d74a52b379438f6cfc5 +msgid "" +"Lossy and lossless images will be rewritten as JPEG images " +"(FZ_RECOMPRESS_JPEG) as far as technically possible." +msgstr "손실 및 무손실 이미지는 기술적으로 가능한 한 JPEG 이미지(FZ_RECOMPRESS_JPEG)로 다시 작성됩니다." + +#: ../../document.rst:600 3fd86e19b8184fcea5b0e19beceb7d0e +msgid "" +"Bitonal (monochrome) images will be rewritten in FAX format " +"(FZ_RECOMPRESS_FAX)." +msgstr "이진(단색) 이미지는 FAX 형식(FZ_RECOMPRESS_FAX)으로 다시 작성됩니다." + +#: ../../document.rst:602 41c0341ee203444eb721a4bfefa8be54 +msgid "Subsampling method is **FZ_SUBSAMPLE_AVERAGE** (see below)." +msgstr "서브샘플링 방법은 **FZ_SUBSAMPLE_AVERAGE** 입니다(아래 참조)." + +#: ../../document.rst:604 896371b0945e44788072f44b80bdc859 +msgid "" +"target DPI value for the resampled images. Ignored if `dpi_threshold` is " +"`None`, otherwise must be less than `dpi_threshold` and positive." +msgstr "" +"리샘플링된 이미지의 대상 DPI 값. `dpi_threshold` 가 `None` 이면 무시되고, 그렇지 않으면 " +"`dpi_threshold` 보다 작고 양수여야 합니다." + +#: ../../document.rst:606 82cca5a2875740f78ab1af43a1df9670 +msgid "" +"If None (the default) no resampling takes place. Otherwise images with a " +"DPI value larger than this will be resampled to `dpi_target` (which must " +"be less than `dpi_threshold`)." +msgstr "" +"None(기본값)이면 리샘플링이 수행되지 않습니다. 그렇지 않으면 이보다 큰 DPI 값을 가진 이미지가 `dpi_target` " +"(이것은 `dpi_threshold` 보다 작아야 함)로 리샘플링됩니다." + +#: ../../document.rst:608 04ad6d72eb9f455dbc3c3035cd070094 +msgid "" +"desired target JPEG quality, a value between 0 and 100. 0 means no " +"quality change, 100 means best quality." +msgstr "원하는 대상 JPEG 품질, 0과 100 사이의 값. 0은 품질 변경 없음, 100은 최고 품질을 의미합니다." + +#: ../../document.rst:610 8f1a2bc154a04ed6a7358524fa961968 +msgid "include lossy image types (e.g. JPEG)." +msgstr "손실 이미지 타입 포함(예: JPEG)." + +#: ../../document.rst:612 da7e5cc3e2a14e5fa0ac5bd81550eafe +msgid "include lossless image types (e.g. PNG)." +msgstr "무손실 이미지 타입 포함(예: PNG)." + +#: ../../document.rst:614 e7d1e36e44204076baa7694b46d1124e +msgid "include black-and-white images (e.g. FAX)." +msgstr "흑백 이미지 포함(예: FAX)." + +#: ../../document.rst:616 2fa81fe258354e9f8dd69f3d1c236a06 +msgid "include colored images." +msgstr "컬러 이미지 포함." + +#: ../../document.rst:618 609b31a2a0e643b0877791e7c36e8099 +msgid "include grayscale images." +msgstr "그레이스케일 이미지 포함." + +#: ../../document.rst:620 ba3be6437eaf4297a72fb3988952b40a +msgid "" +"if True, the PDF will be converted to grayscale by executing " +":meth:`Document.recolor` before all image processing. Please note that " +"this will also change text and vector graphics to grayscale -- not just " +"the images." +msgstr "" +"True이면 모든 이미지 처리 전에 :meth:`Document.recolor` 를 실행하여 PDF가 그레이스케일로 변환됩니다. " +"이것은 이미지뿐만 아니라 텍스트와 벡터 그래픽도 그레이스케일로 변경합니다." + +#: ../../document.rst:622 3273b321899f43edad29c647ab92b4e0 +msgid "" +"This parameter is intended for expert users. Except ``set_to_gray``, all " +"other parameters are ignored. It must be an object prepared in the " +"following way: ``options = pymupdf.mupdf.PdfImageRewriterOptions()``. " +"Then attributes of this object can be set to achieve fine-grained " +"control. Following are the adjustable attributes of the ``options`` " +"object and their default (do nothing) values." +msgstr "" +"이 매개변수는 전문 사용자를 위한 것입니다. ``set_to_gray`` 를 제외하고 다른 모든 매개변수는 무시됩니다. 다음 " +"방법으로 준비된 객체여야 합니다: ``options = pymupdf.mupdf.PdfImageRewriterOptions()``." +" 그런 다음 이 객체의 속성을 설정하여 세밀한 제어를 달성할 수 있습니다. 다음은 ``options`` 객체의 조정 가능한 속성과 " +"기본값(아무 작업도 하지 않음)입니다." + +#: ../../document.rst:652 d66b892761bc466a984fd57fd3e38eb2 +msgid "" +"The ``*_recompress_method`` attributes may be one of the values " +"**FZ_RECOMPRESS_NEVER (0), FZ_RECOMPRESS_SAME (1), FZ_RECOMPRESS_LOSSLESS" +" (2), FZ_RECOMPRESS_JPEG (3), FZ_RECOMPRESS_J2K (4), FZ_RECOMPRESS_FAX " +"(5)**. Value FZ_RECOMPRESS_NEVER will skip this image type altogether and" +" FZ_RECOMPRESS_SAME will not change the type. The other values will " +"execute type conversions (as far as technically possible)." +msgstr "" +"``*_recompress_method`` 속성은 **FZ_RECOMPRESS_NEVER (0), FZ_RECOMPRESS_SAME" +" (1), FZ_RECOMPRESS_LOSSLESS (2), FZ_RECOMPRESS_JPEG (3), " +"FZ_RECOMPRESS_J2K (4), FZ_RECOMPRESS_FAX (5)** 중 하나일 수 있습니다. 값 " +"FZ_RECOMPRESS_NEVER는 이 이미지 타입을 완전히 건너뛰고 FZ_RECOMPRESS_SAME는 타입을 변경하지 " +"않습니다. 다른 값은 타입 변환을 실행합니다(기술적으로 가능한 한)." + +#: ../../document.rst:654 f6ec6ec93320485ebaff083bc3a12743 +msgid "" +"The ``*_quality`` values are strings of integers from \"0\" to \"100\" or" +" ``None``." +msgstr "``*_quality`` 값은 \"0\" 부터 \"100\" 까지의 정수 문자열 또는 ``None`` 입니다." + +#: ../../document.rst:656 73c97c37daf445bb8faa816d1e6c2ba6 +msgid "" +"The ``*_subsample_method`` attributes are either **FZ_SUBSAMPLE_AVERAGE " +"(0)** or **FZ_SUBSAMPLE_BICUBIC (1)** and refer to how a pixel value is " +"derived from its neighboring pixels during subsampling. For some " +"background see `this Wikipedia article about bicubic interpolation " +"`_." +msgstr "" +"``*_subsample_method`` 속성은 **FZ_SUBSAMPLE_AVERAGE (0)** 또는 " +"**FZ_SUBSAMPLE_BICUBIC (1)** 이며, 서브샘플링 중 픽셀 값이 인접 픽셀에서 파생되는 방식을 나타냅니다. 배경" +" 정보는 `이 Wikipedia 기사 about bicubic interpolation " +"`_ 를 참조하세요." + +#: ../../document.rst:658 3b1ef034e55b417cbc149276289a674f +msgid "" +"Attributes ``*_subsample_threshold`` excludes images from subsampling " +"which have a lower DPI. Participating images will be subsampled to the " +"DPI values given by the ``*_subsample_to`` values. Values of 0 mean that " +"no subsampling will take place." +msgstr "" +"속성 ``*_subsample_threshold`` 는 더 낮은 DPI를 가진 이미지를 서브샘플링에서 제외합니다. 참여하는 이미지는" +" ``*_subsample_to`` 값으로 주어진 DPI 값으로 서브샘플링됩니다. 0 값은 서브샘플링이 수행되지 않음을 의미합니다." + +#: ../../document.rst:660 0d8fc34344494f938fe10a322d66c539 +msgid "" +"The ``*_subsample_threshold`` values should be chosen notably larger than" +" the ``*_subsample_to`` values to ensure that there are enough size " +"savings. After all, every subsampling inevitably incurs quality losses." +msgstr "" +"``*_subsample_threshold`` 값은 충분한 크기 절감을 보장하기 위해 ``*_subsample_to`` 값보다 " +"상당히 크게 선택해야 합니다. 결국 모든 서브샘플링은 불가피하게 품질 손실을 초래합니다." + +#: ../../document.rst:662 79510e56339f460e9782beef46bd250d +msgid "An example for a good choice is ``threshold=100`` and ``to=72``." +msgstr "좋은 선택의 예는 ``threshold=100`` 및 ``to=72`` 입니다." + +#: ../../document.rst:667 773a1b450cb1473aa93e0cf41357de02 +msgid "" +"PDF only: Change the color component counts for all object types text, " +"images and vector graphics for all pages." +msgstr "PDF 전용: 모든 페이지의 모든 객체 타입 텍스트, 이미지 및 벡터 그래픽의 색상 구성 요소 수를 변경합니다." + +#: ../../document.rst:669 3d7d6e5b619c4faba15d3ba29b0e5c9b +msgid "" +"desired color space indicated by the number of color components: 1 = " +"DeviceGRAY, 3 = DeviceRGB, 4 = DeviceCMYK." +msgstr "색상 구성 요소 수로 표시되는 원하는 색상 공간: 1 = DeviceGRAY, 3 = DeviceRGB, 4 = DeviceCMYK." + +#: ../../document.rst:671 231bbb29ae294db0a5c6b91cedb5bc93 +msgid "" +"The typical use case is 1 (DeviceGRAY) which converts the PDF to " +"grayscale." +msgstr "일반적인 사용 사례는 PDF를 그레이스케일로 변환하는 1 (DeviceGRAY) 입니다." + +#: ../../document.rst:676 25493f351a06440fb51cb6d332c4e8ab +msgid "New in v1.16.10" +msgstr "v1.16.10에서 새로 추가됨" + +#: ../../document.rst:678 a43f270497744fba8c4c60e674ced034 +msgid "" +"PDF only: Provide a new copy of a page after finishing and updating all " +"pending changes." +msgstr "PDF 전용: 모든 보류 중인 변경 사항을 완료하고 업데이트한 후 페이지의 새 복사본을 제공합니다." + +#: ../../document.rst:680 eed0d5bbb0e34e5a98d5d7d1347f7563 +msgid "page object." +msgstr "페이지 객체." + +#: ../../document.rst:685 5859498b41324ff2904041f7a4135acf +msgid "" +"a new copy of the same page. All pending updates (e.g. to annotations or " +"widgets) will be finalized and a fresh copy of the page will be loaded. " +".. note:: In a typical use case, a page :ref:`Pixmap` should be taken " +"after annotations / widgets have been added or changed. To force all " +"those changes being reflected in the page structure, this method re-" +"instates a fresh copy while keeping the object hierarchy \"document -> " +"page -> annotations/widgets\" intact." +msgstr "" + +#: ../../document.rst:685 669719b216f545c294672354612d11fa +msgid "" +"a new copy of the same page. All pending updates (e.g. to annotations or " +"widgets) will be finalized and a fresh copy of the page will be loaded." +msgstr "동일한 페이지의 새 복사본. 모든 보류 중인 업데이트(예: 주석 또는 위젯)가 완료되고 페이지의 새 복사본이 로드됩니다." + +#: ../../document.rst:687 c3492c9a84d2493fa5a46a354f97ebb6 +msgid "" +"In a typical use case, a page :ref:`Pixmap` should be taken after " +"annotations / widgets have been added or changed. To force all those " +"changes being reflected in the page structure, this method re-instates a " +"fresh copy while keeping the object hierarchy \"document -> page -> " +"annotations/widgets\" intact." +msgstr "" +"일반적인 사용 사례에서 페이지 :ref:`Pixmap` 은 주석/위젯이 추가되거나 변경된 후에 가져와야 합니다. 모든 변경 사항이 " +"페이지 구조에 반영되도록 하려면 이 메서드는 객체 계층 구조 \"document -> page -> annotations/widgets\" " +"를 그대로 유지하면서 새 복사본을 다시 설정합니다." + +#: ../../document.rst:692 b7bb34b4f16946e28a2d3112f022c456 +msgid "PDF only: Convert destination names into a Python dict." +msgstr "PDF 전용: 대상 이름을 Python dict로 변환합니다." + +#: ../../document.rst:694 2d5cec850cd44110ab3c2074136bd4ce +#, python-brace-format +msgid "" +"A dictionary with the following layout: * *key*: (str) the name. * " +"*value*: (dict) with the following layout: * \"page\": target page " +"number (0-based). If no page number found -1. * \"to\": (x, y) target" +" point on page. Currently in PDF coordinates, i.e. point (0,0) is " +"the bottom-left of the page. * \"zoom\": (float) the zoom factor." +" * \"dest\": (str) only present if the target location on the page " +"has not been provided as \"/XYZ\" or if no page number was found. " +"Examples:: { '__bookmark_1': {'page': 0, 'to': (0.0, 541.0)," +" 'zoom': 0.0}, '__bookmark_2': {'page': 0, 'to': (0.0, 481.45), " +"'zoom': 0.0}, } or:: { " +"'21154a7c20684ceb91f9c9adc3b677c40': {'page': -1, 'dest': '/XYZ 15.75 " +"1486 0'}, ... }" +msgstr "" + +#: ../../document.rst:695 4a7ee4c9ba2a4d3a85f45e05d21d7585 +msgid "A dictionary with the following layout:" +msgstr "다음 레이아웃을 가진 딕셔너리:" + +#: ../../document.rst:697 c5edbf04328248a4b31185f38a0a9e88 +msgid "*key*: (str) the name." +msgstr "*key*: (str) 이름." + +#: ../../document.rst:703 ce2e9cdb367e4116a485b2e37d0c68a9 +msgid "*value*: (dict) with the following layout:" +msgstr "*value*: (dict) 다음 레이아웃을 가진:" + +#: ../../document.rst:699 36f39015e34140bf9600dc4e0a7dd82a +msgid "\"page\": target page number (0-based). If no page number found -1." +msgstr "\"page\": 대상 페이지 번호(0 기반). 페이지 번호를 찾을 수 없으면 -1." + +#: ../../document.rst:700 1febb4d93dd3459a9e791eb0783deebb +msgid "" +"\"to\": (x, y) target point on page. Currently in PDF coordinates, i.e. " +"point (0,0) is the bottom-left of the page." +msgstr "\"to\": (x, y) 페이지의 대상 점. 현재 PDF 좌표계를 사용하며, 즉 점 (0,0)은 페이지의 왼쪽 아래입니다." + +#: ../../document.rst:702 73ea9e5382d746798763ab0603096cbb +msgid "\"zoom\": (float) the zoom factor." +msgstr "\"zoom\": (float) 확대/축소 인수." + +#: ../../document.rst:703 1238fa32b21742a79624b48be42151f8 +msgid "" +"\"dest\": (str) only present if the target location on the page has not " +"been provided as \"/XYZ\" or if no page number was found." +msgstr "\"dest\": (str) 페이지의 대상 위치가 \"/XYZ\" 로 제공되지 않았거나 페이지 번호를 찾을 수 없는 경우에만 존재합니다." + +#: ../../document.rst:705 425fb4334a644c2db4c6eb473e93a78e +msgid "Examples::" +msgstr "예제::" + +#: ../../document.rst:712 a20f62157adf4795a39385d09af8fd54 +msgid "or::" +msgstr "또는::" + +#: ../../document.rst:719 7a833515e8cd42c897ce8167af8a9b8f +msgid "" +"All names found in the catalog under keys \"/Dests\" and \"/Names/Dests\"" +" are included." +msgstr "카탈로그의 \"/Dests\" 및 \"/Names/Dests\" 키 아래에서 찾은 모든 이름이 포함됩니다." + +#: ../../document.rst:722 3a95051f6b30463e8c0e2ea68b6cc48f +msgid "New in v1.23.6" +msgstr "v1.23.6에서 새로 추가됨" + +#: ../../document.rst:727 ../../document.rst:737 ../../document.rst:1166 +#: ../../document.rst:1176 ../../document.rst:1188 +#: 318e00602e594f4dbd1ab58104d6d6e6 8ce28861dec241f992672b27eed544d9 +#: cc7d97f955c543a69b42fb763c14b07f ccd76c30264f49b0b6bc13b131a26967 +#: d835c71b1d154bb2be4c1c8efc97af43 +msgid "New in v1.17.7" +msgstr "v1.17.7에서 새로 추가됨" + +#: ../../document.rst:729 1b80bd2d1f5a41419012ecb261a6db97 +msgid "" +"PDF only: Return the unrotated page rectangle -- **without loading the " +"page** (via :meth:`Document.load_page`). This is meant for internal " +"purpose requiring best possible performance." +msgstr "PDF 전용: 회전되지 않은 페이지 사각형을 반환합니다 -- **페이지를 로드하지 않고** (:meth:`Document.load_page` 를 통해). 최상의 성능이 필요한 내부 목적을 위한 것입니다." + +#: ../../document.rst:731 ../../document.rst:741 +#: 19f19a11c82e4a50907e74763e0e965d 8c2c15d72ebf4a9990d269ea811b7348 +msgid "0-based page number." +msgstr "0-기반 페이지 번호." + +#: ../../document.rst:733 a2e9807b52784408a6d2c65afb8f36de +msgid ":ref:`Rect` of the page like :meth:`Page.rect`, but ignoring any rotation." +msgstr ":meth:`Page.rect` 와 같은 페이지의 :ref:`Rect` 이지만 회전은 무시합니다." + +#: ../../document.rst:739 2d213ca7d8494aa7b9c8fd1b4e3d4dfd +msgid "" +"PDF only: Return the :data:`xref` of the page -- **without loading the " +"page** (via :meth:`Document.load_page`). This is meant for internal " +"purpose requiring best possible performance." +msgstr "PDF 전용: 페이지의 :data:`xref` 를 반환합니다 -- **페이지를 로드하지 않고** (:meth:`Document.load_page` 를 통해). 최상의 성능이 필요한 내부 목적을 위한 것입니다." + +#: ../../document.rst:743 da21a126d6f04c3abec953dfcc2675ad +msgid ":data:`xref` of the page like :attr:`Page.xref`." +msgstr ":attr:`Page.xref` 와 같은 페이지의 :data:`xref`." + +#: ../../document.rst:747 71d4791dad1f4445aa3e3040d731738f +msgid "New in v1.16.4" +msgstr "v1.16.4에서 새로 추가됨" + +#: ../../document.rst:749 b38a2716dd8c424d91d72f843b002a17 +msgid "" +"A generator for a range of pages. Parameters have the same meaning as in " +"the built-in function *range()*. Intended for expressions of the form " +"*\"for page in doc.pages(start, stop, step): ...\"*." +msgstr "페이지 범위에 대한 생성자. 매개변수는 내장 함수 *range()* 와 동일한 의미를 가집니다. *\"for page in doc.pages(start, stop, step): ...\"* 형식의 표현식을 위한 것입니다." + +#: ../../document.rst:751 616de960867c4972a74ce8066c419f0d +msgid "" +"start iteration with this page number. Default is zero, allowed values " +"are `-∞ < start < page_count`. While this is negative, :attr:`page_count`" +" is added **before** starting the iteration." +msgstr "이 페이지 번호로 반복을 시작합니다. 기본값은 0이며, 허용되는 값은 `-∞ < start < page_count` 입니다. 이 값이 음수인 동안 반복을 시작하기 **전에** :attr:`page_count` 가 추가됩니다." + +#: ../../document.rst:752 ecb933c801174ce48e94a1c20e8f0c8f +msgid "" +"stop iteration at this page number. Default is :attr:`page_count`, " +"possible are `-∞ < stop <= page_count`. Larger values are **silently " +"replaced** by the default. Negative values will cyclically emit the pages" +" in reversed order. As with the built-in *range()*, this is the first " +"page **not** returned." +msgstr "이 페이지 번호에서 반복을 중지합니다. 기본값은 :attr:`page_count` 이며, 가능한 값은 `-∞ < stop <= page_count` 입니다. 더 큰 값은 기본값으로 **조용히 대체됩니다**. 음수 값은 역순으로 페이지를 순환적으로 생성합니다. 내장 *range()* 와 마찬가지로 이것은 **반환되지 않는** 첫 번째 페이지입니다." + +#: ../../document.rst:753 b9ce7f24cc314a7384140aaf41765dcd +msgid "" +"stepping value. Defaults are 1 if start < stop and -1 if start > stop. " +"Zero is not allowed." +msgstr "스텝 값. start < stop 이면 기본값은 1이고 start > stop 이면 -1입니다. 0은 허용되지 않습니다." + +#: ../../document.rst:755 c8272a49a7154ff28e5cd556509e8b79 +msgid "" +"a generator iterator over the document's pages. Some examples: * " +"\"doc.pages()\" emits all pages. * \"doc.pages(4, 9, 2)\" emits pages 4, " +"6, 8. * \"doc.pages(0, None, 2)\" emits all pages with even numbers. * " +"\"doc.pages(-2)\" emits the last two pages. * \"doc.pages(-1, -1)\" emits" +" all pages in reversed order. * \"doc.pages(-1, -10)\" always emits 10 " +"pages in reversed order, starting with the last page -- **repeatedly** if" +" the document has less than 10 pages. So for a 4-page document the " +"following page numbers are emitted: 3, 2, 1, 0, 3, 2, 1, 0, 3, 2, 1, 0, " +"3." +msgstr "" + +#: ../../document.rst:755 a4556cefb645478780d73c0fd90ce03a +msgid "a generator iterator over the document's pages. Some examples:" +msgstr "문서의 페이지에 대한 생성기 반복자. 몇 가지 예:" + +#: ../../document.rst:757 2d87cebad989408c8cbfc49674333423 +msgid "\"doc.pages()\" emits all pages." +msgstr "\"doc.pages()\" 는 모든 페이지를 생성합니다." + +#: ../../document.rst:758 0747620460554d40a76ff69a1f360515 +msgid "\"doc.pages(4, 9, 2)\" emits pages 4, 6, 8." +msgstr "\"doc.pages(4, 9, 2)\" 는 페이지 4, 6, 8을 생성합니다." + +#: ../../document.rst:759 71c55125fd7148589cf44fedef60ce3f +msgid "\"doc.pages(0, None, 2)\" emits all pages with even numbers." +msgstr "\"doc.pages(0, None, 2)\" 는 짝수 번호의 모든 페이지를 생성합니다." + +#: ../../document.rst:760 6b7d4859a5b94056a9dbfb03cf0c8b85 +msgid "\"doc.pages(-2)\" emits the last two pages." +msgstr "\"doc.pages(-2)\" 는 마지막 두 페이지를 생성합니다." + +#: ../../document.rst:761 be1f9733ac2c48febc92b6717fb90069 +msgid "\"doc.pages(-1, -1)\" emits all pages in reversed order." +msgstr "\"doc.pages(-1, -1)\" 는 모든 페이지를 역순으로 생성합니다." + +#: ../../document.rst:762 6841397d69e848799ce8762dc39001cd +msgid "" +"\"doc.pages(-1, -10)\" always emits 10 pages in reversed order, starting " +"with the last page -- **repeatedly** if the document has less than 10 " +"pages. So for a 4-page document the following page numbers are emitted: " +"3, 2, 1, 0, 3, 2, 1, 0, 3, 2, 1, 0, 3." +msgstr "" +"\"doc.pages(-1, -10)\" 는 항상 마지막 페이지부터 시작하여 역순으로 10페이지를 생성합니다. 문서가 10페이지 " +"미만이면 **반복적으로** 생성합니다. 따라서 4페이지 문서의 경우 다음 페이지 번호가 생성됩니다: 3, 2, 1, 0, 3, 2," +" 1, 0, 3, 2, 1, 0, 3." + +#: ../../document.rst:771 5454d912c78644678b8b4dbeb3f774d8 +msgid "" +"Create a PDF version of the current document and write it to memory. " +"**All document types** are supported. The parameters have the same " +"meaning as in :meth:`insert_pdf`. In essence, you can restrict the " +"conversion to a page subset, specify page rotation, and revert page " +"sequence." +msgstr "" +"현재 문서의 PDF 버전을 생성하고 메모리에 씁니다. **모든 문서 타입** 이 지원됩니다. 매개변수는 " +":meth:`insert_pdf` 와 동일한 의미를 가집니다. 본질적으로 페이지 하위 집합으로 변환을 제한하고, 페이지 회전을 " +"지정하고, 페이지 순서를 되돌릴 수 있습니다." + +#: ../../document.rst:773 d0862bd7eb5f45f68b39be608d7ceacc +msgid "first page to copy (0-based). Default is first page." +msgstr "복사할 첫 번째 페이지(0 기반). 기본값은 첫 번째 페이지입니다." + +#: ../../document.rst:775 7ba7a5e06cbc4055830d3f4e5ba74e33 +msgid "last page to copy (0-based). Default is last page." +msgstr "복사할 마지막 페이지(0 기반). 기본값은 마지막 페이지입니다." + +#: ../../document.rst:777 32ffc71c0b044be388ae0365845a51f5 +msgid "" +"rotation angle. Default is 0 (no rotation). Should be *n * 90* with an " +"integer n (not checked)." +msgstr "회전 각도. 기본값은 0(회전 없음). 정수 n(확인되지 않음)을 사용한 *n * 90* 이어야 합니다." + +#: ../../document.rst:780 858d98a578db4243937c2a20d50596c3 +msgid "" +"a Python *bytes* object containing a PDF file image. It is created by " +"internally using `tobytes(garbage=4, deflate=True)`. See :meth:`tobytes`." +" You can output it directly to disk or open it as a PDF. Here are some " +"examples:: >>> # convert an XPS file to PDF >>> xps = " +"pymupdf.open(\"some.xps\") >>> pdfbytes = xps.convert_to_pdf() >>> >>> # " +"either do this --> >>> pdf = pymupdf.open(\"pdf\", pdfbytes) >>> " +"pdf.save(\"some.pdf\") >>> >>> # or this --> >>> pdfout = " +"open(\"some.pdf\", \"wb\") >>> pdfout.tobytes(pdfbytes) >>> " +"pdfout.close() >>> # copy image files to PDF pages >>> # each page will " +"have image dimensions >>> doc = pymupdf.open() # new " +"PDF >>> imglist = [ ... image file names ...] # e.g. a directory listing " +">>> for img in imglist: imgdoc=pymupdf.open(img) # open" +" image as a document pdfbytes=imgdoc.convert_to_pdf() # make a " +"1-page PDF of it imgpdf=pymupdf.open(\"pdf\", pdfbytes) " +"doc.insert_pdf(imgpdf) # insert the image PDF >>> " +"doc.save(\"allmyimages.pdf\")" +msgstr "" + +#: ../../document.rst:780 63c567b2ee504806a11908cc7eda7ddf +msgid "" +"a Python *bytes* object containing a PDF file image. It is created by " +"internally using `tobytes(garbage=4, deflate=True)`. See :meth:`tobytes`." +" You can output it directly to disk or open it as a PDF. Here are some " +"examples::" +msgstr "" +"PDF 파일 이미지를 포함하는 Python *bytes* 객체. 내부적으로 `tobytes(garbage=4, " +"deflate=True)` 를 사용하여 생성됩니다. :meth:`tobytes` 를 참조하세요. 디스크에 직접 출력하거나 PDF로 " +"열 수 있습니다. 다음은 몇 가지 예제입니다::" + +#: ../../document.rst:806 f9ec8d426ea1403cb128eaa26c17445f +msgid "" +"The method uses the same logic as the *mutool convert* CLI. This works " +"very well in most cases -- however, beware of the following limitations." +msgstr "" +"이 메서드는 *mutool convert* CLI와 동일한 로직을 사용합니다. 대부분의 경우 매우 잘 작동하지만, 다음 제한 사항에" +" 주의하세요." + +#: ../../document.rst:808 25ee83c2d7134eb2a5c23c62615918c2 +msgid "" +"Image files: perfect, no issues detected. However, image transparency is " +"ignored. If you need that (like for a watermark), use " +":meth:`Page.insert_image` instead. Otherwise, this method is recommended " +"for its much better performance." +msgstr "" +"이미지 파일: 완벽하며 문제가 감지되지 않았습니다. 그러나 이미지 투명도는 무시됩니다. 그것이 필요한 경우(워터마크 등) 대신 " +":meth:`Page.insert_image` 를 사용하세요. 그렇지 않으면 훨씬 더 나은 성능을 위해 이 메서드를 권장합니다." + +#: ../../document.rst:809 bd071d7930ef49e88ecd48466915e7e4 +msgid "" +"XPS: appearance very good. Links work fine, outlines (bookmarks) are " +"lost, but can easily be recovered [#f2]_." +msgstr "XPS: 외관이 매우 좋습니다. 링크는 잘 작동하며, 개요(북마크)는 손실되지만 쉽게 복구할 수 있습니다 [#f2]_." + +#: ../../document.rst:810 0ce6d56bf96d4f8d9273e7511323fd86 +msgid "EPUB, CBZ, FB2: similar to XPS." +msgstr "EPUB, CBZ, FB2: XPS와 유사합니다." + +#: ../../document.rst:811 ca4df8faae724b099cfc58f6b2e0ba4f +msgid "" +"SVG: medium. Roughly comparable to `svglib " +"`_." +msgstr "SVG: 중간. `svglib `_ 와 대략 비슷합니다." + +#: ../../document.rst:815 6058dd01aad748969b0759f8d71fdf49 +msgid "Creates a table of contents (TOC) out of the document's outline chain." +msgstr "문서의 개요 체인에서 목차(TOC)를 생성합니다." + +#: ../../document.rst:817 3dbca0c298624898acbaf9e5f771ee53 +msgid "" +"Indicates whether a simple or a detailed TOC is required. If ``False``, " +"each item of the list also contains a dictionary with :ref:`linkDest` " +"details for each outline entry." +msgstr "" +"간단한 TOC 또는 상세한 TOC가 필요한지 나타냅니다. ``False`` 이면 목록의 각 항목에는 각 개요 항목에 대한 " +":ref:`linkDest` 세부 정보를 가진 딕셔너리도 포함됩니다." + +#: ../../document.rst:821 e90635c4d41840b49b24c4cedd58a56f +msgid "" +"a list of lists. Each entry has the form *[lvl, title, page, dest]*. Its " +"entries have the following meanings: * *lvl* -- hierarchy level " +"(positive *int*). The first entry is always 1. Entries in a row are " +"either **equal**, **increase** by 1, or **decrease** by any number. * " +"*title* -- title (*str*) * *page* -- 1-based source page number (*int*). " +"`-1` if no destination or outside document. * *dest* -- (*dict*) included" +" only if *simple=False*. Contains details of the TOC item as follows: " +"- kind: destination kind, see :ref:`linkDest Kinds`. - file: filename " +"if kind is :data:`LINK_GOTOR` or :data:`LINK_LAUNCH`. - page: target " +"page, 0-based, :data:`LINK_GOTOR` or :data:`LINK_GOTO` only. - to: " +"position on target page (:ref:`Point`). - zoom: (float) zoom factor on " +"target page. - xref: :data:`xref` of the item (0 if no PDF). - color:" +" item color in PDF RGB format `(red, green, blue)`, or omitted (always " +"omitted if no PDF). - bold: true if bold item text or omitted. PDF " +"only. - italic: true if italic item text, or omitted. PDF only. - " +"collapse: true if sub-items are folded, or omitted. PDF only. - " +"nameddest: target name if kind=4. PDF only. (New in 1.23.7.)" +msgstr "" + +#: ../../document.rst:821 1f916acfd2114c589944f42fe0849446 +msgid "" +"a list of lists. Each entry has the form *[lvl, title, page, dest]*. Its " +"entries have the following meanings:" +msgstr "리스트의 리스트. 각 항목은 *[lvl, title, page, dest]* 형식을 가집니다. 항목의 의미는 다음과 같습니다:" + +#: ../../document.rst:823 7b36d87b6635435eafda08d85d16b1c8 +msgid "" +"*lvl* -- hierarchy level (positive *int*). The first entry is always 1. " +"Entries in a row are either **equal**, **increase** by 1, or **decrease**" +" by any number." +msgstr "" +"*lvl* -- 계층 수준(양수 *int*). 첫 번째 항목은 항상 1입니다. 연속된 항목은 **같거나**, 1씩 **증가** " +"하거나, 임의의 수만큼 **감소** 합니다." + +#: ../../document.rst:824 762b7e29dfec42879ab3702e5193f03c +msgid "*title* -- title (*str*)" +msgstr "*title* -- 제목 (*str*)" + +#: ../../document.rst:825 508de47267724444b36c28eb365184e6 +msgid "" +"*page* -- 1-based source page number (*int*). `-1` if no destination or " +"outside document." +msgstr "*page* -- 1 기반 소스 페이지 번호 (*int*). 대상이 없거나 문서 외부인 경우 `-1`." + +#: ../../document.rst:826 5db26a9f7f3a4086ab52e489302c3e8b +msgid "" +"*dest* -- (*dict*) included only if *simple=False*. Contains details of " +"the TOC item as follows:" +msgstr "" +"*dest* -- (*dict*) *simple=False* 인 경우에만 포함됩니다. TOC 항목의 세부 정보를 다음과 같이 " +"포함합니다:" + +#: ../../document.rst:828 c6e92e67375d43cfae44581cd7f23c8f +msgid "kind: destination kind, see :ref:`linkDest Kinds`." +msgstr "kind: 대상 종류, :ref:`linkDest Kinds` 를 참조하세요." + +#: ../../document.rst:829 710dde73a6d7419e945fcb5b21e077d5 +msgid "file: filename if kind is :data:`LINK_GOTOR` or :data:`LINK_LAUNCH`." +msgstr "file: kind가 :data:`LINK_GOTOR` 또는 :data:`LINK_LAUNCH` 인 경우 파일 이름." + +#: ../../document.rst:830 a8bac0a6ac9c43eba24ad53403fc47fa +msgid "page: target page, 0-based, :data:`LINK_GOTOR` or :data:`LINK_GOTO` only." +msgstr "page: 대상 페이지, 0 기반, :data:`LINK_GOTOR` 또는 :data:`LINK_GOTO` 전용." + +#: ../../document.rst:831 e9dc7affea7043e08fb2ab93ce8487c3 +msgid "to: position on target page (:ref:`Point`)." +msgstr "to: 대상 페이지의 위치 (:ref:`Point`)." + +#: ../../document.rst:832 16c6f209da8c4387a905b11d0f262c91 +msgid "zoom: (float) zoom factor on target page." +msgstr "zoom: (float) 대상 페이지의 확대/축소 배율." + +#: ../../document.rst:833 5b0b0da881014748befd8c9fbe86784b +msgid "xref: :data:`xref` of the item (0 if no PDF)." +msgstr "xref: 항목의 :data:`xref` (PDF가 없으면 0)." + +#: ../../document.rst:834 ea44c30a773848e4ae4dfc0449224998 +msgid "" +"color: item color in PDF RGB format `(red, green, blue)`, or omitted " +"(always omitted if no PDF)." +msgstr "color: PDF RGB 형식 `(red, green, blue)` 의 항목 색상, 또는 생략됨(PDF가 없으면 항상 생략됨)." + +#: ../../document.rst:835 be0c1730211040fb87559842cb3f7d82 +msgid "bold: true if bold item text or omitted. PDF only." +msgstr "bold: 굵은 항목 텍스트이면 true 또는 생략됨. PDF 전용." + +#: ../../document.rst:836 4db8cc6aef9c4e93b5370e0c0703d72b +msgid "italic: true if italic item text, or omitted. PDF only." +msgstr "italic: 기울임꼴 항목 텍스트이면 true 또는 생략됨. PDF 전용." + +#: ../../document.rst:837 dbdf470bbd3343aaa06aa7c92bdfa72b +msgid "collapse: true if sub-items are folded, or omitted. PDF only." +msgstr "collapse: 하위 항목이 접혀 있으면 true 또는 생략됨. PDF 전용." + +#: ../../document.rst:838 bfc462d0fb2e4bd19071f89ef50d7abe +msgid "nameddest: target name if kind=4. PDF only. (New in 1.23.7.)" +msgstr "nameddest: kind=4인 경우 대상 이름. PDF 전용. (1.23.7에서 새로 추가됨.)" + +#: ../../document.rst:845 c3fc69ce58de4a378d986b0b8c8b03e3 +msgid "" +"PDF only: Return the PDF dictionary keys of the :data:`dictionary` object" +" provided by its xref number." +msgstr "PDF 전용: xref 번호로 제공된 :data:`dictionary` 객체의 PDF 딕셔너리 키를 반환합니다." + +#: ../../document.rst:847 e05f361902db4a438e95f2d0b6813501 +msgid "" +"the :data:`xref`. *(Changed in v1.18.10)* Use `-1` to access the special " +"dictionary \"PDF trailer\"." +msgstr "" +":data:`xref`. *(v1.18.10에서 변경됨)* 특수 딕셔너리 \"PDF trailer\" 에 액세스하려면 `-1` 을 " +"사용하세요." + +#: ../../document.rst:849 718fc9b6f9ea4799ad613e5ee06da903 +msgid "" +"a tuple of dictionary keys present in object :data:`xref`. Examples: >>>" +" from pprint import pprint >>> import pymupdf >>> " +"doc=pymupdf.open(\"pymupdf.pdf\") >>> xref = doc.page_xref(0) # xref of " +"page 0 >>> pprint(doc.xref_get_keys(xref)) # primary level keys of a " +"page ('Type', 'Contents', 'Resources', 'MediaBox', 'Parent') >>> " +"pprint(doc.xref_get_keys(-1)) # primary level keys of the trailer " +"('Type', 'Index', 'Size', 'W', 'Root', 'Info', 'ID', 'Length', 'Filter') " +">>>" +msgstr "" + +#: ../../document.rst:849 aa7dc5420dc345bf862b4a857d55b1c9 +msgid "a tuple of dictionary keys present in object :data:`xref`. Examples:" +msgstr "객체 :data:`xref` 에 있는 딕셔너리 키의 튜플. 예:" + +#: ../../document.rst:866 ac624cc28bac472580675edd1acf4436 +msgid "" +"PDF only: Return type and value of a PDF dictionary key of a " +":data:`dictionary` object given by its xref." +msgstr "PDF 전용: xref로 제공된 :data:`dictionary` 객체의 PDF 딕셔너리 키의 타입과 값을 반환합니다." + +#: ../../document.rst:868 27544f0e3f84480f9d4ad7fc8619aa5b +msgid "" +"the :data:`xref`. *Changed in v1.18.10:* Use `-1` to access the special " +"dictionary \"PDF trailer\"." +msgstr "" +":data:`xref`. *v1.18.10에서 변경됨:* 특수 딕셔너리 \"PDF trailer\" 에 액세스하려면 `-1` 을 " +"사용하세요." + +#: ../../document.rst:870 b7b4f4ca5ca84d3f9d6241f19925be5a +msgid "" +"the desired PDF key. Must **exactly** match (case-sensitive) one of the " +"keys contained in :meth:`Document.xref_get_keys`." +msgstr "" +"원하는 PDF 키. :meth:`Document.xref_get_keys` 에 포함된 키 중 하나와 **정확히** 일치해야 " +"합니다(대소문자 구분)." + +#: ../../document.rst:874 7b79f18cd28e46c78897483bebddf81d +msgid "" +"A tuple (type, value) of strings, where type is one of \"xref\", " +"\"array\", \"dict\", \"int\", \"float\", \"null\", \"bool\", \"name\", " +"\"string\" or \"unknown\" (should not occur). Independent of \"type\", " +"the value of the key is **always** formatted as a string -- see the " +"following example -- and (almost always) a faithful reflection of what is" +" stored in the PDF. In most cases, the format of the value string also " +"gives a clue about the key type:" +msgstr "" +"문자열의 튜플 (type, value), 여기서 type은 \"xref\", \"array\", \"dict\", \"int\", " +"\"float\", \"null\", \"bool\", \"name\", \"string\" 또는 \"unknown\" (발생하지 " +"않아야 함) 중 하나입니다. \"type\" 과 무관하게 키의 값은 **항상** 문자열로 포맷됩니다. 다음 예를 참조하세요. 그리고" +" (거의 항상) PDF에 저장된 내용의 충실한 반영입니다. 대부분의 경우 값 문자열의 형식은 키 타입에 대한 힌트도 제공합니다:" + +#: ../../document.rst:876 ec807984aaac414b99a33ab68d3799b1 +msgid "A \"name\" always starts with a \"/\" slash." +msgstr "\"name\" 은 항상 \"/\" 슬래시로 시작합니다." + +#: ../../document.rst:877 3d6c9be670f643d0962169a4a9e69bba +msgid "An \"xref\" always ends with \" 0 R\"." +msgstr "\"xref\" 는 항상 \" 0 R\" 로 끝납니다." + +#: ../../document.rst:878 cc26f6231b5d40ea99da42fb5fbd6e4e +msgid "An \"array\" is always enclosed in \"[...]\" brackets." +msgstr "\"array\" 는 항상 \"[...]\" 대괄호로 둘러싸여 있습니다." + +#: ../../document.rst:879 0e703bc78dfa46ef980a0afffddb7caf +msgid "A \"dict\" is always enclosed in \"<<...>>\" brackets." +msgstr "\"dict\" 는 항상 \"<<...>>\" 괄호로 둘러싸여 있습니다." + +#: ../../document.rst:880 846a9dca0e6c44aa99e0254bdf2882a7 +msgid "" +"A \"bool\", resp. \"null\" always equal either \"true\", \"false\", resp." +" \"null\"." +msgstr "\"bool\" 또는 \"null\" 은 항상 \"true\", \"false\" 또는 \"null\" 과 같습니다." + +#: ../../document.rst:881 214cdbec5d6c4d08a8ec85d70a82023d +msgid "" +"\"float\" and \"int\" are represented by their string format -- and are " +"thus not always distinguishable." +msgstr "\"float\" 와 \"int\" 는 문자열 형식으로 표현되므로 항상 구별할 수 있는 것은 아닙니다." + +#: ../../document.rst:882 6b54a834dd684348a075258dcc77932e +msgid "" +"A \"string\" is converted to UTF-8 and may therefore deviate from what is" +" stored in the PDF. For example, the PDF key \"Author\" may have a value " +"of \"\" in the " +"file, but the method will return `('string', 'Jorj X. McKie')`." +msgstr "" +"\"string\" 은 UTF-8로 변환되므로 PDF에 저장된 내용과 다를 수 있습니다. 예를 들어, PDF 키 \"Author\"" +" 는 파일에서 \"\" 값을" +" 가질 수 있지만, 이 메서드는 `('string', 'Jorj X. McKie')` 를 반환합니다." + +#: ../../document.rst:911 9cd16976fff44c6fb844b8cec7a2c169 +msgid "New in v1.18.7, changed in v 1.18.13" +msgstr "v1.18.7에서 새로 추가됨, v 1.18.13에서 변경됨" + +#: ../../document.rst:912 0ac083b623a047b4bcf044eae05904aa +msgid "Changed in v1.19.4: remove a key \"physically\" if set to \"null\"." +msgstr "v1.19.4에서 변경됨: \"null\" 로 설정된 경우 키를 \"물리적으로\" 제거합니다." + +#: ../../document.rst:914 64396e0edd7148ca84fae006294159f8 +msgid "" +"PDF only: Set (add, update, delete) the value of a PDF key for the " +":data:`dictionary` object given by its xref." +msgstr "PDF 전용: xref로 제공된 :data:`dictionary` 객체에 대한 PDF 키의 값을 설정(추가, 업데이트, 삭제)합니다." + +#: ../../document.rst:916 5794fc8ff702458f9aaefe249a14c2ef +msgid "" +"This is an expert function: if you do not know what you are doing, there " +"is a high risk to render (parts of) the PDF unusable. Please do consult " +":ref:`AdobeManual` about object specification formats (page 18) and the " +"structure of special dictionary types like page objects." +msgstr "" +"이것은 전문가용 함수입니다: 무엇을 하고 있는지 모르는 경우 PDF의 (일부)를 사용할 수 없게 만들 위험이 높습니다. 객체 사양 " +"형식(18페이지) 및 페이지 객체와 같은 특수 딕셔너리 타입의 구조에 대해 :ref:`AdobeManual` 을 참조하세요." + +#: ../../document.rst:918 089d864880fa43b0a3e7c78b23aa1fd5 +msgid "" +"the :data:`xref`. *Changed in v1.18.13:* To update the PDF trailer, " +"specify -1." +msgstr ":data:`xref`. *v1.18.13에서 변경됨:* PDF 트레일러를 업데이트하려면 -1을 지정하세요." + +#: ../../document.rst:919 15673f6ba0f34016b8ae9065767b7d8b +msgid "" +"the desired PDF key (without leading \"/\"). Must not be empty. Any valid" +" PDF key -- whether already present in the object (which will be " +"overwritten) -- or new. It is possible to use PDF path notation like " +"`\"Resources/ExtGState\"` -- which sets the value for key " +"`\"/ExtGState\"` as a sub-object of `\"/Resources\"`." +msgstr "" +"원하는 PDF 키(앞의 \"/\" 없음). 비어 있지 않아야 합니다. 객체에 이미 있는(덮어쓰기됨) 유효한 PDF 키 또는 새 키." +" `\"Resources/ExtGState\"` 와 같은 PDF 경로 표기법을 사용할 수 있습니다. 이것은 " +"`\"/Resources\"` 의 하위 객체로 `\"/ExtGState\"` 키의 값을 설정합니다." + +#: ../../document.rst:920 933213233ad746ad840f0156b1f94f1a +msgid "" +"the value for the key. It must be a non-empty string and, depending on " +"the desired PDF object type, the following rules must be observed. There " +"is some syntax checking, but **no type checking** and no checking if it " +"makes sense PDF-wise, i.e. **no semantics checking**. Upper / lower case " +"is important!" +msgstr "" +"키의 값. 비어 있지 않은 문자열이어야 하며, 원하는 PDF 객체 타입에 따라 다음 규칙을 준수해야 합니다. 일부 구문 검사가 " +"있지만 **타입 검사는 없으며** PDF 관점에서 의미가 있는지 확인하지 않습니다. 즉, **의미론 검사는 없습니다**. 대소문자가" +" 중요합니다!" + +#: ../../document.rst:922 88dc206233204bdfba432773e3390307 +msgid "" +"*:data:`xref`* -- must be provided as `\"nnn 0 R\"` with a valid " +":data:`xref` number nnn of the PDF. The suffix \"`0 R`\" is required to " +"be recognizable as an xref by PDF applications." +msgstr "" +"*:data:`xref`* -- PDF의 유효한 :data:`xref` 번호 nnn을 사용하여 `\"nnn 0 R\"` 로 제공해야" +" 합니다. PDF 애플리케이션에서 xref로 인식할 수 있도록 접미사 \"`0 R`\" 이 필요합니다." + +#: ../../document.rst:923 6925d7ed24cb4b64a6e6691de1cc2ad2 +msgid "" +"**array** -- a string like `\"[a b c d e f]\"`. The brackets are " +"required. Array items must be separated by at least one space (not commas" +" like in Python). An empty array `\"[]\"` is possible and *equivalent* to" +" removing the key. Array items may be any PDF objects, like dictionaries," +" xrefs, other arrays, etc. Like in Python, array items may be of " +"different types." +msgstr "" +"**array** -- `\"[a b c d e f]\"` 와 같은 문자열. 대괄호가 필요합니다. 배열 항목은 최소한 하나의 " +"공백으로 구분되어야 합니다(Python처럼 쉼표가 아님). 빈 배열 `\"[]\"` 가 가능하며 키 제거와 *동등* 합니다. 배열 " +"항목은 딕셔너리, xref, 다른 배열 등과 같은 모든 PDF 객체일 수 있습니다. Python처럼 배열 항목은 다른 타입일 수 " +"있습니다." + +#: ../../document.rst:924 28eb8fae1c82426ead4bb35d11289b23 +msgid "" +"**dict** -- a string like `\"<< ... >>\"`. The brackets are required and " +"must enclose a valid PDF dictionary definition. The empty dictionary " +"`\"<<>>\"` is possible and *equivalent* to removing the key." +msgstr "" +"**dict** -- `\"<< ... >>\"` 와 같은 문자열. 괄호가 필요하며 유효한 PDF 딕셔너리 정의를 포함해야 합니다." +" 빈 딕셔너리 `\"<<>>\"` 가 가능하며 키 제거와 *동등* 합니다." + +#: ../../document.rst:925 a04a73f6b8654574bbd1a85f0a618a09 +msgid "**int** -- an integer formatted **as a string**." +msgstr "**int** -- **문자열로** 포맷된 정수." + +#: ../../document.rst:926 aaaafb8231484e539107d63be48d47d6 +msgid "" +"**float** -- a float formatted **as a string**. Scientific notation (with" +" exponents) is **not allowed by PDF**." +msgstr "**float** -- **문자열로** 포맷된 부동소수점. 과학적 표기법(지수 포함)은 **PDF에서 허용되지 않습니다**." + +#: ../../document.rst:927 37b8e833142747c3843fd9b6b6c7847b +msgid "" +"**null** -- the string `\"null\"`. This is the PDF equivalent to Python's" +" `None` and causes the key to be ignored -- however not necessarily " +"removed, resp. removed on saves with garbage collection. *Changed in " +"v1.19.4:* If the key is no path hierarchy (i.e. contains no slash \"/\")," +" then it will be completely removed." +msgstr "" +"**null** -- 문자열 `\"null\"`. 이것은 Python의 `None` 과 동등한 PDF이며 키를 무시하게 만듭니다. " +"그러나 반드시 제거되는 것은 아니며, 가비지 수집과 함께 저장 시 제거됩니다. *v1.19.4에서 변경됨:* 키가 경로 계층이 아닌" +" 경우(즉, 슬래시 \"/\" 가 없음), 완전히 제거됩니다." + +#: ../../document.rst:928 216d5b52576143519f482ac216cb8057 +msgid "**bool** -- one of the strings `\"true\"` or `\"false\"`." +msgstr "**bool** -- 문자열 `\"true\"` 또는 `\"false\"` 중 하나." + +#: ../../document.rst:929 f0e1858598fd41c29d7a96791dbc5f24 +msgid "" +"**name** -- a valid PDF name with a leading slash like this: " +"`\"/PageLayout\"`. See page 16 of the :ref:`AdobeManual`." +msgstr "" +"**name** -- 앞에 슬래시가 있는 유효한 PDF 이름, 예: `\"/PageLayout\"`. " +":ref:`AdobeManual` 의 16페이지를 참조하세요." + +#: ../../document.rst:930 a914ca911c4c4159a3781a52ef7d1f98 +msgid "" +"**string** -- a valid PDF string. **All PDF strings must be enclosed by " +"brackets**. Denote the empty string as `\"()\"`. Depending on its " +"content, the possible brackets are" +msgstr "" +"**string** -- 유효한 PDF 문자열. **모든 PDF 문자열은 괄호로 둘러싸여야 합니다**. 빈 문자열은 `\"()\"`" +" 로 표시합니다. 콘텐츠에 따라 가능한 괄호는" + +#: ../../document.rst:932 1ed9166a48c545be82c39b80562dc2da +msgid "" +"\"(...)\" for ASCII-only text. Reserved PDF characters must be backslash-" +"escaped and non-ASCII characters must be provided as 3-digit backslash-" +"escaped octals -- including leading zeros. Example: 12 = 0x0C must be " +"encoded as `\\014`." +msgstr "" +"ASCII 전용 텍스트의 경우 \"(...)\". 예약된 PDF 문자는 백슬래시 이스케이프되어야 하며, 비ASCII 문자는 앞의 " +"0을 포함하여 3자리 백슬래시 이스케이프된 8진수로 제공되어야 합니다. 예: 12 = 0x0C는 `\\014` 로 인코딩되어야 " +"합니다." + +#: ../../document.rst:933 d441845d0a85478fa7fc790d3b118854 +msgid "" +"\"<...>\" for hex-encoded text. Every character must be represented by " +"two hex-digits (lower or upper case)." +msgstr "16진수 인코딩된 텍스트의 경우 \"<...>\". 모든 문자는 두 자리 16진수(소문자 또는 대문자)로 표현되어야 합니다." + +#: ../../document.rst:935 a11c1a8286be4329a17ec5d7c98add0f +msgid "" +"If in doubt, we **strongly recommend** to use :meth:`get_pdf_str`! This " +"function automatically generates the right brackets, escapes, and overall" +" format. It will for example do conversions like these:" +msgstr "" +"의심스러운 경우 :meth:`get_pdf_str` 사용을 **강력히 권장** 합니다! 이 함수는 올바른 괄호, 이스케이프 및 전체" +" 형식을 자동으로 생성합니다. 예를 들어 다음과 같은 변환을 수행합니다:" + +#: ../../document.rst:947 cf6f6128b6884ccabee6fba67627f2ec +msgid "" +"Creates a pixmap from page *pno* (zero-based). Invokes " +":meth:`Page.get_pixmap`." +msgstr "페이지 *pno* (0 기반)에서 pixmap을 생성합니다. :meth:`Page.get_pixmap` 을 호출합니다." + +#: ../../document.rst:949 f0955fd5487a4e5ea3ac0442b8e90f79 +msgid "All parameters except `pno` are *keyword-only.*" +msgstr "`pno` 를 제외한 모든 매개변수는 *키워드 전용* 입니다." + +#: ../../document.rst:951 3d8557ce87f14ec781fc2e843670c353 +msgid "page number, 0-based in `-∞ < pno < page_count`." +msgstr "페이지 번호, `-∞ < pno < page_count` 에서 0 기반." + +#: ../../document.rst:953 2fd43704060b4800a4b0c48a6d84311a +msgid ":ref:`Pixmap`" +msgstr ":ref:`Pixmap`" + +#: ../../document.rst:957 962d634dfd4e4b6b850458e82fe4b7c9 +msgid "New in v1.16.13" +msgstr "v1.16.13에서 새로 추가됨" + +#: ../../document.rst:958 9664b300564b4c1780ac04f4b998b8c2 +msgid "Changed in v1.18.11" +msgstr "v1.18.11에서 변경됨" + +#: ../../document.rst:960 f7da10aa82f7472b861d90418a3c8b90 +msgid "PDF only: Return a list of all XObjects referenced by a page." +msgstr "PDF 전용: 페이지에서 참조하는 모든 XObject 목록을 반환합니다." + +#: ../../document.rst:962 ../../document.rst:977 ../../document.rst:1004 +#: 573fd738d1a94d979da34f7c5a090cb7 6a0779fdfff54bad8d6c0b225fef12df +#: 7ce886aac0b6421395e6edea44f4a2df +msgid "page number, 0-based, `-∞ < pno < page_count`." +msgstr "페이지 번호, 0 기반, `-∞ < pno < page_count`." + +#: ../../document.rst:965 356c31b720a14052a406e595f02cea3f +msgid "" +"a list of (non-image) XObjects. These objects typically represent pages " +"*embedded* (not copied) from other PDFs. For example, " +":meth:`Page.show_pdf_page` will create this type of object. An item of " +"this list has the following layout: `(xref, name, invoker, bbox)`, where" +" * *:data:`xref`* (*int*) is the XObject's :data:`xref`. * **name** " +"(*str*) is the symbolic name to reference the XObject. * **invoker** " +"(*int*) the :data:`xref` of the invoking XObject or zero if the page " +"directly invokes it. * **bbox** (:ref:`Rect`) the boundary box of the " +"XObject's location on the page **in untransformed coordinates**. To get " +"actual, non-rotated page coordinates, multiply with the page's " +"transformation matrix :attr:`Page.transformation_matrix`. *Changed in " +"v.18.11:* the bbox is now formatted as :ref:`Rect`." +msgstr "" + +#: ../../document.rst:965 f5e67a1ceb0f4ee98521899019f091fa +msgid "" +"a list of (non-image) XObjects. These objects typically represent pages " +"*embedded* (not copied) from other PDFs. For example, " +":meth:`Page.show_pdf_page` will create this type of object. An item of " +"this list has the following layout: `(xref, name, invoker, bbox)`, where" +msgstr "" +"(이미지가 아닌) XObject 목록. 이러한 객체는 일반적으로 다른 PDF에서 *임베디드된* (복사되지 않은) 페이지를 " +"나타냅니다. 예를 들어, :meth:`Page.show_pdf_page` 는 이 타입의 객체를 생성합니다. 이 목록의 항목은 다음 " +"레이아웃을 가집니다: `(xref, name, invoker, bbox)`, 여기서" + +#: ../../document.rst:967 bc10f1fc12174419970454b5396a5f96 +msgid "*:data:`xref`* (*int*) is the XObject's :data:`xref`." +msgstr "*:data:`xref`* (*int*)는 XObject의 :data:`xref` 입니다." + +#: ../../document.rst:968 3458baf801f4472197fe7420ec4729d0 +msgid "**name** (*str*) is the symbolic name to reference the XObject." +msgstr "**name** (*str*)는 XObject를 참조하는 심볼릭 이름입니다." + +#: ../../document.rst:969 ff1e7f3a7b5b4e1fba920f8368c15ba7 +msgid "" +"**invoker** (*int*) the :data:`xref` of the invoking XObject or zero if " +"the page directly invokes it." +msgstr "**invoker** (*int*)는 호출하는 XObject의 :data:`xref` 이거나 페이지가 직접 호출하는 경우 0입니다." + +#: ../../document.rst:970 9b7ba572cd2b43628b51e0eaac25c5f1 +msgid "" +"**bbox** (:ref:`Rect`) the boundary box of the XObject's location on the " +"page **in untransformed coordinates**. To get actual, non-rotated page " +"coordinates, multiply with the page's transformation matrix " +":attr:`Page.transformation_matrix`. *Changed in v.18.11:* the bbox is now" +" formatted as :ref:`Rect`." +msgstr "" +"**bbox** (:ref:`Rect`)는 페이지에서 XObject 위치의 경계 상자입니다. **변환되지 않은 좌표** 에 " +"있습니다. 실제, 비회전 페이지 좌표를 얻으려면 페이지의 변환 행렬 :attr:`Page.transformation_matrix` " +"와 곱하세요. *v.18.11에서 변경됨:* bbox는 이제 :ref:`Rect` 로 포맷됩니다." + +#: ../../document.rst:975 0942f5b9705c43be833e3d4d7c9d04bf +msgid "" +"PDF only: Return a list of all images (directly or indirectly) referenced" +" by the page." +msgstr "PDF 전용: 페이지에서 참조하는 모든 이미지(직접 또는 간접) 목록을 반환합니다." + +#: ../../document.rst:978 c102f9d2a04f4397af702822dd6029d1 +msgid "" +"whether to also include the referencer's :data:`xref` (which is zero if " +"this is the page)." +msgstr "참조자의 :data:`xref` 도 포함할지 여부(페이지인 경우 0)." + +#: ../../document.rst:982 9f36391e139a4365ad37835cb1488399 +msgid "" +"a list of images **referenced** by this page. Each item looks like: " +"`(xref, smask, width, height, bpc, colorspace, alt_colorspace, name, " +"filter, referencer)` * ``xref`` (*int*) is the image object number *" +" ``smask`` (*int*) is the object number of its soft-mask image * " +"``width`` (*int*) is the image width * ``height`` (*int*) is the image " +"height * ``bpc`` (*int*) denotes the number of bits per component " +"(normally 8) * ``colorspace`` (*str*) a string naming the colorspace " +"(like **DeviceRGB**) * ``alt_colorspace`` (*str*) is any alternate " +"colorspace depending on the value of **colorspace** * ``name`` (*str*) " +"is the symbolic name by which the image is referenced * ``filter`` " +"(*str*) is the decode filter of the image (:ref:`AdobeManual`, pp. 22)." +" * ``referencer`` (*int*) the :data:`xref` of the referencer. Zero if " +"directly referenced by the page. Only present if *full=True*." +msgstr "" + +#: ../../document.rst:982 60c9f6c338a9474db9353697d0031f1c +msgid "a list of images **referenced** by this page. Each item looks like:" +msgstr "이 페이지에서 **참조하는** 이미지 목록. 각 항목은 다음과 같습니다:" + +#: ../../document.rst:984 68fa8977fcbf4250bbc0fa671f7c9a29 +msgid "" +"`(xref, smask, width, height, bpc, colorspace, alt_colorspace, name, " +"filter, referencer)`" +msgstr "" +"`(xref, smask, width, height, bpc, colorspace, alt_colorspace, name, " +"filter, referencer)`" + +#: ../../document.rst:986 32a541d5d2124ba38de883af0a8ca8cc +msgid "``xref`` (*int*) is the image object number" +msgstr "``xref`` (*int*)는 이미지 객체 번호입니다" + +#: ../../document.rst:987 6e6e3aa40a1e47eeb6f7d90e271b6ca8 +msgid "``smask`` (*int*) is the object number of its soft-mask image" +msgstr "``smask`` (*int*)는 소프트 마스크 이미지의 객체 번호입니다" + +#: ../../document.rst:988 ac66e90cb9514167a7387bd5e1dbc28a +msgid "``width`` (*int*) is the image width" +msgstr "``width`` (*int*)는 이미지 너비입니다" + +#: ../../document.rst:989 e3be6fc835c74598885e920fbe4118aa +msgid "``height`` (*int*) is the image height" +msgstr "``height`` (*int*)는 이미지 높이입니다" + +#: ../../document.rst:990 814e68df351b4cb2936c13a6692e1877 +msgid "``bpc`` (*int*) denotes the number of bits per component (normally 8)" +msgstr "``bpc`` (*int*)는 구성 요소당 비트 수를 나타냅니다(일반적으로 8)" + +#: ../../document.rst:991 abfea8ca1da54ae39f9becdba855e107 +msgid "``colorspace`` (*str*) a string naming the colorspace (like **DeviceRGB**)" +msgstr "``colorspace`` (*str*)는 색상 공간을 명명하는 문자열(예: **DeviceRGB**)" + +#: ../../document.rst:992 fcaaa4a4cc5f40cb8fcaa678c8ea8d0d +msgid "" +"``alt_colorspace`` (*str*) is any alternate colorspace depending on the " +"value of **colorspace**" +msgstr "``alt_colorspace`` (*str*)는 **colorspace** 값에 따라 대체 색상 공간입니다" + +#: ../../document.rst:993 1fa8b147b39f418384f1575f3d529a44 +msgid "``name`` (*str*) is the symbolic name by which the image is referenced" +msgstr "``name`` (*str*)는 이미지가 참조되는 심볼릭 이름입니다" + +#: ../../document.rst:994 025346bb27a940e08fadeea999559e4d +msgid "" +"``filter`` (*str*) is the decode filter of the image (:ref:`AdobeManual`," +" pp. 22)." +msgstr "``filter`` (*str*)는 이미지의 디코드 필터입니다(:ref:`AdobeManual`, 22페이지)." + +#: ../../document.rst:995 fd32f1661b8a41308edbf4b15af88e2a +msgid "" +"``referencer`` (*int*) the :data:`xref` of the referencer. Zero if " +"directly referenced by the page. Only present if *full=True*." +msgstr "" +"``referencer`` (*int*)는 참조자의 :data:`xref` 입니다. 페이지에서 직접 참조하는 경우 0입니다. " +"*full=True* 인 경우에만 존재합니다." + +#: ../../document.rst:997 fdb38d2934564ddca22fea4df51c70c8 +msgid "" +"In general, this is not the list of images that are **actually " +"displayed**. This method only parses several PDF objects to collect " +"references to embedded images. It does not analyse the page's " +":data:`contents`, where all the actual image display commands are " +"defined. To get this information, please use :meth:`Page.get_image_info`." +" Also have a look at the discussion in section :ref:`textpagedict`." +msgstr "" +"일반적으로 이것은 **실제로 표시되는** 이미지 목록이 아닙니다. 이 메서드는 임베디드된 이미지에 대한 참조를 수집하기 위해 여러 " +"PDF 객체만 파싱합니다. 실제 이미지 표시 명령이 정의된 페이지의 :data:`contents` 를 분석하지 않습니다. 이 정보를" +" 얻으려면 :meth:`Page.get_image_info` 를 사용하세요. 또한 :ref:`textpagedict` 섹션의 논의를" +" 참조하세요." + +#: ../../document.rst:1002 894bfe7ade6b4fe4a158abbb7e8741d3 +msgid "" +"PDF only: Return a list of all fonts (directly or indirectly) referenced " +"by the page object definition." +msgstr "PDF 전용: 페이지 객체 정의에서 참조하는 모든 폰트(직접 또는 간접) 목록을 반환합니다." + +#: ../../document.rst:1005 6a819ec56a614676bc2630447ff70565 +msgid "" +"whether to also include the referencer's :data:`xref`. If ``True``, the " +"returned items are one entry longer. Use this option if you need to know," +" whether the page directly references the font. In this case the last " +"entry is 0. If the font is referenced by an `/XObject` of the page, you " +"will find its :data:`xref` here." +msgstr "" +"참조자의 :data:`xref` 도 포함할지 여부. ``True`` 인 경우 반환된 항목이 한 항목 더 깁니다. 페이지가 폰트를 " +"직접 참조하는지 알아야 하는 경우 이 옵션을 사용하세요. 이 경우 마지막 항목은 0입니다. 폰트가 페이지의 `/XObject` 에 " +"의해 참조되는 경우 여기서 :data:`xref` 를 찾을 수 있습니다." + +#: ../../document.rst:1009 c1b26f5bf24a4321bdc6161a80fcf465 +msgid "" +"a list of fonts referenced by the object definition of the page. Each " +"entry looks like: `(xref, ext, type, basefont, name, encoding, " +"referencer)` * ``xref`` (*int*) is the font object number (may be " +"zero if the PDF uses one of the builtin fonts directly) * ``ext`` " +"(*str*) font file extension (e.g. \"ttf\", see :ref:`FontExtensions`)" +" * ``type`` (*str*) is the font type (like \"Type1\" or \"TrueType\" " +"etc.) * ``basefont`` (*str*) is the base font name, * ``name`` " +"(*str*) is the symbolic name, by which the font is referenced * " +"``encoding`` (*str*) the font's character encoding if different from its " +"built-in encoding (:ref:`AdobeManual`, p. 254): * ``referencer`` " +"(*int* optional) the :data:`xref` of the referencer. Zero if directly " +"referenced by the page, otherwise the xref of an XObject. Only present if" +" *full=True*." +msgstr "" + +#: ../../document.rst:1009 c428c98ac9e3451f81ddf6d0e2a46e83 +msgid "" +"a list of fonts referenced by the object definition of the page. Each " +"entry looks like:" +msgstr "페이지 객체 정의에서 참조하는 폰트 목록. 각 항목은 다음과 같습니다:" + +#: ../../document.rst:1011 e355409fb7d5477f963c7379da3ddf0d +msgid "`(xref, ext, type, basefont, name, encoding, referencer)`" +msgstr "`(xref, ext, type, basefont, name, encoding, referencer)`" + +#: ../../document.rst:1013 f9b1750789b6485eb7a135397b3bb8df +msgid "" +"``xref`` (*int*) is the font object number (may be zero if the PDF uses " +"one of the builtin fonts directly)" +msgstr "``xref`` (*int*)는 폰트 객체 번호입니다(PDF가 내장 폰트 중 하나를 직접 사용하는 경우 0일 수 있음)" + +#: ../../document.rst:1014 7ce84ff9f475477da824c34563018a4a +msgid "" +"``ext`` (*str*) font file extension (e.g. \"ttf\", see " +":ref:`FontExtensions`)" +msgstr "``ext`` (*str*)는 폰트 파일 확장자입니다(예: \"ttf\", :ref:`FontExtensions` 참조)" + +#: ../../document.rst:1015 6c03df3e7c174603b04400528d105778 +msgid "``type`` (*str*) is the font type (like \"Type1\" or \"TrueType\" etc.)" +msgstr "``type`` (*str*)는 폰트 타입입니다(예: \"Type1\" 또는 \"TrueType\" 등)" + +#: ../../document.rst:1016 4ce6e2e5a0c0411faf4f4fc0c1adbc1c +msgid "``basefont`` (*str*) is the base font name," +msgstr "``basefont`` (*str*)는 기본 폰트 이름입니다," + +#: ../../document.rst:1017 0765534374664d2985fb156fe239c1d5 +msgid "``name`` (*str*) is the symbolic name, by which the font is referenced" +msgstr "``name`` (*str*)는 폰트가 참조되는 심볼릭 이름입니다" + +#: ../../document.rst:1018 1d6115a28a0e4ae598e1ea94e3b004d6 +msgid "" +"``encoding`` (*str*) the font's character encoding if different from its " +"built-in encoding (:ref:`AdobeManual`, p. 254):" +msgstr "" +"``encoding`` (*str*)는 내장 인코딩과 다른 경우 폰트의 문자 인코딩입니다(:ref:`AdobeManual`, " +"254페이지):" + +#: ../../document.rst:1019 5ebbba5b9e384f76b51b899b9f2d5b16 +msgid "" +"``referencer`` (*int* optional) the :data:`xref` of the referencer. Zero " +"if directly referenced by the page, otherwise the xref of an XObject. " +"Only present if *full=True*." +msgstr "" +"``referencer`` (*int* 선택적)는 참조자의 :data:`xref` 입니다. 페이지에서 직접 참조하는 경우 0이고, " +"그렇지 않으면 XObject의 xref입니다. *full=True* 인 경우에만 존재합니다." + +#: ../../document.rst:1021 3569124c76a74beb8c870ef6fa397799 +msgid "Example::" +msgstr "예제::" + +#: ../../document.rst:1034 e2535fc9161242ce8895729b77ec7732 +msgid "" +"This list has no duplicate entries: the combination of :data:`xref`, " +"*name* and *referencer* is unique." +msgstr "이 목록에는 중복 항목이 없습니다: :data:`xref`, *name* 및 *referencer* 의 조합이 고유합니다." + +#: ../../document.rst:1035 34a092cc0bf94ff0967f4b7cf77493af +msgid "" +"In general, this is a true superset of the fonts actually in use by this " +"page. The PDF creator may e.g. have specified some global list, of which " +"each page make only partial use." +msgstr "" +"일반적으로 이것은 이 페이지에서 실제로 사용 중인 폰트의 진정한 상위 집합입니다. PDF 작성자는 예를 들어 각 페이지가 " +"부분적으로만 사용하는 전역 목록을 지정했을 수 있습니다." + +#: ../../document.rst:1036 8aa74a27cd3b495589ae7e3354e6b493 +msgid "" +"Be aware that font names returned by some variants of " +":meth:`Page.get_text` (respectively :ref:`TextPage` methods) need not " +"(exactly) equal the base font name shown here. Reasons for any " +"differences include:" +msgstr "" +":meth:`Page.get_text` (각각 :ref:`TextPage` 메서드)의 일부 변형에서 반환하는 폰트 이름이 여기에 " +"표시된 기본 폰트 이름과 (정확히) 같을 필요는 없습니다. 차이점의 이유는 다음과 같습니다:" + +#: ../../document.rst:1038 8eb2bfec0bfc435cadf15cb6ae9d42eb +msgid "" +"This method always shows any subset prefixes (the pattern ``ABCDEF+``), " +"whereas text extractions do not do this by default." +msgstr "이 메서드는 항상 모든 서브셋 접두사(패턴 ``ABCDEF+``)를 표시하지만, 텍스트 추출은 기본적으로 이를 수행하지 않습니다." + +#: ../../document.rst:1039 8fc75b1d2a5846f4a24d5dbcfe0cba93 +msgid "" +"Text extractions use the base library to access the font name, which has " +"a length cap of 31 bytes and generally interrogates the font file binary " +"to access the name. Method ``get_page_fonts()`` however looks at the PDF " +"definition source." +msgstr "" +"텍스트 추출은 기본 라이브러리를 사용하여 폰트 이름에 액세스하며, 길이 제한이 31바이트이고 일반적으로 폰트 파일 바이너리를 " +"조회하여 이름에 액세스합니다. 그러나 ``get_page_fonts()`` 메서드는 PDF 정의 소스를 살펴봅니다." + +#: ../../document.rst:1040 4274d5880663459d8b1903e93b4888ef +msgid "" +"Text extractions work for all supported document types in exactly the " +"same way -- not just for PDFs. Consequently they do not contain PDF-" +"specifics." +msgstr "" +"텍스트 추출은 PDF뿐만 아니라 지원되는 모든 문서 타입에 대해 정확히 동일한 방식으로 작동합니다. 결과적으로 PDF 특정 사항을 " +"포함하지 않습니다." + +#: ../../document.rst:1044 9dc35195295741e183d3ad6e0209ae53 +msgid "" +"Extracts the text of a page given its page number *pno* (zero-based). " +"Invokes :meth:`Page.get_text`." +msgstr "페이지 번호 *pno* (0 기반)가 주어진 페이지의 텍스트를 추출합니다. :meth:`Page.get_text` 를 호출합니다." + +#: ../../document.rst:1046 9de1724014c8460babe8e3a752d8b7dc +msgid "page number, 0-based, any value `-∞ < pno < page_count`." +msgstr "페이지 번호, 0 기반, `-∞ < pno < page_count` 범위의 모든 값." + +#: ../../document.rst:1048 e3c19d5b184049b89dd66e661a7b4077 +msgid "For other parameter refer to the page method." +msgstr "다른 매개변수는 페이지 메서드를 참조하세요." + +#: ../../document.rst:1060 612a3f5ebc8a4f2494f277cd51d74e1a +msgid "" +"Re-paginate (\"reflow\") the document based on the given page dimension " +"and fontsize. This only affects some document types like e-books and " +"HTML. Ignored if not supported. Supported documents have ``True`` in " +"property :attr:`is_reflowable`." +msgstr "" +"주어진 페이지 크기와 폰트 크기를 기반으로 문서를 다시 페이지화(\"리플로우\")합니다. 이것은 전자책 및 HTML과 같은 일부 " +"문서 타입에만 영향을 줍니다. 지원되지 않으면 무시됩니다. 지원되는 문서는 속성 :attr:`is_reflowable` 에 " +"``True`` 가 있습니다." + +#: ../../document.rst:1062 b8a887985240427abf836d07cff96aa4 +msgid "desired page size. Must be finite, not empty and start at point (0, 0)." +msgstr "원하는 페이지 크기. 유한하고 비어 있지 않으며 점 (0, 0)에서 시작해야 합니다." + +#: ../../document.rst:1063 f2f1d7b57dea48e2bc68fc8ca3110104 +msgid "use it together with ``height`` as alternative to ``rect``." +msgstr "``rect`` 의 대안으로 ``height`` 와 함께 사용합니다." + +#: ../../document.rst:1064 d6f5b528d21c4db999bceef858c1caca +msgid "use it together with ``width`` as alternative to ``rect``." +msgstr "``rect`` 의 대안으로 ``width`` 와 함께 사용합니다." + +#: ../../document.rst:1065 1a7ba975d0f4440ebed250c00e4038e7 +msgid "the desired default fontsize." +msgstr "원하는 기본 폰트 크기." + +#: ../../document.rst:1069 7abc47fb041a44d69a8d57062d16064a +msgid "" +"PDF only: Keeps only those pages of the document whose numbers occur in " +"the list. Empty sequences or elements outside `range(doc.page_count)` " +"will cause a *ValueError*. For more details see remarks at the bottom or " +"this chapter." +msgstr "" +"PDF 전용: 목록에 있는 번호의 페이지만 유지합니다. 빈 시퀀스 또는 `range(doc.page_count)` 범위를 벗어난 " +"요소는 *ValueError* 를 발생시킵니다. 자세한 내용은 이 장 하단의 설명을 참조하세요." + +#: ../../document.rst:1071 bd92b2ecc213478ca936d170a7f34d7c +msgid "" +"The sequence (see :ref:`SequenceTypes`) of page numbers (zero-based) to " +"be included. Pages not in the sequence will be deleted (from memory) and " +"become unavailable until the document is reopened. **Page numbers can " +"occur multiple times and in any order:** the resulting document will " +"reflect the sequence exactly as specified." +msgstr "" +"포함할 페이지 번호(0 기반)의 시퀀스(:ref:`SequenceTypes` 참조). 시퀀스에 없는 페이지는 삭제(메모리에서)되며 " +"문서를 다시 열 때까지 사용할 수 없게 됩니다. **페이지 번호는 여러 번 발생할 수 있으며 어떤 순서로든 가능합니다:** 결과 " +"문서는 지정된 대로 시퀀스를 정확히 반영합니다." + +#: ../../document.rst:1075 24611bb325054f519a6b9ff6cedb6beb +msgid "" +"Page numbers in the sequence need not be unique nor be in any particular " +"order. This makes the method a versatile utility to e.g. select only the " +"even or the odd pages or meeting some other criteria and so forth." +msgstr "" +"시퀀스의 페이지 번호는 고유할 필요도 없고 특정 순서일 필요도 없습니다. 이것은 예를 들어 짝수 페이지만 선택하거나 홀수 페이지만 " +"선택하거나 다른 기준을 충족하는 등 다양한 유틸리티로 메서드를 만듭니다." + +#: ../../document.rst:1077 636a9e8015aa46309e556db665f2746c +msgid "" +"On a technical level, the method will always create a new " +":data:`pagetree`." +msgstr "기술적 수준에서 이 메서드는 항상 새로운 :data:`pagetree` 를 생성합니다." + +#: ../../document.rst:1079 7e0da8188da041d9812450d9b3cafa12 +msgid "" +"When dealing with only a few pages, methods :meth:`copy_page`, " +":meth:`move_page`, :meth:`delete_page` are easier to use. In fact, they " +"are also **much faster** -- by at least one order of magnitude when the " +"document has many pages." +msgstr "" +"몇 페이지만 다룰 때는 :meth:`copy_page`, :meth:`move_page`, :meth:`delete_page` " +"메서드가 더 쉽게 사용할 수 있습니다. 실제로 문서에 많은 페이지가 있을 때 최소한 한 자릿수 이상 **훨씬 빠릅니다**." + +#: ../../document.rst:1084 2f7f7e6048f34cac94145baf612aa008 +msgid "" +"PDF only: Sets or updates the metadata of the document as specified in " +"*m*, a Python dictionary." +msgstr "PDF 전용: Python 딕셔너리인 *m* 에 지정된 대로 문서의 메타데이터를 설정하거나 업데이트합니다." + +#: ../../document.rst:1086 fb17b12de6804d10baf0442394ea5395 +#, python-brace-format +msgid "" +"A dictionary with the same keys as *metadata* (see below). All keys are " +"optional. A PDF's format and encryption method cannot be set or changed " +"and will be ignored. If any value should not contain data, do not specify" +" its key or set the value to `None`. If you use *{}* all metadata " +"information will be cleared to the string *\"none\"*. If you want to " +"selectively change only some values, modify a copy of *doc.metadata* and " +"use it as the argument. Arbitrary unicode values are possible if " +"specified as UTF-8-encoded." +msgstr "" +"*metadata* (아래 참조)와 동일한 키를 가진 딕셔너리. 모든 키는 선택적입니다. PDF의 형식과 암호화 방법은 설정하거나 " +"변경할 수 없으며 무시됩니다. 값에 데이터가 포함되지 않아야 하는 경우 해당 키를 지정하지 않거나 값을 `None` 으로 " +"설정하세요. *{}* 를 사용하면 모든 메타데이터 정보가 문자열 *\"none\"* 으로 지워집니다. 일부 값만 선택적으로 " +"변경하려면 *doc.metadata* 의 복사본을 수정하고 인수로 사용하세요. UTF-8로 인코딩된 것으로 지정하면 임의의 유니코드" +" 값이 가능합니다." + +#: ../../document.rst:1088 0b2b37c69637443f9e21ca0c677ed090 +msgid "" +"*(Changed in v1.18.4)* Empty values or \"none\" are no longer written, " +"but completely omitted." +msgstr "*(v1.18.4에서 변경됨)* 빈 값 또는 \"none\" 은 더 이상 작성되지 않고 완전히 생략됩니다." + +#: ../../document.rst:1092 494191b897804e449e9c6b8a1a697bc3 +msgid "PDF only: Get the document XML metadata." +msgstr "PDF 전용: 문서 XML 메타데이터를 가져옵니다." + +#: ../../document.rst:1095 ef03232dafa34415ab9abc82a7c2da65 +msgid "XML metadata of the document. Empty string if not present or not a PDF." +msgstr "문서의 XML 메타데이터. 없거나 PDF가 아닌 경우 빈 문자열." + +#: ../../document.rst:1099 1fa0bae03c40463993e2665f1a49771e +msgid "PDF only: Sets or updates XML metadata of the document." +msgstr "PDF 전용: 문서의 XML 메타데이터를 설정하거나 업데이트합니다." + +#: ../../document.rst:1101 ad90c4fc4fdb4a058d7e1a286f93e70b +msgid "" +"the new XML metadata. Should be XML syntax, however no checking is done " +"by this method and any string is accepted." +msgstr "새 XML 메타데이터. XML 구문이어야 하지만 이 메서드는 검사를 수행하지 않으며 모든 문자열이 허용됩니다." + +#: ../../document.rst:1106 ../../document.rst:1115 ../../document.rst:1124 +#: ../../document.rst:2062 ../../document.rst:2070 ../../document.rst:2078 +#: ../../document.rst:2086 ../../document.rst:2094 +#: 4adf90aedc904bc18c42a1a4109c7006 6b892ab1bef84c2dac64a07ddc45d085 +#: 9b0e72fc7d0d492d85055abb7b229d4f b5c98f9002e143228355beb92946a982 +#: b8c413017fc540269175c20d423a7951 cdd3c3d34b8b4453a89f97769225a597 +#: d7f11258ac994270b4ff26f7a9aaef0d e3495fa87644414c88ff95b4ccdd5cfb +msgid "New in v1.22.2" +msgstr "v1.22.2에서 새로 추가됨" + +#: ../../document.rst:1108 58ed819517e3447c8b6fca160b416a15 +msgid "PDF only: Set the `/PageLayout`." +msgstr "PDF 전용: `/PageLayout` 을 설정합니다." + +#: ../../document.rst:1110 427d37e940fd4b079ecfc93d2ebc2707 +msgid "" +"one of the strings \"SinglePage\", \"OneColumn\", \"TwoColumnLeft\", " +"\"TwoColumnRight\", \"TwoPageLeft\", \"TwoPageRight\". Lower case is " +"supported." +msgstr "" +"문자열 \"SinglePage\", \"OneColumn\", \"TwoColumnLeft\", \"TwoColumnRight\"," +" \"TwoPageLeft\", \"TwoPageRight\" 중 하나. 소문자가 지원됩니다." + +#: ../../document.rst:1117 1a85c014b44e470ba7519e90571a2672 +msgid "PDF only: Set the `/PageMode`." +msgstr "PDF 전용: `/PageMode` 를 설정합니다." + +#: ../../document.rst:1119 db113fac96c64e41888cc65fff2476e2 +msgid "" +"one of the strings \"UseNone\", \"UseOutlines\", \"UseThumbs\", " +"\"FullScreen\", \"UseOC\", \"UseAttachments\". Lower case is supported." +msgstr "" +"문자열 \"UseNone\", \"UseOutlines\", \"UseThumbs\", \"FullScreen\", " +"\"UseOC\", \"UseAttachments\" 중 하나. 소문자가 지원됩니다." + +#: ../../document.rst:1126 5deb2c951d31411794bc3358fc04faf0 +msgid "PDF only: Set the `/MarkInfo` values." +msgstr "PDF 전용: `/MarkInfo` 값을 설정합니다." + +#: ../../document.rst:1128 8120c18587bc46eea1126b758658f3f6 +#, python-brace-format +msgid "" +"a dictionary like this one: `{\"Marked\": False, \"UserProperties\": " +"False, \"Suspects\": False}`. This dictionary contains information about " +"the usage of Tagged PDF conventions. For details please see the `PDF " +"specifications `_." +msgstr "" +"다음과 같은 딕셔너리: `{\"Marked\": False, \"UserProperties\": False, " +"\"Suspects\": False}`. 이 딕셔너리는 Tagged PDF 규칙 사용에 대한 정보를 포함합니다. 자세한 내용은 " +"`PDF 사양 `_ 을 참조하세요." + +#: ../../document.rst:1133 72c170bc3e0f43f9ac97af5f1d62753b +msgid "" +"PDF only: Replaces the **complete current outline** tree (table of " +"contents) with the one provided as the argument. After successful " +"execution, the new outline tree can be accessed as usual via " +":meth:`Document.get_toc` or via :attr:`Document.outline`. Like with other" +" output-oriented methods, changes become permanent only via :meth:`save` " +"(incremental save supported). Internally, this method consists of the " +"following two steps. For a demonstration see example below." +msgstr "" +"PDF 전용: **현재 개요** 트리(목차)를 인수로 제공된 것으로 완전히 교체합니다. 성공적으로 실행한 후 새 개요 트리는 " +":meth:`Document.get_toc` 또는 :attr:`Document.outline` 을 통해 평소와 같이 액세스할 수 " +"있습니다. 다른 출력 지향 메서드와 마찬가지로 변경 사항은 :meth:`save` 를 통해서만 영구적으로 적용됩니다(증분 저장 " +"지원). 내부적으로 이 메서드는 다음 두 단계로 구성됩니다. 데모는 아래 예제를 참조하세요." + +#: ../../document.rst:1135 98622e412665444fab7ff8c2eda90595 +msgid "Step 1 deletes all existing bookmarks." +msgstr "1단계는 기존 북마크를 모두 삭제합니다." + +#: ../../document.rst:1137 6eedcc83ffe74d67bf4a3b29582462f3 +msgid "Step 2 creates a new TOC from the entries contained in *toc*." +msgstr "2단계는 *toc* 에 포함된 항목에서 새 TOC를 생성합니다." + +#: ../../document.rst:1139 cadc625db49a4809b4d70bf9b2a3933b +msgid "" +"A list / tuple with **all bookmark entries** that should form the new " +"table of contents. Output variants of :meth:`get_toc` are acceptable. To " +"completely remove the table of contents specify an empty sequence or " +"None. Each item must be a list with the following format. * [lvl, title," +" page [, dest]] where - **lvl** is the hierarchy level (int > 0) of " +"the item, which **must be 1** for the first item and at most 1 larger " +"than the previous one. - **title** (str) is the title to be displayed." +" It is assumed to be UTF-8-encoded (relevant for multibyte code points " +"only). - **page** (int) is the target page number **(attention: " +"1-based)**. Must be in valid range if positive. Set it to -1 if there is " +"no target, or the target is external. - **dest** (optional) is a " +"dictionary or a number. If a number, it will be interpreted as the " +"desired height (in points) this entry should point to on the page. Use a " +"dictionary (like the one given as output by `get_toc(False)`) for a " +"detailed control of the bookmark's properties, see " +":meth:`Document.get_toc` for a description." +msgstr "" + +#: ../../document.rst:1141 cdb59ec76f7847e3a0cf3a5b77792ed4 +msgid "" +"A list / tuple with **all bookmark entries** that should form the new " +"table of contents. Output variants of :meth:`get_toc` are acceptable. To " +"completely remove the table of contents specify an empty sequence or " +"None. Each item must be a list with the following format." +msgstr "" +"새 목차를 구성할 **모든 북마크 항목** 이 포함된 리스트/튜플. :meth:`get_toc` 의 출력 변형이 허용됩니다. 목차를 " +"완전히 제거하려면 빈 시퀀스 또는 None을 지정하세요. 각 항목은 다음 형식의 리스트여야 합니다." + +#: ../../document.rst:1143 626c048ee62e42a0bef1b3584f2589f5 +msgid "[lvl, title, page [, dest]] where" +msgstr "[lvl, title, page [, dest]] 여기서" + +#: ../../document.rst:1145 8bb47b49efa14fc99859d1452d07bf69 +msgid "" +"**lvl** is the hierarchy level (int > 0) of the item, which **must be 1**" +" for the first item and at most 1 larger than the previous one." +msgstr "" +"**lvl** 은 항목의 계층 수준(int > 0)이며, 첫 번째 항목의 경우 **반드시 1** 이어야 하고 이전 항목보다 최대 " +"1만큼 클 수 있습니다." + +#: ../../document.rst:1147 f1f7cd98aae94a2e8c0a85f5fbe9d7d6 +msgid "" +"**title** (str) is the title to be displayed. It is assumed to be " +"UTF-8-encoded (relevant for multibyte code points only)." +msgstr "**title** (str)는 표시할 제목입니다. UTF-8로 인코딩된 것으로 가정됩니다(멀티바이트 코드 포인트에만 해당)." + +#: ../../document.rst:1149 092134e22d9345ce9a23c842f343e4ba +msgid "" +"**page** (int) is the target page number **(attention: 1-based)**. Must " +"be in valid range if positive. Set it to -1 if there is no target, or the" +" target is external." +msgstr "" +"**page** (int)는 대상 페이지 번호입니다 **(주의: 1 기반)**. 양수인 경우 유효한 범위에 있어야 합니다. 대상이 " +"없거나 대상이 외부인 경우 -1로 설정하세요." + +#: ../../document.rst:1151 b99ea47aafda42d489c734010b1649d5 +msgid "" +"**dest** (optional) is a dictionary or a number. If a number, it will be " +"interpreted as the desired height (in points) this entry should point to " +"on the page. Use a dictionary (like the one given as output by " +"`get_toc(False)`) for a detailed control of the bookmark's properties, " +"see :meth:`Document.get_toc` for a description." +msgstr "" +"**dest** (선택적)는 딕셔너리 또는 숫자입니다. 숫자인 경우 이 항목이 페이지에서 가리켜야 하는 원하는 높이(포인트)로 " +"해석됩니다. 북마크 속성을 세부적으로 제어하려면 딕셔너리를 사용하세요(`get_toc(False)` 의 출력과 같은 형식). 설명은" +" :meth:`Document.get_toc` 를 참조하세요." + +#: ../../document.rst:1153 140d7baa991d45d0af1070c30abc800a +msgid "" +"*(new in v1.16.9)* controls the hierarchy level beyond which outline " +"entries should initially show up collapsed. The default 1 will hence only" +" display level 1, higher levels must be unfolded using the PDF viewer. To" +" unfold everything, specify either a large integer, 0 or None." +msgstr "" +"*(v1.16.9에서 새로 추가됨)* 개요 항목이 처음에 접힌 상태로 표시되어야 하는 계층 수준을 제어합니다. 기본값 1은 따라서 " +"레벨 1만 표시하며, 더 높은 레벨은 PDF 뷰어를 사용하여 펼쳐야 합니다. 모든 것을 펼치려면 큰 정수, 0 또는 None을 " +"지정하세요." + +#: ../../document.rst:1156 94fd3cfe66044726bbc940305f4fedfd +msgid "the number of inserted, resp. deleted items." +msgstr "삽입된 항목 수, 각각 삭제된 항목 수." + +#: ../../document.rst:1158 61bddd5d79224a969e31759461728b07 +msgid "" +"Changed in v1.23.8: Destination 'to' coordinates should now be in the " +"same coordinate system as those returned by `get_toc()` (internally they " +"are now transformed with `page.cropbox` and `page.rotation_matrix`). So " +"for example `set_toc(get_toc())` now gives unchanged destination 'to' " +"coordinates." +msgstr "" +"v1.23.8에서 변경됨: 대상 'to' 좌표는 이제 `get_toc()` 에서 반환하는 것과 동일한 좌표계에 있어야 " +"합니다(내부적으로 `page.cropbox` 와 `page.rotation_matrix` 로 변환됨). 예를 들어 " +"`set_toc(get_toc())` 는 이제 변경되지 않은 대상 'to' 좌표를 제공합니다." + +#: ../../document.rst:1168 d2b2c6ea9a0a4e158130c63e477b1548 +msgid "" +"PDF only: Return the :data:`xref` of the outline item. This is mainly " +"used for internal purposes." +msgstr "PDF 전용: 개요 항목의 :data:`xref` 를 반환합니다. 주로 내부 목적으로 사용됩니다." + +#: ../../document.rst:1170 41a5cf21e50745f3aba9288a72873f10 +msgid "index of the item in list :meth:`Document.get_toc`." +msgstr ":meth:`Document.get_toc` 리스트의 항목 인덱스." + +#: ../../document.rst:1172 849479f903f34747a2b708a93d748011 +msgid ":data:`xref`." +msgstr ":data:`xref`." + +#: ../../document.rst:1177 4dd33d7619fc44ecbbe5d72e91d84012 +msgid "" +"Changed in v1.18.14: no longer remove the item's text, but show it " +"grayed-out." +msgstr "v1.18.14에서 변경됨: 항목의 텍스트를 더 이상 제거하지 않고 회색으로 표시합니다." + +#: ../../document.rst:1179 f49f270454b7447389c99fbc3c081369 +msgid "" +"PDF only: Remove this TOC item. This is a high-speed method, which " +"**disables** the respective item, but leaves the overall TOC structure " +"intact. Physically, the item still exists in the TOC tree, but is shown " +"grayed-out and will no longer point to any destination." +msgstr "" +"PDF 전용: 이 TOC 항목을 제거합니다. 이것은 해당 항목을 **비활성화** 하지만 전체 TOC 구조는 그대로 유지하는 고속 " +"메서드입니다. 물리적으로 항목은 여전히 TOC 트리에 존재하지만 회색으로 표시되며 더 이상 어떤 대상도 가리키지 않습니다." + +#: ../../document.rst:1181 b5b90e9a53374eb4a723ed21fc6f0ac1 +msgid "" +"This also implies that you can reassign the item to a new destination " +"using :meth:`Document.set_toc_item`, when required." +msgstr "이것은 필요할 때 :meth:`Document.set_toc_item` 을 사용하여 항목을 새 대상에 재할당할 수 있음을 의미합니다." + +#: ../../document.rst:1183 6d53ee1db74b4a2caa95023d65e00b0e +msgid "the index of the item in list :meth:`Document.get_toc`." +msgstr ":meth:`Document.get_toc` 리스트의 항목 인덱스." + +#: ../../document.rst:1189 20ab18dcdb0c4c36a8f7146969f7343a +msgid "Changed in v1.18.6" +msgstr "v1.18.6에서 변경됨" + +#: ../../document.rst:1191 bea76c094b844e56a30d16649f55b442 +msgid "" +"PDF only: Changes the TOC item identified by its index. Change the item " +"**title**, **destination**, **appearance** (color, bold, italic) or " +"collapsing sub-items -- or to remove the item altogether." +msgstr "" +"PDF 전용: 인덱스로 식별된 TOC 항목을 변경합니다. 항목의 **제목**, **대상**, **모양** (색상, 굵게, 기울임꼴)" +" 또는 하위 항목 접기 -- 또는 항목을 완전히 제거합니다." + +#: ../../document.rst:1193 a1abb954511f4decb89272ea3006c663 +msgid "" +"Use this method if you need specific changes for selected entries only " +"and want to avoid replacing the complete TOC. This is beneficial " +"especially when dealing with large table of contents." +msgstr "" +"선택한 항목에 대해서만 특정 변경이 필요하고 전체 TOC를 교체하는 것을 피하려는 경우 이 메서드를 사용하세요. 특히 큰 목차를 " +"다룰 때 유용합니다." + +#: ../../document.rst:1195 bf1e8e83220f4e99987d442177c40897 +msgid "the index of the entry in the list created by :meth:`Document.get_toc`." +msgstr ":meth:`Document.get_toc` 로 생성된 리스트의 항목 인덱스." + +#: ../../document.rst:1196 f97b0254a2a845b7962cca10c78ef12c +msgid "" +"the new destination. A dictionary like the last entry of an item in " +"`doc.get_toc(False)`. Using this as a template is recommended. When " +"given, **all other parameters are ignored** -- except title." +msgstr "" +"새 대상. `doc.get_toc(False)` 의 항목 마지막 항목과 같은 딕셔너리. 이것을 템플릿으로 사용하는 것이 권장됩니다." +" 제공되면 **다른 모든 매개변수는 무시됩니다** -- 제목 제외." + +#: ../../document.rst:1197 c97e2f7c844f4e64b68ed04c274e7af0 +msgid "" +"the link kind, see :ref:`linkDest Kinds`. If :data:`LINK_NONE`, then all " +"remaining parameter will be ignored, and the TOC item will be removed -- " +"same as :meth:`Document.del_toc_item`. If None, then only the title is " +"modified and the remaining parameters are ignored. All other values will " +"lead to making a new destination dictionary using the subsequent " +"arguments." +msgstr "" +"링크 종류, :ref:`linkDest Kinds` 참조. :data:`LINK_NONE` 인 경우 나머지 모든 매개변수가 무시되고" +" TOC 항목이 제거됩니다 -- :meth:`Document.del_toc_item` 과 동일. None인 경우 제목만 수정되고 " +"나머지 매개변수는 무시됩니다. 다른 모든 값은 후속 인수를 사용하여 새 대상 딕셔너리를 만듭니다." + +#: ../../document.rst:1198 d3439567ac7042319ae8dd763512500a +msgid "" +"the 1-based page number, i.e. a value 1 <= pno <= doc.page_count. " +"Required for LINK_GOTO." +msgstr "1 기반 페이지 번호, 즉 값 1 <= pno <= doc.page_count. LINK_GOTO에 필요합니다." + +#: ../../document.rst:1199 5a95d66b5b9a4ae891896126c4591958 +msgid "the URL text. Required for LINK_URI." +msgstr "URL 텍스트. LINK_URI에 필요합니다." + +#: ../../document.rst:1200 bd37daff52754143bd1d58d51f64fa0f +msgid "the desired new title. None if no change." +msgstr "원하는 새 제목. 변경 없으면 None." + +#: ../../document.rst:1201 9fb31ce97f374940aa9639c9f54f25a9 +msgid "" +"(optional) points to a coordinate on the target page. Relevant for " +"LINK_GOTO. If omitted, a point near the page's top is chosen." +msgstr "(선택적) 대상 페이지의 좌표를 가리킵니다. LINK_GOTO와 관련이 있습니다. 생략하면 페이지 상단 근처의 점이 선택됩니다." + +#: ../../document.rst:1202 5f66a09773424b2dbe81dd4a8fc3c30a +msgid "required for LINK_GOTOR and LINK_LAUNCH." +msgstr "LINK_GOTOR 및 LINK_LAUNCH에 필요합니다." + +#: ../../document.rst:1203 b487f04964a9453baf8d5d209996a7fa +msgid "use this zoom factor when showing the target page." +msgstr "대상 페이지를 표시할 때 이 확대/축소 비율을 사용합니다." + +#: ../../document.rst:1205 462fa8fbb28645c3918464eef6bf19af +msgid "**Example use:** Change the TOC of the SWIG manual to achieve this:" +msgstr "**사용 예:** SWIG 매뉴얼의 TOC를 변경하여 다음을 달성합니다:" + +#: ../../document.rst:1207 266f767d832b44239b654042eb109117 +msgid "" +"Collapse everything below top level and show the chapter on Python " +"support in red, bold and italic::" +msgstr "최상위 레벨 아래의 모든 항목을 접고 Python 지원 장을 빨간색, 굵게, 기울임꼴로 표시합니다::" + +#: ../../document.rst:1224 dbbb176419574079b65c7d553aca8513 +msgid "" +"In the previous example, we have changed only 42 of the 1240 TOC items of" +" the file." +msgstr "이전 예제에서 파일의 1240개 TOC 항목 중 42개만 변경했습니다." + +#: ../../document.rst:1228 9c0eac3df7ec40818cf474ec6d1b90e0 +msgid "" +"PDF only: Convert annotations and / or widgets to become permanent parts " +"of the pages. The PDF **will be changed** by this method. If `widgets` is" +" `True`, the document will also no longer be a \"Form PDF\"." +msgstr "" +"PDF 전용: 주석 및/또는 위젯을 페이지의 영구 부분으로 변환합니다. 이 메서드로 PDF가 **변경됩니다**. `widgets` " +"가 `True` 인 경우 문서는 더 이상 \"Form PDF\"가 아닙니다." + +#: ../../document.rst:1230 bf59f3a2a5f7468f8a28de2522317838 +msgid "" +"All pages will look the same, but will no longer have annotations, " +"respectively fields. The visible parts will be converted to standard " +"text, vector graphics or images as required." +msgstr "" +"모든 페이지는 동일하게 보이지만 더 이상 주석 또는 필드를 갖지 않습니다. 표시되는 부분은 필요에 따라 표준 텍스트, 벡터 그래픽 " +"또는 이미지로 변환됩니다." + +#: ../../document.rst:1232 61e967b2174c4737b81e4fbc697f2643 +msgid "" +"The method may thus be a viable **alternative for PDF-to-PDF " +"conversions** using :meth:`Document.convert_to_pdf`." +msgstr "" +"따라서 이 메서드는 :meth:`Document.convert_to_pdf` 를 사용한 **PDF-to-PDF 변환의 대안** 이 " +"될 수 있습니다." + +#: ../../document.rst:1234 19d028b19c044458b9d15ce7b68d5d72 +msgid "" +"Please consider that annotations are complex objects and may consist of " +"more data \"underneath\" their visual appearance. Examples are \"Text\" " +"and \"FileAttachment\" annotations. When \"baking in\" annotations / " +"widgets with this method, all this underlying information (attached " +"files, comments, associated PopUp annotations, etc.) will be lost and be " +"removed on next garbage collection." +msgstr "" +"주석은 복잡한 객체이며 시각적 모양 \"아래\"에 더 많은 데이터가 포함될 수 있습니다. 예는 \"Text\" 및 " +"\"FileAttachment\" 주석입니다. 이 메서드로 주석/위젯을 \"구워 넣을\" 때 모든 기본 정보(첨부 파일, 주석, " +"관련 PopUp 주석 등)가 손실되고 다음 가비지 수집 시 제거됩니다." + +#: ../../document.rst:1236 0f6435c640bd4abd83e3ab107d798d3c +msgid "" +"Use this feature for instance for :meth:`Page.show_pdf_page` (which " +"supports neither annotations nor widgets) when the source pages should " +"look exactly the same in the target." +msgstr "" +"소스 페이지가 대상에서 정확히 동일하게 보여야 할 때 예를 들어 :meth:`Page.show_pdf_page` (주석도 위젯도 " +"지원하지 않음)에 이 기능을 사용하세요." + +#: ../../document.rst:1239 96ef3fe55fbe415fb7e1ba9a12bf11bf +msgid "convert annotations." +msgstr "주석을 변환합니다." + +#: ../../document.rst:1240 7f5d0a321b3940488ca3fb6c8f2943e9 +msgid "" +"convert fields / widgets. After execution, the document will no longer be" +" a \"Form PDF\"." +msgstr "필드/위젯을 변환합니다. 실행 후 문서는 더 이상 \"Form PDF\"가 아닙니다." + +#: ../../document.rst:1245 60d5dfcfd9a74425a9d56d6dbf2c1d2c +msgid "New in v1.16.0" +msgstr "v1.16.0에서 새로 추가됨" + +#: ../../document.rst:1247 bb7bb5385d2e417bbdfd1f53e52a28d9 +msgid "" +"Check whether the document can be saved incrementally. Use it to choose " +"the right option without encountering exceptions." +msgstr "문서를 증분 저장할 수 있는지 확인합니다. 예외 없이 올바른 옵션을 선택하는 데 사용하세요." + +#: ../../document.rst:1251 bc2493d433b7493eacdc1dc5afe9f7a5 +msgid "New in v1.16.14" +msgstr "v1.16.14에서 새로 추가됨" + +#: ../../document.rst:1253 714cf5c63fe148968601af72485159a0 +msgid "" +"PDF only: Remove potentially sensitive data from the PDF. This function " +"is inspired by the similar \"Sanitize\" function in Adobe Acrobat " +"products. The process is configurable by a number of options." +msgstr "" +"PDF 전용: PDF에서 잠재적으로 민감한 데이터를 제거합니다. 이 함수는 Adobe Acrobat 제품의 유사한 " +"\"Sanitize\" 함수에서 영감을 받았습니다. 프로세스는 여러 옵션으로 구성할 수 있습니다." + +#: ../../document.rst:1255 d59772e9be994beb89b82b6a50277c35 +msgid "Search for 'FileAttachment' annotations and remove the file content." +msgstr "'FileAttachment' 주석을 검색하고 파일 콘텐츠를 제거합니다." + +#: ../../document.rst:1256 b0de421c4e9f4532b9e1e53b36cffbb2 +msgid "" +"Remove any comments from page painting sources. If this option is set to " +"``False``, then this is also done for *hidden_text* and *redactions*." +msgstr "" +"페이지 그리기 소스에서 모든 주석을 제거합니다. 이 옵션이 ``False`` 로 설정되면 *hidden_text* 및 " +"*redactions* 에 대해서도 수행됩니다." + +#: ../../document.rst:1257 9dc57a2c711d40f3a2f979b1f9b73c45 +msgid "Remove embedded files." +msgstr "임베디드 파일을 제거합니다." + +#: ../../document.rst:1258 e259fd77d3b44e3aaf2df616427e9cff +msgid "Remove OCRed text and invisible text [#f7]_." +msgstr "OCR된 텍스트와 보이지 않는 텍스트를 제거합니다 [#f7]_." + +#: ../../document.rst:1259 3050a96f9ed648baa8cc07b5bf30aef0 +msgid "Remove JavaScript sources." +msgstr "JavaScript 소스를 제거합니다." + +#: ../../document.rst:1260 242893b3617448a98703d146fc18d440 +msgid "Remove PDF standard metadata." +msgstr "PDF 표준 메타데이터를 제거합니다." + +#: ../../document.rst:1261 390e373af5eb4c48829f4f6b53cddc73 +msgid "Apply redaction annotations." +msgstr "수정 주석을 적용합니다." + +#: ../../document.rst:1262 4cd57dcd3a694fee956d822ac6b5a852 +msgid "" +"how to handle images if applying redactions. One of 0 (ignore), 1 (blank " +"out overlaps) or 2 (remove)." +msgstr "수정을 적용할 때 이미지를 처리하는 방법. 0(무시), 1(겹침을 비움) 또는 2(제거) 중 하나." + +#: ../../document.rst:1263 00ef5f77074d44bb82fcda8759ce527b +msgid "Remove all links." +msgstr "모든 링크를 제거합니다." + +#: ../../document.rst:1264 526404ef66ce4cb6862edcb9f410cf85 +msgid "Reset all form fields to their defaults." +msgstr "모든 양식 필드를 기본값으로 재설정합니다." + +#: ../../document.rst:1265 2a989b196378452b91c99bb4b36f7458 +msgid "Remove all responses from all annotations." +msgstr "모든 주석에서 모든 응답을 제거합니다." + +#: ../../document.rst:1266 1f49855b78e9418d850fe0705af4921a +msgid "Remove thumbnail images from pages." +msgstr "페이지에서 썸네일 이미지를 제거합니다." + +#: ../../document.rst:1267 73db39387008420ebb8ec2ac21beb2bf +msgid "Remove XML metadata." +msgstr "XML 메타데이터를 제거합니다." + +#: ../../document.rst:1272 ../../document.rst:1349 +#: 04276335faaa444494e1bdf6a447a071 40680bdd5180459eb399cc80b91c47c1 +msgid "Changed in v1.18.7" +msgstr "v1.18.7에서 변경됨" + +#: ../../document.rst:1273 ../../document.rst:1350 +#: 7d3e460da3e047e891e251c4b7cfa065 cbd0cf9d3ec94dd9a661a91259f0312b +msgid "Changed in v1.19.0" +msgstr "v1.19.0에서 변경됨" + +#: ../../document.rst:1274 ../../document.rst:1351 +#: 59e6623e271c4a75bf5f34ff948d1f81 cd2af959721d45009d28f6cd97a4f518 +msgid "Changed in v1.24.1" +msgstr "v1.24.1에서 변경됨" + +#: ../../document.rst:1276 a358c08f51ec4d6a97cc369b80908ba3 +msgid "PDF only: Saves the document in its **current state**." +msgstr "PDF 전용: 문서를 **현재 상태** 로 저장합니다." + +#: ../../document.rst:1278 8b66e825ec804b7a91f56a4510709e2a +msgid "" +"The file path, `pathlib.Path` or file object to save to. A file object " +"must have been created before via `open(...)` or `io.BytesIO()`. Choosing" +" `io.BytesIO()` is similar to :meth:`Document.tobytes` below, which " +"equals the `getvalue()` output of an internally created `io.BytesIO()`." +msgstr "" +"저장할 파일 경로, `pathlib.Path` 또는 파일 객체. 파일 객체는 `open(...)` 또는 `io.BytesIO()` " +"를 통해 미리 생성되어야 합니다. `io.BytesIO()` 를 선택하는 것은 아래 :meth:`Document.tobytes` 와" +" 유사하며, 내부적으로 생성된 `io.BytesIO()` 의 `getvalue()` 출력과 같습니다." + +#: ../../document.rst:1280 bec970d0303f4a7caee288540e178d40 +msgid "" +"Do garbage collection. Positive values exclude \"incremental\". * 0 = " +"none * 1 = remove unused (unreferenced) objects. * 2 = in addition to 1, " +"compact the :data:`xref` table. * 3 = in addition to 2, merge duplicate " +"objects. * 4 = in addition to 3, check :data:`stream` objects for " +"duplication. This may be slow because such data are typically large." +msgstr "" + +#: ../../document.rst:1280 a27314cc7f4b477ca9f090f899cff41b +msgid "Do garbage collection. Positive values exclude \"incremental\"." +msgstr "가비지 수집을 수행합니다. 양수 값은 \"incremental\"을 제외합니다." + +#: ../../document.rst:1282 ../../document.rst:1300 +#: 04eb5f84c28048669c20567fe0e48169 d200a55bded140df93fc1fcc51582d76 +msgid "0 = none" +msgstr "0 = 없음" + +#: ../../document.rst:1283 8be03fa92a78481192962b895c92585d +msgid "1 = remove unused (unreferenced) objects." +msgstr "1 = 사용되지 않는(참조되지 않은) 객체를 제거합니다." + +#: ../../document.rst:1284 6bb26ad0c00642a2a6e3e6ecc079e041 +msgid "2 = in addition to 1, compact the :data:`xref` table." +msgstr "2 = 1에 추가하여 :data:`xref` 테이블을 압축합니다." + +#: ../../document.rst:1285 aa51c2a5b852418985e4421a102ccca8 +msgid "3 = in addition to 2, merge duplicate objects." +msgstr "3 = 2에 추가하여 중복 객체를 병합합니다." + +#: ../../document.rst:1286 dac3401261ab4ae5aaecdecc10a1d24b +msgid "" +"4 = in addition to 3, check :data:`stream` objects for duplication. This " +"may be slow because such data are typically large." +msgstr "4 = 3에 추가하여 :data:`stream` 객체의 중복을 확인합니다. 이러한 데이터는 일반적으로 크기 때문에 느릴 수 있습니다." + +#: ../../document.rst:1288 97a5b429f80a42baaa67acfaafa3ccd8 +msgid "" +"Clean and sanitize content streams [#f1]_. Corresponds to \"mutool clean " +"-sc\"." +msgstr "콘텐츠 스트림을 정리하고 정화합니다 [#f1]_. \"mutool clean -sc\" 에 해당합니다." + +#: ../../document.rst:1290 25320d9b0afa46a7a2263c5a006d74ce +msgid "Deflate (compress) uncompressed streams." +msgstr "압축되지 않은 스트림을 Deflate(압축)합니다." + +#: ../../document.rst:1291 17c88bde58484f2191ddb9cdc5c7908f +msgid "*(new in v1.18.3)* Deflate (compress) uncompressed image streams [#f4]_." +msgstr "*(v1.18.3에서 새로 추가됨)* 압축되지 않은 이미지 스트림을 Deflate(압축)합니다 [#f4]_." + +#: ../../document.rst:1292 f16362460abf4cb5b19b3a97d5dbb203 +msgid "" +"*(new in v1.18.3)* Deflate (compress) uncompressed fontfile streams " +"[#f4]_." +msgstr "*(v1.18.3에서 새로 추가됨)* 압축되지 않은 폰트 파일 스트림을 Deflate(압축)합니다 [#f4]_." + +#: ../../document.rst:1294 2d48d3b453ec453e9a06ecd5a76223e0 +msgid "" +"Only save changes to the PDF. Excludes \"garbage\" and \"linear\". Can " +"only be used if *outfile* is a string or a `pathlib.Path` and equal to " +":attr:`Document.name`. Cannot be used for files that are decrypted or " +"repaired and also in some other cases. To be sure, check " +":meth:`Document.can_save_incrementally`. If this is false, saving to a " +"new file is required." +msgstr "" +"PDF에 변경 사항만 저장합니다. \"garbage\" 및 \"linear\"를 제외합니다. *outfile* 이 문자열이거나 " +"`pathlib.Path` 이고 :attr:`Document.name` 과 같을 때만 사용할 수 있습니다. 복호화되거나 복구된 파일" +" 및 일부 다른 경우에는 사용할 수 없습니다. 확인하려면 :meth:`Document.can_save_incrementally` 를" +" 확인하세요. 이것이 false이면 새 파일로 저장해야 합니다." + +#: ../../document.rst:1296 de1d75d087da4904a87ff4e42c567da2 +msgid "convert binary data to ASCII." +msgstr "바이너리 데이터를 ASCII로 변환합니다." + +#: ../../document.rst:1298 73573581067046a2b1d73dadb5784bef +msgid "" +"Decompress objects. Generates versions that can be better read by some " +"other programs and will lead to larger files. * 0 = none * 1 = images * " +"2 = fonts * 255 = all" +msgstr "" + +#: ../../document.rst:1298 24b492fbe4214257aab8402badd85f49 +msgid "" +"Decompress objects. Generates versions that can be better read by some " +"other programs and will lead to larger files." +msgstr "객체를 압축 해제합니다. 일부 다른 프로그램에서 더 잘 읽을 수 있는 버전을 생성하며 더 큰 파일로 이어집니다." + +#: ../../document.rst:1301 9bb1ccd1f87d4efc973cda0d5dad59b5 +msgid "1 = images" +msgstr "1 = 이미지" + +#: ../../document.rst:1302 f632c4e866254ac4a1f52bdb594e61f0 +msgid "2 = fonts" +msgstr "2 = 폰트" + +#: ../../document.rst:1303 8c01aec5e66e45e586fe77a7d35fabf8 +msgid "255 = all" +msgstr "255 = 모두" + +#: ../../document.rst:1305 cd58f0f1000c408a81e9a604b071d409 +msgid "" +"Save a linearised version of the document. This option creates a file " +"format for improved performance for Internet access. Excludes " +"\"incremental\" and \"use_objstms\"." +msgstr "" +"문서의 선형화된 버전을 저장합니다. 이 옵션은 인터넷 액세스를 위한 향상된 성능을 위한 파일 형식을 생성합니다. " +"\"incremental\" 및 \"use_objstms\"를 제외합니다." + +#: ../../document.rst:1307 5e331580fd9448fdbfa0698c6df5fe0a +msgid "" +"Prettify the document source for better readability. PDF objects will be " +"reformatted to look like the default output of " +":meth:`Document.xref_object`." +msgstr "" +"가독성을 높이기 위해 문서 소스를 예쁘게 만듭니다. PDF 객체는 :meth:`Document.xref_object` 의 기본 " +"출력처럼 보이도록 재포맷됩니다." + +#: ../../document.rst:1309 7dd16ad90be84acbaf63def731cbd264 +msgid "" +"Suppress the update of the file's `/ID` field. If the file happens to " +"have no such field at all, also suppress creation of a new one. Default " +"is `False`, so every save will lead to an updated file identification." +msgstr "" +"파일의 `/ID` 필드 업데이트를 억제합니다. 파일에 해당 필드가 전혀 없는 경우 새 필드 생성도 억제합니다. 기본값은 " +"`False` 이므로 모든 저장은 업데이트된 파일 식별로 이어집니다." + +#: ../../document.rst:1311 2a716f171a0f421fa85517312a40a191 +msgid "" +"*(new in v1.16.0)* Set the desired permission levels. See " +":ref:`PermissionCodes` for possible values. Default is granting all." +msgstr "" +"*(v1.16.0에서 새로 추가됨)* 원하는 권한 수준을 설정합니다. 가능한 값은 :ref:`PermissionCodes` 를 " +"참조하세요. 기본값은 모든 권한을 부여하는 것입니다." + +#: ../../document.rst:1313 c9d3decafb2f4d53b6c2c54c84c22e21 +msgid "" +"*(new in v1.16.0)* set the desired encryption method. See " +":ref:`EncryptionMethods` for possible values." +msgstr "" +"*(v1.16.0에서 새로 추가됨)* 원하는 암호화 방법을 설정합니다. 가능한 값은 :ref:`EncryptionMethods` 를" +" 참조하세요." + +#: ../../document.rst:1315 8c5a0443338f4058bc9b39b87a5a1ed5 +msgid "" +"*(new in v1.16.0)* set the document's owner password. *(Changed in " +"v1.18.3)* If not provided, the user password is taken if provided. The " +"string length must not exceed 40 characters." +msgstr "" +"*(v1.16.0에서 새로 추가됨)* 문서의 소유자 비밀번호를 설정합니다. *(v1.18.3에서 변경됨)* 제공되지 않으면 사용자 " +"비밀번호가 제공된 경우 사용됩니다. 문자열 길이는 40자를 초과할 수 없습니다." + +#: ../../document.rst:1317 a46b78a4a9ae4766a339e09027197bb8 +msgid "" +"*(new in v1.16.0)* set the document's user password. The string length " +"must not exceed 40 characters." +msgstr "*(v1.16.0에서 새로 추가됨)* 문서의 사용자 비밀번호를 설정합니다. 문자열 길이는 40자를 초과할 수 없습니다." + +#: ../../document.rst:1319 481e3dc0b944487ead97aee81e4ba71b +msgid "" +"*(new in v1.24.0)* compression option that converts eligible PDF object " +"definitions to information that is stored in some other object's " +":data:`stream` data. Depending on the `deflate` parameter value, the " +"converted object definitions will be compressed -- which can lead to very" +" significant file size reductions." +msgstr "" +"*(v1.24.0에서 새로 추가됨)* 적격 PDF 객체 정의를 다른 객체의 :data:`stream` 데이터에 저장된 정보로 " +"변환하는 압축 옵션. `deflate` 매개변수 값에 따라 변환된 객체 정의가 압축됩니다 -- 이는 매우 큰 파일 크기 감소로 " +"이어질 수 있습니다." + +#: ../../document.rst:1321 dc9a543907bb4a3fb5f759bc4d9a772a +msgid "" +"The method does not check, whether a file of that name already exists, " +"will hence not ask for confirmation, and overwrite the file. It is your " +"responsibility as a programmer to handle this." +msgstr "" +"이 메서드는 해당 이름의 파일이 이미 존재하는지 확인하지 않으므로 확인을 요청하지 않고 파일을 덮어씁니다. 프로그래머로서 이를 " +"처리하는 것은 귀하의 책임입니다." + +#: ../../document.rst:1325 5b4cab99c9de4187b00ce3a945826cfc +msgid "**File size reduction**" +msgstr "**파일 크기 감소**" + +#: ../../document.rst:1327 a1964e573f34479da5566208ad76e9d4 +msgid "" +"1. Use the save options like `garbage=3|4, deflate=True, " +"use_objstms=True|1`. Do not touch the default values `expand=False|0, " +"clean=False|0, incremental=False|0, linear=False|0`. This is a " +"\"lossless\" file size reduction. There is a convenience version of this " +"method with these values set by default, :meth:`Document.ez_save` -- " +"please see below." +msgstr "" +"1. `garbage=3|4, deflate=True, use_objstms=True|1` 와 같은 저장 옵션을 사용하세요. 기본값" +" `expand=False|0, clean=False|0, incremental=False|0, linear=False|0` 는 " +"건드리지 마세요. 이것은 \"무손실\" 파일 크기 감소입니다. 이러한 값이 기본적으로 설정된 이 메서드의 편의 버전인 " +":meth:`Document.ez_save` 가 있습니다 -- 아래를 참조하세요." + +#: ../../document.rst:1330 172936422e304f5b8fd9cfb2460b928b +msgid "" +"\"Lossy\" file size reduction in essence must give up something with " +"respect to images, like (a) remove all images (b) replace images by their" +" grayscale versions (c) reduce image resolutions. Find examples in the " +"`PyMuPDF Utilities \"replace-image\" folder `_." +msgstr "" +"\"손실\" 파일 크기 감소는 본질적으로 이미지와 관련하여 무언가를 포기해야 합니다. 예: (a) 모든 이미지 제거 (b) 이미지를" +" 그레이스케일 버전으로 교체 (c) 이미지 해상도 감소. 예제는 `PyMuPDF Utilities \"replace-image\" " +"폴더 `_ 에서 찾을 수 있습니다." + +#: ../../document.rst:1334 a8c04ed4cd034b1b925922ea043a48c3 +msgid "New in v1.18.11" +msgstr "v1.18.11에서 새로 추가됨" + +#: ../../document.rst:1336 8b017c18d31e4b28b04550143d27f7a4 +msgid "" +"PDF only: The same as :meth:`Document.save` but with changed defaults " +"`deflate=True, garbage=3, use_objstms=1`." +msgstr "PDF 전용: :meth:`Document.save` 와 동일하지만 기본값이 `deflate=True, garbage=3, use_objstms=1` 로 변경되었습니다." + +#: ../../document.rst:1340 2c12cc4ba1bf4213b676b7b14fcb2141 +msgid "" +"PDF only: saves the document incrementally. This is a convenience " +"abbreviation for ``doc.save(doc.name, incremental=True, " +"encryption=PDF_ENCRYPT_KEEP)``." +msgstr "PDF 전용: 문서를 증분적으로 저장합니다. ``doc.save(doc.name, incremental=True, encryption=PDF_ENCRYPT_KEEP)`` 의 편의 약어입니다." + +#: ../../document.rst:1344 4b41e922b391460dba7ebb7d4c02f035 +msgid "" +"Saving incrementally may be required if the document contains verified " +"signatures which would be invalidated by saving to a new file." +msgstr "문서에 검증된 서명이 포함되어 있는 경우 새 파일로 저장하면 무효화되므로 증분 저장이 필요할 수 있습니다." + +#: ../../document.rst:1353 bd79b7c8680c4e8191eee4f9cb511e92 +msgid "" +"PDF only: Writes the **current content of the document** to a bytes " +"object instead of to a file. Obviously, you should be wary about memory " +"requirements. The meanings of the parameters exactly equal those in " +":meth:`save`. Chapter :ref:`FAQ` contains an example for using this " +"method as a pre-processor to `pdfrw " +"`_." +msgstr "PDF 전용: 문서의 **현재 콘텐츠** 를 파일 대신 bytes 객체에 씁니다. 명백히 메모리 요구 사항에 주의해야 합니다. 매개변수의 의미는 :meth:`save` 와 정확히 동일합니다. :ref:`FAQ` 장에는 이 메서드를 `pdfrw `_ 의 전처리기로 사용하는 예제가 포함되어 있습니다." + +#: ../../document.rst:1355 55f16e8ab0644d56bc5363e89919a50c +msgid "*(Changed in v1.16.0)* for extended encryption support." +msgstr "*(v1.16.0에서 변경됨)* 확장된 암호화 지원을 위해." + +#: ../../document.rst:1358 9f76330059a5422db75889fdc995f329 +msgid "a bytes object containing the complete document." +msgstr "전체 문서를 포함하는 bytes 객체." + +#: ../../document.rst:1362 7dd8b6e2ab094eab8120755191d01969 +msgid "" +"Search for \"text\" on page number \"pno\". Works exactly like the " +"corresponding :meth:`Page.search_for`. Any integer `-∞ < pno < " +"page_count` is acceptable." +msgstr "페이지 번호 \"pno\" 에서 \"text\" 를 검색합니다. 해당 :meth:`Page.search_for` 와 정확히 동일하게 작동합니다. `-∞ < pno < page_count` 범위의 모든 정수가 허용됩니다." + +#: ../../document.rst:1380 43082a0a5f124b30970b917bb34650e5 +msgid "" +"PDF only: Copy the page range **[from_page, to_page]** (including both) " +"of PDF document *docsrc* into the current one. Inserts will start with " +"page number *start_at*. Value -1 indicates default values. All pages thus" +" copied will be rotated as specified. Links, annotations and widgets can " +"be excluded in the target, see below. All page numbers are 0-based." +msgstr "PDF 전용: PDF 문서 *docsrc* 의 페이지 범위 **[from_page, to_page]** (둘 다 포함)를 현재 문서로 복사합니다. 삽입은 페이지 번호 *start_at* 에서 시작합니다. 값 -1은 기본값을 나타냅니다. 이렇게 복사된 모든 페이지는 지정된 대로 회전됩니다. 링크, 주석 및 위젯은 대상에서 제외할 수 있습니다. 아래를 참조하세요. 모든 페이지 번호는 0 기반입니다." + +#: ../../document.rst:1382 de74f0d7ddaa4321ba9b05f7e6782d7b +msgid "" +"An opened PDF *Document* which must not be the current document. However," +" it may refer to the same underlying file." +msgstr "현재 문서가 아니어야 하는 열린 PDF *Document*. 그러나 동일한 기본 파일을 참조할 수 있습니다." + +#: ../../document.rst:1385 5d8c2339c1ed44d3a9fd29b7eac353d5 +msgid "First page number in *docsrc*. Default is zero." +msgstr "*docsrc* 의 첫 번째 페이지 번호. 기본값은 0입니다." + +#: ../../document.rst:1387 b6f7dfe8073c4e1e93f59ad9c41b7a79 +msgid "Last page number in *docsrc* to copy. Defaults to last page." +msgstr "복사할 *docsrc* 의 마지막 페이지 번호. 기본값은 마지막 페이지입니다." + +#: ../../document.rst:1389 83d52f17fb0643119d37044f7ee4f12d +msgid "" +"First copied page, will become page number *start_at* in the target. " +"Default -1 appends the page range to the end. If zero, the page range " +"will be inserted before current first page." +msgstr "첫 번째로 복사된 페이지는 대상에서 페이지 번호 *start_at* 이 됩니다. 기본값 -1은 페이지 범위를 끝에 추가합니다. 0이면 페이지 범위가 현재 첫 번째 페이지 앞에 삽입됩니다." + +#: ../../document.rst:1391 0ffa16d8a4b94f448bc2d8eefd7285f8 +msgid "" +"All copied pages will be rotated by the provided value (degrees, integer " +"multiple of 90)." +msgstr "복사된 모든 페이지는 제공된 값(도, 90의 정수 배수)만큼 회전됩니다." + +#: ../../document.rst:1393 a4ca40c2a8a14fe587100c9363d2c340 +msgid "" +"Choose whether (internal and external) links should be included in the " +"copy. Default is `True`. *Named* links (:data:`LINK_NAMED`) and internal " +"links to outside the copied page range are **always excluded**." +msgstr "(내부 및 외부) 링크를 복사본에 포함할지 선택합니다. 기본값은 `True` 입니다. *명명된* 링크(:data:`LINK_NAMED`) 및 복사된 페이지 범위 외부로의 내부 링크는 **항상 제외됩니다**." + +#: ../../document.rst:1395 f7a2eb67861840798b4bcdaa41872471 +msgid "choose whether annotations should be included in the copy." +msgstr "주석을 복사본에 포함할지 선택합니다." + +#: ../../document.rst:1397 d2e9e86dbc054d8595d70da1e19eb60a +msgid "" +"choose whether annotations should be included in the copy. If `True` and " +"at least one of the source pages contains form fields, the target PDF " +"will be turned into a Form PDF (if not already being one)." +msgstr "주석을 복사본에 포함할지 선택합니다. `True` 이고 소스 페이지 중 하나 이상에 양식 필드가 포함되어 있으면 대상 PDF가 Form PDF로 전환됩니다(아직 그렇지 않은 경우)." + +#: ../../document.rst:1399 a148422f862e4b318976a18499787dd1 +msgid "" +"*(New in version 1.25.5)* Choose how to handle duplicate root field names" +" in the source pages. This parameter is ignored if `widgets=False`. " +"Default is ``False`` which will add unifying strings to the name of those" +" source root fields which have a duplicate in the target. For instance, " +"if \"name\" already occurs in the target, the source widget's name will " +"be changed to \"name [text]\" with a suitably chosen string \"text\". If" +" ``True``, root fields with duplicate names in source and target will be " +"converted to so-called \"Kids\" of a \"Parent\" object (which lists all " +"kid widgets in a PDF array). This will effectively turn those kids into " +"instances of the \"same\" widget: if e.g. one of the kids is changed, " +"then all its instances will automatically inherit this change -- no " +"matter on which page they happen to be displayed." +msgstr "" + +#: ../../document.rst:1399 29fe39aa48044a5a87a3e46722e5dcc2 +msgid "" +"*(New in version 1.25.5)* Choose how to handle duplicate root field names" +" in the source pages. This parameter is ignored if `widgets=False`." +msgstr "*(버전 1.25.5에서 새로 추가됨)* 소스 페이지에서 중복된 루트 필드 이름을 처리하는 방법을 선택합니다. `widgets=False` 이면 이 매개변수는 무시됩니다." + +#: ../../document.rst:1401 529b0cbb3d354c4ca55021b991023c34 +msgid "" +"Default is ``False`` which will add unifying strings to the name of those" +" source root fields which have a duplicate in the target. For instance, " +"if \"name\" already occurs in the target, the source widget's name will " +"be changed to \"name [text]\" with a suitably chosen string \"text\"." +msgstr "기본값은 ``False`` 이며, 대상에 중복이 있는 소스 루트 필드의 이름에 통합 문자열을 추가합니다. 예를 들어 \"name\" 이 이미 대상에 있으면 소스 위젯의 이름이 적절히 선택된 문자열 \"text\" 와 함께 \"name [text]\" 로 변경됩니다." + +#: ../../document.rst:1403 ff97b1ac50a4459b81ac03121569ae66 +msgid "" +"If ``True``, root fields with duplicate names in source and target will " +"be converted to so-called \"Kids\" of a \"Parent\" object (which lists " +"all kid widgets in a PDF array). This will effectively turn those kids " +"into instances of the \"same\" widget: if e.g. one of the kids is " +"changed, then all its instances will automatically inherit this change --" +" no matter on which page they happen to be displayed." +msgstr "``True`` 인 경우 소스와 대상에 중복 이름이 있는 루트 필드는 \"Parent\" 객체의 소위 \"Kids\" 로 변환됩니다(PDF 배열에 모든 자식 위젯을 나열). 이것은 효과적으로 이러한 자식을 \"동일한\" 위젯의 인스턴스로 만듭니다: 예를 들어 자식 중 하나가 변경되면 모든 인스턴스가 자동으로 이 변경을 상속받습니다 -- 어떤 페이지에 표시되든 상관없이." + +#: ../../document.rst:1405 952c23aab20d49af9f19214ea9c24063 +msgid "" +"*(new in v1.17.7)* specify an interval size greater zero to see progress " +"messages on `sys.stdout`. After each interval, a message like `Inserted " +"30 of 47 pages.` will be printed." +msgstr "*(v1.17.7에서 새로 추가됨)* `sys.stdout` 에 진행 메시지를 보려면 0보다 큰 간격 크기를 지정하세요. 각 간격 후에 `Inserted 30 of 47 pages.` 와 같은 메시지가 인쇄됩니다." + +#: ../../document.rst:1407 2ff6cf0ddbbf4801a6e1c4b587de1a46 +msgid "" +"*(new in v1.18.0)* controls whether the list of already copied objects " +"should be **dropped** after this method, default ``True``. Set it to 0 " +"except for the last one of multiple insertions from the same source PDF. " +"This saves target file size and speeds up execution considerably." +msgstr "" +"*(v1.18.0에서 새로 추가됨)* 이미 복사된 객체 목록을 이 메서드 후에 **삭제** 할지 제어합니다. 기본값 " +"``True``. 동일한 소스 PDF에서 여러 삽입의 마지막 항목을 제외하고는 0으로 설정하세요. 이것은 대상 파일 크기를 절약하고" +" 실행 속도를 크게 향상시킵니다." + +#: ../../document.rst:1411 9372e5e0d8e041ac8259407781272ad0 +msgid "" +"This is a page-based method. Document-level information of source " +"documents is therefore mostly ignored. Examples include Optional Content," +" Embedded Files, `StructureElem`, table of contents, page labels, " +"metadata, named destinations (and other named entries) and some more." +msgstr "" +"이것은 페이지 기반 메서드입니다. 따라서 소스 문서의 문서 수준 정보는 대부분 무시됩니다. 예로는 Optional Content, " +"Embedded Files, `StructureElem`, 목차, 페이지 레이블, 메타데이터, 명명된 대상(및 기타 명명된 항목) " +"등이 있습니다." + +#: ../../document.rst:1413 43f4211198a343f48f9021d6315262d3 +msgid "" +"If `from_page > to_page`, pages will be **copied in reverse order**. If " +"`0 <= from_page == to_page`, then one page will be copied." +msgstr "" +"`from_page > to_page` 인 경우 페이지는 **역순으로 복사됩니다**. `0 <= from_page == " +"to_page` 인 경우 한 페이지가 복사됩니다." + +#: ../../document.rst:1415 7cc285a8c29d43469d52cb1b3c81c8e3 +msgid "" +"`docsrc` TOC entries **will not be copied**. It is easy however, to " +"recover a table of contents for the resulting document. Look at the " +"examples below and at program `join.py `_ in the " +"*examples* directory: it can join PDF documents and at the same time " +"piece together respective parts of the tables of contents." +msgstr "" +"`docsrc` TOC 항목은 **복사되지 않습니다**. 그러나 결과 문서에 대한 목차를 복구하는 것은 쉽습니다. 아래 예제와 " +"*examples* 디렉토리의 프로그램 `join.py `_ 을 참조하세요: PDF 문서를" +" 결합하고 동시에 목차의 해당 부분을 함께 구성할 수 있습니다." + +#: ../../document.rst:1432 d2452152a5034a9ca2daefca1e0824cc +msgid "New in v1.22.0" +msgstr "v1.22.0에서 새로 추가됨" + +#: ../../document.rst:1434 7373f7c4857c46cf8292d68949ff4f6b +msgid "" +"PDF only: Add an arbitrary supported document to the current PDF. Opens " +"\"infile\" as a document, converts it to a PDF and then invokes " +":meth:`Document.insert_pdf`. Parameters are the same as for that method. " +"Among other things, this features an easy way to append images as full " +"pages to an output PDF." +msgstr "" +"PDF 전용: 임의의 지원되는 문서를 현재 PDF에 추가합니다. \"infile\" 을 문서로 열고 PDF로 변환한 다음 " +":meth:`Document.insert_pdf` 를 호출합니다. 매개변수는 해당 메서드와 동일합니다. 특히 이것은 이미지를 전체 " +"페이지로 출력 PDF에 추가하는 쉬운 방법을 제공합니다." + +#: ../../document.rst:1436 f479d2cec81c433ebe02aedeecb37264 +msgid "" +"the input document to insert. May be a filename specification as is valid" +" for creating a :ref:`Document` or a :ref:`Pixmap`." +msgstr "삽입할 입력 문서. :ref:`Document` 또는 :ref:`Pixmap` 생성에 유효한 파일명 지정일 수 있습니다." + +#: ../../document.rst:1445 8dcf3ea094984946a1ab40d0ac352086 +msgid "PDF only: Insert an empty page." +msgstr "PDF 전용: 빈 페이지를 삽입합니다." + +#: ../../document.rst:1447 00a8d07f6d82488a9575361ef2378659 +msgid "" +"page number index (zero-indexed) at which to insert page. Special values " +"-1 and *doc.page_count* insert **after** the last page." +msgstr "" +"페이지를 삽입할 페이지 번호 인덱스(0 기반). 특수 값 -1 및 *doc.page_count* 는 마지막 페이지 **뒤에** " +"삽입합니다." + +#: ../../document.rst:1449 3f3a9a8d80db4350b6aa231d7cc28695 +msgid "page width." +msgstr "페이지 너비." + +#: ../../document.rst:1450 7f73155629f24628a3c4e697f5a95326 +msgid "page height." +msgstr "페이지 높이." + +#: ../../document.rst:1453 f93d2c1aec874e60af37aecd88602571 +msgid "" +"the created page object. Be aware that the page numbers of pages after " +"the inserted one will have changed after method execution. For the same " +"reason, **all existing page objects will be invalidated.** Using them " +"will lead to exceptions." +msgstr "" +"생성된 페이지 객체. 삽입된 페이지 이후의 페이지 번호는 메서드 실행 후 변경됩니다. 같은 이유로 **모든 기존 페이지 객체가 " +"무효화됩니다.** 사용하면 예외가 발생합니다." + +#: ../../document.rst:1465 4fec146cb4a844ac8c297a57c50caac2 +msgid "" +"PDF only: Insert a new page and insert some text. Convenience function " +"which combines :meth:`Document.new_page` and (parts of) " +":meth:`Page.insert_text`." +msgstr "" +"PDF 전용: 새 페이지를 삽입하고 일부 텍스트를 삽입합니다. :meth:`Document.new_page` 와 " +":meth:`Page.insert_text` (일부)를 결합한 편의 함수입니다." + +#: ../../document.rst:1467 e3181bddc05248ee94dcee0c6c40a956 +msgid "" +"page number index (zero-indexed) at which to insert page. Special values " +"-1 and `doc.page_count` insert **after** the last page. Changed in " +"v1.14.12 This is now a positional parameter" +msgstr "" +"" + +#: ../../document.rst:1467 bb201d9d3e05493ca05d394ffe6eb5be +msgid "" +"page number index (zero-indexed) at which to insert page. Special values " +"-1 and `doc.page_count` insert **after** the last page." +msgstr "" +"페이지를 삽입할 페이지 번호 인덱스(0 기반). 특수 값 -1 및 `doc.page_count` 는 마지막 페이지 **뒤에** " +"삽입합니다." + +#: ../../document.rst:1470 690c131f782848fabe1418ba0e89c425 +msgid "Changed in v1.14.12" +msgstr "v1.14.12에서 변경됨" + +#: ../../document.rst:1470 47247eda374945e2ad736398081742d3 +msgid "This is now a positional parameter" +msgstr "이것은 이제 위치 매개변수입니다" + +#: ../../document.rst:1472 b0c0975bac1c45d5994beda8b6775b5b +msgid "For the other parameters, please consult the aforementioned methods." +msgstr "다른 매개변수는 위에서 언급한 메서드를 참조하세요." + +#: ../../document.rst:1475 6d101fcbabdf43b0ac289c175ff53220 +msgid "" +"the result of :meth:`Page.insert_text` (number of successfully inserted " +"lines)." +msgstr ":meth:`Page.insert_text` 의 결과(성공적으로 삽입된 줄 수)." + +#: ../../document.rst:1479 ecc50b85f14241d2aa31343b5e5aa5f7 +msgid "" +"PDF only: Delete a page given by its 0-based number in `-∞ < pno < " +"page_count`." +msgstr "PDF 전용: `-∞ < pno < page_count` 범위의 0 기반 번호로 지정된 페이지를 삭제합니다." + +#: ../../document.rst:1481 ../../document.rst:1488 +#: 3763d366c7114f2cb92215e4aa36dd9e f9dd271045134befa0cae7b4d29e2b19 +msgid "Changed in v1.18.14: support Python's `del` statement." +msgstr "v1.18.14에서 변경됨: Python의 `del` 문 지원." + +#: ../../document.rst:1483 edd90564c56a475480386e44c20c183f +msgid "" +"the page to be deleted. Negative number count backwards from the end of " +"the document (like with indices). Default is the last page." +msgstr "삭제할 페이지. 음수는 문서 끝에서 역순으로 계산합니다(인덱스와 같이). 기본값은 마지막 페이지입니다." + +#: ../../document.rst:1487 885178ede3f341d9977c12eeee0ce39a +msgid "Changed in v1.18.13: more flexibility specifying pages to delete." +msgstr "v1.18.13에서 변경됨: 삭제할 페이지 지정의 유연성 향상." + +#: ../../document.rst:1490 2faf9fc669694bf58fbd3fbda80d6a18 +msgid "PDF only: Delete multiple pages given as 0-based numbers." +msgstr "PDF 전용: 0 기반 번호로 지정된 여러 페이지를 삭제합니다." + +#: ../../document.rst:1494 49043c2a25724e858a719fcf64d92c54 +msgid "" +"**Format 1:** Use keywords. Represents the old format. A contiguous range" +" of pages is removed." +msgstr "**형식 1:** 키워드를 사용합니다. 이전 형식을 나타냅니다. 연속된 페이지 범위가 제거됩니다." + +#: ../../document.rst:1493 abdf0e27ad514fa4a0a49edfa8166fc0 +msgid "\"from_page\": first page to delete. Zero if omitted." +msgstr "\"from_page\": 삭제할 첫 페이지. 생략하면 0입니다." + +#: ../../document.rst:1494 272c0a7e9e844ab6925f9d42e326b8dd +msgid "" +"\"to_page\": last page to delete. Last page in document if omitted. Must " +"not be less then \"from_page\"." +msgstr "" +"\"to_page\": 삭제할 마지막 페이지. 생략하면 문서의 마지막 페이지입니다. \"from_page\" 보다 작아서는 안 " +"됩니다." + +#: ../../document.rst:1496 853ec2ac461141488a842564542b01ee +msgid "" +"**Format 2:** Two page numbers as positional parameters. Handled like " +"Format 1." +msgstr "**형식 2:** 위치 매개변수로 두 페이지 번호. 형식 1과 같이 처리됩니다." + +#: ../../document.rst:1498 d11ba0ed8b3448a1b9c698565e879a5c +msgid "" +"**Format 3:** One positional integer parameter. Equivalent to " +":meth:`Page.delete_page`." +msgstr "**형식 3:** 하나의 위치 정수 매개변수. :meth:`Page.delete_page` 와 동일합니다." + +#: ../../document.rst:1500 0023d1389c764262bb87cf7faa1adc43 +msgid "" +"**Format 4:** One positional parameter of type *list*, *tuple* or " +"*range()* of page numbers. The items of this sequence may be in any order" +" and may contain duplicates." +msgstr "" +"**형식 4:** *list*, *tuple* 또는 *range()* 타입의 페이지 번호 하나의 위치 매개변수. 이 시퀀스의 항목은" +" 어떤 순서든 될 수 있으며 중복을 포함할 수 있습니다." + +#: ../../document.rst:1502 3a616c07b63341aabad5be2aadd5b519 +msgid "" +"**Format 5:** *(New in v1.18.14)* Using the Python `del` statement and " +"index / slice notation is now possible." +msgstr "**형식 5:** *(v1.18.14에서 새로 추가됨)* Python `del` 문과 인덱스/슬라이스 표기법을 사용할 수 있습니다." + +#: ../../document.rst:1506 be81c094406043ae869d72a40ff136e0 +msgid "" +"*(Changed in v1.14.17, optimized in v1.17.7)* In an effort to maintain a " +"valid PDF structure, this method and :meth:`delete_page` will also " +"deactivate items in the table of contents which point to deleted pages. " +"\"Deactivation\" here means, that the bookmark will point to nowhere and " +"the title will be shown grayed-out by supporting PDF viewers. The overall" +" TOC structure is left intact." +msgstr "" +"*(v1.14.17에서 변경됨, v1.17.7에서 최적화됨)* 유효한 PDF 구조를 유지하기 위해 이 메서드와 " +":meth:`delete_page` 는 삭제된 페이지를 가리키는 목차 항목도 비활성화합니다. 여기서 \"비활성화\"는 북마크가 아무" +" 곳도 가리키지 않고 제목이 지원 PDF 뷰어에서 회색으로 표시됨을 의미합니다. 전체 TOC 구조는 그대로 유지됩니다." + +#: ../../document.rst:1508 d7fcfd0146d14359b986d22c70246218 +msgid "" +"It will also remove any **links on remaining pages** which point to a " +"deleted one. This action may have an extended response time for documents" +" with many pages." +msgstr "" +"삭제된 페이지를 가리키는 **남은 페이지의 모든 링크** 도 제거합니다. 이 작업은 많은 페이지가 있는 문서에서 응답 시간이 길어질" +" 수 있습니다." + +#: ../../document.rst:1510 031b85dd387d4fa9ac92c6b66548733c +msgid "Following examples will all delete pages 500 through 519:" +msgstr "다음 예제는 모두 페이지 500부터 519까지 삭제합니다:" + +#: ../../document.rst:1512 cfe10a0a274d4d18adb6a3bd80a8c1eb +msgid "`doc.delete_pages(500, 519)`" +msgstr "`doc.delete_pages(500, 519)`" + +#: ../../document.rst:1513 3629419e0fec421e899e07854d3dee86 +msgid "`doc.delete_pages(from_page=500, to_page=519)`" +msgstr "`doc.delete_pages(from_page=500, to_page=519)`" + +#: ../../document.rst:1514 b99266396f9c4f729d682c6591e66fb7 +msgid "`doc.delete_pages((500, 501, 502, ... , 519))`" +msgstr "`doc.delete_pages((500, 501, 502, ... , 519))`" + +#: ../../document.rst:1515 7a5309be435b4725b98df7a5b13abd28 +msgid "`doc.delete_pages(range(500, 520))`" +msgstr "`doc.delete_pages(range(500, 520))`" + +#: ../../document.rst:1516 f81d6cadee344814b046eceef5c80d85 +msgid "`del doc[500:520]`" +msgstr "`del doc[500:520]`" + +#: ../../document.rst:1517 634d0eae36d4441f91c1a42e91f8628f +msgid "`del doc[(500, 501, 502, ... , 519)]`" +msgstr "`del doc[(500, 501, 502, ... , 519)]`" + +#: ../../document.rst:1518 fafab429d5424ce18f58f1ae4c8dbdfb +msgid "`del doc[range(500, 520)]`" +msgstr "`del doc[range(500, 520)]`" + +#: ../../document.rst:1520 e32e7365169c4fcb97e6fcce960a23d2 +msgid "" +"For the :ref:`AdobeManual` the above takes about 0.6 seconds, because the" +" remaining 1290 pages must be cleaned from invalid links." +msgstr "" +":ref:`AdobeManual` 의 경우 위 작업은 약 0.6초가 걸립니다. 남은 1290페이지에서 잘못된 링크를 정리해야 하기 " +"때문입니다." + +#: ../../document.rst:1522 8cce67b3735c4db09b073f74c42ad5d6 +msgid "" +"In general, the performance of this method is dependent on the number of " +"remaining pages -- **not** on the number of deleted pages: in the above " +"example, **deleting all pages except** those 20, will need much less " +"time." +msgstr "" +"일반적으로 이 메서드의 성능은 삭제된 페이지 수가 아니라 **남은 페이지 수** 에 따라 달라집니다: 위 예제에서 **그 20개를 " +"제외한 모든 페이지를 삭제** 하면 훨씬 적은 시간이 필요합니다." + +#: ../../document.rst:1527 583a7be7f7604564b5aea9150f5f1a47 +msgid "PDF only: Copy a page reference within the document." +msgstr "PDF 전용: 문서 내에서 페이지 참조를 복사합니다." + +#: ../../document.rst:1529 796aa36a17194091986df564ff5cd031 +msgid "the page to be copied. Must be in range `0 <= pno < page_count`." +msgstr "복사할 페이지. `0 <= pno < page_count` 범위에 있어야 합니다." + +#: ../../document.rst:1531 ../../document.rst:1543 +#: 35e41025040645fdb1331ee178e2d324 715bba4c474e466bafbb9855293c69d5 +msgid "" +"the page number in front of which to copy. The default inserts **after** " +"the last page." +msgstr "복사할 페이지 앞의 페이지 번호. 기본값은 마지막 페이지 **뒤에** 삽입합니다." + +#: ../../document.rst:1533 f3183958d7134dc7a00e4bfe56a78abb +msgid "" +"Only a new **reference** to the page object will be created -- not a new " +"page object, all copied pages will have identical attribute values, " +"including the :attr:`Page.xref`. This implies that any changes to one of " +"these copies will appear on all of them." +msgstr "페이지 객체에 대한 새 **참조** 만 생성됩니다 -- 새 페이지 객체가 아닙니다. 모든 복사된 페이지는 :attr:`Page.xref` 를 포함하여 동일한 속성 값을 가집니다. 이것은 이러한 복사본 중 하나에 대한 변경 사항이 모두에 나타남을 의미합니다." + +#: ../../document.rst:1537 4f81f7087616448e9a2079171720cc5e +msgid "New in v1.14.17" +msgstr "v1.14.17에서 새로 추가됨" + +#: ../../document.rst:1539 18edd22eb7b54b58973f27488646277d +msgid "PDF only: Make a full copy (duplicate) of a page." +msgstr "PDF 전용: 페이지의 전체 복사본(중복)을 만듭니다." + +#: ../../document.rst:1541 2be6a8a3c6254c419fffe87ecf3bea2e +msgid "the page to be duplicated. Must be in range `0 <= pno < page_count`." +msgstr "중복할 페이지. `0 <= pno < page_count` 범위에 있어야 합니다." + +#: ../../document.rst:1547 838d6b92f708488bb71ffb9c00ddf20e +msgid "" +"In contrast to :meth:`copy_page`, this method creates a new page object " +"(with a new :data:`xref`), which can be changed independently from the " +"original." +msgstr ":meth:`copy_page` 와 달리 이 메서드는 원본과 독립적으로 변경할 수 있는 새 페이지 객체(새 :data:`xref` 포함)를 생성합니다." + +#: ../../document.rst:1549 bf6930ee99a14f56af7c4035128d0a3a +msgid "" +"Any Popup and \"IRT\" (\"in response to\") annotations are **not copied**" +" to avoid potentially incorrect situations." +msgstr "잠재적으로 잘못된 상황을 피하기 위해 모든 Popup 및 \"IRT\" (\"in response to\") 주석은 **복사되지 않습니다**." + +#: ../../document.rst:1553 03d410f070af4c8ab7946dea0b01ec41 +msgid "PDF only: Move (copy and then delete original) a page within the document." +msgstr "PDF 전용: 문서 내에서 페이지를 이동합니다(복사한 다음 원본 삭제)." + +#: ../../document.rst:1555 4d77ecb443e649f9940a25cfef2a0225 +msgid "the page to be moved. Must be in range `0 <= pno < page_count`." +msgstr "이동할 페이지. `0 <= pno < page_count` 범위에 있어야 합니다." + +#: ../../document.rst:1557 33c20380a2314d1fbb336bedbe0804b3 +msgid "" +"the page number in front of which to insert the moved page. The default " +"moves **after** the last page." +msgstr "이동된 페이지를 삽입할 페이지 번호 앞. 기본값은 마지막 페이지 **뒤로** 이동합니다." + +#: ../../document.rst:1562 e1e656e24f2d412588299042a89712e5 +msgid "New in v1.17.4" +msgstr "v1.17.4에서 새로 추가됨" + +#: ../../document.rst:1564 2c50544aa3ca445cb7e7196d1afe9710 +msgid "" +"PDF only: Get or set the */NeedAppearances* property of Form PDFs. Quote:" +" *\"(Optional) A flag specifying whether to construct appearance streams " +"and appearance dictionaries for all widget annotations in the document " +"... Default value: false.\"* This may help controlling the behavior of " +"some readers / viewers." +msgstr "PDF 전용: Form PDF의 */NeedAppearances* 속성을 가져오거나 설정합니다. 인용: *\"(선택적) 문서의 모든 위젯 주석에 대한 appearance 스트림 및 appearance 딕셔너리를 구성할지 여부를 지정하는 플래그 ... 기본값: false.\"* 이것은 일부 리더/뷰어의 동작을 제어하는 데 도움이 될 수 있습니다." + +#: ../../document.rst:1566 b1652fd4ef124c6a9173defa2306862b +msgid "" +"set the property to this value. If omitted or `None`, inquire the current" +" value." +msgstr "속성을 이 값으로 설정합니다. 생략하거나 `None` 이면 현재 값을 조회합니다." + +#: ../../document.rst:1569 10db7e389c3443749906de632a038e80 +msgid "" +"* None: not a Form PDF, or property not defined. * True / False: the " +"value of the property (either just set or existing for inquiries). Has no" +" effect if no Form PDF." +msgstr "" + +#: ../../document.rst:1570 20765c4d680e450db6d65401c2d563be +msgid "None: not a Form PDF, or property not defined." +msgstr "None: Form PDF가 아니거나 속성이 정의되지 않음." + +#: ../../document.rst:1571 34e43b74a8f24e9bbe54d44cf4d28ddf +msgid "" +"True / False: the value of the property (either just set or existing for " +"inquiries). Has no effect if no Form PDF." +msgstr "True / False: 속성의 값(방금 설정되었거나 조회를 위해 존재함). Form PDF가 없으면 효과가 없습니다." + +#: ../../document.rst:1577 cf26e7bb7e224490bc8cd693fdc457f9 +msgid "" +"PDF only: Return whether the document contains signature fields. This is " +"an optional PDF property: if not present (return value -1), no " +"conclusions can be drawn -- the PDF creator may just not have bothered " +"using it." +msgstr "PDF 전용: 문서에 서명 필드가 포함되어 있는지 반환합니다. 이것은 선택적 PDF 속성입니다: 없으면(반환 값 -1) 결론을 내릴 수 없습니다 -- PDF 작성자가 사용하지 않았을 수 있습니다." + +#: ../../document.rst:1580 6cc1ff6a8526438793161934c9c4b4e9 +msgid "" +"* -1: not a Form PDF / no signature fields recorded / no *SigFlags* " +"found. * 1: at least one signature field exists. * 3: contains " +"signatures that may be invalidated if the file is saved (written) in a " +"way that alters its previous contents, as opposed to an incremental " +"update." +msgstr "" + +#: ../../document.rst:1581 49e77b466a9c4b8cae591da940e7bb80 +msgid "-1: not a Form PDF / no signature fields recorded / no *SigFlags* found." +msgstr "-1: Form PDF가 아님 / 기록된 서명 필드 없음 / *SigFlags* 없음." + +#: ../../document.rst:1582 3c2d9c0c66ac4186aabeb9505ef62861 +msgid "1: at least one signature field exists." +msgstr "1: 최소한 하나의 서명 필드가 존재함." + +#: ../../document.rst:1583 eba9fbffaa5f4a66baada0b97bab393c +msgid "" +"3: contains signatures that may be invalidated if the file is saved " +"(written) in a way that alters its previous contents, as opposed to an " +"incremental update." +msgstr "3: 증분 업데이트와 달리 이전 콘텐츠를 변경하는 방식으로 파일이 저장(쓰기)되면 무효화될 수 있는 서명을 포함함." + +#: ../../document.rst:1592 4c7b6e1f922e4d48b1e2e0924cfcfbfb +msgid "" +"Changed in v1.14.16: The sequence of positional parameters \"name\" and " +"\"buffer\" has been changed to comply with the call pattern of other " +"functions." +msgstr "v1.14.16에서 변경됨: 위치 매개변수 \"name\" 및 \"buffer\" 의 순서가 다른 함수의 호출 패턴을 준수하도록 변경되었습니다." + +#: ../../document.rst:1594 7bdd76ccfaa846f285fb18022d6c352b +msgid "" +"PDF only: Embed a new file. All string parameters except the name may be " +"unicode (in previous versions, only ASCII worked correctly). File " +"contents will be compressed (where beneficial)." +msgstr "PDF 전용: 새 파일을 임베드합니다. 이름을 제외한 모든 문자열 매개변수는 유니코드일 수 있습니다(이전 버전에서는 ASCII만 올바르게 작동함). 파일 콘텐츠는 압축됩니다(유익한 경우)." + +#: ../../document.rst:1596 23a4029a12bf4c439ee7db0580ddba4b +msgid "entry identifier, **must not already exist**." +msgstr "항목 식별자, **이미 존재하지 않아야 합니다**." + +#: ../../document.rst:1597 617e80916a94448494c2f6a114b89372 +msgid "" +"file contents. *(Changed in v1.14.13)* *io.BytesIO* is now also " +"supported." +msgstr "" + +#: ../../document.rst:1597 3a52550a9c2e4f309e3ccbc749fc6821 +msgid "file contents." +msgstr "파일 콘텐츠." + +#: ../../document.rst:1599 ../../document.rst:1673 +#: 3190704368d346e78d62a922fea40f03 80b30821875b4646a520a962f6d80271 +msgid "*(Changed in v1.14.13)* *io.BytesIO* is now also supported." +msgstr "*(v1.14.13에서 변경됨)* *io.BytesIO*도 이제 지원됩니다." + +#: ../../document.rst:1601 df2b2260b10b42a7838460af69e70ce1 +msgid "optional filename. Documentation only, will be set to *name* if `None`." +msgstr "선택적 파일 이름. 문서화 전용이며, `None` 이면 *name* 으로 설정됩니다." + +#: ../../document.rst:1602 7e6e3e037eac466f85a5b54dfc900de1 +msgid "" +"optional unicode filename. Documentation only, will be set to *filename* " +"if `None`." +msgstr "선택적 유니코드 파일 이름. 문서화 전용이며, `None` 이면 *filename* 으로 설정됩니다." + +#: ../../document.rst:1603 ec21943371c34b05a9a07bec862f7348 +msgid "optional description. Documentation only, will be set to *name* if `None`." +msgstr "선택적 설명. 문서화 전용이며, `None` 이면 *name* 으로 설정됩니다." + +#: ../../document.rst:1606 5c90aa58601f4e04b3a8163fe1b2379a +msgid "" +"*(Changed in v1.18.13)* The method now returns the :data:`xref` of the " +"inserted file. In addition, the file object now will be automatically " +"given the PDF keys `/CreationDate` and `/ModDate` based on the current " +"date-time." +msgstr "*(v1.18.13에서 변경됨)* 이 메서드는 이제 삽입된 파일의 :data:`xref` 를 반환합니다. 또한 파일 객체는 이제 현재 날짜-시간을 기반으로 PDF 키 `/CreationDate` 및 `/ModDate` 가 자동으로 지정됩니다." + +#: ../../document.rst:1611 f6b1d2e3c0d540b1b7de75e7fadb748e +msgid "" +"Changed in v1.14.16: This is now a method. In previous versions, this was" +" a property." +msgstr "v1.14.16에서 변경됨: 이것은 이제 메서드입니다. 이전 버전에서는 속성이었습니다." + +#: ../../document.rst:1613 8a7b9828613e4ae4990e91a063c9ee80 +msgid "PDF only: Return the number of embedded files." +msgstr "PDF 전용: 임베디드 파일 수를 반환합니다." + +#: ../../document.rst:1617 f19dbbc33b934e2896ad5cc8de4d62b0 +msgid "" +"PDF only: Retrieve the content of embedded file by its entry number or " +"name. If the document is not a PDF, or entry cannot be found, an " +"exception is raised." +msgstr "" +"PDF 전용: 항목 번호 또는 이름으로 임베디드 파일의 콘텐츠를 검색합니다. 문서가 PDF가 아니거나 항목을 찾을 수 없으면 예외가" +" 발생합니다." + +#: ../../document.rst:1619 ../../document.rst:1639 ../../document.rst:1670 +#: 0c7fcd8e7e744e80937883ac86d58ec6 1c77829d63c844a48200c5355ead955c +#: 6688417b9a8e48749073861a1ef5545b +msgid "index or name of entry. An integer must be in `range(embfile_count())`." +msgstr "항목의 인덱스 또는 이름. 정수는 `range(embfile_count())` 에 있어야 합니다." + +#: ../../document.rst:1625 d328e7c757d5492f83a65070c10ccade +msgid "Changed in v1.14.16: Items can now be deleted by index, too." +msgstr "v1.14.16에서 변경됨: 항목을 인덱스로도 삭제할 수 있습니다." + +#: ../../document.rst:1627 3e3eef03b196484388e2abce6a21542f +msgid "" +"PDF only: Remove an entry from `/EmbeddedFiles`. As always, physical " +"deletion of the embedded file content (and file space regain) will occur " +"only when the document is saved to a new file with a suitable garbage " +"option." +msgstr "" +"PDF 전용: `/EmbeddedFiles` 에서 항목을 제거합니다. 항상 그렇듯이 임베디드 파일 콘텐츠의 물리적 삭제(및 파일 " +"공간 회수)는 적절한 가비지 옵션으로 문서를 새 파일로 저장할 때만 발생합니다." + +#: ../../document.rst:1629 082e792e3de04b1ab322c28b8099b497 +msgid "index or name of entry." +msgstr "항목의 인덱스 또는 이름." + +#: ../../document.rst:1631 68c79384328c43fba86792538c70c975 +msgid "" +"When specifying an entry name, this function will only **delete the first" +" item** with that name. Be aware that PDFs not created with PyMuPDF may " +"contain duplicate names. So you may want to take appropriate precautions." +msgstr "" +"항목 이름을 지정할 때 이 함수는 해당 이름을 가진 **첫 번째 항목만 삭제** 합니다. PyMuPDF로 생성되지 않은 PDF에는 " +"중복 이름이 포함될 수 있습니다. 따라서 적절한 예방 조치를 취하는 것이 좋습니다." + +#: ../../document.rst:1635 cf8233c08ead4522b85da495804c1e6e +msgid "Changed in v1.18.13" +msgstr "v1.18.13에서 변경됨" + +#: ../../document.rst:1637 ba9d64f33b0446c6a66e20373f94567e +msgid "" +"PDF only: Retrieve information of an embedded file given by its number or" +" by its name." +msgstr "PDF 전용: 번호 또는 이름으로 지정된 임베디드 파일의 정보를 검색합니다." + +#: ../../document.rst:1642 3a582798a4d5409280f2874007ce4a1d +msgid "" +"a dictionary with the following keys: * ``name`` -- (*str*) name under " +"which this entry is stored * ``filename`` -- (*str*) filename * " +"``ufilename`` -- (*unicode*) filename * ``description`` -- (*str*) " +"description * ``size`` -- (*int*) original file size * ``length`` -- " +"(*int*) compressed file length * ``creationDate`` -- (*str*) date-time of" +" item creation in PDF format * ``modDate`` -- (*str*) date-time of last " +"change in PDF format * ``collection`` -- (*int*) :data:`xref` of the " +"associated PDF portfolio item if any, else zero. * ``checksum`` -- " +"(*str*) a hashcode of the stored file content as a hexadecimal string. " +"Should be MD5 according to PDF specifications, but be prepared to see " +"other hashing algorithms." +msgstr "" + +#: ../../document.rst:1642 d35f32e42ce94abaa0187c2a807248f8 +msgid "a dictionary with the following keys:" +msgstr "다음 키를 가진 딕셔너리:" + +#: ../../document.rst:1644 e07b475b88d04c2f85be01b11e172b2a +msgid "``name`` -- (*str*) name under which this entry is stored" +msgstr "``name`` -- (*str*) 이 항목이 저장되는 이름" + +#: ../../document.rst:1645 ac0ae83d42ca4ae885a61ea6a32cee14 +msgid "``filename`` -- (*str*) filename" +msgstr "``filename`` -- (*str*) 파일명" + +#: ../../document.rst:1646 f6f77d03d7be41ccab1e1297bbb406da +msgid "``ufilename`` -- (*unicode*) filename" +msgstr "``ufilename`` -- (*unicode*) 파일명" + +#: ../../document.rst:1647 2e10f2dd4b4641cd92c4d4f6cbdaaa84 +msgid "``description`` -- (*str*) description" +msgstr "``description`` -- (*str*) 설명" + +#: ../../document.rst:1648 d99fc2985ce4404eb44a2dcac586736b +msgid "``size`` -- (*int*) original file size" +msgstr "``size`` -- (*int*) 원본 파일 크기" + +#: ../../document.rst:1649 0ece57be54c548e7bfe5429de67147a8 +msgid "``length`` -- (*int*) compressed file length" +msgstr "``length`` -- (*int*) 압축된 파일 길이" + +#: ../../document.rst:1650 542e3d29e1b048f287dd894589eff4ae +msgid "``creationDate`` -- (*str*) date-time of item creation in PDF format" +msgstr "``creationDate`` -- (*str*) PDF 형식의 항목 생성 날짜-시간" + +#: ../../document.rst:1651 7472dc1d5e2f48a487fab93a8b23b1cb +msgid "``modDate`` -- (*str*) date-time of last change in PDF format" +msgstr "``modDate`` -- (*str*) PDF 형식의 마지막 변경 날짜-시간" + +#: ../../document.rst:1652 d2937c070faf4a7483f304c35c4823e5 +msgid "" +"``collection`` -- (*int*) :data:`xref` of the associated PDF portfolio " +"item if any, else zero." +msgstr "``collection`` -- (*int*) 관련 PDF 포트폴리오 항목이 있으면 :data:`xref`, 그렇지 않으면 0." + +#: ../../document.rst:1653 445152fe6af241e8a193dbfb7712e713 +msgid "" +"``checksum`` -- (*str*) a hashcode of the stored file content as a " +"hexadecimal string. Should be MD5 according to PDF specifications, but be" +" prepared to see other hashing algorithms." +msgstr "" +"``checksum`` -- (*str*) 저장된 파일 콘텐츠의 해시코드를 16진수 문자열로. PDF 사양에 따르면 MD5여야 " +"하지만 다른 해싱 알고리즘을 볼 수 있도록 준비하세요." + +#: ../../document.rst:1657 487c6a0fa0aa4e508875f0aa1e988e66 +msgid "" +"PDF only: Return a list of embedded file names. The sequence of the names" +" equals the physical sequence in the document." +msgstr "PDF 전용: 임베디드 파일 이름 목록을 반환합니다. 이름의 순서는 문서의 물리적 순서와 같습니다." + +#: ../../document.rst:1668 57edf8bf1f7d4045980a5b000df9dc96 +msgid "" +"PDF only: Change an embedded file given its entry number or name. All " +"parameters are optional. Letting them default leads to a no-operation." +msgstr "" +"PDF 전용: 항목 번호 또는 이름으로 지정된 임베디드 파일을 변경합니다. 모든 매개변수는 선택적입니다. 기본값으로 두면 작업이 " +"수행되지 않습니다." + +#: ../../document.rst:1671 6796cddb078c4d7f937285345d101367 +msgid "" +"the new file content. *(Changed in v1.14.13)* *io.BytesIO* is now also " +"supported." +msgstr "새 파일 콘텐츠. *(v1.14.13에서 변경됨)* *io.BytesIO* 도 이제 지원됩니다." + +#: ../../document.rst:1671 0f489bbc976d421f88323dc2c920648c +msgid "the new file content." +msgstr "새 파일 콘텐츠." + +#: ../../document.rst:1675 cbeeef5388e44bb69b3ed62d2ac39d77 +msgid "the new filename." +msgstr "새 파일명." + +#: ../../document.rst:1676 47ce01e0c6374d4d817de3d942010ace +msgid "the new unicode filename." +msgstr "새 유니코드 파일명." + +#: ../../document.rst:1677 df303b0998a548c2b292678b9add1a9f +msgid "the new description." +msgstr "새 설명." + +#: ../../document.rst:1679 572fcc87be1e4d93a0f5cbff844537a2 +msgid "" +"*(Changed in v1.18.13)* The method now returns the :data:`xref` of the " +"file object." +msgstr "*(v1.18.13에서 변경됨)* 이 메서드는 이제 파일 객체의 :data:`xref` 를 반환합니다." + +#: ../../document.rst:1682 266208e50f2048d39743307d29c7c4fa +msgid "" +"xref of the file object. Automatically, its `/ModDate` PDF key will be " +"updated with the current date-time." +msgstr "파일 객체의 xref. 자동으로 `/ModDate` PDF 키가 현재 날짜-시간으로 업데이트됩니다." + +#: ../../document.rst:1687 bbec30c1104c481282c889f264d8def1 +msgid "" +"Release objects and space allocations associated with the document. If " +"created from a file, also closes *filename* (releasing control to the " +"OS). Explicitly closing a document is equivalent to deleting it, `del " +"doc`, or assigning it to something else like `doc = None`." +msgstr "" +"문서와 관련된 객체 및 공간 할당을 해제합니다. 파일에서 생성된 경우 *filename* 도 닫습니다(OS에 제어권 해제). 문서를" +" 명시적으로 닫는 것은 삭제하는 것, `del doc`, 또는 `doc = None` 과 같이 다른 것으로 할당하는 것과 " +"동일합니다." + +#: ../../document.rst:1691 ../../document.rst:1705 ../../document.rst:1712 +#: ../../document.rst:1719 ../../document.rst:1730 ../../document.rst:1739 +#: ../../document.rst:1888 247adcd852824bb58b2f946d80b664ca +#: 39d0f5a0601d4c96817742c36b72172a 9030fef29e924c53b50ceba2911f2f80 +#: be0981e9321b41c591dd8a531ac79cd2 bec9bb1abedd486cb4490cbd68d87c61 +#: cfbb8fe0689848d6b77591b0178ee148 da6cafddda6341838772449a7a68e09a +msgid "New in v1.16.8" +msgstr "v1.16.8에서 새로 추가됨" + +#: ../../document.rst:1692 97583d3cb0be42099272c425aa4a8828 +msgid "Changed in v1.18.10" +msgstr "v1.18.10에서 변경됨" + +#: ../../document.rst:1694 3a4c6876a2844008ab4933d87266a75b +msgid "PDF only: Return the definition source of a PDF object." +msgstr "PDF 전용: PDF 객체의 정의 소스를 반환합니다." + +#: ../../document.rst:1696 3efa84c9b26a4a49b7014508567c633e +msgid "" +"the object's :data:`xref`. *Changed in v1.18.10:* A value of `-1` returns" +" the PDF trailer source." +msgstr "객체의 :data:`xref`. *v1.18.10에서 변경됨:* `-1` 값은 PDF 트레일러 소스를 반환합니다." + +#: ../../document.rst:1697 aaf4fbe6e19f49459a59afb370e7437b +msgid "whether to generate a compact output with no line breaks or spaces." +msgstr "줄 바꿈이나 공백 없이 압축된 출력을 생성할지 여부." + +#: ../../document.rst:1698 b0596a3700284e3699129ac3d0dffb85 +msgid "whether to ASCII-encode binary data." +msgstr "바이너리 데이터를 ASCII로 인코딩할지 여부." + +#: ../../document.rst:1701 527839cb652440c8b6583d8ab665ebbe +msgid "The object definition source." +msgstr "객체 정의 소스." + +#: ../../document.rst:1707 99c695fbaa8040d28c182ba8b33e3a80 +msgid "" +"PDF only: Return the :data:`xref` number of the PDF catalog (or root) " +"object. Use that number with :meth:`Document.xref_object` to see its " +"source." +msgstr "" +"PDF 전용: PDF 카탈로그(또는 루트) 객체의 :data:`xref` 번호를 반환합니다. 해당 번호를 " +":meth:`Document.xref_object` 와 함께 사용하여 소스를 확인하세요." + +#: ../../document.rst:1714 25496e4baa244786951e184999c6d563 +msgid "" +"PDF only: Return the trailer source of the PDF, which is usually located" +" at the PDF file's end. This is :meth:`Document.xref_object` with an " +":data:`xref` argument of -1." +msgstr "" +"PDF 전용: PDF의 트레일러 소스를 반환합니다. 일반적으로 PDF 파일의 끝에 있습니다. 이것은 :data:`xref` 인수가 " +"-1인 :meth:`Document.xref_object` 입니다." + +#: ../../document.rst:1721 4774099f88fd43d6b2aff5bf066476de +msgid "" +"PDF only: Return the **decompressed** contents of the :data:`xref` stream" +" object." +msgstr "PDF 전용: :data:`xref` 스트림 객체의 **압축 해제된** 콘텐츠를 반환합니다." + +#: ../../document.rst:1723 ../../document.rst:1743 ../../document.rst:1762 +#: 61b36d6194a84f7080f16938dbc9891b 7476520cda4f4c27aeb545cf196b943c +#: 9532ed01c59144319402fae983ecf5c8 +msgid ":data:`xref` number." +msgstr ":data:`xref` 번호." + +#: ../../document.rst:1726 6fc4c5e9e2f449559aeba47da28b65f9 +msgid "the (decompressed) stream of the object." +msgstr "객체의 (압축 해제된) 스트림." + +#: ../../document.rst:1732 9bc12dd4862043738d981a86c72cd4ef +msgid "" +"PDF only: Return the **unmodified** (esp. **not decompressed**) contents " +"of the :data:`xref` stream object. Otherwise equal to " +":meth:`Document.xref_stream`." +msgstr "" +"PDF 전용: :data:`xref` 스트림 객체의 **수정되지 않은** (특히 **압축 해제되지 않은**) 콘텐츠를 반환합니다. " +"그렇지 않으면 :meth:`Document.xref_stream` 과 동일합니다." + +#: ../../document.rst:1735 329eab98eb8a4879a9ade3b4cfc2ba8a +msgid "the (original, unmodified) stream of the object." +msgstr "객체의 (원본, 수정되지 않은) 스트림." + +#: ../../document.rst:1741 26685fb8b9594f2db148d7e0c3346e60 +msgid "" +"PDF only: Replace object definition of :data:`xref` with the provided " +"string. The xref may also be new, in which case this instruction " +"completes the object definition. If a page object is also given, its " +"links and annotations will be reloaded afterwards." +msgstr "" +"PDF 전용: :data:`xref` 의 객체 정의를 제공된 문자열로 교체합니다. xref는 새 것일 수도 있으며, 이 경우 이 " +"지시문이 객체 정의를 완료합니다. 페이지 객체도 제공되면 링크와 주석이 이후에 다시 로드됩니다." + +#: ../../document.rst:1745 e300685a43d14bc385137c3d5c28e8f3 +msgid "a string containing a valid PDF object definition." +msgstr "유효한 PDF 객체 정의를 포함하는 문자열." + +#: ../../document.rst:1747 2b7efd4811764da09018e7cc730abba0 +msgid "" +"a page object. If provided, indicates, that annotations of this page " +"should be refreshed (reloaded) to reflect changes incurred with links and" +" / or annotations." +msgstr "" +"페이지 객체. 제공되면 이 페이지의 주석이 링크 및/또는 주석으로 인한 변경 사항을 반영하도록 새로고침(다시 로드)되어야 함을 " +"나타냅니다." + +#: ../../document.rst:1751 e24ddb8f85e0457d818f44d8481297fc +msgid "zero if successful, otherwise an exception will be raised." +msgstr "성공하면 0, 그렇지 않으면 예외가 발생합니다." + +#: ../../document.rst:1756 a88df4afdb3a40c4ac4c87338a6e030c +msgid "New in v.1.16.8" +msgstr "v.1.16.8에서 새로 추가됨" + +#: ../../document.rst:1757 65d49b625cd74c04ac3170a8db7d36c7 +msgid "Changed in v1.19.2: added parameter \"compress\"" +msgstr "v1.19.2에서 변경됨: 매개변수 \"compress\" 추가" + +#: ../../document.rst:1758 eddb5dc06f7740ffb519cd5af8611dbe +msgid "" +"Changed in v1.19.6: deprecated parameter \"new\". Now confirms that the " +"object is a PDF dictionary object." +msgstr "v1.19.6에서 변경됨: 매개변수 \"new\" 사용 중단. 이제 객체가 PDF 딕셔너리 객체임을 확인합니다." + +#: ../../document.rst:1760 caaeff35c6a34794a4e9ed38fe88e1cd +msgid "" +"Replace the stream of an object identified by :data:`xref`, which must be" +" a PDF dictionary. If the object is no :data:`stream`, it will be turned " +"into one. The function automatically performs a compress operation " +"(\"deflate\") where beneficial." +msgstr "" +":data:`xref` 로 식별된 객체의 스트림을 교체합니다. 이것은 PDF 딕셔너리여야 합니다. 객체가 :data:`stream`" +" 이 아니면 하나로 변환됩니다. 함수는 유익한 경우 자동으로 압축 작업(\"deflate\")을 수행합니다." + +#: ../../document.rst:1764 f71966b2cb6448c58b0b7861d0b9ce0d +msgid "" +"the new content of the stream. *(Changed in v1.14.13:)* *io.BytesIO* " +"objects are now also supported." +msgstr "" + +#: ../../document.rst:1764 c0416641f4ba4bb1a8150bd111049103 +msgid "the new content of the stream." +msgstr "스트림의 새 콘텐츠." + +#: ../../document.rst:1766 579c642b3d194151be1211256a2514fd +msgid "*(Changed in v1.14.13:)* *io.BytesIO* objects are now also supported." +msgstr "*(v1.14.13에서 변경됨:)* *io.BytesIO* 객체도 이제 지원됩니다." + +#: ../../document.rst:1768 04840a0ca2d741ee8a068ce722449b8f +msgid "*deprecated* and ignored. Will be removed some time after v1.20.0." +msgstr "*사용 중단됨* 및 무시됨. v1.20.0 이후 어느 시점에 제거됩니다." + +#: ../../document.rst:1769 76eac7eea7cf45a8b748c1df0750fa6f +msgid "" +"whether to compress the inserted stream. If `True` (default), the stream " +"will be inserted using `/FlateDecode` compression (if beneficial), " +"otherwise the stream will inserted as is." +msgstr "" +"삽입된 스트림을 압축할지 여부. `True` (기본값)인 경우 스트림은 `/FlateDecode` 압축을 사용하여 삽입됩니다(유익한" +" 경우). 그렇지 않으면 스트림이 있는 그대로 삽입됩니다." + +#: ../../document.rst:1771 1c65a4a1d1784a75a4bd385360830396 +msgid "" +"if :data:`xref` does not represent a PDF :data:`dict`. An empty " +"dictionary ``<<>>`` is accepted. So if you just created the xref and want" +" to give it a stream, first execute `doc.update_object(xref, \"<<>>\")`, " +"and then insert the stream data with this method." +msgstr "" +":data:`xref` 가 PDF :data:`dict` 를 나타내지 않는 경우. 빈 딕셔너리 ``<<>>`` 가 허용됩니다. " +"따라서 xref를 방금 생성했고 스트림을 제공하려면 먼저 `doc.update_object(xref, \"<<>>\")` 를 실행한" +" 다음 이 메서드로 스트림 데이터를 삽입하세요." + +#: ../../document.rst:1773 c32751ae2d804e89acfe0c201afa2bec +msgid "" +"The method is primarily (but not exclusively) intended to manipulate " +"streams containing PDF operator syntax (see pp. 643 of the " +":ref:`AdobeManual`) as it is the case for e.g. page content streams." +msgstr "" +"이 메서드는 주로(하지만 독점적으로는 아님) PDF 연산자 구문을 포함하는 스트림을 조작하기 위한 것입니다(예: 페이지 콘텐츠 " +"스트림의 경우 :ref:`AdobeManual` 643페이지 참조)." + +#: ../../document.rst:1775 70e15cf836934e74b7aced0a0a9657ea +msgid "" +"If you update a contents stream, consider using save parameter " +"*clean=True* to ensure consistency between PDF operator source and the " +"object structure." +msgstr "" +"콘텐츠 스트림을 업데이트하는 경우 PDF 연산자 소스와 객체 구조 간의 일관성을 보장하기 위해 저장 매개변수 *clean=True*" +" 를 사용하는 것을 고려하세요." + +#: ../../document.rst:1777 66d2dc91f9a14d18b85327a558ec101b +msgid "" +"Example: Let us assume that you no longer want a certain image appear on " +"a page. This can be achieved by deleting the respective reference in its " +"contents source(s) -- and indeed: the image will be gone after reloading " +"the page. But the page's :data:`resources` object would still show the " +"image as being referenced by the page. This save option will clean up any" +" such mismatches." +msgstr "" +"예: 특정 이미지가 더 이상 페이지에 나타나지 않기를 원한다고 가정합니다. 이것은 콘텐츠 소스에서 해당 참조를 삭제하여 달성할 수 " +"있습니다 -- 실제로: 페이지를 다시 로드한 후 이미지는 사라집니다. 하지만 페이지의 :data:`resources` 객체는 여전히" +" 이미지가 페이지에서 참조되는 것으로 표시됩니다. 이 저장 옵션은 이러한 불일치를 정리합니다." + +#: ../../document.rst:1782 101a91a1231a478c9fd1eab7abcf5d90 +msgid "New in v1.19.5" +msgstr "v1.19.5에서 새로 추가됨" + +#: ../../document.rst:1784 cf961e739e78442cb3749aa3d173aa55 +msgid "" +"PDF Only: Make ``target`` xref an exact copy of ``source``. If ``source``" +" is a :data:`stream`, then this data is also copied." +msgstr "" +"PDF 전용: ``target`` xref를 ``source`` 의 정확한 복사본으로 만듭니다. ``source`` 가 " +":data:`stream` 인 경우 이 데이터도 복사됩니다." + +#: ../../document.rst:1786 fd753c7c6c994eeb9bc0ec1cdc4bad1d +msgid "the source :data:`xref`. It must be an existing **dictionary** object." +msgstr "소스 :data:`xref`. 기존 **딕셔너리** 객체여야 합니다." + +#: ../../document.rst:1787 18a7800d73384701aad4a34df34bdc06 +msgid "" +"the target xref. Must be an existing **dictionary** object. If the xref " +"has just been created, make sure to initialize it as a PDF dictionary " +"with the minimum specification ``<<>>``." +msgstr "" +"대상 xref. 기존 **딕셔너리** 객체여야 합니다. xref가 방금 생성된 경우 최소 사양 ``<<>>`` 로 PDF 딕셔너리로" +" 초기화해야 합니다." + +#: ../../document.rst:1788 cbf0113ba5074e96904620888f4d4e9f +msgid "" +"an optional list of top-level keys in ``target``, that should not be " +"removed in preparation of the copy process." +msgstr "복사 프로세스 준비에서 제거되지 않아야 하는 ``target`` 의 최상위 키 선택적 목록." + +#: ../../document.rst:1792 46b874ab362c4632a7c39375f9efd612 +msgid "This method has much in common with Python's *dict* method `copy()`." +msgstr "이 메서드는 Python의 *dict* 메서드 `copy()` 와 많은 공통점이 있습니다." + +#: ../../document.rst:1793 8a33e87774c04f4ea90f5a5c2b58ce5c +msgid "Both xref numbers must represent existing dictionaries." +msgstr "두 xref 번호 모두 기존 딕셔너리를 나타내야 합니다." + +#: ../../document.rst:1794 d884bd5a35df416abe1dfbc33fe26bee +msgid "" +"Before data is copied from *source*, all *target* dictionary keys are " +"deleted. You can specify exceptions from this in the ``keep`` list. If " +"*source* however has a same-named key, its value will still replace the " +"target." +msgstr "" +"*source* 에서 데이터가 복사되기 전에 모든 *target* 딕셔너리 키가 삭제됩니다. ``keep`` 목록에서 예외를 지정할" +" 수 있습니다. 그러나 *source* 에 동일한 이름의 키가 있으면 해당 값이 여전히 대상을 교체합니다." + +#: ../../document.rst:1795 c32a67a043794307be9bb3c0035c2912 +msgid "" +"If ``source`` is a :data:`stream` object, then these data will also be " +"copied over, and ``target`` will be converted to a stream object." +msgstr "``source`` 가 :data:`stream` 객체인 경우 이 데이터도 복사되고 ``target`` 은 스트림 객체로 변환됩니다." + +#: ../../document.rst:1796 5b21ae7a30e54f9ca542bf49a4e969e7 +msgid "" +"A typical use case is to replace or remove an existing image without " +"using redaction annotations. Example scripts can be seen `in this PyMuPDF" +" Utilities example `_." +msgstr "" +"일반적인 사용 사례는 수정 주석을 사용하지 않고 기존 이미지를 교체하거나 제거하는 것입니다. 예제 스크립트는 `이 PyMuPDF " +"Utilities 예제 `_ 에서 볼 수 있습니다." + +#: ../../document.rst:1800 1c92b07b6ad24acdbc3e9de705ca6bea +msgid "" +"PDF Only: Extract data and meta information of an image stored in the " +"document. The output can directly be used to be stored as an image file, " +"as input for PIL, :ref:`Pixmap` creation, etc. This method avoids using " +"pixmaps wherever possible to present the image in its original format " +"(e.g. as JPEG)." +msgstr "" +"PDF 전용: 문서에 저장된 이미지의 데이터 및 메타 정보를 추출합니다. 출력은 이미지 파일로 저장하거나 PIL, " +":ref:`Pixmap` 생성 등의 입력으로 직접 사용할 수 있습니다. 이 메서드는 가능한 한 pixmap 사용을 피하여 원본 " +"형식(예: JPEG)으로 이미지를 표시합니다." + +#: ../../document.rst:1802 6f93bf4e0d6940f9b39148633ccb02b8 +msgid "" +":data:`xref` of an image object. If this is not in `range(1, " +"doc.xref_length())`, or the object is no image or other errors occur, " +"`None` is returned and no exception is raised." +msgstr "" +"이미지 객체의 :data:`xref`. 이것이 `range(1, doc.xref_length())` 에 없거나 객체가 이미지가 " +"아니거나 다른 오류가 발생하면 `None` 이 반환되고 예외가 발생하지 않습니다." + +#: ../../document.rst:1805 da816c3d1bbd4aa08e6d2b71245c5339 +msgid "" +"a dictionary with the following keys * *ext* (*str*) image type (e.g. " +"*'jpeg'*), usable as image file extension * *smask* (*int*) :data:`xref` " +"number of a stencil (/SMask) image or zero * ``width`` (*int*) image " +"width * ``height`` (*int*) image height * *colorspace* (*int*) the " +"image's *colorspace.n* number. * *cs-name* (*str*) the image's " +"*colorspace.name*. * *xres* (*int*) resolution in x direction. Please " +"also see :data:`resolution`. * *yres* (*int*) resolution in y direction. " +"Please also see :data:`resolution`. * *image* (*bytes*) image data, " +"usable as image file content" +msgstr "" + +#: ../../document.rst:1805 ef447359490d4e5c91399ec554127f12 +msgid "a dictionary with the following keys" +msgstr "다음 키를 가진 딕셔너리" + +#: ../../document.rst:1807 2fd5ae6c09e841e9a37e9f7d00594fcc +msgid "*ext* (*str*) image type (e.g. *'jpeg'*), usable as image file extension" +msgstr "*ext* (*str*) 이미지 타입(예: *'jpeg'*), 이미지 파일 확장자로 사용 가능" + +#: ../../document.rst:1808 402f7ddd2b5942e7810d7db81101f1bf +msgid "*smask* (*int*) :data:`xref` number of a stencil (/SMask) image or zero" +msgstr "*smask* (*int*) 스텐실(/SMask) 이미지의 :data:`xref` 번호 또는 0" + +#: ../../document.rst:1809 b4db1fa6c02c4c8b80b28aa8624cf4e0 +msgid "``width`` (*int*) image width" +msgstr "``width`` (*int*) 이미지 너비" + +#: ../../document.rst:1810 f7b7383e8f814a7194b652803c9845a2 +msgid "``height`` (*int*) image height" +msgstr "``height`` (*int*) 이미지 높이" + +#: ../../document.rst:1811 9e360b497ea1447daa86fdd4699adf13 +msgid "*colorspace* (*int*) the image's *colorspace.n* number." +msgstr "*colorspace* (*int*) 이미지의 *colorspace.n* 번호." + +#: ../../document.rst:1812 abc5b215c0e6488e8744dcacf7a1c90e +msgid "*cs-name* (*str*) the image's *colorspace.name*." +msgstr "" + +#: ../../document.rst:1813 458f54a3d150486db1d2170b249014f4 +msgid "" +"*xres* (*int*) resolution in x direction. Please also see " +":data:`resolution`." +msgstr "" + +#: ../../document.rst:1814 348d1155299f44ba94d846f7a65184e9 +msgid "" +"*yres* (*int*) resolution in y direction. Please also see " +":data:`resolution`." +msgstr "" + +#: ../../document.rst:1815 acf6f71949524192988704580634da36 +msgid "*image* (*bytes*) image data, usable as image file content" +msgstr "*image* (*bytes*) 이미지 파일 콘텐츠로 사용 가능한 이미지 데이터" + +#: ../../document.rst:1827 446e0551034642d5ab3cb8ab7b4ad447 +msgid "" +"There is a functional overlap with *pix = pymupdf.Pixmap(doc, xref)*, " +"followed by a *pix.tobytes()*. Main differences are that extract_image, " +"**(1)** does not always deliver PNG image formats, **(2)** is **very** " +"much faster with non-PNG images, **(3)** usually results in much less " +"disk storage for extracted images, **(4)** returns `None` in error cases " +"(generates no exception). Look at the following example images within the" +" same PDF." +msgstr "" +"*pix = pymupdf.Pixmap(doc, xref)* 다음에 *pix.tobytes()* 를 사용하는 것과 기능적으로 겹칩니다. 주요 차이점은 extract_image가 " +"**(1)** 항상 PNG 이미지 형식을 제공하지 않으며, **(2)** 비 PNG 이미지에서 **매우** 빠르고, **(3)** 추출된 이미지에 대해 " +"일반적으로 훨씬 적은 디스크 저장 공간을 사용하며, **(4)** 오류 경우에 `None` 을 반환한다는 것입니다(예외를 생성하지 않음). 동일한 PDF 내의 " +"다음 예제 이미지를 참조하세요." + +#: ../../document.rst:1829 a8bc35850faa4346bb55fc7684776232 +msgid "xref 1268 is a PNG -- Comparable execution time and identical output::" +msgstr "xref 1268은 PNG입니다 -- 비교 가능한 실행 시간 및 동일한 출력::" + +#: ../../document.rst:1841 867df59d1f90424092d7c31b14755ab5 +msgid "" +"xref 1186 is a JPEG -- :meth:`Document.extract_image` is **many times " +"faster** and produces a **much smaller** output (2.48 MB vs. 0.35 MB)::" +msgstr "" +"xref 1186은 JPEG입니다 -- :meth:`Document.extract_image` 는 **여러 배 빠르며** **훨씬 작은** 출력을 생성합니다(2.48 MB vs. 0.35 MB)::" + +#: ../../document.rst:1856 e236c029a3ea49058156a22bdd86f213 +msgid "Changed in v1.19.4: return a dictionary if `named == True`." +msgstr "v1.19.4에서 변경됨: `named == True` 이면 딕셔너리를 반환합니다." + +#: ../../document.rst:1858 20899e634db84dc9930c742969c15306 +msgid "" +"PDF Only: Return an embedded font file's data and appropriate file " +"extension. This can be used to store the font as an external file. The " +"method does not throw exceptions (other than via checking for PDF and " +"valid :data:`xref`)." +msgstr "" +"PDF 전용: 임베디드 폰트 파일의 데이터와 적절한 파일 확장자를 반환합니다. 이것은 폰트를 외부 파일로 저장하는 데 사용할 수 있습니다. 이 " +"메서드는 예외를 발생시키지 않습니다(PDF 및 유효한 :data:`xref` 확인을 통한 경우 제외)." + +#: ../../document.rst:1860 d7c4c48a28a9455680ecffcf20495b1c +msgid "PDF object number of the font to extract." +msgstr "추출할 폰트의 PDF 객체 번호." + +#: ../../document.rst:1861 77c4185b821f4d71a7dee301908b579b +msgid "" +"only return font information, not the buffer. To be used for information-" +"only purposes, avoids allocation of large buffer areas." +msgstr "" +"버퍼가 아닌 폰트 정보만 반환합니다. 정보 전용 목적으로 사용되며, 큰 버퍼 영역 할당을 피합니다." + +#: ../../document.rst:1862 923895cfb0bf425c8677eed1f5f9a100 +msgid "" +"If true, a dictionary with the following keys is returned: 'name' (font " +"base name), 'ext' (font file extension), 'type' (font type), 'content' " +"(font file content)." +msgstr "" +"true인 경우 다음 키를 가진 딕셔너리가 반환됩니다: 'name'(폰트 기본 이름), 'ext'(폰트 파일 확장자), 'type'(폰트 타입), 'content'(폰트 파일 내용)." + +#: ../../document.rst:1865 d8c2131db2594d699ecf78d17fc1db47 +msgid "" +"a tuple `(basename, ext, type, content)`, where *ext* is a 3-byte " +"suggested file extension (*str*), *basename* is the font's name (*str*), " +"*type* is the font's type (e.g. \"Type1\") and *content* is a bytes " +"object containing the font file's content (or *b\"\"*). For possible " +"extension values and their meaning see :ref:`FontExtensions`. Return " +"details on error: * `(\"\", \"\", \"\", b\"\")` -- invalid xref or xref " +"is not a (valid) font object. * `(basename, \"n/a\", \"Type1\", b\"\")` " +"-- *basename* is not embedded and thus cannot be extracted. This is the " +"case for e.g. the :ref:`Base-14-Fonts` and Type 3 fonts." +msgstr "" + +#: ../../document.rst:1865 4b10129dd3f94faabfbdc2cf2806ae66 +msgid "" +"a tuple `(basename, ext, type, content)`, where *ext* is a 3-byte " +"suggested file extension (*str*), *basename* is the font's name (*str*), " +"*type* is the font's type (e.g. \"Type1\") and *content* is a bytes " +"object containing the font file's content (or *b\"\"*). For possible " +"extension values and their meaning see :ref:`FontExtensions`. Return " +"details on error:" +msgstr "" +"튜플 `(basename, ext, type, content)` 로, 여기서 *ext* 는 3바이트 제안 파일 확장자(*str*), *basename* 는 폰트 이름(*str*), " +"*type* 는 폰트 타입(예: \"Type1\"), *content* 는 폰트 파일 내용(또는 *b\"\"*)을 포함하는 bytes 객체입니다. 가능한 " +"확장자 값과 의미는 :ref:`FontExtensions` 를 참조하세요. 오류 시 반환 세부 사항:" + +#: ../../document.rst:1867 d0cf0693516747a0926d8c334fbf3b49 +msgid "" +"`(\"\", \"\", \"\", b\"\")` -- invalid xref or xref is not a (valid) font" +" object." +msgstr "" +"`(\"\", \"\", \"\", b\"\")` -- 유효하지 않은 xref 또는 xref가 (유효한) 폰트 객체가 아님." + +#: ../../document.rst:1868 ccf11cf787d44c158c7b4125324789cc +msgid "" +"`(basename, \"n/a\", \"Type1\", b\"\")` -- *basename* is not embedded and" +" thus cannot be extracted. This is the case for e.g. the " +":ref:`Base-14-Fonts` and Type 3 fonts." +msgstr "" +"`(basename, \"n/a\", \"Type1\", b\"\")` -- *basename* 이 임베디드되지 않아 추출할 수 없음. 예를 들어 " +":ref:`Base-14-Fonts` 및 Type 3 폰트의 경우입니다." + +#: ../../document.rst:1870 a82028b2f0544a189cb8c0f7b5c3cc92 +msgid "Example:" +msgstr "예제:" + +#: ../../document.rst:1879 7435e3ad508d4986a5f8845543e7e0df +msgid "" +"The basename is returned unchanged from the PDF. So it may contain " +"characters (such as blanks) which may disqualify it as a filename for " +"your operating system. Take appropriate action." +msgstr "" +"basename은 PDF에서 변경되지 않은 채로 반환됩니다. 따라서 운영 체제의 파일명으로 사용하기에 부적합한 문자(예: 공백)가 포함될 수 있습니다. 적절한 조치를 취하세요." + +#: ../../document.rst:1882 35897c9f8dc5431792eeabe5cfe081ed +msgid "" +"The returned *basename* in general is **not** the original file name, but" +" it probably has some similarity." +msgstr "" +"반환된 *basename* 은 일반적으로 원본 파일 이름이 **아니지만** 일부 유사성이 있을 수 있습니다." + +#: ../../document.rst:1883 576b38dabe894ac781dc4e26c56c5fbc +#, python-brace-format +msgid "" +"If parameter `named == True`, a dictionary with the following keys is " +"returned: `{'name': 'T1', 'ext': 'n/a', 'type': 'Type3', 'content': " +"b''}`." +msgstr "" +"매개변수 `named == True` 인 경우 다음 키를 가진 딕셔너리가 반환됩니다: `{'name': 'T1', 'ext': 'n/a', 'type': 'Type3', 'content': " +"b''}`." + +#: ../../document.rst:1890 cfbc337f74774c9e873b301a3cadb5af +msgid "PDF only: Return the :data:`xref` of the document's XML metadata." +msgstr "PDF 전용: 문서의 XML 메타데이터의 :data:`xref` 를 반환합니다." + +#: ../../document.rst:1899 0e955bcdf14d4dbcb8657f98cd3631f4 +msgid "" +"PDF only: Check whether there are links, resp. annotations anywhere in " +"the document." +msgstr "" +"PDF 전용: 문서 어디에든 링크 또는 주석이 있는지 확인합니다." + +#: ../../document.rst:1901 ddc5e688329046928b55eaea1db04902 +msgid "" +"``True`` / ``False``. As opposed to fields, which are also stored in a " +"central place of a PDF document, the existence of links / annotations can" +" only be detected by parsing each page. These methods are tuned to do " +"this efficiently and will immediately return, if the answer is ``True`` " +"for a page. For PDFs with many thousand pages however, an answer may take" +" some time [#f6]_ if no link, resp. no annotation is found." +msgstr "" +"``True`` / ``False``. PDF 문서의 중앙 위치에 저장되는 필드와 달리, 링크/주석의 존재는 각 페이지를 구문 분석해야만 감지할 수 있습니다. " +"이 메서드들은 이를 효율적으로 수행하도록 조정되었으며, 페이지에 대한 답변이 ``True`` 이면 즉시 반환합니다. 그러나 수천 페이지가 있는 PDF의 경우, " +"링크 또는 주석이 발견되지 않으면 답변에 시간이 걸릴 수 있습니다 [#f6]_." + +#: ../../document.rst:1906 ca08446597a942dfb0c8419c0295e50b +msgid "" +"PDF only: Investigate eligible fonts for their use by text in the " +"document. If a font is supported and a size reduction is possible, that " +"font is replaced by a version with a subset of its characters." +msgstr "" +"PDF 전용: 문서의 텍스트에서 사용되는 적격 폰트를 조사합니다. 폰트가 지원되고 크기 축소가 가능한 경우, 해당 폰트는 문자 서브셋을 가진 버전으로 대체됩니다." + +#: ../../document.rst:1908 0a1f089883924faa89e7e8840f138d99 +msgid "Use this method immediately before saving the document." +msgstr "문서를 저장하기 직전에 이 메서드를 사용하세요." + +#: ../../document.rst:1910 8000c8e5ca0e4393b5619405bc73211d +msgid "" +"write various progress information to sysout. This currently only has an " +"effect if `fallback` is `True`." +msgstr "" +"다양한 진행 정보를 sysout에 기록합니다. 현재는 `fallback` 이 `True` 인 경우에만 효과가 있습니다." + +#: ../../document.rst:1911 125f3a0b0abe4f5395592a60330670e0 +msgid "" +"if `True` use the deprecated algorithm that makes use of package " +"`fontTools `_ (which hence must be " +"installed). If using the recommended value `False` (default), MuPDF's " +"native function is used -- which is **very much faster** and can subset a" +" broader range of font types. Package fontTools is not required then." +msgstr "" +"`True` 인 경우 패키지 `fontTools `_ 를 사용하는 더 이상 사용되지 않는 알고리즘을 사용합니다(따라서 설치되어 있어야 함). 권장 값 `False` (기본값)를 사용하는 경우 MuPDF의 네이티브 함수가 사용됩니다 -- 이것은 **훨씬 빠르며** 더 넓은 범위의 폰트 타입을 서브셋할 수 있습니다. 이 경우 fontTools 패키지가 필요하지 않습니다." + +#: ../../document.rst:1913 00bacf13890641b88f6f1ad99aff3a06 +msgid "" +"The greatest benefit can be achieved when creating new PDFs using large " +"fonts like is typical for Asian scripts. When using the :ref:`Story` " +"class or method :meth:`Page.insert_htmlbox`, multiple fonts may " +"automatically be included -- without the programmer becoming aware of it." +msgstr "" +"아시아 스크립트에 일반적인 것처럼 큰 폰트를 사용하여 새 PDF를 생성할 때 가장 큰 이점을 얻을 수 있습니다. :ref:`Story` 클래스 또는 " +":meth:`Page.insert_htmlbox` 메서드를 사용할 때 여러 폰트가 자동으로 포함될 수 있습니다 -- 프로그래머가 인지하지 못한 채로." + +#: ../../document.rst:1915 d006a2c3965b4769813d244db91fd2e1 +msgid "" +"In all these cases, the set of actually used unicodes mostly is very " +"small compared to the number of glyphs available in the used fonts. Using" +" this method can easily reduce the embedded font binaries by two orders " +"of magnitude -- from several megabytes down to a low two-digit kilobyte " +"amount." +msgstr "" +"이러한 모든 경우에서 실제로 사용되는 유니코드 집합은 사용된 폰트에서 사용 가능한 글리프 수에 비해 대부분 매우 작습니다. 이 " +"메서드를 사용하면 임베디드 폰트 바이너리를 두 자릿수 크기로 쉽게 줄일 수 있습니다 -- 수 메가바이트에서 낮은 두 자릿수 킬로바이트 " +"양으로." + +#: ../../document.rst:1917 b2b33791b196412e97c3bd6e588482ab +msgid "" +"Creating font subsets leaves behind a large number of large, now unused " +"PDF objects (\"ghosts\"). Therefore, make sure to compress and garbage-" +"collect when saving the file. We recommend to use " +":meth:`Document.ez_save`." +msgstr "" +"폰트 서브셋을 만들면 많은 수의 큰, 이제 사용되지 않는 PDF 객체(\"고스트\")가 남습니다. 따라서 파일을 저장할 때 압축 및" +" 가비지 수집을 수행하세요. :meth:`Document.ez_save` 사용을 권장합니다." + +#: ../../document.rst:1919 328408f7e8dd4fa7bfd094bfd96b99e3 +msgid "|history_begin|" +msgstr "|history_begin|" + +#: ../../document.rst:1922 798460dece6a4ad7886988b394a392f5 +msgid "Changed in v1.18.9" +msgstr "v1.18.9에서 변경됨" + +#: ../../document.rst:1923 ffb32b88708c47bc9a917650930b7177 +msgid "Changed in v1.24.2 use native function of MuPDF." +msgstr "v1.24.2에서 변경됨: MuPDF의 네이티브 함수 사용." + +#: ../../document.rst:1925 8a922608125342a7a0fe043997b5731e +msgid "|history_end|" +msgstr "|history_end|" + +#: ../../document.rst:1930 ../../document.rst:1936 ../../document.rst:1943 +#: ../../document.rst:1950 ../../document.rst:1959 ../../document.rst:1966 +#: ../../document.rst:1975 ../../document.rst:1982 ../../document.rst:1989 +#: ../../document.rst:1998 ../../document.rst:2007 +#: 2a53866190fe49559ea59107b2ab1ed6 70e42b1a98334fe9afab934648d37034 +#: 84ed6cfe188e451ea6f51ecbffac4e7c 917af123d7974a3c8f94f8f458b3e7ce +#: 91d2e3633a1041c8a9ecce6b3586bd37 bcbe3a3d5ae54bf2a3ae7b756710592a +#: c5666e0424794a9e82f95bec34fa5e5f ccf2561788a34c0ca38f05ccaf1e22fb +#: d2fd99018af4450c8ddff8e687633ae0 e919e0a4ef3f4060b9740167dd44e394 +#: f353da33d40e46b5ac39ddff1425ba1c +msgid "New in v1.19.0" +msgstr "v1.19.0에서 새로 추가됨" + +#: ../../document.rst:1932 6ee29bc23b4d48a79a8c43170676e1eb +msgid "" +"PDF only: Enable journalling. Use this before you start logging " +"operations." +msgstr "PDF 전용: 저널링을 활성화합니다. 로깅 작업을 시작하기 전에 이것을 사용하세요." + +#: ../../document.rst:1938 7d210c47aaa9496797b08af90a645eed +msgid "" +"PDF only: Start journalling an *\"operation\"* identified by a string " +"\"name\". Updates will fail for a journal-enabled PDF, if no operation " +"has been started." +msgstr "" +"PDF 전용: 문자열 \"name\" 으로 식별되는 *\"작업\"* 의 저널링을 시작합니다. 작업이 시작되지 않으면 저널이 활성화된" +" PDF에 대한 업데이트가 실패합니다." + +#: ../../document.rst:1945 66626f215b2042f59d57c01bc5bc9d9c +msgid "" +"PDF only: Stop the current operation. The updates between start and stop " +"of an operation belong to the same unit of work and will be undone / " +"redone together." +msgstr "" +"PDF 전용: 현재 작업을 중지합니다. 작업의 시작과 중지 사이의 업데이트는 동일한 작업 단위에 속하며 함께 실행 취소/다시 " +"실행됩니다." + +#: ../../document.rst:1952 1a9a7a8aa18c4fe18b9dc769ee6af41b +msgid "" +"PDF only: Return the numbers of the current operation and the total " +"operation count." +msgstr "PDF 전용: 현재 작업 번호와 총 작업 수를 반환합니다." + +#: ../../document.rst:1954 a68f9e659a834894b7ae26a288e36c6a +msgid "" +"a tuple `(step, steps)` containing the current operation number and the " +"total number of operations in the journal. If **step** is 0, we are at " +"the top of the journal. If **step** equals **steps**, we are at the " +"bottom. Updating the PDF with anything other than undo or redo will " +"automatically remove all journal entries after the current one and the " +"new update will become the new last entry in the journal. The updates " +"corresponding to the removed journal entries will be permanently lost." +msgstr "" +"현재 작업 번호와 저널의 총 작업 수를 포함하는 튜플 `(step, steps)`. **step** 이 0이면 저널의 맨 위에 " +"있습니다. **step** 이 **steps** 와 같으면 맨 아래에 있습니다. 실행 취소 또는 다시 실행 이외의 것으로 PDF를 " +"업데이트하면 현재 항목 이후의 모든 저널 항목이 자동으로 제거되고 새 업데이트가 저널의 새 마지막 항목이 됩니다. 제거된 저널 " +"항목에 해당하는 업데이트는 영구적으로 손실됩니다." + +#: ../../document.rst:1961 70b630f906a14f6ba6e8d2f1b63d80bb +msgid "PDF only: Return the name of operation number *step.*" +msgstr "PDF 전용: 작업 번호 *step.* 의 이름을 반환합니다." + +#: ../../document.rst:1968 c18d1d246dd349ab8f2fae9bdbcd7f6a +msgid "" +"PDF only: Show whether forward (\"redo\") and / or backward (\"undo\") " +"executions are possible from the current journal position." +msgstr "PDF 전용: 현재 저널 위치에서 앞으로(\"redo\") 및/또는 뒤로(\"undo\") 실행이 가능한지 표시합니다." + +#: ../../document.rst:1970 026f194ecdb44484a5a846457b3bebec +#, python-brace-format +msgid "" +"a dictionary `{\"undo\": bool, \"redo\": bool}`. The respective method is" +" available if its value is `True`." +msgstr "" +"딕셔너리 `{\"undo\": bool, \"redo\": bool}`. 해당 메서드는 값이 `True` 인 경우 사용할 수 " +"있습니다." + +#: ../../document.rst:1977 2a24feb018f8432f91aee80e633040d5 +msgid "" +"PDF only: Revert (undo) the current step in the journal. This moves " +"towards the journal's top." +msgstr "PDF 전용: 저널의 현재 단계를 되돌립니다(실행 취소). 이것은 저널의 맨 위로 이동합니다." + +#: ../../document.rst:1984 b8f7aceb49744cb2bb1844ac639ad01c +msgid "" +"PDF only: Re-apply (redo) the current step in the journal. This moves " +"towards the journal's bottom." +msgstr "PDF 전용: 저널의 현재 단계를 다시 적용합니다(다시 실행). 이것은 저널의 맨 아래로 이동합니다." + +#: ../../document.rst:1991 f05f714420554ee9bee4aaf8a9fb46fa +msgid "PDF only: Save the journal to a file." +msgstr "PDF 전용: 저널을 파일로 저장합니다." + +#: ../../document.rst:1993 b9888536d6c84d89852aab0d7219a4d4 +msgid "" +"either a filename as string or a file object opened as \"wb\" (or an " +"`io.BytesIO()` object)." +msgstr "문자열로 된 파일명 또는 \"wb\" 로 열린 파일 객체(또는 `io.BytesIO()` 객체)." + +#: ../../document.rst:2000 0c0590abc65e46cda73b5408c9144c3e +msgid "" +"PDF only: Load journal from a file. Enables journalling for the document." +" If journalling is already enabled, an exception is raised." +msgstr "PDF 전용: 파일에서 저널을 로드합니다. 문서에 대한 저널링을 활성화합니다. 저널링이 이미 활성화된 경우 예외가 발생합니다." + +#: ../../document.rst:2002 ae156f5f2acd4bb6a7052525c9245004 +msgid "" +"the filename (str) of the journal or a file object opened as \"rb\" (or " +"an `io.BytesIO()` object)." +msgstr "저널의 파일명(str) 또는 \"rb\" 로 열린 파일 객체(또는 `io.BytesIO()` 객체)." + +#: ../../document.rst:2009 5f940a3e7e834d4bb229807f2f31c126 +msgid "" +"PDF only: Saves a \"snapshot\" of the document. This is a PDF document " +"with a special, incremental-save format compatible with journalling -- " +"therefore no save options are available. Saving a snapshot is not " +"possible for new documents." +msgstr "" +"PDF 전용: 문서의 \"스냅샷\"을 저장합니다. 이것은 저널링과 호환되는 특수한 증분 저장 형식의 PDF 문서입니다 -- 따라서 " +"저장 옵션을 사용할 수 없습니다. 새 문서의 경우 스냅샷 저장이 불가능합니다." + +#: ../../document.rst:2011 f586116e945545b1a4cad6f484605631 +msgid "" +"This is a normal PDF document with no usage restrictions whatsoever. If " +"it is not being changed in any way, it can be used together with its " +"journal to undo / redo operations or continue updating." +msgstr "" +"이것은 사용 제한이 전혀 없는 일반 PDF 문서입니다. 어떤 방식으로도 변경되지 않는 경우 저널과 함께 사용하여 작업을 실행 " +"취소/다시 실행하거나 업데이트를 계속할 수 있습니다." + +#: ../../document.rst:2016 f752b2d996c14e0b8a78c71a0f90f84b +msgid "" +"Contains the first :ref:`Outline` entry of the document (or `None`). Can " +"be used as a starting point to walk through all outline items. Accessing " +"this property for encrypted, not authenticated documents will raise an " +"*AttributeError*." +msgstr "" +"문서의 첫 번째 :ref:`Outline` 항목(또는 `None`)을 포함합니다. 모든 개요 항목을 순회하는 시작점으로 사용할 수 " +"있습니다. 암호화되었지만 인증되지 않은 문서에 대해 이 속성에 액세스하면 *AttributeError* 가 발생합니다." + +#: ../../document.rst 00995fa57979497dadc4c05245df531b +#: 043530a05a4a4547a0fd3a3dd8ad4a0e 0d7830ff904d4136bd22268be51826f7 +#: 24bacb47a3b845ae9f78d935aaef2dbc 345e810f6046480f9403b08f9f4bcefd +#: 74e3b6ce6dca44149b9d29443c932045 925d12c293744eff9d30dec6c94968ef +#: 928860903ad84395aeb563464aa7fa33 95ee7c0c91eb470085cf7a7402a5aca6 +#: 9d01a444f38e4b8fa769e04408682bfa a81724fa96ce4c59904551cc1647204a +#: b870075b72ee484a8667be1b1f4340cb bed92752ce3a4fd0b268157d0d9196d4 +#: c2b8f936790f45f8a293db8ea34ee5e3 cbcd66fd660f48c98c9982ab8bbea7d2 +#: cfe8e8750ff14e1686c002553098556d d12fbf5f89594bfc97e8aba7e8e002b3 +#: d905df47a8264daa82f71bd16750bae3 d9132afe09b24ff2a3957f60049d362b +#: e60554c94b2444189ed5a481cec24a26 eb2f0663adb94352b5a04ed93ef624bc +msgid "type" +msgstr "타입" + +#: ../../document.rst:2018 0a1d5db8723b42fb85c316466e7ffb91 +msgid ":ref:`Outline`" +msgstr ":ref:`Outline`" + +#: ../../document.rst:2022 3b1a44d3b897441ebdf4f10b248f9a22 +msgid "" +"``False`` if document is still open. If closed, most other attributes and" +" methods will have been deleted / disabled. In addition, :ref:`Page` " +"objects referring to this document (i.e. created with " +":meth:`Document.load_page`) and their dependent objects will no longer be" +" usable. For reference purposes, :attr:`Document.name` still exists and " +"will contain the filename of the original document (if applicable)." +msgstr "" +"문서가 여전히 열려 있으면 ``False``. 닫히면 대부분의 다른 속성과 메서드가 삭제/비활성화됩니다. 또한 이 문서를 참조하는 " +":ref:`Page` 객체(즉, :meth:`Document.load_page` 로 생성된)와 종속 객체는 더 이상 사용할 수 " +"없습니다. 참조 목적으로 :attr:`Document.name` 은 여전히 존재하며 원본 문서의 파일명을 포함합니다(해당하는 " +"경우)." + +#: ../../document.rst:2024 ../../document.rst:2030 ../../document.rst:2036 +#: ../../document.rst:2050 ../../document.rst:2058 ../../document.rst:2066 +#: ../../document.rst:2104 ../../document.rst:2110 +#: 0cc5fd7ca5794cc1b9fbd3cfb3aa27fd 12e50b17b9cb40a48f8695654175db79 +#: 27f4f101c07c46c497d090cb3d8f71ad b1a9944e25c54efcb8ed9e82e88109c7 +#: c26a6856641b4639b862f347625b17af caa9c5b1a6a84e6992520149259beff6 +#: d4a114c416654fe786b4f773ca746d62 ee2dcc70850a4759921e982fb5d6d062 +msgid "bool" +msgstr "bool" + +#: ../../document.rst:2028 522e4e6cbfe546ecbc211187c3a94c41 +msgid "" +"``True`` if this is a PDF document and contains unsaved changes, else " +"``False``." +msgstr "이것이 PDF 문서이고 저장되지 않은 변경 사항이 포함되어 있으면 ``True``, 그렇지 않으면 ``False``." + +#: ../../document.rst:2034 299c7a35b22d4fbf90828dc6b9cb044e +msgid "``True`` if this is a PDF document, else ``False``." +msgstr "이것이 PDF 문서이면 ``True``, 그렇지 않으면 ``False``." + +#: ../../document.rst:2040 08475f6f36f447c29441b4d3fd76df5d +msgid "" +"``False`` if this is not a PDF or has no form fields, otherwise the " +"number of root form fields (fields with no ancestors)." +msgstr "이것이 PDF가 아니거나 양식 필드가 없으면 ``False``, 그렇지 않으면 루트 양식 필드 수(조상이 없는 필드)." + +#: ../../document.rst:2042 010f3e3f2e224c74971e9b55d2bdaa7d +msgid "*(Changed in v1.16.4)* Returns the total number of (root) form fields." +msgstr "*(v1.16.4에서 변경됨)* (루트) 양식 필드의 총 수를 반환합니다." + +#: ../../document.rst:2044 b440f9a8184b42ec823bb89ea41d82fb +msgid "bool,int" +msgstr "bool,int" + +#: ../../document.rst:2048 35914fa669fd405da917712ef53a7e92 +msgid "" +"``True`` if document has a variable page layout (like e-books or HTML). " +"In this case you can set the desired page dimensions during document " +"creation (open) or via method :meth:`layout`." +msgstr "" +"문서에 가변 페이지 레이아웃(예: 전자책 또는 HTML)이 있으면 ``True``. 이 경우 문서 생성(열기) 중 또는 메서드 " +":meth:`layout` 을 통해 원하는 페이지 크기를 설정할 수 있습니다." + +#: ../../document.rst:2054 0ce6260a4e3a4baa8ff2828e5a438327 +msgid "New in v1.18.2" +msgstr "v1.18.2에서 새로 추가됨" + +#: ../../document.rst:2056 a6d05b59ff164db98de53893fca7fcdd +msgid "" +"``True`` if PDF has been repaired during open (because of major structure" +" issues). Always ``False`` for non-PDF documents. If true, more details " +"have been stored in `TOOLS.mupdf_warnings()`, and " +":meth:`Document.can_save_incrementally` will return ``False``." +msgstr "" +"PDF가 열기 중에 복구되었으면(주요 구조 문제로 인해) ``True``. 비PDF 문서의 경우 항상 ``False``. true인" +" 경우 `TOOLS.mupdf_warnings()` 에 더 자세한 정보가 저장되며 " +":meth:`Document.can_save_incrementally` 는 ``False`` 를 반환합니다." + +#: ../../document.rst:2064 a9b6d17bc6a64b64a3671e8bf9f83ec9 +msgid "``True`` if PDF is in linearized format. ``False`` for non-PDF documents." +msgstr "PDF가 선형화 형식이면 ``True``. 비PDF 문서의 경우 ``False``." + +#: ../../document.rst:2072 e5b2f42393594f9584bc49db8042d6a4 +msgid "" +"A dictionary indicating the `/MarkInfo` value. If not specified, the " +"empty dictionary is returned. If not a PDF, `None` is returned." +msgstr "`/MarkInfo` 값을 나타내는 딕셔너리. 지정되지 않으면 빈 딕셔너리가 반환됩니다. PDF가 아니면 `None` 이 반환됩니다." + +#: ../../document.rst:2074 ../../document.rst:2138 +#: 3784f9a4ac6e48878e4c8c36ad21d273 d4410deba0634bce846d5ce0cd9b29c3 +msgid "dict" +msgstr "dict" + +#: ../../document.rst:2080 4271fd12fd1a41bfa48723d762e490a3 +msgid "" +"A string containing the `/PageMode` value. If not specified, the default " +"\"UseNone\" is returned. If not a PDF, `None` is returned." +msgstr "" +"`/PageMode` 값을 포함하는 문자열. 지정되지 않으면 기본값 \"UseNone\" 이 반환됩니다. PDF가 아니면 " +"`None` 이 반환됩니다." + +#: ../../document.rst:2082 ../../document.rst:2090 ../../document.rst:2144 +#: 453fec96833e4433b835a1ef639e4b60 713b37981b604e8eb17307f1a2449199 +#: cf4e37d7bd7f4c8dba3d4242bbb1f2db +msgid "str" +msgstr "str" + +#: ../../document.rst:2088 f9d3ccb16f674ace8f055a5063405edc +msgid "" +"A string containing the `/PageLayout` value. If not specified, the " +"default \"SinglePage\" is returned. If not a PDF, `None` is returned." +msgstr "" +"`/PageLayout` 값을 포함하는 문자열. 지정되지 않으면 기본값 \"SinglePage\" 가 반환됩니다. PDF가 아니면 " +"`None` 이 반환됩니다." + +#: ../../document.rst:2096 c6a7fa11f6ba45668b3e397c883ba549 +msgid "" +"An integer counting the number of versions present in the document. Zero " +"if not a PDF, otherwise the number of incremental saves plus one." +msgstr "문서에 있는 버전 수를 계산하는 정수. PDF가 아니면 0, 그렇지 않으면 증분 저장 수에 1을 더한 값." + +#: ../../document.rst:2098 ../../document.rst:2118 ../../document.rst:2150 +#: ../../document.rst:2158 ../../document.rst:2166 +#: 47a023dd007a4136b8709a8573756722 76fb9a9c4c9a40bebeed09ef0bfb3396 +#: 984c624fe25a4686a77b774cd80a69ab 9c287bb741d44c889f527a422691acc1 +#: fcb19540ceef4b62ad2dccde4b0f7510 +msgid "int" +msgstr "int" + +#: ../../document.rst:2102 7453a9e5ba024948a4063deb3b871b49 +msgid "" +"Indicates whether the document is password-protected against access. This" +" indicator remains unchanged -- **even after the document has been " +"authenticated**. Precludes incremental saves if true." +msgstr "" +"문서가 액세스에 대해 비밀번호로 보호되는지 여부를 나타냅니다. 이 표시기는 변경되지 않습니다 -- **문서가 인증된 후에도**. " +"true이면 증분 저장을 제외합니다." + +#: ../../document.rst:2108 5556027f67ae474bab1a88b005f81bc8 +msgid "" +"This indicator initially equals :attr:`Document.needs_pass`. After " +"successful authentication, it is set to ``False`` to reflect the " +"situation." +msgstr "" +"이 표시기는 처음에 :attr:`Document.needs_pass` 와 같습니다. 성공적인 인증 후 상황을 반영하도록 " +"``False`` 로 설정됩니다." + +#: ../../document.rst:2114 271b4315b03a405f8b9789f994bbd44d +msgid "" +"Changed in v1.16.0: This is now an integer comprised of bit indicators. " +"Was a dictionary previously." +msgstr "v1.16.0에서 변경됨: 이것은 이제 비트 표시기로 구성된 정수입니다. 이전에는 딕셔너리였습니다." + +#: ../../document.rst:2116 0a6016a9102f41f98184e468fbc8fcf9 +msgid "" +"Contains the permissions to access the document. This is an integer " +"containing bool values in respective bit positions. For example, if " +"*doc.permissions & pymupdf.PDF_PERM_MODIFY > 0*, you may change the " +"document. See :ref:`PermissionCodes` for details." +msgstr "" +"문서 액세스 권한을 포함합니다. 이것은 각 비트 위치에 bool 값을 포함하는 정수입니다. 예를 들어 *doc.permissions" +" & pymupdf.PDF_PERM_MODIFY > 0* 이면 문서를 변경할 수 있습니다. 자세한 내용은 " +":ref:`PermissionCodes` 를 참조하세요." + +#: ../../document.rst:2122 62256c18f0984d2c90bb467782ffeff9 +msgid "" +"Contains the document's meta data as a Python dictionary or `None` (if " +"*is_encrypted=True* and *needPass=True*). Keys are *format*, " +"*encryption*, *title*, *author*, *subject*, *keywords*, *creator*, " +"*producer*, *creationDate*, *modDate*, *trapped*. All item values are " +"strings or `None`." +msgstr "" +"Python 딕셔너리 또는 `None` (만약 *is_encrypted=True* 및 *needPass=True* 인 경우)로 " +"문서의 메타 데이터를 포함합니다. 키는 *format*, *encryption*, *title*, *author*, " +"*subject*, *keywords*, *creator*, *producer*, *creationDate*, *modDate*, " +"*trapped* 입니다. 모든 항목 값은 문자열 또는 `None` 입니다." + +#: ../../document.rst:2124 03eee27a933d433fb7db0fce45f47ce5 +msgid "" +"Except *format* and *encryption*, for PDF documents, the key names " +"correspond in an obvious way to the PDF keys */Creator*, */Producer*, " +"*/CreationDate*, */ModDate*, */Title*, */Author*, */Subject*, */Trapped* " +"and */Keywords* respectively." +msgstr "" +"*format* 및 *encryption* 을 제외하고, PDF 문서의 경우 키 이름은 PDF 키 */Creator*, " +"*/Producer*, */CreationDate*, */ModDate*, */Title*, */Author*, " +"*/Subject*, */Trapped* 및 */Keywords* 와 각각 명확하게 대응합니다." + +#: ../../document.rst:2126 35b7301ea11d45c690ea3d0cd18e2cbb +msgid "*format* contains the document format (e.g. 'PDF-1.6', 'XPS', 'EPUB')." +msgstr "*format* 는 문서 형식을 포함합니다(예: 'PDF-1.6', 'XPS', 'EPUB')." + +#: ../../document.rst:2128 d5b947e2ac1a49f59bf2d98bce59ef5f +msgid "" +"*encryption* either contains `None` (no encryption), or a string naming " +"an encryption method (e.g. *'Standard V4 R4 128-bit RC4'*). Note that an " +"encryption method may be specified **even if** *needs_pass=False*. In " +"such cases not all permissions will probably have been granted. Check " +":attr:`Document.permissions` for details." +msgstr "" +"*encryption* 는 `None` (암호화 없음) 또는 암호화 방법을 명명하는 문자열(예: *'Standard V4 R4 " +"128-bit RC4'*)을 포함합니다. *needs_pass=False* 인 경우에도 암호화 방법이 지정될 수 있습니다. 이러한 " +"경우 모든 권한이 부여되지 않았을 수 있습니다. 자세한 내용은 :attr:`Document.permissions` 를 확인하세요." + +#: ../../document.rst:2130 d7ddc57c41dd4f788b7900b6376aa4a1 +msgid "" +"If the date fields contain valid data (which need not be the case at " +"all!), they are strings in the PDF-specific timestamp format " +"\"D:\", where" +msgstr "" +"날짜 필드에 유효한 데이터가 포함되어 있으면(항상 그런 것은 아님!), PDF 특정 타임스탬프 형식 \"D:\" 의 " +"문자열입니다. 여기서" + +#: ../../document.rst:2132 37980944bd074ca5a4faae476976cc12 +msgid "" +" is the 12 character ISO timestamp *YYYYMMDDhhmmss* (*YYYY* - year, " +"*MM* - month, *DD* - day, *hh* - hour, *mm* - minute, *ss* - second), and" +msgstr "" +" 는 12자 ISO 타임스탬프 *YYYYMMDDhhmmss* (*YYYY* - 연도, *MM* - 월, *DD* - 일, " +"*hh* - 시, *mm* - 분, *ss* - 초)이며," + +#: ../../document.rst:2134 3856b3200cce432dbd8947d491439b5a +msgid "" +" is a time zone value (time interval relative to GMT) containing a " +"sign ('+' or '-'), the hour (*hh*), and the minute (*'mm'*, note the " +"apostrophes!)." +msgstr "" +" 는 부호('+' 또는 '-'), 시간(*hh*), 분(*'mm'*, 아포스트로피 주의!)을 포함하는 시간대 값(GMT 기준" +" 시간 간격)입니다." + +#: ../../document.rst:2136 50c3a62c47aa4a0e91767db198d13bc9 +msgid "" +"A Paraguayan value might hence look like *D:20150415131602-04'00'*, which" +" corresponds to the timestamp April 15, 2015, at 1:16:02 pm local time " +"Asuncion." +msgstr "" +"파라과이 값은 따라서 *D:20150415131602-04'00'* 와 같이 보일 수 있으며, 이것은 2015년 4월 15일 오후 " +"1:16:02 아순시온 현지 시간의 타임스탬프에 해당합니다." + +#: ../../document.rst:2142 5c4a4b4663dd458ebab9d3d96224ded1 +msgid "" +"Contains the *filename* or *filetype* value with which *Document* was " +"created." +msgstr "*Document* 가 생성된 *filename* 또는 *filetype* 값을 포함합니다." + +#: ../../document.rst:2148 1fd9cb078c3b40fa80177d7d3b7cd662 +msgid "" +"Contains the number of pages of the document. May return 0 for documents " +"with no pages. Function `len(doc)` will also deliver this result." +msgstr "" +"문서의 페이지 수를 포함합니다. 페이지가 없는 문서의 경우 0을 반환할 수 있습니다. 함수 `len(doc)` 도 이 결과를 " +"제공합니다." + +#: ../../document.rst:2154 ../../document.rst:2162 +#: a3d993a5f1ad4023b11623ba4734ce54 c2709f411db54b3695edf605a69854cd +msgid "New in v1.17.0" +msgstr "v1.17.0에서 새로 추가됨" + +#: ../../document.rst:2156 ae19f25817824e61a9bb7e1f679b1cd5 +msgid "" +"Contains the number of chapters in the document. Always at least 1. " +"Relevant only for document types with chapter support (EPUB currently). " +"Other documents will return 1." +msgstr "" +"문서의 장 수를 포함합니다. 항상 최소 1입니다. 장 지원이 있는 문서 타입(현재 EPUB)에만 관련이 있습니다. 다른 문서는 1을" +" 반환합니다." + +#: ../../document.rst:2164 3b71ca16faf845728a3b6fa856d2ea2a +msgid "" +"Contains (chapter, pno) of the document's last page. Relevant only for " +"document types with chapter support (EPUB currently). Other documents " +"will return `(0, page_count - 1)` and `(0, -1)` if it has no pages." +msgstr "" +"문서의 마지막 페이지의 (chapter, pno)를 포함합니다. 장 지원이 있는 문서 타입(현재 EPUB)에만 관련이 있습니다. " +"다른 문서는 `(0, page_count - 1)` 을 반환하고 페이지가 없으면 `(0, -1)` 을 반환합니다." + +#: ../../document.rst:2170 cd3ec2161abf42f383b85e109737b05f +msgid "" +"A list of form field font names defined in the */AcroForm* object. `None`" +" if not a PDF." +msgstr "*/AcroForm* 객체에 정의된 양식 필드 폰트 이름 목록. PDF가 아니면 `None`." + +#: ../../document.rst:2172 2919fa430028481f824809524809a17c +msgid "list" +msgstr "list" + +#: ../../document.rst:2174 bc73641d1a9c4850a56dd8d1d90136ef +msgid "" +"For methods that change the structure of a PDF (:meth:`insert_pdf`, " +":meth:`select`, :meth:`copy_page`, :meth:`delete_page` and others), be " +"aware that objects or properties in your program may have been " +"invalidated or orphaned. Examples are :ref:`Page` objects and their " +"children (links, annotations, widgets), variables holding old page " +"counts, tables of content and the like. Remember to keep such variables " +"up to date or delete orphaned objects. Also refer to " +":ref:`ReferenialIntegrity`." +msgstr "" +"PDF 구조를 변경하는 메서드(:meth:`insert_pdf`, :meth:`select`, :meth:`copy_page`, " +":meth:`delete_page` 등)의 경우 프로그램의 객체나 속성이 무효화되거나 고아가 되었을 수 있습니다. 예는 " +":ref:`Page` 객체와 그 자식(링크, 주석, 위젯), 이전 페이지 수를 보유하는 변수, 목차 등입니다. 이러한 변수를 최신 " +"상태로 유지하거나 고아 객체를 삭제하세요. 또한 :ref:`ReferenialIntegrity` 를 참조하세요." + +#: ../../document.rst:2177 29ef52d9092f40e4b161b08377bff9f4 +msgid ":meth:`set_metadata` Example" +msgstr ":meth:`set_metadata` 예제" + +#: ../../document.rst:2178 9d932a2b03af4a70a7e135168374444b +msgid "" +"Clear metadata information. If you do this out of privacy / data " +"protection concerns, make sure you save the document as a new file with " +"*garbage > 0*. Only then the old */Info* object will also be physically " +"removed from the file. In this case, you may also want to clear any XML " +"metadata inserted by several PDF editors:" +msgstr "" +"메타데이터 정보를 지웁니다. 개인정보/데이터 보호 우려로 이 작업을 수행하는 경우 *garbage > 0* 로 문서를 새 파일로 " +"저장하세요. 그때만 이전 */Info* 객체도 파일에서 물리적으로 제거됩니다. 이 경우 여러 PDF 편집기에서 삽입한 XML " +"메타데이터도 지우는 것이 좋습니다:" + +#: ../../document.rst:2196 e2eb0b4a72184167a71e581190ebe0ed +msgid ":meth:`set_toc` Demonstration" +msgstr ":meth:`set_toc` 데모" + +#: ../../document.rst:2197 54198eb7940a4522a14d500ec0a2b760 +msgid "" +"This shows how to modify or add a table of contents. Also have a look at " +"`import.py `_ and `export.py " +"`_ in the examples directory." +msgstr "" +"이것은 목차를 수정하거나 추가하는 방법을 보여줍니다. 예제 디렉토리의 `import.py " +"`_ 및 `export.py `_ 도 참조하세요." + +#: ../../document.rst:2217 803cdd302feb4061b6819a0a3f68b43a +msgid ":meth:`insert_pdf` Examples" +msgstr ":meth:`insert_pdf` 예제" + +#: ../../document.rst:2218 e1ab62bf3b5d4358b3314a0d663f91a2 +msgid "**(1) Concatenate two documents including their TOCs:**" +msgstr "**(1) TOC를 포함하여 두 문서를 연결합니다:**" + +#: ../../document.rst:2230 66d3a98744254ca8bebc826e6d41788f +msgid "" +"Obviously, similar ways can be found in more general situations. Just " +"make sure that hierarchy levels in a row do not increase by more than " +"one. Inserting dummy bookmarks before and after *toc2* segments would " +"heal such cases. A ready-to-use GUI (wxPython) solution can be found in " +"script `join.py `_ of the examples " +"directory." +msgstr "" +"명백히, 더 일반적인 상황에서도 유사한 방법을 찾을 수 있습니다. 연속된 계층 수준이 1보다 많이 증가하지 않도록 하세요. " +"*toc2* 세그먼트 앞뒤에 더미 북마크를 삽입하면 이러한 경우를 해결할 수 있습니다. 바로 사용할 수 있는 " +"GUI(wxPython) 솔루션은 예제 디렉토리의 스크립트 `join.py `_ 에서 찾을 수" +" 있습니다." + +#: ../../document.rst:2232 fe43ea94f4cf486e93446c386ef6290b +msgid "**(2) More examples:**" +msgstr "**(2) 추가 예제:**" + +#: ../../document.rst:2244 5589340b632247dcb71322e527a4570f +msgid "Other Examples" +msgstr "기타 예제" + +#: ../../document.rst:2245 da51858e718249de8fdd7d624f754823 +msgid "**Extract all page-referenced images of a PDF into separate PNG files**::" +msgstr "**PDF의 모든 페이지 참조 이미지를 별도의 PNG 파일로 추출합니다**::" + +#: ../../document.rst:2260 0c04c73b8df34278bf443717821a8217 +msgid "**Rotate all pages of a PDF:**" +msgstr "**PDF의 모든 페이지를 회전합니다:**" + +#: ../../document.rst:2265 1db40e14af84441b834f859b50baabf7 +msgid "Footnotes" +msgstr "각주" + +#: ../../document.rst:2266 ad80ce9bb918432f961168d95b5ded0b +msgid "" +"Content streams describe what (e.g. text or images) appears where and how" +" on a page. PDF uses a specialized mini language similar to PostScript to" +" do this (pp. 643 in :ref:`AdobeManual`), which gets interpreted when a " +"page is loaded." +msgstr "" +"콘텐츠 스트림은 페이지에서 무엇(예: 텍스트 또는 이미지)이 어디에 어떻게 나타나는지 설명합니다. PDF는 이를 위해 " +"PostScript와 유사한 특수 미니 언어를 사용합니다(:ref:`AdobeManual` 643페이지). 페이지가 로드될 때 " +"해석됩니다." + +#: ../../document.rst:2268 de6710734193418ca5c9bec0d67eb9a3 +msgid "" +"However, you **can** use :meth:`Document.get_toc` and " +":meth:`Page.get_links` (which are available for all document types) and " +"copy this information over to the output PDF. See demo `convert.py " +"`_." +msgstr "" +"그러나 :meth:`Document.get_toc` 및 :meth:`Page.get_links` (모든 문서 타입에서 사용 가능)를" +" 사용하여 이 정보를 출력 PDF로 복사할 수 있습니다. 데모 `convert.py " +"`_ 를 참조하세요." + +#: ../../document.rst:2270 04f4a2a7a5114f97b1f359310b4e7013 +msgid "" +"For applicable (EPUB) document types, loading a page via its absolute " +"number may result in layouting a large part of the document, before the " +"page can be accessed. To avoid this performance impact, prefer chapter-" +"based access. Use convenience methods and attributes " +":meth:`Document.next_location`, :meth:`Document.prev_location` and " +":attr:`Document.last_location` for maintaining a high level of coding " +"efficiency." +msgstr "" +"적용 가능한(EPUB) 문서 타입의 경우 절대 번호를 통해 페이지를 로드하면 페이지에 액세스하기 전에 문서의 큰 부분이 레이아웃될 " +"수 있습니다. 이 성능 영향을 피하려면 장 기반 액세스를 선호하세요. 높은 수준의 코딩 효율성을 유지하기 위해 편의 메서드 및 속성" +" :meth:`Document.next_location`, :meth:`Document.prev_location` 및 " +":attr:`Document.last_location` 을 사용하세요." + +#: ../../document.rst:2272 0cdbae3fcd614e118ad4f020fe0d70f7 +msgid "" +"These parameters cause separate handling of stream categories: use it " +"together with `expand` to restrict decompression to streams other than " +"images / fontfiles." +msgstr "" +"이 매개변수는 스트림 카테고리의 별도 처리를 유발합니다: 이미지/폰트 파일이 아닌 스트림으로 압축 해제를 제한하려면 `expand`" +" 와 함께 사용하세요." + +#: ../../document.rst:2274 418afd4e54704148af7cb35c9b73529f +msgid "Examples for \"Form XObjects\" are created by :meth:`Page.show_pdf_page`." +msgstr "\"Form XObjects\" 예제는 :meth:`Page.show_pdf_page` 로 생성됩니다." + +#: ../../document.rst:2276 4d9bbbe81fb14c3e82b33b401c51082e +msgid "" +"For a ``False`` the **complete document** must be scanned. Both methods " +"**do not load pages,** but only scan object definitions. This makes them " +"at least 10 times faster than application-level loops (where total " +"response time roughly equals the time for loading all pages). For the " +":ref:`AdobeManual` (756 pages) and the Pandas documentation (over 3070 " +"pages) -- both have no annotations -- the method needs about 11 ms for " +"the answer ``False``. So response times will probably become significant " +"only well beyond this order of magnitude." +msgstr "" +"``False`` 의 경우 **전체 문서** 를 스캔해야 합니다. 두 메서드 모두 **페이지를 로드하지 않고** 객체 정의만 " +"스캔합니다. 이것은 애플리케이션 수준 루프(총 응답 시간이 모든 페이지를 로드하는 시간과 거의 같음)보다 최소 10배 빠릅니다. " +":ref:`AdobeManual` (756페이지) 및 Pandas 문서(3070페이지 이상)의 경우 -- 둘 다 주석이 없음 -- " +"메서드는 답변 ``False`` 에 대해 약 11ms가 필요합니다. 따라서 응답 시간은 이 자릿수를 훨씬 넘어서야만 중요해질 " +"것입니다." + +#: ../../document.rst:2278 e17889162164454eb395d68f5b5f74f8 +msgid "" +"This only works under certain conditions. For example, if there is normal" +" text covered by some image on top of it, then this is undetectable and " +"the respective text is **not** removed. Similar is true for white text on" +" white background, and so on." +msgstr "" +"이것은 특정 조건에서만 작동합니다. 예를 들어, 일부 이미지로 덮인 일반 텍스트가 있으면 이것은 감지할 수 없으며 해당 텍스트는 " +"**제거되지 않습니다**. 흰색 배경의 흰색 텍스트 등도 마찬가지입니다." + +#: ../../footer.rst:57 171190eed44c498983f498af56b35570 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/faq.mo b/docs/locales/ko/LC_MESSAGES/faq.mo new file mode 100644 index 000000000..fe17241e3 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/faq.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/faq.po b/docs/locales/ko/LC_MESSAGES/faq.po new file mode 100644 index 000000000..b65bca325 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/faq.po @@ -0,0 +1,57 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PyMuPDF 1.26.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-03 09:30+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ko\n" +"Language-Team: ko \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.17.0\n" + +#: ../../header.rst:-1 abe8297b843740e8818a779fc28f5e03 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 2a09517c326c4536ad593b77a7c34643 +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 8e302b086c9d4b94a25e05794331fde6 +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" + +#: ../../faq.rst:7 7cb40df6997749398b9eb35022cc8f6e +msgid "FAQ" +msgstr "자주 묻는 질문" + +#: ../../faq.rst:9 e705c9c730c74868ad8d1f1495bccfb2 +msgid "A collection of recipes in “How-To” format for using PyMuPDF." +msgstr "PyMuPDF 사용을 위한 “사용 방법” 형식의 레시피 모음입니다." + +#: ../../faq.rst:12 76435ac8e35648f08fd41ecd9c4cf967 +msgid "Please see:" +msgstr "다음을 참조하세요:" + +#: ../../faq.rst:14 8f2e64a1c0fc4275bdecc52010b788ff +msgid ":ref:`Recipes: Table of Contents`" +msgstr ":ref:`레시피: 목차`" + +#: ../../footer.rst:57 570a7f5b861040448158d8294efe49f2 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/font.mo b/docs/locales/ko/LC_MESSAGES/font.mo new file mode 100644 index 000000000..4dc22eed0 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/font.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/font.po b/docs/locales/ko/LC_MESSAGES/font.po new file mode 100644 index 000000000..4ede2e5c1 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/font.po @@ -0,0 +1,1028 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 e188dde9abe149bc8995bf7a6a0bc7d6 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 3cb714fa525c44bbbbd491bc8f62336e +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 c23c7d47fe3e429dbde810adabc353b6 +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" + +#: ../../font.rst:7 d2748ea1ae9940f6b22b259ae4533e13 +msgid "Font" +msgstr "Font" + +#: ../../font.rst:9 3bf53a70d692484eaabd5afc3aab44c8 +msgid "New in v1.16.18" +msgstr "*v1.16.18의 새로운 기능*" + +#: ../../font.rst:11 4c18f6c0f2b6494fbf226048ecce0907 +msgid "" +"This class represents a font as defined in |MuPDF| (``fz_font_s`` " +"structure). It is required for the new class :ref:`TextWriter` and the " +"new :meth:`Page.write_text`. Currently, it has no connection to how fonts" +" are used in methods :meth:`Page.insert_text` or " +":meth:`Page.insert_textbox`, respectively." +msgstr "이 클래스는 |MuPDF| 에서 정의된 글꼴(``fz_font_s`` 구조)을 나타냅니다. 새로운 클래스 :ref:`TextWriter` 및 새로운 :meth:`Page.write_text` 에 필요합니다. 현재는 :meth:`Page.insert_text` 또는 :meth:`Page.insert_textbox` 메서드에서 글꼴이 사용되는 방식과 연결되어 있지 않습니다." + +#: ../../font.rst:13 2125868871f645fb9fa0d4390f116a1a +msgid "" +"A ``Font`` object also contains useful general information, like the font" +" bbox, the number of defined glyphs, glyph names or the ``bbox`` of a " +"single glyph." +msgstr "``Font`` 객체는 글꼴 bbox, 정의된 글리프 수, 글리프 이름 또는 단일 글리프의 ``bbox`` 와 같은 유용한 일반 정보도 포함합니다." + +#: ../../font.rst:17 842b44a70bf34b07ac2692aa84a193da +msgid "**Method / Attribute**" +msgstr "**Method / Attribute**" + +#: ../../font.rst:17 f69a466cefe443c3855949e5cc5ffcd6 +msgid "**Short Description**" +msgstr "**Short Description**" + +#: ../../font.rst:19 1bba986439da408a84c24de22da3768d +msgid ":meth:`~Font.glyph_advance`" +msgstr "" + +#: ../../font.rst:19 627a6c4218dd4762ae098709cdb920ad +msgid "Width of a character" +msgstr "문자 너비" + +#: ../../font.rst:20 6ca041bd76a54c949510e2ed77ca58f0 +msgid ":meth:`~Font.glyph_bbox`" +msgstr "" + +#: ../../font.rst:20 d9fb542d691c44a19873b891f02b7812 +msgid "Glyph rectangle" +msgstr "글리프 사각형" + +#: ../../font.rst:21 e7791392edbd4e5d9094df1b320d2c5b +msgid ":meth:`~Font.glyph_name_to_unicode`" +msgstr "" + +#: ../../font.rst:21 13f06c680aba44698114079c036bcdba +msgid "Get unicode from glyph name" +msgstr "글리프 이름에서 유니코드 가져오기" + +#: ../../font.rst:22 c04368ada6c341f093c2f4872cd5cd52 +msgid ":meth:`~Font.has_glyph`" +msgstr "" + +#: ../../font.rst:22 689634c88d144bef9223b78f39009eda +msgid "Return glyph id of unicode" +msgstr "유니코드의 글리프 ID 반환" + +#: ../../font.rst:23 a369a0e87b4340168dce9cd130684d3c +msgid ":meth:`~Font.text_length`" +msgstr "" + +#: ../../font.rst:23 f20e22d5c6534f99a10aad9ab98d9ae3 +msgid "Compute string length" +msgstr "문자열 길이 계산" + +#: ../../font.rst:24 d46c723021014de19f30cce31dd6fa83 +msgid ":meth:`~Font.char_lengths`" +msgstr "" + +#: ../../font.rst:24 2c939c616c2a45d19cef1d2e9148c5f8 +msgid "Tuple of char widths of a string" +msgstr "문자열의 문자 너비 튜플" + +#: ../../font.rst:25 30fcbf0fac8c4137ac05697051b7a487 +msgid ":meth:`~Font.unicode_to_glyph_name`" +msgstr "" + +#: ../../font.rst:25 96a805868d65421593f69cabcbdff444 +msgid "Get glyph name of a unicode" +msgstr "유니코드의 글리프 이름 가져오기" + +#: ../../font.rst:26 556560ade52f45878ccd9247ed48b124 +msgid ":meth:`~Font.valid_codepoints`" +msgstr "" + +#: ../../font.rst:26 f98352016c9a420597ecdc2d4da47bcd +msgid "Array of supported unicodes" +msgstr "지원되는 유니코드 배열" + +#: ../../font.rst:27 8046f6ca0658408896ffec620e7c19d2 +msgid ":attr:`~Font.ascender`" +msgstr "" + +#: ../../font.rst:27 bdef6c925fd24cd6a8bd423203561e10 +msgid "Font ascender" +msgstr "글꼴 상승부" + +#: ../../font.rst:28 b9972b7d50024c5f92aae461b95e9b9d +msgid ":attr:`~Font.descender`" +msgstr "" + +#: ../../font.rst:28 333b36880ce240299a20b8d485071b31 +msgid "Font descender" +msgstr "글꼴 하강부" + +#: ../../font.rst:29 1ca68d63143c41ae9afaf82231bb0b98 +msgid ":attr:`~Font.bbox`" +msgstr "" + +#: ../../font.rst:29 88947fe258eb49d5a4bcd7f9262d6f64 +msgid "Font rectangle" +msgstr "글꼴 사각형" + +#: ../../font.rst:30 70204c08ad4f48bfb90c610ace5e2f16 +msgid ":attr:`~Font.buffer`" +msgstr "" + +#: ../../font.rst:30 d8dc88a830a143b69cf9198d43a1d8be +msgid "Copy of the font's binary image" +msgstr "글꼴의 바이너리 이미지 복사본" + +#: ../../font.rst:31 087ab4d9b8c245329f433d0e0bc1dae2 +msgid ":attr:`~Font.flags`" +msgstr "" + +#: ../../font.rst:31 b08397d234cf4d828c277f81b7e5797c +msgid "Collection of font properties" +msgstr "글꼴 속성 모음" + +#: ../../font.rst:32 1b9e053341ba4bf29f37614365fca44e +msgid ":attr:`~Font.glyph_count`" +msgstr "" + +#: ../../font.rst:32 9266fb9484fe42618bd4b861302ec139 +msgid "Number of supported glyphs" +msgstr "지원되는 글리프 수" + +#: ../../font.rst:33 a1a23dee533f4eb9a0253e7ed4dc2160 +msgid ":attr:`~Font.name`" +msgstr "" + +#: ../../font.rst:33 f7c44ea05506418686745a0a8b4ccf1e +msgid "Name of font" +msgstr "글꼴 이름" + +#: ../../font.rst:34 4d8600344c934dca966561b9b23705a3 +msgid ":attr:`~Font.is_bold`" +msgstr "" + +#: ../../font.rst:34 42bd831f9b604a58adec9428f2799d4a +msgid "`True` if bold" +msgstr "굵게이면 `True`" + +#: ../../font.rst:35 4fd252e5611e4f25ad7279f120909cc1 +msgid ":attr:`~Font.is_monospaced`" +msgstr "" + +#: ../../font.rst:35 53567d475247479ebe27771a05253749 +msgid "`True` if mono-spaced" +msgstr "고정폭이면 `True`" + +#: ../../font.rst:36 386c083d80e24cd8889a76d1ed0d655e +msgid ":attr:`~Font.is_serif`" +msgstr "" + +#: ../../font.rst:36 dc515a68d8984513880dd9652137056b +msgid "`True` if serif, `False` if sans-serif" +msgstr "세리프이면 `True`, 산세리프이면 `False`" + +#: ../../font.rst:37 ef38964ab5634a4a8afc1a4043834bcb +msgid ":attr:`~Font.is_italic`" +msgstr "" + +#: ../../font.rst:37 6ab8b6017630445e8a8d73bd87250888 +msgid "`True` if italic" +msgstr "이탤릭이면 `True`" + +#: ../../font.rst:41 ef6bc7e0d9cf42848d2ea5ec97cad0e8 +msgid "**Class API**" +msgstr "**Class API**" + +#: ../../font.rst:60 07b4413b01ae4ae89132a4d69299fcff +msgid "" +"Font constructor. The large number of parameters are used to locate font," +" which most closely resembles the requirements. Not all parameters are " +"ever required -- see the below pseudo code explaining the logic how the " +"parameters are evaluated." +msgstr "Font 생성자. 많은 매개변수는 요구사항에 가장 가까운 글꼴을 찾는 데 사용됩니다. 모든 매개변수가 항상 필요한 것은 아닙니다 -- 매개변수가 평가되는 방식의 논리를 설명하는 아래 의사 코드를 참조하세요." + +#: ../../font.rst 51829dd751b848658d1ba228b94ce1de +#: 6865a3bfb8444b439d877a9d8a59cb0a 722fbb72278d4e3e8bb0df13f398859a +#: 8cbc7148711c4ee9a078b6a806370c78 a100d7e7206946cda8a733ebb3f80137 +#: c931f89accb14562827a19ea990df0aa f0f58970e4794ad2b4f9ab161b976692 +#: f42510c818544c6180a85f87a852dd28 +msgid "Parameters" +msgstr "Parameters" + +#: ../../font.rst:62 b7c66967af094eed88e4cd0bfa9c0b59 +msgid "" +"one of the :ref:`Base-14-Fonts` or CJK fontnames. Also possible are a " +"select few other names like (watch the correct spelling): \"Arial\", " +"\"Times\", \"Times Roman\". *(Changed in v1.17.5)* If you have " +"installed `pymupdf-fonts `_, " +"there are also new \"reserved\" fontnames available, which are listed in " +":attr:`fitz_fonts` and in the table further down." +msgstr "" + +#: ../../font.rst:62 4f54e9a21f4e4cdd94eb896e84a11207 +msgid "" +"one of the :ref:`Base-14-Fonts` or CJK fontnames. Also possible are a " +"select few other names like (watch the correct spelling): \"Arial\", " +"\"Times\", \"Times Roman\"." +msgstr ":ref:`Base-14-Fonts` 또는 CJK 글꼴 이름 중 하나. (올바른 철자를 주의하세요) \"Arial\", \"Times\", \"Times Roman\"과 같은 몇 가지 다른 이름도 가능합니다." + +#: ../../font.rst:64 33128ec921644adcb669eed87f58d1ad +msgid "*(Changed in v1.17.5)*" +msgstr "*(v1.17.5에서 변경됨)*" + +#: ../../font.rst:66 2580ac163f6d40a6a97df2667e044b70 +msgid "" +"If you have installed `pymupdf-fonts `_, there are also new \"reserved\" fontnames available, which are" +" listed in :attr:`fitz_fonts` and in the table further down." +msgstr "`pymupdf-fonts `_ 를 설치한 경우, :attr:`fitz_fonts` 및 아래 표에 나열된 새로운 \"예약된\" 글꼴 이름도 사용할 수 있습니다." + +#: ../../font.rst:68 0115b8805a994350b1e9b88652d9c671 +msgid "the filename of a fontfile somewhere on your system [#f1]_." +msgstr "시스템 어딘가에 있는 글꼴 파일의 파일 이름 [#f1]_." + +#: ../../font.rst:69 855671c475ce4d4a95574d50da436fa8 +msgid "a fontfile loaded in memory [#f1]_." +msgstr "메모리에 로드된 글꼴 파일 [#f1]_." + +#: ../../font.rst:70 b4cd7e175eb14d658f5faa379b3ef701 +msgid "" +"the number of a UCDN script. Currently supported in PyMuPDF are numbers " +"24, and 32 through 35." +msgstr "UCDN 스크립트 번호. 현재 |PyMuPDF| 에서 지원되는 번호는 24, 32부터 35까지입니다." + +#: ../../font.rst:71 d5a5fc15ea7c4e1b8d26964a61b402e8 +msgid "" +"one of the values \"zh-Hant\" (traditional Chinese), \"zh-Hans\" " +"(simplified Chinese), \"ja\" (Japanese) and \"ko\" (Korean). Otherwise, " +"all ISO 639 codes from the subsets 1, 2, 3 and 5 are also possible, but " +"are currently documentary only." +msgstr "\"zh-Hant\"(번체 중국어), \"zh-Hans\"(간체 중국어), \"ja\"(일본어), \"ko\"(한국어) 값 중 하나. 그렇지 않으면 하위 집합 1, 2, 3 및 5의 모든 ISO 639 코드도 가능하지만 현재는 문서화만 되어 있습니다." + +#: ../../font.rst:72 5b0e786be58c4a09a48eacc61882197e +msgid "an alternative selector for one of the CJK fonts." +msgstr "CJK 글꼴 중 하나에 대한 대체 선택자." + +#: ../../font.rst:73 6af1f2fb252e4071bab746f2ad57c01d +msgid "look for a bold font." +msgstr "굵은 글꼴을 찾습니다." + +#: ../../font.rst:74 6f2bffef2aa94c92b00fa9cf6d97a283 +msgid "look for an italic font." +msgstr "이탤릭 글꼴을 찾습니다." + +#: ../../font.rst:75 23ca0f2751ed4b2f834236f7e744dd36 +msgid "look for a serifed font." +msgstr "세리프 글꼴을 찾습니다." + +#: ../../font.rst 1d22b29a05e741f387368f96870d4c1b +#: 1e8b6f0bc4da4c4db71fcd4ce33f7f4d 1ebfff0006a54633b2e48a4cf728c55b +#: 3126e087ce6d47cbb326a10281420878 3aaf4a67eaa8475e97bebd3b14716268 +#: 3b8e58b5a2034fddbba0b9f34d785351 425ebf256d4842928912c98469178b2e +#: 455992af6eea4168919f71ca6e0a63e9 7512b5e1267b491c80d9886fcb846c91 +msgid "Returns" +msgstr "Returns" + +#: ../../font.rst:77 d564d7e503224782b914ea4c4d4bd55b +msgid "" +"a |MuPDF| font if successful. This is the overall sequence of checks to " +"determine an appropriate font: =========== " +"============================================================ Argument " +"Action =========== " +"============================================================ fontfile? " +"Create font from file, exception if failure. fontbuffer? Create font from" +" buffer, exception if failure. ordering>=0 Create universal font, always " +"succeeds. fontname? Create a Base-14 font, universal font, or font" +" provided by `pymupdf-fonts `_. See table below. =========== " +"============================================================" +msgstr "" + +#: ../../font.rst:77 cea38fccea5241229aadba228571f8be +msgid "" +"a |MuPDF| font if successful. This is the overall sequence of checks to " +"determine an appropriate font:" +msgstr "성공하면 |MuPDF| 글꼴. 적절한 글꼴을 결정하기 위한 전체 확인 순서는 다음과 같습니다:" + +#: ../../font.rst:80 580ec24b97e749299e613764ef3403c6 +msgid "Argument" +msgstr "Argument" + +#: ../../font.rst:80 c41ca6b5584649b586f676f06f22549b +msgid "Action" +msgstr "Action" + +#: ../../font.rst:82 98333181f4584c9c8bca13c85c415262 +msgid "fontfile?" +msgstr "fontfile?" + +#: ../../font.rst:82 73d6da924f634bc7b6e4fe044072fe6d +msgid "Create font from file, exception if failure." +msgstr "파일에서 글꼴 생성, 실패 시 예외 발생." + +#: ../../font.rst:83 130073b0bea44ffc890479cdb5f5340d +msgid "fontbuffer?" +msgstr "fontbuffer?" + +#: ../../font.rst:83 a74986c74e6843eea78fcc35d447c3a2 +msgid "Create font from buffer, exception if failure." +msgstr "버퍼에서 글꼴 생성, 실패 시 예외 발생." + +#: ../../font.rst:84 29919d8588f5493dafda4cfe7f0555b1 +msgid "ordering>=0" +msgstr "ordering>=0" + +#: ../../font.rst:84 3f0b6b784f1742238213e67a82078abf +msgid "Create universal font, always succeeds." +msgstr "범용 글꼴 생성, 항상 성공." + +#: ../../font.rst:85 fe70636ee76b429da54199e913507119 +msgid "fontname?" +msgstr "fontname?" + +#: ../../font.rst:85 a411aeb787b5416f854bb729f143e0b6 +msgid "" +"Create a Base-14 font, universal font, or font provided by `pymupdf-fonts" +" `_. See table below." +msgstr "Base-14 글꼴, 범용 글꼴 또는 `pymupdf-fonts `_ 에서 제공하는 글꼴을 생성합니다. 아래 표를 참조하세요." + +#: ../../font.rst:92 d6d370d9961e418c8c6a25a191d46651 +msgid "" +"With the usual reserved names \"helv\", \"tiro\", etc., you will create " +"fonts with the expected names \"Helvetica\", \"Times-Roman\" and so on. " +"**However**, and in contrast to :meth:`Page.insert_font` and friends," +msgstr "일반적인 예약된 이름 \"helv\", \"tiro\" 등을 사용하면 예상되는 이름 \"Helvetica\", \"Times-Roman\" 등의 글꼴이 생성됩니다. **그러나** :meth:`Page.insert_font` 및 유사한 메서드와 달리," + +#: ../../font.rst:94 31fed8debc7c42ca9166ee0b1ef74c98 +msgid "a font file will **always** be embedded in your PDF," +msgstr "글꼴 파일이 **항상** PDF에 임베드됩니다," + +#: ../../font.rst:95 9b3d8892b4424474889b2416ef13836b +msgid "" +"Greek and Cyrillic characters are supported without needing the " +"*encoding* parameter." +msgstr "그리스 문자 및 키릴 문자는 *encoding* 매개변수 없이 지원됩니다." + +#: ../../font.rst:97 c07988cc48644ac8846d43cf555ae595 +msgid "" +"Using *ordering >= 0*, or fontnames \"cjk\", \"china-t\", \"china-s\", " +"\"japan\" or \"korea\" will **always create the same \"universal\"** font" +" **\"Droid Sans Fallback Regular\"**. This font supports **all Chinese, " +"Japanese, Korean and Latin characters**, including Greek and Cyrillic. " +"This is a sans-serif font." +msgstr "*ordering >= 0* 또는 글꼴 이름 \"cjk\", \"china-t\", \"china-s\", \"japan\" 또는 \"korea\"를 사용하면 **항상 동일한 \"범용\"** 글꼴 **\"Droid Sans Fallback Regular\"** 이 생성됩니다. 이 글꼴은 그리스 문자 및 키릴 문자를 포함하여 **모든 중국어, 일본어, 한국어 및 라틴 문자** 를 지원합니다. 이것은 산세리프 글꼴입니다." + +#: ../../font.rst:99 6db4519008e44ee682c2a27e4d316f4b +msgid "" +"Actually, you would rarely ever need another sans-serif font than " +"**\"Droid Sans Fallback Regular\"**. **Except** that this font file is " +"relatively large and adds about 1.65 MB (compressed) to your PDF file " +"size. If you do not need CJK support, stick with specifying \"helv\", " +"\"tiro\" etc., and you will get away with about 35 KB compressed." +msgstr "실제로 **\"Droid Sans Fallback Regular\"** 외에 다른 산세리프 글꼴이 필요한 경우는 거의 없습니다. **다만** 이 글꼴 파일은 상대적으로 크며 PDF 파일 크기에 약 1.65 MB(압축됨)를 추가합니다. CJK 지원이 필요하지 않다면 \"helv\", \"tiro\" 등을 지정하고 약 35 KB(압축됨)로 처리할 수 있습니다." + +#: ../../font.rst:101 79c699cd0e0a44828e95752e5f6f2ebe +msgid "" +"If you **know** you have a mixture of CJK and Latin text, consider just " +"using `Font(\"cjk\")` because this supports everything and also " +"significantly (by a factor of up to three) speeds up execution: MuPDF " +"will always find any character in this single font and never needs to " +"check fallbacks." +msgstr "CJK와 라틴 텍스트가 혼합되어 있다는 것을 **알고** 있다면, `Font(\"cjk\")` 를 사용하는 것을 고려하세요. 이것은 모든 것을 지원하며 실행 속도를 크게(최대 3배까지) 향상시킵니다: MuPDF는 항상 이 단일 글꼴에서 모든 문자를 찾을 수 있으며 대체 글꼴을 확인할 필요가 없습니다." + +#: ../../font.rst:103 71613c830de34e6f9ecdf39faec59a38 +msgid "" +"But if you do use some other font, you will still automatically be able " +"to also write CJK characters: MuPDF detects this situation and silently " +"falls back to the universal font (which will then of course also be " +"embedded in your PDF)." +msgstr "그러나 다른 글꼴을 사용하는 경우에도 CJK 문자를 자동으로 쓸 수 있습니다: MuPDF는 이 상황을 감지하고 자동으로 범용 글꼴로 대체합니다(그러면 물론 PDF에도 임베드됩니다)." + +#: ../../font.rst:105 f904db70b3d246e1b10894809cb39326 +msgid "" +"*(New in v1.17.5)* Optionally, some new \"reserved\" fontname codes " +"become available if you install `pymupdf-fonts `_, `pip install pymupdf-fonts`. **\"Fira Mono\"** is a " +"mono-spaced sans font set and **FiraGO** is another non-serifed " +"\"universal\" font set which supports all Latin (including Cyrillic and " +"Greek) plus Thai, Arabian, Hewbrew and Devanagari -- but none of the CJK " +"languages. The size of a FiraGO font is only a quarter of the \"Droid " +"Sans Fallback\" size (compressed 400 KB vs. 1.65 MB) -- **and** it " +"provides the weights bold, italic, bold-italic -- which the universal " +"font doesn't." +msgstr "*(v1.17.5의 새로운 기능)* 선택적으로, `pymupdf-fonts `_ (`pip install pymupdf-fonts`)를 설치하면 일부 새로운 \"예약된\" 글꼴 이름 코드를 사용할 수 있습니다. **\"Fira Mono\"** 는 고정폭 산세리프 글꼴 세트이고 **FiraGO** 는 모든 라틴 문자(키릴 문자 및 그리스 문자 포함)와 태국어, 아랍어, 히브리어 및 데바나가리어를 지원하는 또 다른 비세리프 \"범용\" 글꼴 세트입니다 -- 하지만 CJK 언어는 지원하지 않습니다. FiraGO 글꼴의 크기는 \"Droid Sans Fallback\" 크기의 1/4에 불과합니다(압축 시 400 KB vs. 1.65 MB) -- **그리고** 굵게, 이탤릭, 굵은 이탤릭 가중치를 제공합니다 -- 범용 글꼴은 제공하지 않습니다." + +#: ../../font.rst:107 51115005ef5b45048d055b7507f8bde1 +msgid "" +"**\"Space Mono\"** is another nice and small mono-spaced font from Google" +" Fonts, which supports Latin Extended characters and comes with all 4 " +"important weights." +msgstr "**\"Space Mono\"** 는 Google Fonts의 또 다른 좋고 작은 고정폭 글꼴로, Latin Extended 문자를 지원하며 모든 4가지 중요한 가중치를 제공합니다." + +#: ../../font.rst:109 96727739a91940c6a331ed087081f309 +msgid "" +"The following table maps a fontname code to the corresponding font. For " +"the current content of the package please see its documentation:" +msgstr "다음 표는 글꼴 이름 코드를 해당 글꼴에 매핑합니다. 패키지의 현재 내용은 해당 문서를 참조하세요:" + +#: ../../font.rst:112 1a8503b417cf4c8fada552e8610a6e75 +msgid "Code" +msgstr "Code" + +#: ../../font.rst:112 2d8f3f6732334560b3d503193be52bed +msgid "Fontname" +msgstr "Fontname" + +#: ../../font.rst:112 c74b2b12e6aa454b8f2dbb4143ffd7bf +msgid "New in" +msgstr "New in" + +#: ../../font.rst:112 09250ac84f2f444481bee3de0bd29007 +msgid "Comment" +msgstr "Comment" + +#: ../../font.rst:114 3092d884950f4b6eb710a9de0dd03966 +msgid "figo" +msgstr "figo" + +#: ../../font.rst:114 660c171a6c564814aecb4286056ec31a +msgid "FiraGO Regular" +msgstr "FiraGO Regular" + +#: ../../font.rst:114 ../../font.rst:115 ../../font.rst:116 ../../font.rst:117 +#: ../../font.rst:118 ../../font.rst:119 3e80c8fdb0dd48d780069b2449ee507f +#: 410d087d7e1243d1a54c1ae0aab172ac 6f27e46024f84abd97777e835ae6517f +#: 794afaec71784e91b7e817f22ead4ffe baa94f214aea4d77a1a5fad071d449f1 +#: ed541c0c11684da3bebb342489caa3cb +msgid "v1.0.0" +msgstr "v1.0.0" + +#: ../../font.rst:114 aababde120ff4dbcbe21832121ff155b +msgid "narrower than Helvetica" +msgstr "Helvetica보다 좁음" + +#: ../../font.rst:115 01a9c98efef34d0aba6ba3fa0d37813b +msgid "figbo" +msgstr "figbo" + +#: ../../font.rst:115 b83719e8b5724cd69e516c29b9367ebb +msgid "FiraGO Bold" +msgstr "FiraGO Bold" + +#: ../../font.rst:116 4bbe563434c7425796dc77766d23c9c8 +msgid "figit" +msgstr "figit" + +#: ../../font.rst:116 480523c94e564e26be18e84adb38e861 +msgid "FiraGO Italic" +msgstr "FiraGO Italic" + +#: ../../font.rst:117 1e31c41d5df44c4fb09a83fdbd89e06d +msgid "figbi" +msgstr "figbi" + +#: ../../font.rst:117 0e71b818d3cd4256a6f49c7416f6b1ca +msgid "FiraGO Bold Italic" +msgstr "FiraGO Bold Italic" + +#: ../../font.rst:118 7137d532bea243b482a7189e3a3286f8 +msgid "fimo" +msgstr "fimo" + +#: ../../font.rst:118 d52c3785bf6c4c6c9fa414b6953b3c21 +msgid "Fira Mono Regular" +msgstr "Fira Mono Regular" + +#: ../../font.rst:119 a6bb6a057367406e8c6451c50221bd10 +msgid "fimbo" +msgstr "fimbo" + +#: ../../font.rst:119 a9be831c53d643c381182387817e7347 +msgid "Fira Mono Bold" +msgstr "Fira Mono Bold" + +#: ../../font.rst:120 2ff90048652c45d8ad808bd8e873a930 +msgid "spacemo" +msgstr "spacemo" + +#: ../../font.rst:120 10b17a9bdac441b2a4af57265d22e503 +msgid "Space Mono Regular" +msgstr "Space Mono Regular" + +#: ../../font.rst:120 ../../font.rst:121 ../../font.rst:122 ../../font.rst:123 +#: 71f76d3cde6b47a3b8a7a0a571913454 74e5c245413f43a1b0bcd54884d11f9b +#: 811a2ce8ecf443c3b7c4a0009f550f69 ad9d314c839645d1b264c21f9d500a5d +msgid "v1.0.1" +msgstr "v1.0.1" + +#: ../../font.rst:121 cc6628c7c246454785eae18aa76df135 +msgid "spacembo" +msgstr "spacembo" + +#: ../../font.rst:121 899d31ca415d4d60a771344775afb052 +msgid "Space Mono Bold" +msgstr "Space Mono Bold" + +#: ../../font.rst:122 0fa8a8df23aa46a18ebc85a45faef555 +msgid "spacemit" +msgstr "spacemit" + +#: ../../font.rst:122 121e740c51fa4e13b45b780076fdc770 +msgid "Space Mono Italic" +msgstr "Space Mono Italic" + +#: ../../font.rst:123 8c761931925c4c9080802855c8de2158 +msgid "spacembi" +msgstr "spacembi" + +#: ../../font.rst:123 c294981796074117b39f66e1d0fc697f +msgid "Space Mono Bold-Italic" +msgstr "Space Mono Bold-Italic" + +#: ../../font.rst:124 fb3d22993d774962addb0d5e18962566 +msgid "math" +msgstr "math" + +#: ../../font.rst:124 d72ffadba17c47d98e45bad69d43f48a +msgid "Noto Sans Math Regular" +msgstr "Noto Sans Math Regular" + +#: ../../font.rst:124 ../../font.rst:125 ../../font.rst:126 ../../font.rst:127 +#: 4a51871589de44a49f3d817a3e4641ca a1e187ea3001421b848c3e15b2da294f +#: c7f9419b4b474f9990c0e7b2548b89bd f44b20960c864e1a812db6b82ccc7b01 +msgid "v1.0.2" +msgstr "v1.0.2" + +#: ../../font.rst:124 3527017ccae847e198b6aa3fd407bf86 +msgid "math symbols" +msgstr "수학 기호" + +#: ../../font.rst:125 f0c044192be8422bbb062dcfe3fa3867 +msgid "music" +msgstr "music" + +#: ../../font.rst:125 5091921f86b8478b884595a229b30799 +msgid "Noto Music Regular" +msgstr "Noto Music Regular" + +#: ../../font.rst:125 0cfb05fc68a6412895e997a6f27ab557 +msgid "musical symbols" +msgstr "음악 기호" + +#: ../../font.rst:126 198d0ac76851400696fd7bfe7e9c60b3 +msgid "symbol1" +msgstr "symbol1" + +#: ../../font.rst:126 8bf74ea20b3d41c081691ba396ba7ec2 +msgid "Noto Sans Symbols Regular" +msgstr "Noto Sans Symbols Regular" + +#: ../../font.rst:126 96ef9a86cd4c4af9ad70de3493072981 +msgid "replacement for \"symb\"" +msgstr "\"symb\"의 대체" + +#: ../../font.rst:127 4eae35b6626f44edb67bbd03f28f00d6 +msgid "symbol2" +msgstr "symbol2" + +#: ../../font.rst:127 b1fdca63e3d74dd29efec985e0b244dc +msgid "Noto Sans Symbols2 Regular" +msgstr "Noto Sans Symbols2 Regular" + +#: ../../font.rst:127 0bd6d32f20eb48dd988041621b3d5200 +msgid "extended symbol set" +msgstr "확장 기호 세트" + +#: ../../font.rst:128 aa751e08f13849d1a55e72c6aebf8f49 +msgid "notos" +msgstr "notos" + +#: ../../font.rst:128 89dea662c0eb4c7eb232a7fdba6ebc9a +msgid "Noto Sans Regular" +msgstr "Noto Sans Regular" + +#: ../../font.rst:128 ../../font.rst:129 ../../font.rst:130 ../../font.rst:131 +#: 459d3d0e43ff4bf5aa61c68e8e685e29 67cb7c095cf74781840d29e84aa0034b +#: 91a98cec9643445d9d588f6c148714f4 d8bd23d980b1436583464316e47308db +msgid "v1.0.3" +msgstr "v1.0.3" + +#: ../../font.rst:128 6b98b595462b4d478057da307cdea30a +msgid "alternative to Helvetica" +msgstr "Helvetica의 대체" + +#: ../../font.rst:129 691a807af162494ab0b5af4186c9110c +msgid "notosit" +msgstr "notosit" + +#: ../../font.rst:129 24201a800ba0419c9bee4bf90edf8825 +msgid "Noto Sans Italic" +msgstr "Noto Sans Italic" + +#: ../../font.rst:130 4dd91c5ba63544bba1ceb32e1fdefd55 +msgid "notosbo" +msgstr "notosbo" + +#: ../../font.rst:130 ff244216f5904a4697fcab3f6d021a6a +msgid "Noto Sans Bold" +msgstr "Noto Sans Bold" + +#: ../../font.rst:131 aa8c2e1781f54593b3331c086c19b814 +msgid "notosbi" +msgstr "notosbi" + +#: ../../font.rst:131 6857edcacab24c27817264bb11d9bdad +msgid "Noto Sans BoldItalic" +msgstr "Noto Sans BoldItalic" + +#: ../../font.rst:141 2a37a1a4a1aa4945b8df8dbf7e64e154 +msgid "" +"Check whether the unicode ``chr`` exists in the font or (option) some " +"fallback font. May be used to check whether any \"TOFU\" symbols will " +"appear on output." +msgstr "유니코드 ``chr`` 가 글꼴 또는 (선택적으로) 일부 대체 글꼴에 존재하는지 확인합니다. 출력에 \"TOFU\" 기호가 나타날지 확인하는 데 사용할 수 있습니다." + +#: ../../font.rst:143 009b9aeb3f9944d596e9f49f9899c324 +msgid "the unicode of the character (i.e. ``ord()``)." +msgstr "문자의 유니코드(즉, ``ord()``)." + +#: ../../font.rst:144 a8641b2b63ec4b07875c388e202271b9 +msgid "the language -- currently unused." +msgstr "언어 -- 현재 사용되지 않음." + +#: ../../font.rst:145 1bf9dc08f5954b5f965c6b5ea1570763 +msgid "the UCDN script number." +msgstr "UCDN 스크립트 번호." + +#: ../../font.rst:146 c652199037ea41779589cd7c702796e7 +msgid "" +"*(new in v1.17.5)* perform an extended search in fallback fonts or " +"restrict to current font (default)." +msgstr "*(v1.17.5의 새로운 기능)* 대체 글꼴에서 확장 검색을 수행하거나 현재 글꼴로 제한합니다(기본값)." + +#: ../../font.rst:147 97e5feeeb43a4af0bb9163c00cad3e2b +msgid "*(changed in 1.17.7)* the glyph number. Zero indicates no glyph found." +msgstr "*(1.17.7에서 변경됨)* 글리프 번호. 0은 글리프를 찾지 못했음을 나타냅니다." + +#: ../../font.rst:151 fed10a374e2445d1be29d1f78a496de5 +msgid "New in v1.17.5" +msgstr "v1.17.5에서 새로 추가됨" + +#: ../../font.rst:153 290f44f3033a469e89d5444b5d3ec4f9 +msgid "Return an array of unicodes supported by this font." +msgstr "이 글꼴이 지원하는 유니코드 배열을 반환합니다." + +#: ../../font.rst:155 ab16e827b27d4022b45b4c90a328da02 +#, python-format +msgid "" +"an ``array.array`` [#f2]_ of length at most :attr:`Font.glyph_count`. " +"I.e. ``chr()`` of every item in this array has a glyph in the font " +"without using fallbacks. This is an example display of the supported " +"glyphs: >>> import pymupdf >>> font = pymupdf.Font(\"math\") >>> vuc = " +"font.valid_codepoints() >>> for i in vuc: print(\"%04X %s (%s)\" % " +"(i, chr(i), font.unicode_to_glyph_name(i))) 0000 000D (CR) 0020 " +"(space) 0021 ! (exclam) 0022 \" (quotedbl) 0023 # (numbersign) 0024 $ " +"(dollar) 0025 % (percent) ... 00AC ¬ (logicalnot) 00B1 ± (plusminus) ... " +"21D0 ⇐ (arrowdblleft) 21D1 ⇑ (arrowdblup) 21D2 ⇒ (arrowdblright) 21D3 ⇓ " +"(arrowdbldown) 21D4 ⇔ (arrowdblboth) ... 221E ∞ (infinity) ..." +msgstr "" + +#: ../../font.rst:155 7031be6a1bcf4a65b62350eb968608e6 +msgid "" +"an ``array.array`` [#f2]_ of length at most :attr:`Font.glyph_count`. " +"I.e. ``chr()`` of every item in this array has a glyph in the font " +"without using fallbacks. This is an example display of the supported " +"glyphs:" +msgstr "길이가 최대 :attr:`Font.glyph_count` 인 ``array.array`` [#f2]_. 즉, 이 배열의 모든 항목의 ``chr()`` 는 대체 글꼴을 사용하지 않고 글꼴에 글리프를 가집니다. 지원되는 글리프의 예제 표시는 다음과 같습니다:" + +#: ../../font.rst:183 c5ad65fa71a74dd9a63ab09809f0f9cf +msgid "" +"This method only returns meaningful data for fonts having a CMAP " +"(character map, charmap, the `/ToUnicode` PDF key). Otherwise, this array" +" will have length 1 and contain zero only." +msgstr "이 메서드는 CMAP(문자 맵, charmap, `/ToUnicode` PDF 키)가 있는 글꼴에 대해서만 의미 있는 데이터를 반환합니다. 그렇지 않으면 이 배열의 길이는 1이고 0만 포함합니다." + +#: ../../font.rst:192 af8b042889b54a38b2a5ddd689449328 +msgid "Calculate the \"width\" of the character's glyph (visual representation)." +msgstr "문자 글리프의 \"너비\"를 계산합니다(시각적 표현)." + +#: ../../font.rst:194 c1f6c6b34907404e97ad72617e0fc346 +msgid "" +"the unicode number of the character. Use ``ord()``, not the character " +"itself. Again, this should normally work even if a character is not " +"supported by that font, because fallback fonts will be checked where " +"necessary." +msgstr "문자의 유니코드 번호. 문자 자체가 아닌 ``ord()`` 를 사용하세요. 다시 말하지만, 글꼴이 문자를 지원하지 않더라도 일반적으로 작동해야 합니다. 필요한 경우 대체 글꼴이 확인되기 때문입니다." + +#: ../../font.rst:195 e838a07682d84a869e2fa1cc89abf58a +msgid "write mode, ``0`` = horizontal, ``1`` = vertical." +msgstr "쓰기 모드, ``0`` = 가로, ``1`` = 세로." + +#: ../../font.rst:197 2dc7e2ceacbb4ef690b919a430d04d1b +msgid "The other parameters are not in use currently." +msgstr "다른 매개변수는 현재 사용되지 않습니다." + +#: ../../font.rst:199 e8423a5397284db1919f456052773ded +msgid "a float representing the glyph's width relative to **fontsize 1**." +msgstr "**fontsize 1** 에 상대적인 글리프 너비를 나타내는 float." + +#: ../../font.rst:203 47dc9dab1b4c4cb8b9e6a069008d81b1 +msgid "" +"Return the unicode value for a given glyph name. Use it in conjunction " +"with `chr()` if you want to output e.g. a certain symbol." +msgstr "주어진 글리프 이름에 대한 유니코드 값을 반환합니다. 예를 들어 특정 기호를 출력하려면 `chr()` 와 함께 사용하세요." + +#: ../../font.rst:205 749831c099134aa7bf7ffe282b0836b5 +msgid "The name of the glyph." +msgstr "글리프의 이름." + +#: ../../font.rst:207 377293d9901943dbb4c7c31c7985c7d9 +msgid "" +"The unicode integer, or 65533 = 0xFFFD if the name is unknown. Examples: " +"`font.glyph_name_to_unicode(\"Sigma\") = 931`, " +"`font.glyph_name_to_unicode(\"sigma\") = 963`. Refer to the `Adobe Glyph " +"List `_ publication for a list of glyph names " +"and their unicode numbers. Example: >>> font = pymupdf.Font(\"helv\") " +">>> font.has_glyph(font.glyph_name_to_unicode(\"infinity\")) True" +msgstr "" + +#: ../../font.rst:207 765a70f4e5934d66adf72deeaaad3599 +msgid "" +"The unicode integer, or 65533 = 0xFFFD if the name is unknown. Examples: " +"`font.glyph_name_to_unicode(\"Sigma\") = 931`, " +"`font.glyph_name_to_unicode(\"sigma\") = 963`. Refer to the `Adobe Glyph " +"List `_ publication for a list of glyph names " +"and their unicode numbers. Example:" +msgstr "유니코드 정수, 또는 이름을 알 수 없는 경우 65533 = 0xFFFD. 예: `font.glyph_name_to_unicode(\"Sigma\") = 931`, `font.glyph_name_to_unicode(\"sigma\") = 963`. 글리프 이름과 유니코드 번호 목록은 `Adobe Glyph List `_ 출판물을 참조하세요. 예:" + +#: ../../font.rst:219 ceed99f4b1f641ae9879e4ef9b43cfcf +msgid "The glyph rectangle relative to :data:`fontsize` 1." +msgstr ":data:`fontsize` 1에 상대적인 글리프 사각형." + +#: ../../font.rst:221 9803fc558ea94924824b3c6f36f33ce5 +msgid "``ord()`` of the character." +msgstr "문자의 ``ord()``." + +#: ../../font.rst:223 cae0a18260bf47dcb9d033363ab5176b +msgid "a :ref:`Rect`." +msgstr ":ref:`Rect`." + +#: ../../font.rst:228 c530486f148348589a870c1a6fad982d +msgid "Show the name of the character's glyph." +msgstr "문자 글리프의 이름을 표시합니다." + +#: ../../font.rst:230 b33374c8c5234c618bbb03b5c25bd99b +msgid "" +"the unicode number of the character. Use ``ord()``, not the character " +"itself." +msgstr "문자의 유니코드 번호. 문자 자체가 아닌 ``ord()`` 를 사용하세요." + +#: ../../font.rst:232 39265ca9c3774508a81f7b6c33627e8d +msgid "" +"a string representing the glyph's name. E.g. `font.glyph_name(ord(\"#\"))" +" = \"numbersign\"`. For an invalid code \".notfound\" is returned. .. " +"note:: *(Changed in v1.18.0)* This method and " +":meth:`Font.glyph_name_to_unicode` no longer depend on a font and instead" +" retrieve information from the **Adobe Glyph List**. Also available as " +"`pymupdf.unicode_to_glyph_name()` and resp. " +"`pymupdf.glyph_name_to_unicode()`." +msgstr "" + +#: ../../font.rst:232 7b64931c6f244cfca3c0761329de7f73 +msgid "" +"a string representing the glyph's name. E.g. `font.glyph_name(ord(\"#\"))" +" = \"numbersign\"`. For an invalid code \".notfound\" is returned." +msgstr "글리프 이름을 나타내는 문자열. 예: `font.glyph_name(ord(\"#\")) = \"numbersign\"`. 잘못된 코드의 경우 \".notfound\"가 반환됩니다." + +#: ../../font.rst:234 20712f7e063243888f6395b18c3acae8 +msgid "" +"*(Changed in v1.18.0)* This method and :meth:`Font.glyph_name_to_unicode`" +" no longer depend on a font and instead retrieve information from the " +"**Adobe Glyph List**. Also available as `pymupdf.unicode_to_glyph_name()`" +" and resp. `pymupdf.glyph_name_to_unicode()`." +msgstr "*(v1.18.0에서 변경됨)* 이 메서드와 :meth:`Font.glyph_name_to_unicode` 는 더 이상 글꼴에 의존하지 않으며 대신 **Adobe Glyph List** 에서 정보를 검색합니다. `pymupdf.unicode_to_glyph_name()` 및 각각 `pymupdf.glyph_name_to_unicode()` 로도 사용할 수 있습니다." + +#: ../../font.rst:241 38b6209e6a4344a8b3be848dc476755c +msgid "Calculate the length in points of a unicode string." +msgstr "유니코드 문자열의 포인트 단위 길이를 계산합니다." + +#: ../../font.rst:243 142ac4b87bb644ffa8514275b3e51007 +msgid "" +"There is a functional overlap with :meth:`get_text_length` for Base-14 " +"fonts only." +msgstr "Base-14 글꼴에 대해서만 :meth:`get_text_length` 와 기능적 중복이 있습니다." + +#: ../../font.rst:245 ../../font.rst:269 7c8abec195d7425ab74856419d327b59 +#: f31ddd69af474ca98115ec49230627cf +msgid "a text string, UTF-8 encoded." +msgstr "UTF-8로 인코딩된 텍스트 문자열." + +#: ../../font.rst:247 ../../font.rst:271 280e2e6390a84299b1eb50742751cc45 +#: 5880b72ffefe4073a534b44ef82aa00b +msgid "the :data:`fontsize`." +msgstr ":data:`fontsize`." + +#: ../../font.rst 24af9fb41f6d40be800f9d6a56909af0 +#: 375fd3e160764b6f97a1b86fc740fe8a 465db7792c4b472f806017a0d364f367 +#: 53682f9b23a84002ab90b511020b49f6 5fa74d99fa99412f91d3a82aefa8e4bf +#: 70db0a0a767e4ee8867951f816a54be0 9353b0e144af4fc7a2f47be5d63e325b +#: b579c7fff96e4c608f8eb22666e2666d d2e13bff74024b768ddd4405202d6cab +#: d3196a22363c47ecb37dd5972f00334e +msgid "Return type" +msgstr "Return type" + +#: ../../font.rst:251 ec7a7979f9e7418fbdceaeee4f29b39d +msgid "" +"the length of the string in points when stored in the PDF. If a character" +" is not contained in the font, it will automatically be looked up in a " +"fallback font. .. note:: This method was originally implemented in " +"Python, based on calling :meth:`Font.glyph_advance`. For performance " +"reasons, it has been rewritten in C for v1.18.14. To compute the width of" +" a single character, you can now use either of the following without " +"performance penalty: 1. `font.glyph_advance(ord(\"Ä\")) * fontsize`" +" 2. `font.text_length(\"Ä\", fontsize=fontsize)` For multi-" +"character strings, the method offers a huge performance advantage " +"compared to the previous implementation: instead of about 0.5 " +"microseconds for each character, only 12.5 nanoseconds are required for " +"the second and subsequent ones." +msgstr "" + +#: ../../font.rst:251 f41d04198f2341a990157155d7f740b1 +msgid "" +"the length of the string in points when stored in the PDF. If a character" +" is not contained in the font, it will automatically be looked up in a " +"fallback font." +msgstr "PDF에 저장될 때 포인트 단위의 문자열 길이. 글꼴에 문자가 포함되어 있지 않으면 자동으로 대체 글꼴에서 찾습니다." + +#: ../../font.rst:253 57ccdf4bd0474e3280e1cdda9d041027 +msgid "" +"This method was originally implemented in Python, based on calling " +":meth:`Font.glyph_advance`. For performance reasons, it has been " +"rewritten in C for v1.18.14. To compute the width of a single character, " +"you can now use either of the following without performance penalty:" +msgstr "이 메서드는 원래 :meth:`Font.glyph_advance` 호출을 기반으로 Python에서 구현되었습니다. 성능상의 이유로 v1.18.14에서 C로 다시 작성되었습니다. 단일 문자의 너비를 계산하려면 성능 저하 없이 다음 중 하나를 사용할 수 있습니다:" + +#: ../../font.rst:255 b485562f46994ef3a76ed0ba8f486f14 +msgid "`font.glyph_advance(ord(\"Ä\")) * fontsize`" +msgstr "`font.glyph_advance(ord(\"Ä\")) * fontsize`" + +#: ../../font.rst:256 7b3106bb9bf0498198809c557ab60339 +msgid "`font.text_length(\"Ä\", fontsize=fontsize)`" +msgstr "`font.text_length(\"Ä\", fontsize=fontsize)`" + +#: ../../font.rst:258 3724b3d50f664946b0d42d8fab2f84f6 +msgid "" +"For multi-character strings, the method offers a huge performance " +"advantage compared to the previous implementation: instead of about 0.5 " +"microseconds for each character, only 12.5 nanoseconds are required for " +"the second and subsequent ones." +msgstr "다중 문자 문자열의 경우, 이 메서드는 이전 구현과 비교하여 큰 성능 이점을 제공합니다: 각 문자에 대해 약 0.5 마이크로초 대신 두 번째 및 이후 문자에는 12.5 나노초만 필요합니다." + +#: ../../font.rst:265 aafd060e84e541abbe7b30af94aa8ded +msgid "*New in v1.18.14*" +msgstr "*v1.18.14에서 새로 추가됨*" + +#: ../../font.rst:267 7decb74d1d39477b9462d29370e42a35 +msgid "Sequence of character lengths in points of a unicode string." +msgstr "유니코드 문자열의 포인트 단위 문자 길이 시퀀스." + +#: ../../font.rst:275 76401a090dc249fcab049f83b6f83cee +msgid "" +"the lengths in points of the characters of a string when stored in the " +"PDF. It works like :meth:`Font.text_length` broken down to single " +"characters. This is a high speed method, used e.g. in " +":meth:`TextWriter.fill_textbox`. The following is true (allowing rounding" +" errors): `font.text_length(text) == sum(font.char_lengths(text))`. >>> " +"font = pymupdf.Font(\"helv\") >>> text = \"PyMuPDF\" >>> " +"font.text_length(text) 50.115999937057495 >>> " +"pymupdf.get_text_length(text, fontname=\"helv\") 50.115999937057495 >>> " +"sum(font.char_lengths(text)) 50.115999937057495 >>> " +"pprint(font.char_lengths(text)) (7.336999952793121, # P 5.5," +" # y 9.163000047206879, # M 6.115999937057495, # u " +"7.336999952793121, # P 7.942000031471252, # D 6.721000015735626) # " +"F" +msgstr "" + +#: ../../font.rst:275 1544e745681a4b6da063619a2e9620b7 +msgid "" +"the lengths in points of the characters of a string when stored in the " +"PDF. It works like :meth:`Font.text_length` broken down to single " +"characters. This is a high speed method, used e.g. in " +":meth:`TextWriter.fill_textbox`. The following is true (allowing rounding" +" errors): `font.text_length(text) == sum(font.char_lengths(text))`." +msgstr "PDF에 저장될 때 문자열 문자의 포인트 단위 길이. :meth:`Font.text_length` 를 단일 문자로 분해한 것처럼 작동합니다. 이것은 고속 메서드이며 예를 들어 :meth:`TextWriter.fill_textbox` 에서 사용됩니다. 다음이 참입니다(반올림 오류 허용): `font.text_length(text) == sum(font.char_lengths(text))`." + +#: ../../font.rst:297 d80b29e9dd8c454da9c51b26d9cad2fe +msgid "New in v1.17.6" +msgstr "v1.17.6에서 새로 추가됨" + +#: ../../font.rst:299 30834747dcfd4dc48a79f57ad356cdd3 +msgid "Copy of the binary font file content." +msgstr "바이너리 글꼴 파일 내용의 복사본." + +#: ../../font.rst:305 71cd13ec6bab4c46bb9c7dbb8108fb63 +msgid "" +"A dictionary with various font properties, each represented as bools. " +"Example for Helvetica::" +msgstr "각각 bool로 표현되는 다양한 글꼴 속성의 딕셔너리. Helvetica의 예::" + +#: ../../font.rst:325 dbe85241cd3a4910a0da84236fc69d03 +msgid "Name of the font. May be \"\" or \"(null)\"." +msgstr "글꼴 이름. \"\" 또는 \"(null)\"일 수 있습니다." + +#: ../../font.rst:329 190864bf642d4836b3e8ed0493dc4672 +msgid "The font bbox. This is the maximum of its glyph bboxes." +msgstr "글꼴 bbox. 이것은 글리프 bbox의 최대값입니다." + +#: ../../font.rst:331 33b968a3b28241e9a604dd232bd3bf7c +msgid ":ref:`Rect`" +msgstr ":ref:`Rect`" + +#: ../../font.rst:337 38e95b49eec642f784ca39d58b0b40df +msgid "The number of glyphs defined in the font." +msgstr "글꼴에 정의된 글리프 수." + +#: ../../font.rst:341 ../../font.rst:349 aa9a0f03418b4adba2109af305a941e1 +#: b18be968a53743bdb4bdab316af4c374 +msgid "New in v1.18.0" +msgstr "v1.18.0에서 새로 추가됨" + +#: ../../font.rst:343 d3c64bfaff7540aa857c6dcc2fc2b0a0 +msgid "" +"The ascender value of the font, see `ascender typography " +"`_ for details. " +"Please note that there is a difference to the strict definition: our " +"value includes everything above the baseline -- not just the height " +"difference between upper case \"A\" and and lower case \"a\"." +msgstr "글꼴의 상승부 값, 자세한 내용은 `ascender typography `_ 를 참조하세요. 엄격한 정의와 차이가 있음을 참고하세요: 우리의 값은 기준선 위의 모든 것을 포함합니다 -- 대문자 \"A\"와 소문자 \"a\" 사이의 높이 차이만이 아닙니다." + +#: ../../font.rst:351 7fba1bd77fd74cc1abdb335fe3269fbc +msgid "" +"The descender value of the font, see `descender typography " +"`_ for details. This value " +"always is negative and is the portion that some glyphs descend below the " +"base line, for example \"g\" or \"y\". As a consequence, the value " +"`ascender - descender` is the total height, that every glyph of the font " +"fits into. This is true at least for most fonts -- as always, there are " +"exceptions, especially for calligraphic fonts, etc." +msgstr "글꼴의 하강부 값, 자세한 내용은 `descender typography `_ 를 참조하세요. 이 값은 항상 음수이며 일부 글리프가 기준선 아래로 내려가는 부분입니다. 예를 들어 \"g\" 또는 \"y\". 결과적으로 `ascender - descender` 값은 글꼴의 모든 글리프가 들어맞는 전체 높이입니다. 이것은 적어도 대부분의 글꼴에 대해 참입니다 -- 항상 그렇듯이 예외가 있으며, 특히 필기체 글꼴 등에 해당합니다." + +#: ../../font.rst:363 4ffede0fc21c4b5fa0f667a903b92e93 +msgid "" +"A number of attributes with obvious meanings. Reflect some values of the " +":attr:`Font.flags` dictionary." +msgstr "명확한 의미를 가진 여러 속성. :attr:`Font.flags` 딕셔너리의 일부 값을 반영합니다." + +#: ../../font.rst:368 4bd92baafe77479faa63b31082e0c69a +msgid "Footnotes" +msgstr "Footnotes" + +#: ../../font.rst:369 d66637c72e2b45aea7edd3cb116ec328 +msgid "" +"MuPDF does not support all fontfiles with this feature and will raise " +"exceptions like *\"mupdf: FT_New_Memory_Face((null)): unknown file " +"format\"*, if it encounters issues." +msgstr "MuPDF는 이 기능을 가진 모든 글꼴 파일을 지원하지 않으며 문제가 발생하면 *\"mupdf: FT_New_Memory_Face((null)): unknown file format\"* 과 같은 예외를 발생시킵니다." + +#: ../../font.rst:371 7213fcc59c214e508d3da6221ec0d21a +msgid "" +"The built-in Python module `array` has been chosen for its speed and low " +"memory requirement." +msgstr "내장 Python 모듈 `array` 는 속도와 낮은 메모리 요구 사항 때문에 선택되었습니다." + +#: ../../footer.rst:46 3dc04747492b4b4bac6e2c6af8d83002 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/footer.mo b/docs/locales/ko/LC_MESSAGES/footer.mo new file mode 100644 index 000000000..b25247708 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/footer.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/footer.po b/docs/locales/ko/LC_MESSAGES/footer.po new file mode 100644 index 000000000..90de7ead4 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/footer.po @@ -0,0 +1,25 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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" + +#: ../../footer.rst:46 6174f91a653847f0bf61a4cba1c92a19 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/functions.mo b/docs/locales/ko/LC_MESSAGES/functions.mo new file mode 100644 index 000000000..ea4f9a15b Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/functions.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/functions.po b/docs/locales/ko/LC_MESSAGES/functions.po new file mode 100644 index 000000000..bcd046bf6 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/functions.po @@ -0,0 +1,2344 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PyMuPDF 1.26.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-03 09:30+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ko\n" +"Language-Team: ko \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.17.0\n" + +#: ../../header.rst:-1 d5eaf8f36ea24d1fa23ebb1e8e41a90a +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 8b803decc5f34c5fb8ad982980d7c72a +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 e66a1624a18842059b9907685b6c923b +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" + +#: ../../functions.rst:5 09639c24e337417f91e7de56ce3925a9 +msgid "Functions" +msgstr "함수" + +#: ../../functions.rst:6 d241bcc35bc04fe898c335516878e3b2 +msgid "" +"The following are miscellaneous functions and attributes on a fairly low-" +"level technical detail." +msgstr "다음은 상당히 낮은 수준의 기술 세부 사항에 대한 다양한 함수 및 속성입니다." + +#: ../../functions.rst:8 59b2d7e5074348b69fc146b45b000d70 +msgid "" +"Some functions provide detail access to PDF structures. Others are " +"stripped-down, high performance versions of other functions which provide" +" more information." +msgstr "" +"일부 함수는 PDF 구조에 대한 세부 액세스를 제공합니다. 다른 함수들은 더 많은 정보를 제공하는 다른 함수들의 간소화된 고성능 " +"버전입니다." + +#: ../../functions.rst:10 ea218c4b21c34a54b5241255f2274c27 +msgid "Yet others are handy, general-purpose utilities." +msgstr "또 다른 함수들은 편리한 범용 유틸리티입니다." + +#: ../../functions.rst:14 26226f6d78b94bbfbc116c90ec1b1667 +msgid "**Function**" +msgstr "**함수**" + +#: ../../functions.rst:14 8b717e28bda34d8bb8d5d4a899346921 +msgid "**Short Description**" +msgstr "**간단한 설명**" + +#: ../../functions.rst:16 4fa827142fed47519193771ca5b08092 +msgid ":attr:`Annot.apn_bbox`" +msgstr "" + +#: ../../functions.rst:16 5e724998a2fe42beb8664ac646bf06a5 +msgid "PDF only: bbox of the appearance object" +msgstr "PDF 전용: 외관 객체의 bbox" + +#: ../../functions.rst:17 e888ae87ebb64c36a00f993c271f9619 +msgid ":attr:`Annot.apn_matrix`" +msgstr "" + +#: ../../functions.rst:17 fb98b796e0944e88843ee6b73c5462c8 +msgid "PDF only: the matrix of the appearance object" +msgstr "PDF 전용: 외관 객체의 행렬" + +#: ../../functions.rst:18 c82ca559939b4f2999f22b393c9c49c5 +msgid ":attr:`Page.is_wrapped`" +msgstr "" + +#: ../../functions.rst:18 8b72a57f280b43758c83633f4cab7d86 +msgid "check whether contents wrapping is present" +msgstr "콘텐츠 래핑이 있는지 확인" + +#: ../../functions.rst:19 5ef421856e0e4d2283f1bfc84b188fff +msgid ":meth:`adobe_glyph_names`" +msgstr "" + +#: ../../functions.rst:19 3472f840e3f842c182821e72f04801f6 +msgid "list of glyph names defined in **Adobe Glyph List**" +msgstr "**Adobe Glyph List** 에 정의된 글리프 이름 목록" + +#: ../../functions.rst:20 752b3e5acbe2461694cdae2a674c5f9f +msgid ":meth:`adobe_glyph_unicodes`" +msgstr "" + +#: ../../functions.rst:20 5328c789e05a4c84bb18faf4f590624c +msgid "list of unicodes defined in **Adobe Glyph List**" +msgstr "**Adobe Glyph List** 에 정의된 유니코드 목록" + +#: ../../functions.rst:21 31f74aa2555c4a34831b22a7e91f4d78 +msgid ":meth:`Annot.clean_contents`" +msgstr "" + +#: ../../functions.rst:21 2f6aed921d3244e9864151ff2181d926 +msgid "PDF only: clean the annot's :data:`contents` object" +msgstr "PDF 전용: 주석의 :data:`contents` 객체 정리" + +#: ../../functions.rst:22 8b78b1dcdb9e48ec904da6e3afd94f81 +msgid ":meth:`Annot.set_apn_bbox`" +msgstr "" + +#: ../../functions.rst:22 1f6854c2e8d647daa789426623c1beb8 +msgid "PDF only: set the bbox of the appearance object" +msgstr "PDF 전용: 외관 객체의 bbox 설정" + +#: ../../functions.rst:23 3857c8ee2f5748ffaa4bb8a896d72d65 +msgid ":meth:`Annot.set_apn_matrix`" +msgstr "" + +#: ../../functions.rst:23 8e746324795541b98d2337928d494ac9 +msgid "PDF only: set the matrix of the appearance object" +msgstr "PDF 전용: 외관 객체의 행렬 설정" + +#: ../../functions.rst:24 fe9bc78339d044edb57af998111e0e94 +msgid ":meth:`ConversionHeader`" +msgstr "" + +#: ../../functions.rst:24 c9d53709f3ec4313886ef34c2592dc2a +msgid "return header string for *get_text* methods" +msgstr "*get_text* 메서드에 대한 헤더 문자열 반환" + +#: ../../functions.rst:25 f42819297e9c4f5a9d89b2bd6705b29d +msgid ":meth:`ConversionTrailer`" +msgstr "" + +#: ../../functions.rst:25 6c0ab36cb3184db4a0865841dad35fb3 +msgid "return trailer string for *get_text* methods" +msgstr "*get_text* 메서드에 대한 트레일러 문자열 반환" + +#: ../../functions.rst:26 5e2606a6e2424e1abef37d5a5336d192 +msgid ":meth:`Document.del_xml_metadata`" +msgstr "" + +#: ../../functions.rst:26 ed1d451869034ee1818820271d019376 +msgid "PDF only: remove XML metadata" +msgstr "PDF 전용: XML 메타데이터 제거" + +#: ../../functions.rst:27 732e7fffe1c647dab7c6d9fcf6828ce2 +msgid ":meth:`Document.get_char_widths`" +msgstr "" + +#: ../../functions.rst:27 351bf40e0c10489fa167be35cbeede88 +msgid "PDF only: return a list of glyph widths of a font" +msgstr "PDF 전용: 글꼴의 글리프 너비 목록 반환" + +#: ../../functions.rst:28 9ec9c0e0a2694a88b5162cedf7e99d3c +msgid ":meth:`Document.get_new_xref`" +msgstr "" + +#: ../../functions.rst:28 8a4cabef920b48208011d74894909090 +msgid "PDF only: create and return a new :data:`xref` entry" +msgstr "PDF 전용: 새로운 :data:`xref` 항목 생성 및 반환" + +#: ../../functions.rst:29 25a750f17eb440d7afc91b91de3c51dc +msgid ":meth:`Document.is_stream`" +msgstr "" + +#: ../../functions.rst:29 80d8b21e19054578869eb0f4170ed472 +msgid "PDF only: check whether an :data:`xref` is a stream object" +msgstr "PDF 전용: :data:`xref` 가 스트림 객체인지 확인" + +#: ../../functions.rst:30 b7e1dc4e790c41619345dbe8ca19c53f +msgid ":meth:`Document.xml_metadata_xref`" +msgstr "" + +#: ../../functions.rst:30 e969dc0606e341eaaa57453eb8eef3fe +msgid "PDF only: return XML metadata :data:`xref` number" +msgstr "PDF 전용: XML 메타데이터 :data:`xref` 번호 반환" + +#: ../../functions.rst:31 d7b9b54aaece4890a119fc28f0b0213d +msgid ":meth:`Document.xref_length`" +msgstr "" + +#: ../../functions.rst:31 0d5124e0366f4b279c0caecef1badf22 +msgid "PDF only: return length of :data:`xref` table" +msgstr "PDF 전용: :data:`xref` 테이블의 길이 반환" + +#: ../../functions.rst:32 7e5cb32316f046989fdfc51b848af3a5 +msgid ":meth:`EMPTY_IRECT`" +msgstr "" + +#: ../../functions.rst:32 ../../functions.rst:34 +#: 72f212b14bbe40e991e86ece2cc1c252 db2699336cdf40c7acc4bcbba7fc31cd +msgid "return the (standard) empty / invalid rectangle" +msgstr "(표준) 빈/유효하지 않은 사각형 반환" + +#: ../../functions.rst:33 18064cd07e9b45088a8b5121afcc373a +msgid ":meth:`EMPTY_QUAD`" +msgstr "" + +#: ../../functions.rst:33 2d74cea507794a8cabc329254264d867 +msgid "return the (standard) empty / invalid quad" +msgstr "(표준) 빈/유효하지 않은 쿼드 반환" + +#: ../../functions.rst:34 ca50d2c7ddf8434698c2247b7063acff +msgid ":meth:`EMPTY_RECT`" +msgstr "" + +#: ../../functions.rst:35 89d408ccc68d4ce39653e0d907c85295 +msgid ":meth:`get_pdf_now`" +msgstr "" + +#: ../../functions.rst:35 48f14174d2e34dbfb19df27001f24fec +msgid "return the current timestamp in PDF format" +msgstr "PDF 형식의 현재 타임스탬프 반환" + +#: ../../functions.rst:36 cbcbe41ecf5e43edad6d095ce00f09c1 +msgid ":meth:`get_pdf_str`" +msgstr "" + +#: ../../functions.rst:36 39f2a8a1b0c143298f9393ea1ed57297 +msgid "return PDF-compatible string" +msgstr "PDF 호환 문자열 반환" + +#: ../../functions.rst:37 3d87a50d6b304a6191cd03adecdbf8c5 +msgid ":meth:`get_text_length`" +msgstr "" + +#: ../../functions.rst:37 8c4282d6eaab449490037c18b06197cc +msgid "return string length for a given font & :data:`fontsize`" +msgstr "주어진 글꼴 및 :data:`fontsize` 에 대한 문자열 길이 반환" + +#: ../../functions.rst:38 33b7cf546f184f529efbb76c2b68f01c +msgid ":meth:`glyph_name_to_unicode`" +msgstr "" + +#: ../../functions.rst:38 cef00a6424564bb88d7ff3da7f59a57f +msgid "return unicode from a glyph name" +msgstr "글리프 이름에서 유니코드 반환" + +#: ../../functions.rst:39 b92854863247412db8a57b9e4dec0ff2 +msgid ":meth:`image_profile`" +msgstr "" + +#: ../../functions.rst:39 0babe345f56341e08a6ce5c46190ae85 +msgid "return a dictionary of basic image properties" +msgstr "기본 이미지 속성의 딕셔너리 반환" + +#: ../../functions.rst:40 d15b2478761c42778f75793f3b52e20f +msgid ":meth:`INFINITE_IRECT`" +msgstr "" + +#: ../../functions.rst:40 ../../functions.rst:42 +#: 531c629266ac4ddf9cf8b93162d99d86 9e3ea8aaed944e1b9dec93f4527643f6 +msgid "return the (only existing) infinite rectangle" +msgstr "(유일하게 존재하는) 무한 사각형 반환" + +#: ../../functions.rst:41 06d5cc18fcbf40d6bb99b294dade3c86 +msgid ":meth:`INFINITE_QUAD`" +msgstr "" + +#: ../../functions.rst:41 efe4f04d259c43cfa7a294ef6b37e674 +msgid "return the (only existing) infinite quad" +msgstr "(유일하게 존재하는) 무한 쿼드 반환" + +#: ../../functions.rst:42 4ebe8dc0e1a94750958a022b23527ae7 +msgid ":meth:`INFINITE_RECT`" +msgstr "" + +#: ../../functions.rst:43 810dbb2ba3574ea4a2a27ea13faeb3ed +msgid ":meth:`make_table`" +msgstr "" + +#: ../../functions.rst:43 1d2dd96b457c447080a9455ad8ba3d02 +msgid "split rectangle in sub-rectangles" +msgstr "사각형을 하위 사각형으로 분할" + +#: ../../functions.rst:44 4efadc8238ca4c81880285681a275b59 +msgid ":meth:`Page.clean_contents`" +msgstr "" + +#: ../../functions.rst:44 78470e69571940789a87fa57faa9e6db +msgid "PDF only: clean the page's :data:`contents` objects" +msgstr "PDF 전용: 페이지의 :data:`contents` 객체 정리" + +#: ../../functions.rst:45 6083fb6360c44b32b75dce123ed47366 +msgid ":meth:`Page.get_bboxlog`" +msgstr "" + +#: ../../functions.rst:45 73f845fdf7ef46e4971320b572f4db8b +msgid "list of rectangles that envelop text, drawing or image objects" +msgstr "텍스트, 그리기 또는 이미지 객체를 둘러싸는 사각형 목록" + +#: ../../functions.rst:46 80028783aab041c69b426c082d2aa6df +msgid ":meth:`Page.get_contents`" +msgstr "" + +#: ../../functions.rst:46 74a19434f8f246f19e61fe238b478907 +msgid "PDF only: return a list of content :data:`xref` numbers" +msgstr "PDF 전용: 콘텐츠 :data:`xref` 번호 목록 반환" + +#: ../../functions.rst:47 019c93458efe4182a147120a0cc10b3e +msgid ":meth:`Page.get_displaylist`" +msgstr "" + +#: ../../functions.rst:47 a44e43abf2dc456f8337f43c185d948e +msgid "create the page's display list" +msgstr "페이지의 디스플레이 리스트 생성" + +#: ../../functions.rst:48 58150969be474967b037cf952a6c031f +msgid ":meth:`Page.get_text_blocks`" +msgstr "" + +#: ../../functions.rst:48 f0b458ff737845fea22ed316da32926a +msgid "extract text blocks as a Python list" +msgstr "텍스트 블록을 Python 리스트로 추출" + +#: ../../functions.rst:49 216b4f80f83c4bbcb187c35eb3ee8e40 +msgid ":meth:`Page.get_text_words`" +msgstr "" + +#: ../../functions.rst:49 9895bb7c031d4f20b8a5191f4dfd8167 +msgid "extract text words as a Python list" +msgstr "텍스트 단어를 Python 리스트로 추출" + +#: ../../functions.rst:50 1112723c3d914a8eb485016e2e43eb25 +msgid ":meth:`Page.get_texttrace`" +msgstr "" + +#: ../../functions.rst:50 7a2b3074f96a4a2284ec5f7fceb0f40f +msgid "low-level text information" +msgstr "저수준 텍스트 정보" + +#: ../../functions.rst:51 9b6b7e72a5104179aa2df4fd9adbbbcf +msgid ":meth:`Page.read_contents`" +msgstr "" + +#: ../../functions.rst:51 934be2410e654699924480d3599ec1fb +msgid "PDF only: get complete, concatenated /Contents source" +msgstr "PDF 전용: 완전하고 연결된 /Contents 소스 가져오기" + +#: ../../functions.rst:52 d3db73a2b79141b0bed19fdd1f6ca764 +msgid ":meth:`Page.run`" +msgstr "" + +#: ../../functions.rst:52 4902d89cf4b144069ba225a193fe2332 +msgid "run a page through a device" +msgstr "디바이스를 통해 페이지 실행" + +#: ../../functions.rst:53 0b2357ceef874b5c81bd4ac101078751 +msgid ":meth:`Page.set_contents`" +msgstr "" + +#: ../../functions.rst:53 140d86f801f447ba932d4d0da1636bdf +msgid "PDF only: set page's :data:`contents` to some :data:`xref`" +msgstr "PDF 전용: 페이지의 :data:`contents` 를 일부 :data:`xref` 로 설정" + +#: ../../functions.rst:54 4607ba0bc87a49029f60b94358164e9a +msgid ":meth:`Page.wrap_contents`" +msgstr "" + +#: ../../functions.rst:54 71d87e984ed1426f994fbda70a1d5acc +msgid "wrap contents with stacking commands" +msgstr "스택 명령으로 콘텐츠 래핑" + +#: ../../functions.rst:55 eab975358f5e45f88237eb38bf7efcc2 +msgid ":meth:`css_for_pymupdf_font`" +msgstr "" + +#: ../../functions.rst:55 7369ac5afa2a4f87af7504d05e2e95ec +msgid "create CSS source for a font in package pymupdf_fonts" +msgstr "pymupdf_fonts 패키지의 글꼴에 대한 CSS 소스 생성" + +#: ../../functions.rst:56 ea96727f97604aa2be9fd94c2b0e4e99 +msgid ":meth:`paper_rect`" +msgstr "" + +#: ../../functions.rst:56 4a64de49215140bb9095a7b744a6b10c +msgid "return rectangle for a known paper format" +msgstr "알려진 용지 형식에 대한 사각형 반환" + +#: ../../functions.rst:57 63fe68f42d76418396af541b4387963f +msgid ":meth:`paper_size`" +msgstr "" + +#: ../../functions.rst:57 bac6f74069d54638915a9402b2fdd32b +msgid "return width, height for a known paper format" +msgstr "알려진 용지 형식에 대한 너비, 높이 반환" + +#: ../../functions.rst:58 9d17a64027f048e89712567847e77387 +msgid ":meth:`paper_sizes`" +msgstr "" + +#: ../../functions.rst:58 0a3c490c678640d69903658293fb99cd +msgid "dictionary of pre-defined paper formats" +msgstr "사전 정의된 용지 형식의 딕셔너리" + +#: ../../functions.rst:59 95cabe729c624a44a074886bc5ba5370 +msgid ":meth:`planish_line`" +msgstr "" + +#: ../../functions.rst:59 2c80744fd3094705a838e077b3751f09 +msgid "matrix to map a line to the x-axis" +msgstr "선을 x축에 매핑하는 행렬" + +#: ../../functions.rst:60 6d4a42f1a6034615a841e64b17bd95c6 +msgid ":meth:`recover_char_quad`" +msgstr "" + +#: ../../functions.rst:60 7509fe7ee06541f2a83976c0820c751f +msgid "compute the quad of a char (\"rawdict\")" +msgstr "문자(\"rawdict\")의 쿼드 계산" + +#: ../../functions.rst:61 2dd22daf6b254298b3521c5d8c0c2fc1 +msgid ":meth:`recover_line_quad`" +msgstr "" + +#: ../../functions.rst:61 c17fb3f0647848dd9b2d0c9f3375a900 +msgid "compute the quad of a subset of line spans" +msgstr "라인 스팬의 하위 집합의 쿼드 계산" + +#: ../../functions.rst:62 69103e21e70648a2ab8f3cedab21fa40 +msgid ":meth:`recover_quad`" +msgstr "" + +#: ../../functions.rst:62 d6b90efa394f4fc98f8d557ba6118854 +msgid "compute the quad of a span (\"dict\", \"rawdict\")" +msgstr "스팬(\"dict\", \"rawdict\")의 쿼드 계산" + +#: ../../functions.rst:63 e95190855477414fa2fc9b2a462e4d1f +msgid ":meth:`recover_span_quad`" +msgstr "" + +#: ../../functions.rst:63 dae88b36bbbb4bbcbe86f14575a8c742 +msgid "compute the quad of a subset of span characters" +msgstr "스팬 문자의 하위 집합의 쿼드 계산" + +#: ../../functions.rst:64 a538219c85a948b5bc32b5a86f54ee04 +msgid ":meth:`set_messages`" +msgstr "" + +#: ../../functions.rst:64 76a9ba8c6de9444caf517346bcd72399 +msgid "set destination of |PyMuPDF| messages." +msgstr "|PyMuPDF| 메시지의 대상 설정." + +#: ../../functions.rst:65 fdb49d59408d4dec91a14dde94092f4f +msgid ":meth:`sRGB_to_pdf`" +msgstr "" + +#: ../../functions.rst:65 f871b9297499486d852fd3f0e8a3676a +msgid "return PDF RGB color tuple from an sRGB integer" +msgstr "sRGB 정수에서 PDF RGB 색상 튜플 반환" + +#: ../../functions.rst:66 327a435d7e884c0a902aafda1893f6a7 +msgid ":meth:`sRGB_to_rgb`" +msgstr "" + +#: ../../functions.rst:66 246a589ca6424f2b9c09f5e823900a8d +msgid "return (R, G, B) color tuple from an sRGB integer" +msgstr "sRGB 정수에서 (R, G, B) 색상 튜플 반환" + +#: ../../functions.rst:67 c26211e2c9694a568170ed73ec08e6f6 +msgid ":meth:`unicode_to_glyph_name`" +msgstr "" + +#: ../../functions.rst:67 d3eb6eb48d2d404eaaa3e9647e0a61f0 +msgid "return glyph name from a unicode" +msgstr "유니코드에서 글리프 이름 반환" + +#: ../../functions.rst:68 ac57370c0a6f47c3bed79dff45b3725c +msgid ":meth:`get_tessdata`" +msgstr "" + +#: ../../functions.rst:68 e421bbfb598845dbb4469660bec7f8ca +msgid "locates the language support of the Tesseract-OCR installation" +msgstr "Tesseract-OCR 설치의 언어 지원 위치 찾기" + +#: ../../functions.rst:69 30abe7bbaaf24d3ba1760238b668f05b +msgid ":meth:`colors_pdf_dict`" +msgstr "" + +#: ../../functions.rst:69 939ec09248774b08b319cff1387a78b3 +msgid "return dict of color names." +msgstr "색상 이름의 딕셔너리 반환." + +#: ../../functions.rst:70 08f7a427489c42dc81382f68ac951d07 +msgid ":meth:`colors_wx_list`" +msgstr "" + +#: ../../functions.rst:70 c03e3b32246e48eca7222869de63d165 +msgid "return list of color names." +msgstr "색상 이름의 리스트 반환." + +#: ../../functions.rst:71 00ff5455c39348df865165ef97c332e5 +msgid ":attr:`fitz_fontdescriptors`" +msgstr "" + +#: ../../functions.rst:71 29c5c32218fe4af9b066941c79193e99 +msgid "dictionary of available supplement fonts" +msgstr "사용 가능한 보조 글꼴의 딕셔너리" + +#: ../../functions.rst:72 5e5557a7d7264b349905502aa39e0262 +msgid ":attr:`PYMUPDF_MESSAGE`" +msgstr "" + +#: ../../functions.rst:72 12be48b55f14460a82c486c307066c6b +msgid "destination of |PyMuPDF| messages." +msgstr "|PyMuPDF| 메시지의 대상." + +#: ../../functions.rst:73 93033092a17644e796bdfc012b3fe2ed +msgid ":attr:`pdfcolor`" +msgstr "" + +#: ../../functions.rst:73 e11234c49747439eb115b333174c8a11 +msgid "dictionary of almost 500 RGB colors in PDF format." +msgstr "PDF 형식의 약 500개의 RGB 색상 딕셔너리." + +#: ../../functions.rst:78 7731072bafdc4e0e948164d83aac73e6 +msgid "" +"Convenience function to return width and height of a known paper format " +"code. These values are given in pixels for the standard resolution 72 " +"pixels = 1 inch." +msgstr "" +"알려진 용지 형식 코드의 너비와 높이를 반환하는 편의 함수. 이러한 값은 표준 해상도 72 픽셀 = 1 인치에 대한 픽셀 단위로 " +"제공됩니다." + +#: ../../functions.rst:80 97f1a71cac764c60a6158645492260ad +msgid "" +"Currently defined formats include **'A0'** through **'A10'**, **'B0'** " +"through **'B10'**, **'C0'** through **'C10'**, **'Card-4x6'**, **'Card-" +"5x7'**, **'Commercial'**, **'Executive'**, **'Invoice'**, **'Ledger'**, " +"**'Legal'**, **'Legal-13'**, **'Letter'**, **'Monarch'** and **'Tabloid-" +"Extra'**, each in either portrait or landscape format." +msgstr "" +"현재 정의된 형식에는 **'A0'** 부터 **'A10'**, **'B0'** 부터 **'B10'**, **'C0'** 부터 " +"**'C10'**, **'Card-4x6'**, **'Card-5x7'**, **'Commercial'**, " +"**'Executive'**, **'Invoice'**, **'Ledger'**, **'Legal'**, " +"**'Legal-13'**, **'Letter'**, **'Monarch'** 및 **'Tabloid-Extra'** 가 포함되며," +" 각각 세로 또는 가로 형식으로 제공됩니다." + +#: ../../functions.rst:82 dc2a6be14366471dac1a6479494f9346 +msgid "" +"A format name must be supplied as a string (case **in** \\sensitive), " +"optionally suffixed with \"-L\" (landscape) or \"-P\" (portrait). No " +"suffix defaults to portrait." +msgstr "" +"형식 이름은 문자열로 제공해야 하며(대소문자 **구분 안 함**), 선택적으로 \"-L\"(가로) 또는 \"-P\"(세로) 접미사를" +" 붙일 수 있습니다. 접미사가 없으면 기본값은 세로입니다." + +#: ../../functions.rst 03018f66ae484e3db8b6ad2826a044cf +#: 0a0669e521764612bda971525dda452a 12ea19fbec324aef8554866eb1efd555 +#: 17b4cefc4a164f34978aa987685343a9 1b57ba0eba1e416191010aa7a215b711 +#: 1cab8cc500bf48f18a85666579c09fbc 2e96fcb875274281a1347e2eb8addec5 +#: 31229e3f712b437c916b0d922411d521 34b10c8b64ee455e952eb5d9cf6b1a80 +#: 3613e5ea12d44c5ab4fa219e92529752 398a306ab671437a9988c3756ab7f425 +#: 4d5566460617441d84c1f6d527cd4344 509f8e751d5e457699d9a42dc3f0644e +#: 58d7dd92da694affb15906f8055cb2f3 60884d82c6ed41c6b0fb30f10c530bc3 +#: 6f3e16b01a7e48b7b1286e84bec92f65 70099bc7029b4653a4ce215f5ea21068 +#: a5509eb13e9646f48b334f69990300d2 a89151cf3f0740db85a479f2b9b73349 +#: aba1d83a80594c35822fea6ded9b9e92 abb1fc81a69a4ce39c3973f59c1ad4b4 +#: b2e60629a7ef4d0cb426b6f6e36f1f6f deb835e391664727a28f3d7f49008950 +msgid "Parameters" +msgstr "매개변수" + +#: ../../functions.rst:84 868bc857e3eb4ca9a79d072abe89f452 +msgid "" +"any format name from above in upper or lower case, like *\"A4\"* or " +"*\"letter-l\"*." +msgstr "위의 형식 이름 중 하나를 대문자 또는 소문자로 지정합니다. 예: *\"A4\"* 또는 *\"letter-l\"*." + +#: ../../functions.rst 022a9111972c43f4ac95797e47e55115 +#: 0c19eadddcc246f6b494636250447fd1 1227b7b4025342248b7726eb436fd672 +#: 1344025ac05b4743ab3452c49485b456 16ed36a80352404c9f6b780307f76f2c +#: 1a3722844c9c4028b4ca575c633677f8 1e874c6b85ad41ff8d39bd66d4b10459 +#: 20d12996ad564b01a013abcf0a595b1b 20ffe31a11ee480896d6d653dbfabe62 +#: 2b70ab4546fa4726935510a1e9c6ea1e 32862398c7664800a5f7d7e0ac8dd3a4 +#: 468d0e15495548d081abcad8b54b977b 5629f3d073a446cb8a7d2cad64ae5a6e +#: 72190288375c4d32a56d69d0e5939fe5 741a274045a04f929fcfa2c3b8b92f2d +#: 88398cfff97c477db1e260b56fb9eb7b 8d70daaf324943269c7d19f63b2cc8fe +#: 8d9d283148974c8ca3abfd33d28287fe 90882dfe77d24383867c3af45e603974 +#: a3c6fbb9de8a4f588b1c288c68c4cca3 aab4d395713b4379a065a2abb64849de +#: b546dccfca404e0580e50b1fc6e5ad44 c709831c399146dfb8bd4fe3167a8938 +#: f354716ed65b417ca129e97964f83aa0 +msgid "Return type" +msgstr "반환 타입" + +#: ../../functions.rst 054986a55bd8412684d7d1053e95c27a +#: 0f142076b64b4989b3743f8c7ef4cc0a 32f469a0c91b4a868a39b83f799dd678 +#: 349444e692d0463e96ec95137f014f3c 3b461c671ee044138d2bdc62333e42d0 +#: 3df66e6bef0d4ea7bf65e4b3638bfb69 5902d0ef2d20466abff84b79b17d8841 +#: 6573f0a01dc743d892cfd7006b7cfd57 71a7252151694deab2d3caf80063f899 +#: 7d76e05a4b3a4af7b9cad032b510bac6 87784bbec007408e8916cc06e9591342 +#: 94c68ca6fcc44b10a660ad293abeeff5 97ee6ea8100b4074aaa5cf8a2c54ab88 +#: 9f4a7c0053e141358a36dadc8edd4499 a181be36d67549dab9959ecd33a5c311 +#: a20bf25fcc4c453cb352fd964286b1a3 a4183c4f8c0f43eb9e5d7c163475b746 +#: a66431d0340e41be826a4392175765a7 b6ec04a4323e457488d3a34c4e2dd176 +#: d2a6377848154565a05fc9112dd958ca db6ae0d1dc96463cb4f8ccf9885b98d0 +#: df98ff1830f843c7b39c5f50c02a93b2 e03a4ce2cc7248f5952c69d5abcf55b9 +#: e532dd33e4cf433a87145131fdb015b3 f4d244d00c2845ec820bba3e866fd756 +msgid "Returns" +msgstr "반환값" + +#: ../../functions.rst:87 b03cca1df3ff43cab3ebafdcc5ea4396 +msgid "" +"*(width, height)* of the paper format. For an unknown format *(-1, -1)* " +"is returned. Examples: *pymupdf.paper_size(\"A4\")* returns *(595, 842)* " +"and *pymupdf.paper_size(\"letter-l\")* delivers *(792, 612)*." +msgstr "" +"용지 형식의 *(너비, 높이)*. 알 수 없는 형식의 경우 *(-1, -1)* 이 반환됩니다. 예: " +"*pymupdf.paper_size(\"A4\")* 는 *(595, 842)* 를 반환하고 " +"*pymupdf.paper_size(\"letter-l\")* 는 *(792, 612)* 를 반환합니다." + +#: ../../functions.rst:93 39ac61c8acfe4795ad45ca2ed8ae6b2a +msgid "Convenience function to return a :ref:`Rect` for a known paper format." +msgstr "알려진 용지 형식에 대한 :ref:`Rect` 를 반환하는 편의 함수." + +#: ../../functions.rst:95 79ce3e075e8047c38fdca8e47040ce19 +msgid "any format name supported by :meth:`paper_size`." +msgstr ":meth:`paper_size` 에서 지원하는 모든 형식 이름." + +#: ../../functions.rst:97 6a4b32efe8dd4b0bb8cfd7c6d4b2e4d8 +msgid ":ref:`Rect`" +msgstr ":ref:`Rect`" + +#: ../../functions.rst:98 81a23800b837456cbe9205a60c034ab2 +msgid "" +"*pymupdf.Rect(0, 0, width, height)* with *width, " +"height=pymupdf.paper_size(s)*." +msgstr "" +"*width, height=pymupdf.paper_size(s)* 를 사용한 *pymupdf.Rect(0, 0, width, height)*." + +#: ../../functions.rst:109 69c645e94932478f9f3362f568160204 +msgid "" +"Sets destination of |PyMuPDF| messages to a file descriptor, a file, an " +"existing stream or `Python's logging system " +"`_." +msgstr "" +"|PyMuPDF| 메시지의 대상을 파일 디스크립터, 파일, 기존 스트림 또는 `Python의 로깅 시스템 " +"`_ 로 설정합니다." + +#: ../../functions.rst:113 7cbb49615dd5446788c1e7343992b3bd +msgid "Usually one would only set one arg, or one or more `pylogging*` args." +msgstr "일반적으로 하나의 인수만 설정하거나 하나 이상의 `pylogging*` 인수를 설정합니다." + +#: ../../functions.rst:115 41d549d619b941e490f0d67a2715a734 +msgid "" +"A text specification of destination; for details see description of " +"environmental variable `PYMUPDF_MESSAGE`." +msgstr "대상의 텍스트 사양. 자세한 내용은 환경 변수 `PYMUPDF_MESSAGE` 의 설명을 참조하세요." + +#: ../../functions.rst:118 489041f4541c47ef9f9e52c6ae05cc96 +msgid "Write to file descriptor." +msgstr "파일 디스크립터에 쓰기." + +#: ../../functions.rst:120 47f7f62ceba74f72adcdf0944e9bbb79 +msgid "" +"Write to existing stream, which must have methods `.write(text)` and " +"`.flush()`." +msgstr "기존 스트림에 쓰기. `.write(text)` 및 `.flush()` 메서드가 있어야 합니다." + +#: ../../functions.rst:123 deed94f7b3d04f22b1978ac275a22d14 +msgid "Write to a file." +msgstr "파일에 쓰기." + +#: ../../functions.rst:125 d6010f301c214ee981634923329e3b3e +msgid "Append to a file." +msgstr "파일에 추가." + +#: ../../functions.rst:127 581212acd9564c1d982afd047cead7b8 +msgid "Write to Python's `logging` system." +msgstr "Python의 `logging` 시스템에 쓰기." + +#: ../../functions.rst:129 7082305f15f14e479a4f01f1b5e7cea6 +msgid "Write to Python's `logging` system using specified Logger." +msgstr "지정된 Logger를 사용하여 Python의 `logging` 시스템에 쓰기." + +#: ../../functions.rst:131 05eb0dcaf9644b748efa489fccc348d2 +msgid "Write to Python's `logging` system using specified level." +msgstr "지정된 레벨을 사용하여 Python의 `logging` 시스템에 쓰기." + +#: ../../functions.rst:133 cedfea3990d24cf1a7929a33284b11a0 +msgid "" +"Write to Python's `logging` system using specified logger name. Only used" +" if `pylogging_logger` is ``None``. Default is `pymupdf`." +msgstr "" +"지정된 로거 이름을 사용하여 Python의 `logging` 시스템에 쓰기. `pylogging_logger` 가 ``None`` " +"인 경우에만 사용됩니다. 기본값은 `pymupdf` 입니다." + +#: ../../functions.rst:137 777f45cd7d524f84942d9fe412c18edd +msgid "" +"If any `pylogging*` arg is not ``None``, we write to `Python's logging " +"system `_." +msgstr "" +"`pylogging*` 인수가 ``None`` 이 아니면 `Python의 로깅 시스템 `_ 에 씁니다." + +#: ../../functions.rst:144 ../../functions.rst:156 ../../functions.rst:270 +#: 69f05cfe1b654ab19e0011a944260bec 7558bf3ff3b845559657a578039f1ef0 +#: c30fc7f1a9e343bbb4c5e4c8fbbfb032 +msgid "*New in v1.17.4*" +msgstr "*v1.17.4에서 새로 추가됨*" + +#: ../../functions.rst:146 895bc494383147339ecd407d7f8feece +msgid "" +"Convenience function returning a PDF color triple (red, green, blue) for " +"a given sRGB color integer as it occurs in :meth:`Page.get_text` " +"dictionaries \"dict\" and \"rawdict\"." +msgstr "" +":meth:`Page.get_text` 딕셔너리 \"dict\" 및 \"rawdict\" 에서 발생하는 것처럼 주어진 sRGB 색상 정수에 대한 PDF 색상 삼중(빨강, 녹색, 파랑)을 반환하는 편의 함수." + +#: ../../functions.rst:148 ../../functions.rst:160 +#: 017bfb28972946b7afeddc4aa2d96999 7ff4d5ab9e154081be8ea600c0631ffd +msgid "" +"an integer of format RRGGBB, where each color component is an integer in " +"range(255)." +msgstr "" +"RRGGBB 형식의 정수로, 각 색상 구성 요소는 range(255)의 정수입니다." + +#: ../../functions.rst:150 37c7bbd5421d4b18b180482fc18889da +msgid "" +"a tuple (red, green, blue) with float items in interval *0 <= item <= 1* " +"representing the same color. Example `sRGB_to_pdf(0xff0000) = (1, 0, 0)` " +"(red)." +msgstr "" +"동일한 색상을 나타내는 *0 <= item <= 1* 구간의 float 항목을 가진 튜플(빨강, 녹색, 파랑). 예: `sRGB_to_pdf(0xff0000) = (1, 0, 0)` (빨강)." + +#: ../../functions.rst:158 b3779d6ff2064b7191d22f03dc12b37d +msgid "" +"Convenience function returning a color (red, green, blue) for a given " +"*sRGB* color integer." +msgstr "" +"주어진 *sRGB* 색상 정수에 대한 색상(빨강, 녹색, 파랑)을 반환하는 편의 함수." + +#: ../../functions.rst:162 c2e711f095d845dcbbb6d1599bf1d8bb +msgid "" +"a tuple (red, green, blue) with integer items in `range(256)` " +"representing the same color. Example `sRGB_to_pdf(0xff0000) = (255, 0, " +"0)` (red)." +msgstr "" +"동일한 색상을 나타내는 `range(256)` 의 정수 항목을 가진 튜플(빨강, 녹색, 파랑). 예: `sRGB_to_pdf(0xff0000) = (255, 0, 0)` (빨강)." + +#: ../../functions.rst:168 ../../functions.rst:183 ../../functions.rst:198 +#: ../../functions.rst:211 0330c6db37ba44e7b01d3331832a082a +#: 59756c59d51a4bf59c7c44211fc57b99 c8e9f36450234d3293d8445774911e5d +#: d0ad94f8dbd24dd5adb1fc709cde1c9e +msgid "*New in v1.18.0*" +msgstr "*v1.18.0에서 새로 추가됨*" + +#: ../../functions.rst:170 18f6f71df9e4437e91b15db0811f02e1 +msgid "" +"Return the unicode number of a glyph name based on the **Adobe Glyph " +"List**." +msgstr "" +"**Adobe Glyph List**를 기반으로 글리프 이름의 유니코드 번호를 반환합니다." + +#: ../../functions.rst:172 2ea221eaae354e3a8696af8d26a6727c +msgid "" +"the name of some glyph. The function is based on the `Adobe Glyph List " +"`_." +msgstr "" +"일부 글리프의 이름. 이 함수는 `Adobe Glyph List `_ 에 기반합니다." + +#: ../../functions.rst:175 9cab0f810cd041b7b19a385d41b3de4d +msgid "the unicode. Invalid ``name`` entries return `0xfffd (65533)`." +msgstr "유니코드. 유효하지 않은 ``name`` 항목은 `0xfffd (65533)` 을 반환합니다." + +#: ../../functions.rst:177 ../../functions.rst:205 ../../functions.rst:218 +#: 8ae7164314a54d298a84c72740a19a67 bdcaf136335b4029a886ece439c7db85 +#: e4acb745507b430e8af6df66d695d76c +msgid "" +"A similar functionality is provided by package `fontTools " +"`_ in its *agl* sub-package." +msgstr "" +"유사한 기능이 `fontTools `_ 패키지의 *agl* 하위 패키지에서 제공됩니다." + +#: ../../functions.rst:185 75a5eea668644ca5ad66e78b8f46f33b +msgid "" +"Return the glyph name of a unicode number, based on the **Adobe Glyph " +"List**." +msgstr "" +"**Adobe Glyph List**를 기반으로 유니코드 번호의 글리프 이름을 반환합니다." + +#: ../../functions.rst:187 65f19a9b48e14e2caf273c0cd10e1127 +#: 96ee3f05d61747f7adbf5b5d3abd3e7a +msgid "" +"the unicode given by e.g. `ord(\"ß\")`. The function is based on the " +"`Adobe Glyph List `_." +msgstr "" +"예를 들어 `ord(\"ß\")` 로 주어진 유니코드. 이 함수는 `Adobe Glyph List `_ 에 기반합니다." + +#: ../../functions.rst:190 85951f82646148b184f726f54c1aacd6 +msgid "" +"the glyph name. E.g. `pymupdf.unicode_to_glyph_name(ord(\"Ä\"))` returns " +"`'Adieresis'`." +msgstr "" +"글리프 이름. 예: `pymupdf.unicode_to_glyph_name(ord(\"Ä\"))` 는 `'Adieresis'` 를 반환합니다." + +#: ../../functions.rst:192 bd7a7f8035ae48c1b94b6a14beff47cc +msgid "" +"A similar functionality is provided by package `fontTools " +"`_: in its *agl* sub-package." +msgstr "" +"유사한 기능은 패키지 `fontTools `_ 의 *agl* 하위" +" 패키지에서 제공됩니다." + +#: ../../functions.rst:200 ea6d8435122e4e03b457b6c4f74f77f2 +msgid "Return a list of glyph names defined in the **Adobe Glyph List**." +msgstr "**Adobe Glyph List** 에 정의된 글리프 이름 목록을 반환합니다." + +#: ../../functions.rst:203 67cf198df6114dd3804a1ba80c9c67ce +msgid "list of strings." +msgstr "문자열 목록." + +#: ../../functions.rst:213 0041733db7e64ba8a5350f0ea22c9eec +msgid "" +"Return a list of unicodes for there exists a glyph name in the **Adobe " +"Glyph List**." +msgstr "**Adobe Glyph List** 에 글리프 이름이 존재하는 유니코드 목록을 반환합니다." + +#: ../../functions.rst:216 1a1ca8f4c0ee415cac54b1fbbf966aac +msgid "list of integers." +msgstr "정수 목록." + +#: ../../functions.rst:224 91d0f084f22d40789e29edca8cc4b512 +msgid "*New in v1.21.0*" +msgstr "*v1.21.0의 새로운 기능*" + +#: ../../functions.rst:226 bfdbc87798434761bc202a2afdb0db2a +msgid "**Utility function for use with \"Story\" applications.**" +msgstr "**\"Story\" 애플리케이션에서 사용하기 위한 유틸리티 함수.**" + +#: ../../functions.rst:228 eb5487e982fa40b08c6ef9ec4d4d585f +msgid "" +"Create CSS `@font-face` items for the given fontcode in pymupdf-fonts. " +"Creates a CSS font-family for all fonts starting with string " +"\"fontcode\"." +msgstr "" +"pymupdf-fonts에서 주어진 fontcode에 대한 CSS `@font-face` 항목을 생성합니다. 문자열 " +"\"fontcode\"로 시작하는 모든 글꼴에 대한 CSS font-family를 생성합니다." + +#: ../../functions.rst:230 136c05d535f84f80ba229db14ba5e027 +msgid "" +"The font naming convention in package pymupdf-fonts is \"fontcode\", " +"where the suffix \"sf\" is one of \"\" (empty), \"it\"/\"i\", " +"\"bo\"/\"b\" or \"bi\". These suffixes thus represent the regular, " +"italic, bold or bold-italic variants of that font." +msgstr "" +"패키지 pymupdf-fonts의 글꼴 명명 규칙은 \"fontcode\"이며, 여기서 접미사 \"sf\"는 \"\"(비어 " +"있음), \"it\"/\"i\", \"bo\"/\"b\" 또는 \"bi\" 중 하나입니다. 이러한 접미사는 따라서 해당 글꼴의 " +"일반, 기울임꼴, 굵게 또는 굵은 기울임꼴 변형을 나타냅니다." + +#: ../../functions.rst:232 73f3ec03772745dcb664d3338f909e69 +msgid "For example, font code \"notos\" refers to fonts" +msgstr "예를 들어, 글꼴 코드 \"notos\"는 다음 글꼴을 나타냅니다" + +#: ../../functions.rst:234 ab848e07a9544eb0a4a64619cb70670d +msgid "\"notos\" - \"Noto Sans Regular\"" +msgstr "\"notos\" - \"Noto Sans Regular\"" + +#: ../../functions.rst:235 f820847aafbf425fa170b1083abd9056 +msgid "\"notosit\" - \"Noto Sans Italic\"" +msgstr "\"notosit\" - \"Noto Sans Italic\"" + +#: ../../functions.rst:236 524c95238e1f4af6945c40428fea8d5a +msgid "\"notosbo\" - \"Noto Sans Bold\"" +msgstr "\"notosbo\" - \"Noto Sans Bold\"" + +#: ../../functions.rst:237 d6a7415ca6e448e0afcac405b692a483 +msgid "\"notosbi\" - \"Noto Sans Bold Italic\"" +msgstr "\"notosbi\" - \"Noto Sans Bold Italic\"" + +#: ../../functions.rst:239 7682199165a64e699943ec683a5dbae8 +msgid "" +"The function creates (up to) four CSS `@font-face` definitions and " +"collectively assigns the `font-family` name \"notos\" to them (or the " +"\"name\" value if provided). Associated font buffers are placed / added " +"to the provided archive." +msgstr "" +"함수는 (최대) 4개의 CSS `@font-face` 정의를 생성하고 `font-family` 이름 \"notos\"(또는 제공된 " +"경우 \"name\" 값)를 집합적으로 할당합니다. 연결된 글꼴 버퍼는 제공된 아카이브에 배치/추가됩니다." + +#: ../../functions.rst:241 d60c58db166f4865ba6c5a96c0935714 +msgid "" +"To use the font in the Python API for :ref:`Story`, execute " +"`.set_font(fontcode)` (or \"name\" if given). The correct font weight or " +"style will automatically be selected as required." +msgstr "" +":ref:`Story` 의 Python API에서 글꼴을 사용하려면 `.set_font(fontcode)` (또는 주어진 경우 " +"\"name\")를 실행하세요. 올바른 글꼴 두께 또는 스타일이 필요에 따라 자동으로 선택됩니다." + +#: ../../functions.rst:243 f4c204d386b647d0a61c376c3c13681d +msgid "" +"For example to replace the \"sans-serif\" HTML standard (i.e. Helvetica) " +"with the above \"notos\", execute the following. Whenever \"sans-serif\" " +"is used (whether explicitly or implicitly), the Noto Sans fonts will be " +"selected." +msgstr "" +"예를 들어 위의 \"notos\"로 \"sans-serif\" HTML 표준(즉, Helvetica)을 대체하려면 다음을 " +"실행하세요. \"sans-serif\"가 사용될 때마다(명시적으로든 암시적으로든) Noto Sans 글꼴이 선택됩니다." + +#: ../../functions.rst:245 eabaed48beb946e58d8a1dc9579bb770 +msgid "" +"`CSS = pymupdf.css_for_pymupdf_font(\"notos\", name=\"sans-serif\", " +"archive=...)`" +msgstr "" +"`CSS = pymupdf.css_for_pymupdf_font(\"notos\", name=\"sans-serif\", " +"archive=...)`" + +#: ../../functions.rst:247 45820ea5c1c34abe9086286b089e5835 +msgid "Expects and returns the CSS source, with the new CSS definitions appended." +msgstr "CSS 소스를 받아서 새로운 CSS 정의가 추가된 CSS 소스를 반환합니다." + +#: ../../functions.rst:249 f8e31e8254fc4695a916866897562c67 +msgid "" +"one of the font codes present in package `pymupdf-fonts " +"`_ (usually) representing the " +"regular version of the font family." +msgstr "" +"패키지 `pymupdf-fonts `_ 에 있는 글꼴 코드" +" 중 하나(일반적으로 글꼴 패밀리의 일반 버전을 나타냄)." + +#: ../../functions.rst:250 92f43cf88a624b93bd22752d8bf64bd1 +msgid "" +"any already existing CSS source, or `None`. The function will append its " +"new definitions to this. This is the string that **must be used** as " +"`user_css` when creating the :ref:`Story`." +msgstr "" +"기존 CSS 소스 또는 `None`. 함수는 새로운 정의를 여기에 추가합니다. 이것은 :ref:`Story` 를 생성할 때 " +"`user_css` 로 **사용해야 하는** 문자열입니다." + +#: ../../functions.rst:251 513bb69848834f1b8ee131ac15a8d498 +msgid "" +":ref:`Archive`, **mandatory**. All font binaries (i.e. up to four) found " +"for \"fontcode\" will be added to the archive. This is the archive that " +"**must be used** as `archive` when creating the :ref:`Story`." +msgstr "" +":ref:`Archive`, **필수**. \"fontcode\"에 대해 찾은 모든 글꼴 바이너리(최대 4개)가 아카이브에 " +"추가됩니다. 이것은 :ref:`Story` 를 생성할 때 `archive` 로 **사용해야 하는** 아카이브입니다." + +#: ../../functions.rst:252 5497d854266c41399b06bd35ad5f9084 +msgid "" +"the name under which the \"fontcode\" fonts should be found. If omitted, " +"\"fontcode\" will be used." +msgstr "\"fontcode\" 글꼴을 찾을 이름. 생략하면 \"fontcode\"가 사용됩니다." + +#: ../../functions.rst:255 f98ee439f50d4dfe8df6c0efbd7b7815 +msgid "" +"Modified CSS, with appended `@font-face` statements for each font variant" +" of fontcode. Fontbuffers associated with \"fontcode\" will have been " +"added to 'archive'. The function will automatically find up to 4 font " +"variants. All pymupdf-fonts (that are no special purpose like math or " +"music, etc.) have regular, bold, italic and bold-italic variants. To see " +"currently available font codes check " +"`pymupdf.fitz_fontdescriptors.keys()`. This will show something like " +"`dict_keys(['cascadia', 'cascadiai', 'cascadiab', 'cascadiabi', 'figbo', " +"'figo', 'figbi', 'figit', 'fimbo', 'fimo', 'spacembo', 'spacembi', " +"'spacemit', 'spacemo', 'math', 'music', 'symbol1', 'symbol2', 'notosbo', " +"'notosbi', 'notosit', 'notos', 'ubuntu', 'ubuntubo', 'ubuntubi', " +"'ubuntuit', 'ubuntm', 'ubuntmbo', 'ubuntmbi', 'ubuntmit'])`." +msgstr "" +"fontcode의 각 글꼴 변형에 대한 `@font-face` 문이 추가된 수정된 CSS. \"fontcode\"와 연결된 " +"Fontbuffers가 'archive'에 추가됩니다. 함수는 자동으로 최대 4개의 글꼴 변형을 찾습니다. 모든 pymupdf-" +"fonts(수학이나 음악 등 특수 목적이 아닌 것)는 일반, 굵게, 기울임꼴 및 굵은 기울임꼴 변형을 가지고 있습니다. 현재 사용 " +"가능한 글꼴 코드를 확인하려면 `pymupdf.fitz_fontdescriptors.keys()` 를 확인하세요. 이것은 " +"`dict_keys(['cascadia', 'cascadiai', 'cascadiab', 'cascadiabi', 'figbo', " +"'figo', 'figbi', 'figit', 'fimbo', 'fimo', 'spacembo', 'spacembi', " +"'spacemit', 'spacemo', 'math', 'music', 'symbol1', 'symbol2', 'notosbo', " +"'notosbi', 'notosit', 'notos', 'ubuntu', 'ubuntubo', 'ubuntubi', " +"'ubuntuit', 'ubuntm', 'ubuntmbo', 'ubuntmbi', 'ubuntmit'])` 와 같은 것을 " +"보여줍니다." + +#: ../../functions.rst:257 3526f7b9559347458786dc7c33a512d5 +msgid "" +"Here is a complete snippet for using the \"Noto Sans\" font instead of " +"\"Helvetica\"::" +msgstr "\"Helvetica\" 대신 \"Noto Sans\" 글꼴을 사용하는 완전한 코드 조각입니다::" + +#: ../../functions.rst:272 48272a37d69845059cb56a9a1f7d309d +msgid "" +"Convenience function to split a rectangle into sub-rectangles of equal " +"size. Returns a list of `rows` lists, each containing `cols` :ref:`Rect` " +"items. Each sub-rectangle can then be addressed by its row and column " +"index." +msgstr "" +"사각형을 동일한 크기의 하위 사각형으로 분할하는 편의 함수. `rows` 리스트의 리스트를 반환하며, 각 리스트는 `cols` 개의" +" :ref:`Rect` 항목을 포함합니다. 각 하위 사각형은 행 및 열 인덱스로 주소를 지정할 수 있습니다." + +#: ../../functions.rst:274 5536e164169a48f4bdd4363a4f4836d1 +msgid "the rectangle to split." +msgstr "분할할 사각형." + +#: ../../functions.rst:275 5f0d1ca61442423c8f9a62f957ac7d34 +msgid "the desired number of columns." +msgstr "원하는 열 수." + +#: ../../functions.rst:276 ee278d86b78145a58993d0a15b118289 +msgid "the desired number of rows." +msgstr "원하는 행 수." + +#: ../../functions.rst:277 06fb832e511d432a92019b0b3e60d399 +msgid "" +"a list of :ref:`Rect` objects of equal size, whose union equals *rect*. " +"Here is the layout of a 3x4 table created by `cell = " +"pymupdf.make_table(rect, cols=4, rows=3)`:" +msgstr "" +"동일한 크기의 :ref:`Rect` 객체 리스트. 이들의 합집합은 *rect* 와 같습니다. `cell = " +"pymupdf.make_table(rect, cols=4, rows=3)` 로 생성된 3x4 테이블의 레이아웃은 다음과 같습니다:" + +#: ../../functions.rst:287 8bba6d4c49f7447da9e1223dd3e1e7d7 +msgid "New in version 1.16.2)*" +msgstr "*버전 1.16.2의 새로운 기능*" + +#: ../../functions.rst:289 2442a2770c3c4ff4af3b3eb24a2a6f1c +msgid "" +"Return a matrix which maps the line from p1 to p2 to the x-axis such that" +" p1 will become (0,0) and p2 a point with the same distance to (0,0)." +msgstr "" +"p1에서 p2로의 선을 x축에 매핑하는 행렬을 반환합니다. p1은 (0,0)이 되고 p2는 (0,0)까지의 동일한 거리를 가진 점이" +" 됩니다." + +#: ../../functions.rst:291 ea959e9b36794857b92ea27d46682d48 +msgid "starting point of the line." +msgstr "선의 시작점." + +#: ../../functions.rst:292 9e2c74d180cb496b89b4fed901585712 +msgid "end point of the line." +msgstr "선의 끝점." + +#: ../../functions.rst:294 82cd715a4eaa45dca15ea53c40895156 +msgid ":ref:`Matrix`" +msgstr ":ref:`Matrix`" + +#: ../../functions.rst:295 b686e23a96744387bcbaa202c667de89 +msgid "" +"a matrix which combines a rotation and a translation:: >>> p1 = " +"pymupdf.Point(1, 1) >>> p2 = pymupdf.Point(4, 5) >>> abs(p2 - p1) " +"# distance of points 5.0 >>> m = pymupdf.planish_line(p1, p2) " +">>> p1 * m Point(0.0, 0.0) >>> p2 * m Point(5.0, " +"-5.960464477539063e-08) >>> # distance of the resulting points >>> " +"abs(p2 * m - p1 * m) 5.0 .. image:: images/img-planish.png " +":scale: 40" +msgstr "" + +#: ../../functions.rst:295 80b98e912fd147ed91827592eef3d5ad +msgid "a matrix which combines a rotation and a translation::" +msgstr "회전과 이동을 결합한 행렬::" + +#: ../../functions.rst:319 b8be325123d8488bb925de622de9d53c +msgid "" +"A dictionary of pre-defines paper formats. Used as basis for " +":meth:`paper_size`." +msgstr "사전 정의된 용지 형식의 딕셔너리. :meth:`paper_size` 의 기반으로 사용됩니다." + +#: ../../functions.rst:325 406401efed724a1887a2096b373b32b3 +msgid "New in v1.17.5" +msgstr "*v1.17.5의 새로운 기능*" + +#: ../../functions.rst:327 7a0262b74b314f1fa78cc0f0f957e5b5 +msgid "" +"A dictionary of usable fonts from repository `pymupdf-fonts " +"`_. Items are keyed by their " +"reserved fontname and provide information like this::" +msgstr "" +"저장소 `pymupdf-fonts `_ 에서 사용 가능한 " +"글꼴의 딕셔너리. 항목은 예약된 글꼴 이름으로 키가 지정되며 다음과 같은 정보를 제공합니다::" + +#: ../../functions.rst:343 9187429ec1b74d7ca17a69875896bb76 +msgid "If `pymupdf-fonts` is not installed, the dictionary is empty." +msgstr "`pymupdf-fonts` 가 설치되지 않은 경우 딕셔너리는 비어 있습니다." + +#: ../../functions.rst:345 201981860f614a1da8206b560d991027 +msgid "" +"The dictionary keys can be used to define a :ref:`Font` via e.g. `font = " +"pymupdf.Font(\"fimo\")` -- just like you can do it with the builtin fonts" +" \"Helvetica\" and friends." +msgstr "" +"딕셔너리 키는 예를 들어 `font = pymupdf.Font(\"fimo\")` 를 통해 :ref:`Font` 를 정의하는 데 " +"사용할 수 있습니다 -- 내장 글꼴 \"Helvetica\" 등과 동일하게 사용할 수 있습니다." + +#: ../../functions.rst:351 96bc790c2f3c41eab4eb03e2bbb91044 +msgid "" +"If in `os.environ` when |PyMuPDF| is imported, sets destination of " +"|PyMuPDF| messages. Otherwise messages are sent to `sys.stdout`." +msgstr "" +"|PyMuPDF| 가 가져올 때 `os.environ` 에 있으면 |PyMuPDF| 메시지의 대상을 설정합니다. 그렇지 않으면 " +"메시지는 `sys.stdout` 으로 전송됩니다." + +#: ../../functions.rst:355 d3a34a5171b84ddc975fd680a2c1d896 +msgid "" +"If the value starts with `fd:`, the remaining text should be an integer " +"file descriptor to which messages are written." +msgstr "값이 `fd:` 로 시작하면 나머지 텍스트는 메시지가 기록되는 정수 파일 디스크립터여야 합니다." + +#: ../../functions.rst:358 26b2a3b05c144932bd212022dc818718 +msgid "For example `PYMUPDF_MESSAGE=fd:2` will send messages to stderr." +msgstr "예를 들어 `PYMUPDF_MESSAGE=fd:2` 는 메시지를 stderr로 보냅니다." + +#: ../../functions.rst:360 a9af399eca6b4eafacdee7e4514b60ca +msgid "" +"If the value starts with `path:`, the remaining text is the path of a " +"file to which messages are written. If the file already exists, it is " +"truncated." +msgstr "값이 `path:` 로 시작하면 나머지 텍스트는 메시지가 기록되는 파일의 경로입니다. 파일이 이미 존재하면 잘립니다." + +#: ../../functions.rst:364 0d31927b8e434b3680bbc7e7a528b8ba +msgid "" +"If the value starts with `path+:`, the remaining text is the path of file" +" to which messages are written. If the file already exists, we append " +"output." +msgstr "값이 `path+:` 로 시작하면 나머지 텍스트는 메시지가 기록되는 파일의 경로입니다. 파일이 이미 존재하면 출력을 추가합니다." + +#: ../../functions.rst:369 367ef9d38b324a2e92535daa15463fd4 +msgid "" +"If the value starts with `logging:`, messages are written to `Python's " +"logging system `_. The " +"remaining text can contain comma-separated name=value items:" +msgstr "" +"값이 `logging:` 로 시작하면 메시지는 `Python의 로깅 시스템 " +"`_ 에 기록됩니다. 나머지 텍스트는 쉼표로 " +"구분된 name=value 항목을 포함할 수 있습니다:" + +#: ../../functions.rst:373 727cdb80e0e9424b82a78c9fcf4131ea +msgid "`level=` sets the logging level." +msgstr "`level=` 는 로깅 레벨을 설정합니다." + +#: ../../functions.rst:374 cbd781fbde1b482097f102a847dc8399 +msgid "`name=` sets the logger name (default is `pymupdf`)." +msgstr "`name=` 는 로거 이름을 설정합니다(기본값은 `pymupdf`)." + +#: ../../functions.rst:376 4f25318185b745a7af1b120f78e29eb8 +msgid "Other items are ignored." +msgstr "다른 항목은 무시됩니다." + +#: ../../functions.rst:378 df67601c54d341f5bd7a2d06718b136b +msgid "Other prefixes will cause an error." +msgstr "다른 접두사는 오류를 발생시킵니다." + +#: ../../functions.rst:380 d06c09c69e114e30aa122b24d91ad8c4 +msgid "Also see `set_messages()`." +msgstr "`set_messages()` 도 참조하세요." + +#: ../../functions.rst:387 834d76807609499695b186421da0488e +msgid "New in v1.19.6" +msgstr "*v1.19.6의 새로운 기능*" + +#: ../../functions.rst:389 f0b470d4413e4923a64200e0e1451914 +msgid "" +"Contains about 500 RGB colors in PDF format with the color name as key. " +"To see what is there, you can obviously look at " +"`pymupdf.pdfcolor.keys()`." +msgstr "" +"색상 이름을 키로 하는 PDF 형식의 약 500개의 RGB 색상을 포함합니다. 내용을 확인하려면 " +"`pymupdf.pdfcolor.keys()` 를 확인할 수 있습니다." + +#: ../../functions.rst:391 c5aa4f5a3e6541f99de68bb1b49ffc9c +msgid "Examples:" +msgstr "예제:" + +#: ../../functions.rst:393 6198f065e39e4bdf98f3451ff9481bd5 +msgid "`pymupdf.pdfcolor[\"red\"] = (1.0, 0.0, 0.0)`" +msgstr "`pymupdf.pdfcolor[\"red\"] = (1.0, 0.0, 0.0)`" + +#: ../../functions.rst:394 46ae89359e384ceeb868dd2014c8c5a1 +msgid "" +"`pymupdf.pdfcolor[\"skyblue\"] = (0.5294117647058824, 0.807843137254902, " +"0.9215686274509803)`" +msgstr "" +"`pymupdf.pdfcolor[\"skyblue\"] = (0.5294117647058824, 0.807843137254902, " +"0.9215686274509803)`" + +#: ../../functions.rst:395 4fba859674ef468190d4d2fa416c1319 +msgid "" +"`pymupdf.pdfcolor[\"wheat\"] = (0.9607843137254902, 0.8705882352941177, " +"0.7019607843137254)`" +msgstr "" +"`pymupdf.pdfcolor[\"wheat\"] = (0.9607843137254902, 0.8705882352941177, " +"0.7019607843137254)`" + +#: ../../functions.rst:401 9772c54652e641db860a29f83e7fbe2d +msgid "" +"Convenience function to return the current local timestamp in PDF " +"compatible format, e.g. *D:20170501121525-04'00'* for local datetime May " +"1, 2017, 12:15:25 in a timezone 4 hours westward of the UTC meridian." +msgstr "" +"현재 로컬 타임스탬프를 PDF 호환 형식으로 반환하는 편의 함수. 예: UTC 자오선에서 서쪽으로 4시간 떨어진 시간대의 2017년" +" 5월 1일 12:15:25 로컬 날짜/시간에 대한 *D:20170501121525-04'00'*." + +#: ../../functions.rst:404 5d740fbd9b1d47ff9ed232843a7ff7b5 +msgid "current local PDF timestamp." +msgstr "현재 로컬 PDF 타임스탬프." + +#: ../../functions.rst:410 0e8f792a9cd24c8bb5ee20240c898e8a +msgid "New in version 1.14.7" +msgstr "*버전 1.14.7의 새로운 기능*" + +#: ../../functions.rst:412 0a47fb8a49c04869ba92bff096b077ba +msgid "" +"Calculate the length of text on output with a given **builtin** font, " +":data:`fontsize` and encoding." +msgstr "주어진 **내장** 글꼴, :data:`fontsize` 및 인코딩으로 출력 시 텍스트 길이를 계산합니다." + +#: ../../functions.rst:414 fdc381a3ed7e4fe1aabff23f87dfa215 +msgid "the text string." +msgstr "텍스트 문자열." + +#: ../../functions.rst:415 ec72804a2b8d4774987c66c5a1e9040c +msgid "" +"the font name. Must be one of either the :ref:`Base-14-Fonts` or the CJK " +"fonts, identified by their \"reserved\" fontnames (see table in " +":meth:`Page.insert_font`)." +msgstr "" +"글꼴 이름. :ref:`Base-14-Fonts` 또는 \"예약된\" 글꼴 이름으로 식별되는 CJK 글꼴 중 하나여야 " +"합니다(:meth:`Page.insert_font` 의 표 참조)." + +#: ../../functions.rst:416 8bd3348d8d3442778d7f1dae48bc7156 +msgid "the :data:`fontsize`." +msgstr ":data:`fontsize`." + +#: ../../functions.rst:417 ca5639a68e354aea8a51fc71a8a482e6 +msgid "" +"the encoding to use. Besides 0 = Latin, 1 = Greek and 2 = Cyrillic " +"(Russian) are available. Relevant for Base-14 fonts \"Helvetica\", " +"\"Courier\" and \"Times\" and their variants only. Make sure to use the " +"same value as in the corresponding text insertion." +msgstr "" +"사용할 인코딩. 0 = Latin 외에 1 = Greek 및 2 = Cyrillic(러시아어)을 사용할 수 있습니다. Base-14" +" 글꼴 \"Helvetica\", \"Courier\" 및 \"Times\"와 그 변형에만 관련됩니다. 해당 텍스트 삽입에서와 " +"동일한 값을 사용해야 합니다." + +#: ../../functions.rst:419 acc35bea49374d9b96b4a881331de8c3 +msgid "" +"the length in points the string will have (e.g. when used in " +":meth:`Page.insert_text`)." +msgstr "문자열이 가질 포인트 단위의 길이(예: :meth:`Page.insert_text` 에서 사용할 때)." + +#: ../../functions.rst:421 3dd546e78759471eb2f4224830083feb +msgid "" +"This function will only do the calculation -- it won't insert font nor " +"text." +msgstr "이 함수는 계산만 수행합니다 -- 글꼴이나 텍스트를 삽입하지 않습니다." + +#: ../../functions.rst:423 a55852432419412b8ce47fa7e5754945 +msgid "" +"The :ref:`Font` class offers a similar method, :meth:`Font.text_length`, " +"which supports Base-14 fonts and any font with a character map (CMap, " +"Type 0 fonts)." +msgstr "" +":ref:`Font` 클래스는 유사한 메서드 :meth:`Font.text_length` 를 제공하며, Base-14 글꼴과 문자 " +"맵(CMap, Type 0 글꼴)이 있는 모든 글꼴을 지원합니다." + +#: ../../functions.rst:425 244877b50d8d4d8daf1796a23b9b76bc +msgid "" +"If you use this function to determine the required rectangle width for " +"the (:ref:`Page` or :ref:`Shape`) *insert_textbox* methods, be aware that" +" they calculate on a **by-character level**. Because of rounding effects," +" this will mostly lead to a slightly larger number: " +"*sum([pymupdf.get_text_length(c) for c in text]) > " +"pymupdf.get_text_length(text)*. So either (1) do the same, or (2) use " +"something like *pymupdf.get_text_length(text + \"'\")* for your " +"calculation." +msgstr "" +"이 함수를 사용하여 (:ref:`Page` 또는 :ref:`Shape`) *insert_textbox* 메서드에 필요한 사각형 " +"너비를 결정하는 경우, 이들은 **문자 단위** 로 계산한다는 점에 유의하세요. 반올림 효과로 인해 대부분 약간 더 큰 숫자가 " +"됩니다: *sum([pymupdf.get_text_length(c) for c in text]) > " +"pymupdf.get_text_length(text)*. 따라서 (1) 동일하게 수행하거나 (2) 계산에 " +"*pymupdf.get_text_length(text + \"'\")* 와 같은 것을 사용하세요." + +#: ../../functions.rst:431 27bb3947e15d491f9ae1a90557ac93c6 +msgid "" +"Make a PDF-compatible string: if the text contains code points *ord(c) > " +"255*, then it will be converted to UTF-16BE with BOM as a hexadecimal " +"character string enclosed in \"<>\" brackets like **. Otherwise," +" it will return the string enclosed in (round) brackets, replacing any " +"characters outside the ASCII range with some special code. Also, every " +"\"(\", \")\" or backslash is escaped with a backslash." +msgstr "" +"PDF 호환 문자열 생성: 텍스트에 코드 포인트 *ord(c) > 255* 가 포함되어 있으면 BOM이 있는 UTF-16BE로 " +"변환되어 ** 와 같이 \"<>\" 괄호로 둘러싸인 16진수 문자 문자열이 됩니다. 그렇지 않으면 (둥근) 괄호로 " +"둘러싸인 문자열을 반환하며, ASCII 범위 밖의 모든 문자를 특수 코드로 대체합니다. 또한 모든 \"(\", \")\" 또는 " +"백슬래시는 백슬래시로 이스케이프됩니다." + +#: ../../functions.rst:433 b4ad5c5ee1984abb8dd55c5b805e766b +msgid "the object to convert" +msgstr "변환할 객체" + +#: ../../functions.rst:436 fe9be159fa444a69823866ee3a644680 +msgid "PDF-compatible string enclosed in either *()* or *<>*." +msgstr "*()* 또는 *<>* 로 둘러싸인 PDF 호환 문자열." + +#: ../../functions.rst:442 d31809b727e34900979c3b181d3eaad1 +msgid "New in v1.16.7" +msgstr "*v1.16.7의 새로운 기능*" + +#: ../../functions.rst:443 d24cd05f8ec8403d9c6de79d9ab0d3dd +msgid "" +"Changed in v1.19.5: also return natural image orientation extracted from " +"EXIF data if present." +msgstr "v1.19.5에서 변경됨: EXIF 데이터가 있으면 추출된 자연 이미지 방향도 반환합니다." + +#: ../../functions.rst:444 9c4baadc4f9146b19f4058938d9378d0 +msgid "" +"Changed in v1.22.5: always return `None` in error cases instead of an " +"empty dictionary." +msgstr "v1.22.5에서 변경됨: 오류 경우 빈 딕셔너리 대신 항상 `None` 을 반환합니다." + +#: ../../functions.rst:446 a4aa625db89144ea89c9a3f2dbf7ffab +msgid "" +"Show important properties of an image provided as a memory area. Its main" +" purpose is to avoid using other Python packages just to determine them." +msgstr "" +"메모리 영역으로 제공된 이미지의 중요한 속성을 표시합니다. 주요 목적은 이를 결정하기 위해 다른 Python 패키지를 사용하는 것을" +" 피하는 것입니다." + +#: ../../functions.rst:448 bd286756e9cf47ccb4c584863393000b +msgid "" +"either an image in memory or an **opened** file. An image in memory may " +"be any of the formats `bytes`, `bytearray` or `io.BytesIO`." +msgstr "" +"메모리의 이미지 또는 **열린** 파일. 메모리의 이미지는 `bytes`, `bytearray` 또는 `io.BytesIO` 형식 " +"중 하나일 수 있습니다." + +#: ../../functions.rst:451 ae650862b48c4011b850d0daa225794c +#, python-brace-format +msgid "" +"No exception is ever raised. In case of an error, `None` is returned. " +"Otherwise, there are the following items:: In [2]: " +"pymupdf.image_profile(open(\"nur-ruhig.jpg\", \"rb\").read()) Out[2]:" +" {'width': 439, 'height': 501, 'orientation': 0, # natural " +"orientation (from EXIF) 'transform': (1.0, 0.0, 0.0, 1.0, 0.0, 0.0), " +"# orientation matrix 'xres': 96, 'yres': 96, 'colorspace': 3," +" 'bpc': 8, 'ext': 'jpeg', 'cs-name': 'DeviceRGB'} There is the " +"following relation to **Exif** information encoded in `orientation`, and " +"correspondingly in the `transform` matrix-like (quoted from MuPDF " +"documentation, *ccw* = counter-clockwise): 0. Undefined 1. 0 " +"degree ccw rotation. (Exif = 1) 2. 90 degree ccw rotation. (Exif = 8)" +" 3. 180 degree ccw rotation. (Exif = 3) 4. 270 degree ccw rotation." +" (Exif = 6) 5. flip on X. (Exif = 2) 6. flip on X, then rotate ccw " +"by 90 degrees. (Exif = 5) 7. flip on X, then rotate ccw by 180 " +"degrees. (Exif = 4) 8. flip on X, then rotate ccw by 270 degrees. " +"(Exif = 7) .. note:: * For some \"exotic\" images (FAX encodings, " +"RAW formats and the like), this method will not work. You can however " +"still work with such images in PyMuPDF, e.g. by using " +":meth:`Document.extract_image` or create pixmaps via `Pixmap(doc, xref)`." +" These methods will automatically convert exotic images to the PNG format" +" before returning results. * You can also get the properties of images" +" embedded in a PDF, via their :data:`xref`. In this case make sure to " +"extract the raw stream: " +"`pymupdf.image_profile(doc.xref_stream_raw(xref))`. * Images as " +"returned by the image blocks of :meth:`Page.get_text` using \"dict\" or " +"\"rawdict\" options are also supported." +msgstr "" + +#: ../../functions.rst:452 f365046aab6a422ab4ee8b73d543f9cd +msgid "" +"No exception is ever raised. In case of an error, `None` is returned. " +"Otherwise, there are the following items::" +msgstr "예외는 발생하지 않습니다. 오류가 발생하면 `None` 이 반환됩니다. 그렇지 않으면 다음 항목이 있습니다::" + +#: ../../functions.rst:467 0a3c370635a74f479d534ebf96ff9900 +msgid "" +"There is the following relation to **Exif** information encoded in " +"`orientation`, and correspondingly in the `transform` matrix-like (quoted" +" from MuPDF documentation, *ccw* = counter-clockwise):" +msgstr "" +"`orientation` 에 인코딩된 **Exif** 정보 및 이에 해당하는 `transform` 행렬과의 관계는 다음과 " +"같습니다(MuPDF 문서에서 인용, *ccw* = 반시계 방향):" + +#: ../../functions.rst:469 d75fb78e754140279e17dde7e31c4e01 +msgid "Undefined" +msgstr "정의되지 않음" + +#: ../../functions.rst:470 b480ec9529c54f6f9e09c19692e33f54 +msgid "0 degree ccw rotation. (Exif = 1)" +msgstr "0도 반시계 방향 회전. (Exif = 1)" + +#: ../../functions.rst:471 25587535c5224fac9824b413e690ff06 +msgid "90 degree ccw rotation. (Exif = 8)" +msgstr "90도 반시계 방향 회전. (Exif = 8)" + +#: ../../functions.rst:472 f6cf386d1e9e450b8d71f709dcf0eb6f +msgid "180 degree ccw rotation. (Exif = 3)" +msgstr "180도 반시계 방향 회전. (Exif = 3)" + +#: ../../functions.rst:473 139d003f85c4423c9cbb2eccc8f4c541 +msgid "270 degree ccw rotation. (Exif = 6)" +msgstr "270도 반시계 방향 회전. (Exif = 6)" + +#: ../../functions.rst:474 dc1ea011d6f74d078d9e198ba656d4d0 +msgid "flip on X. (Exif = 2)" +msgstr "X축으로 뒤집기. (Exif = 2)" + +#: ../../functions.rst:475 2d185d52566946e2870d9cb80628b63f +msgid "flip on X, then rotate ccw by 90 degrees. (Exif = 5)" +msgstr "X축으로 뒤집은 후 90도 반시계 방향 회전. (Exif = 5)" + +#: ../../functions.rst:476 33f9468536364528a46aab5370439e20 +msgid "flip on X, then rotate ccw by 180 degrees. (Exif = 4)" +msgstr "X축으로 뒤집은 후 180도 반시계 방향 회전. (Exif = 4)" + +#: ../../functions.rst:477 424b2838db7f419694385fa5eff04abc +msgid "flip on X, then rotate ccw by 270 degrees. (Exif = 7)" +msgstr "X축으로 뒤집은 후 270도 반시계 방향 회전. (Exif = 7)" + +#: ../../functions.rst:482 5e9805b4707e468198b7d77d011a26fd +msgid "" +"For some \"exotic\" images (FAX encodings, RAW formats and the like), " +"this method will not work. You can however still work with such images in" +" PyMuPDF, e.g. by using :meth:`Document.extract_image` or create pixmaps " +"via `Pixmap(doc, xref)`. These methods will automatically convert exotic " +"images to the PNG format before returning results." +msgstr "" +"일부 \"특수\" 이미지(FAX 인코딩, RAW 형식 등)의 경우 이 메서드는 작동하지 않습니다. 그러나 PyMuPDF에서 " +":meth:`Document.extract_image` 를 사용하거나 `Pixmap(doc, xref)` 를 통해 픽스맵을 생성하는" +" 등으로 이러한 이미지를 계속 작업할 수 있습니다. 이러한 메서드는 결과를 반환하기 전에 특수 이미지를 자동으로 PNG 형식으로 " +"변환합니다." + +#: ../../functions.rst:483 39ee6e4ff50f4fc1bc0a90cf4b141a03 +msgid "" +"You can also get the properties of images embedded in a PDF, via their " +":data:`xref`. In this case make sure to extract the raw stream: " +"`pymupdf.image_profile(doc.xref_stream_raw(xref))`." +msgstr "" +"PDF에 포함된 이미지의 속성은 :data:`xref` 를 통해 가져올 수도 있습니다. 이 경우 원시 스트림을 추출해야 합니다: " +"`pymupdf.image_profile(doc.xref_stream_raw(xref))`." + +#: ../../functions.rst:484 5d7229a1558045eab12f2a4a6c855d76 +msgid "" +"Images as returned by the image blocks of :meth:`Page.get_text` using " +"\"dict\" or \"rawdict\" options are also supported." +msgstr "" +"\"dict\" 또는 \"rawdict\" 옵션을 사용하는 :meth:`Page.get_text` 의 이미지 블록으로 반환된 " +"이미지도 지원됩니다." + +#: ../../functions.rst:491 4c052d2131a14058938b56d3418e131d +msgid "" +"Return the header string required to make a valid document out of page " +"text outputs." +msgstr "페이지 텍스트 출력으로 유효한 문서를 만들기 위해 필요한 헤더 문자열을 반환합니다." + +#: ../../functions.rst:493 ../../functions.rst:505 +#: 12aff9588a3141ceb5a3d8365a3228bf e15e0919c03e4689962a3d7f0cbfd1f1 +msgid "type of document. Use the same as the output parameter of *get_text()*." +msgstr "문서 타입. *get_text()* 의 출력 매개변수와 동일하게 사용하세요." + +#: ../../functions.rst:495 451d5274d5404d8795385325e59833bb +msgid "optional arbitrary name to use in output types \"json\" and \"xml\"." +msgstr "출력 타입 \"json\" 및 \"xml\"에서 사용할 선택적 임의 이름." + +#: ../../functions.rst:503 89b80fb501af4a16b7a9476a55a22270 +msgid "" +"Return the trailer string required to make a valid document out of page " +"text outputs. See :meth:`Page.get_text` for an example." +msgstr "" +"페이지 텍스트 출력으로 유효한 문서를 만들기 위해 필요한 트레일러 문자열을 반환합니다. 예제는 " +":meth:`Page.get_text` 를 참조하세요." + +#: ../../functions.rst:513 74049436f1104036ae9fea6fab3f8454 +msgid "" +"Delete an object containing XML-based metadata from the PDF. (Py-) MuPDF " +"does not support XML-based metadata. Use this if you want to make sure " +"that the conventional metadata dictionary will be used exclusively. Many " +"thirdparty PDF programs insert their own metadata in XML format and thus " +"may override what you store in the conventional dictionary. This method " +"deletes any such reference, and the corresponding PDF object will be " +"deleted during next garbage collection of the file." +msgstr "" +"PDF에서 XML 기반 메타데이터를 포함하는 객체를 삭제합니다. (Py-) MuPDF는 XML 기반 메타데이터를 지원하지 않습니다." +" 기존 메타데이터 딕셔너리가 독점적으로 사용되도록 하려면 이것을 사용하세요. 많은 타사 PDF 프로그램이 자체 메타데이터를 XML " +"형식으로 삽입하므로 기존 딕셔너리에 저장한 내용을 덮어쓸 수 있습니다. 이 메서드는 이러한 참조를 삭제하며, 해당 PDF 객체는 " +"다음 파일 가비지 수집 중에 삭제됩니다." + +#: ../../functions.rst:519 5db2a02465744688ab3e7c8aa58850d4 +msgid "" +"Return the XML-based metadata :data:`xref` of the PDF if present -- also " +"refer to :meth:`Document.del_xml_metadata`. You can use it to retrieve " +"the content via :meth:`Document.xref_stream` and then work with it using " +"some XML software." +msgstr "" +"PDF의 XML 기반 메타데이터 :data:`xref` 가 있으면 반환합니다 -- " +":meth:`Document.del_xml_metadata` 도 참조하세요. :meth:`Document.xref_stream` 을" +" 통해 콘텐츠를 검색한 다음 일부 XML 소프트웨어를 사용하여 작업할 수 있습니다." + +#: ../../functions.rst:522 8fbcc03c4196406eacf3af64dba64c1d +msgid ":data:`xref` of PDF file level XML metadata -- or 0 if none exists." +msgstr "PDF 파일 레벨 XML 메타데이터의 :data:`xref` -- 없으면 0." + +#: ../../functions.rst:528 6b8b6c79577e42c1a405e89e84d55806 +msgid "Run a page through a device." +msgstr "디바이스를 통해 페이지 실행." + +#: ../../functions.rst:530 79f4006550f34f108fbceb98de33b368 +msgid "Device, obtained from one of the :ref:`Device` constructors." +msgstr "디바이스, :ref:`Device` 생성자 중 하나에서 얻음." + +#: ../../functions.rst:533 c3fd75078a914ad5a5569e5547dd1af9 +msgid "" +"Transformation to apply to the page. Set it to :ref:`Identity` if no " +"transformation is desired." +msgstr "페이지에 적용할 변환. 변환이 필요 없으면 :ref:`Identity` 로 설정하세요." + +#: ../../functions.rst:540 3a6b7151b4a6425ab6f57671e6361a36 +msgid "New in v1.19.0" +msgstr "*v1.19.0의 새로운 기능*" + +#: ../../functions.rst:541 630cdd26bd544107b791cfb24730326a +msgid "" +"Changed in v1.22.0: optionally also return the OCG name applicable to the" +" boundary box." +msgstr "v1.22.0에서 변경됨: 선택적으로 경계 상자에 적용 가능한 OCG 이름도 반환합니다." + +#: ../../functions.rst:543 d9826653f5074292942cba6ac72b5123 +msgid "" +"a list of rectangles that envelop text, image or drawing objects. Each " +"item is a tuple `(type, (x0, y0, x1, y1))` where the second tuple " +"consists of rectangle coordinates, and *type* is one of the following " +"values. If `layers=True`, there is a third item containing the OCG name " +"or `None`: `(type, (x0, y0, x1, y1), None)`. * `\"fill-text\"` -- normal" +" text (painted without character borders) * `\"stroke-text\"` -- text " +"showing character borders only * `\"ignore-text\"` -- text that should " +"not be displayed (e.g. as used by OCR text layers) * `\"fill-path\"` -- " +"drawing with fill color (and no border) * `\"stroke-path\"` -- drawing " +"with border (and no fill color) * `\"fill-image\"` -- displays an image *" +" `\"fill-shade\"` -- display a shading The item sequence represents the " +"**sequence in which these commands are executed** to build the page's " +"appearance. Therefore, if an item's bbox intersects or contains that of a" +" previous item, then the previous item may be (partially) covered / " +"hidden. So this list can be used to detect such situations. An item's " +"index in this list equals the value of a `\"seqno\"` in dictionaries as " +"returned by :meth:`Page.get_drawings` and :meth:`Page.get_texttrace`." +msgstr "" + +#: ../../functions.rst:543 cea75236177747a387f9c237fd0cbcdd +msgid "" +"a list of rectangles that envelop text, image or drawing objects. Each " +"item is a tuple `(type, (x0, y0, x1, y1))` where the second tuple " +"consists of rectangle coordinates, and *type* is one of the following " +"values. If `layers=True`, there is a third item containing the OCG name " +"or `None`: `(type, (x0, y0, x1, y1), None)`." +msgstr "" +"텍스트, 이미지 또는 그리기 객체를 둘러싸는 사각형 목록. 각 항목은 `(type, (x0, y0, x1, y1))` 튜플이며, 두" +" 번째 튜플은 사각형 좌표로 구성되고 *type* 은 다음 값 중 하나입니다. `layers=True` 인 경우 OCG 이름 또는 " +"`None` 을 포함하는 세 번째 항목이 있습니다: `(type, (x0, y0, x1, y1), None)`." + +#: ../../functions.rst:545 bd57ae852199441396045da3900fa159 +msgid "`\"fill-text\"` -- normal text (painted without character borders)" +msgstr "`\"fill-text\"` -- 일반 텍스트(문자 경계 없이 그려짐)" + +#: ../../functions.rst:546 73652bbb988548bf9aecacbdf1d31641 +msgid "`\"stroke-text\"` -- text showing character borders only" +msgstr "`\"stroke-text\"` -- 문자 경계만 표시하는 텍스트" + +#: ../../functions.rst:547 4d516464739349f3a0019a924497c287 +msgid "" +"`\"ignore-text\"` -- text that should not be displayed (e.g. as used by " +"OCR text layers)" +msgstr "`\"ignore-text\"` -- 표시되지 않아야 하는 텍스트(예: OCR 텍스트 레이어에서 사용)" + +#: ../../functions.rst:548 3be92a4cabce42a19d1018efd7b77e1a +msgid "`\"fill-path\"` -- drawing with fill color (and no border)" +msgstr "`\"fill-path\"` -- 채우기 색상으로 그리기(경계 없음)" + +#: ../../functions.rst:549 5d82465ff84b4562a2c5ecc802effabd +msgid "`\"stroke-path\"` -- drawing with border (and no fill color)" +msgstr "`\"stroke-path\"` -- 경계로 그리기(채우기 색상 없음)" + +#: ../../functions.rst:550 af1203ba9d33446facef8a91f01f7559 +msgid "`\"fill-image\"` -- displays an image" +msgstr "`\"fill-image\"` -- 이미지 표시" + +#: ../../functions.rst:551 650de20fff594c48b1df187a0852978d +msgid "`\"fill-shade\"` -- display a shading" +msgstr "`\"fill-shade\"` -- 음영 표시" + +#: ../../functions.rst:553 ef60b6dd48c44a5b8181df41a22356a2 +msgid "" +"The item sequence represents the **sequence in which these commands are " +"executed** to build the page's appearance. Therefore, if an item's bbox " +"intersects or contains that of a previous item, then the previous item " +"may be (partially) covered / hidden." +msgstr "" +"항목 시퀀스는 페이지의 모양을 구축하기 위해 **이러한 명령이 실행되는 순서** 를 나타냅니다. 따라서 항목의 bbox가 이전 " +"항목과 교차하거나 포함하는 경우 이전 항목이 (부분적으로) 덮이거나 숨겨질 수 있습니다." + +#: ../../functions.rst:556 fa7f832dc453447d83d333bd0edaa9aa +msgid "" +"So this list can be used to detect such situations. An item's index in " +"this list equals the value of a `\"seqno\"` in dictionaries as returned " +"by :meth:`Page.get_drawings` and :meth:`Page.get_texttrace`." +msgstr "" +"따라서 이 목록을 사용하여 이러한 상황을 감지할 수 있습니다. 이 목록의 항목 인덱스는 " +":meth:`Page.get_drawings` 및 :meth:`Page.get_texttrace` 에서 반환된 딕셔너리의 " +"`\"seqno\"` 값과 같습니다." + +#: ../../functions.rst:563 e6e86279727b44108e80bd887f5dec4b +msgid "New in v1.18.16" +msgstr "*v1.18.16의 새로운 기능*" + +#: ../../functions.rst:564 4a8a69681c1f4dd58e655d55319a42bd +msgid "Changed in v1.19.0: added key \"seqno\"." +msgstr "v1.19.0에서 변경됨: 키 \"seqno\" 추가." + +#: ../../functions.rst:565 8ec88b876f364e48be39bb7321df5b78 +msgid "" +"Changed in v1.19.1: stroke and fill colors now always are either RGB or " +"GRAY" +msgstr "v1.19.1에서 변경됨: 스트로크 및 채우기 색상이 이제 항상 RGB 또는 GRAY입니다" + +#: ../../functions.rst:566 6262d51351704e3cb0b74e4a397e4d17 +msgid "" +"Changed in v1.19.3: span and character bboxes are now also correct if " +"`dir != (1, 0)`." +msgstr "v1.19.3에서 변경됨: `dir != (1, 0)` 인 경우에도 스팬 및 문자 bbox가 이제 올바릅니다." + +#: ../../functions.rst:567 7b239315a5da4ad49a8e0934405a7fd3 +msgid "Changed in v1.22.0: add new dictionary key \"layer\"." +msgstr "v1.22.0에서 변경됨: 새로운 딕셔너리 키 \"layer\" 추가." + +#: ../../functions.rst:570 834e9d9810714938bfbf774e17193982 +msgid "" +"Return low-level text information of the page. The method is available " +"for **all** document types. The result is a list of Python dictionaries " +"with the following content::" +msgstr "" +"페이지의 저수준 텍스트 정보를 반환합니다. 이 메서드는 **모든** 문서 타입에서 사용할 수 있습니다. 결과는 다음 내용을 가진 " +"Python 딕셔너리 목록입니다::" + +#: ../../functions.rst:606 8b58904760d74cf1b106164af7de1954 +msgid "Details:" +msgstr "세부사항:" + +#: ../../functions.rst:608 63e3f59519b34151ba92179d999fb9ee +msgid "" +"Information above tagged with \"(1)\" has the same meaning and value as " +"explained in :ref:`TextPage`." +msgstr "\"(1)\"로 태그된 위의 정보는 :ref:`TextPage` 에서 설명한 것과 동일한 의미와 값을 가집니다." + +#: ../../functions.rst:610 adef9c5a97be49e783885187ce3815e0 +msgid "" +"Please note that the font ``flags`` value will never contain a " +"*superscript* flag bit: the detection of superscripts is done within " +"MuPDF :ref:`TextPage` code -- it is not a property of any font." +msgstr "" +"글꼴 ``flags`` 값에는 *위첨자* 플래그 비트가 포함되지 않습니다: 위첨자 감지는 MuPDF :ref:`TextPage` " +"코드 내에서 수행됩니다 -- 이것은 어떤 글꼴의 속성도 아닙니다." + +#: ../../functions.rst:611 42e4ea3c18d54211b94b728f0c637564 +msgid "" +"Also note, that the text *color* is encoded as the usual tuple of floats " +"0 <= f <= 1 -- not in sRGB format. Depending on `span[\"type\"]`, " +"interpret this as fill color or stroke color." +msgstr "" +"텍스트 *color* 는 일반적인 float 튜플 0 <= f <= 1로 인코딩됩니다 -- sRGB 형식이 아닙니다. " +"`span[\"type\"]` 에 따라 이를 채우기 색상 또는 스트로크 색상으로 해석하세요." + +#: ../../functions.rst:613 c064211d745e47be945feb7030afbad2 +msgid "There are 3 text span types:" +msgstr "3가지 텍스트 스팬 타입이 있습니다:" + +#: ../../functions.rst:615 fbf31286bd4548fd975462e964233915 +msgid "" +"0: Filled text -- equivalent to PDF text rendering mode 0 (`0 Tr`, the " +"default in PDF), only each character's \"inside\" is shown." +msgstr "" +"0: 채워진 텍스트 -- PDF 텍스트 렌더링 모드 0(`0 Tr`, PDF의 기본값)과 동일하며, 각 문자의 \"내부\"만 " +"표시됩니다." + +#: ../../functions.rst:616 941b2c374d584068847e1546fdbdf66c +msgid "" +"1: Stroked text -- equivalent to `1 Tr`, only the character borders are " +"shown." +msgstr "1: 스트로크 텍스트 -- `1 Tr` 와 동일하며, 문자 경계만 표시됩니다." + +#: ../../functions.rst:617 d2fc5c83a61a4d4f8edd462b343a794f +msgid "3: Ignored text -- equivalent to `3 Tr` (hidden text)." +msgstr "3: 무시된 텍스트 -- `3 Tr` (숨겨진 텍스트)와 동일합니다." + +#: ../../functions.rst:619 82c0b57a08e74995b7bfc0b18220c635 +#, python-format +msgid "" +"Line width in this context is important only for processing " +"`span[\"type\"] != 0`: it determines the thickness of the character's " +"border line. This value may not be provided at all with the text data. In" +" this case, a value of 5% of the :data:`fontsize` (`span[\"size\"] * " +"0,05`) is generated. Often, an \"artificial\" bold text in PDF is created" +" by `2 Tr`. There is no equivalent span type for this case. Instead, " +"respective text is represented by two consecutive spans -- which are " +"identical in every aspect, except for their types, which are 0, resp 1. " +"It is your responsibility to handle this type of situation - in " +":meth:`Page.get_text`, MuPDF is doing this for you." +msgstr "" +"이 맥락에서 선 너비는 `span[\"type\"] != 0` 처리에만 중요합니다: 문자 경계선의 두께를 결정합니다. 이 값은 " +"텍스트 데이터와 함께 전혀 제공되지 않을 수 있습니다. 이 경우 :data:`fontsize` 의 5% " +"값(`span[\"size\"] * 0,05`)이 생성됩니다. 종종 PDF의 \"인위적인\" 굵은 텍스트는 `2 Tr` 로 " +"생성됩니다. 이 경우에 해당하는 스팬 타입은 없습니다. 대신 해당 텍스트는 두 개의 연속된 스팬으로 표현됩니다 -- 타입이 각각 " +"0과 1인 것을 제외하고 모든 면에서 동일합니다. 이러한 상황을 처리하는 것은 사용자의 책임입니다 - " +":meth:`Page.get_text` 에서는 MuPDF가 이를 수행합니다." + +#: ../../functions.rst:620 b0c07cf4d26348589ec94ed16a6c3372 +msgid "" +"For data compactness, the character's unicode is provided here. Use " +"built-in function `chr()` for the character itself." +msgstr "데이터 압축을 위해 여기에 문자의 유니코드가 제공됩니다. 문자 자체는 내장 함수 `chr()` 을 사용하세요." + +#: ../../functions.rst:621 3c60ceeb1f4f4171b04db58fdec4733e +msgid "" +"The alpha / opacity value of the span's text, `0 <= opacity <= 1`, 0 is " +"invisible text, 1 (100%) is intransparent. Depending on `span[\"type\"]`," +" interpret this value as *fill* opacity or, resp. *stroke* opacity." +msgstr "" +"스팬 텍스트의 알파/불투명도 값, `0 <= opacity <= 1`, 0은 보이지 않는 텍스트, 1(100%)은 불투명합니다. " +"`span[\"type\"]` 에 따라 이 값을 *fill* 불투명도 또는 *stroke* 불투명도로 해석하세요." + +#: ../../functions.rst:622 b237cc55d5244595a4d9e0f2faf43ec2 +msgid "" +"*(Changed in v1.19.0)* This value is equal or close to `char[\"bbox\"]` " +"of \"rawdict\". In particular, the bbox **height** value is always " +"computed as if **\"small glyph heights\"** had been requested." +msgstr "" +"*(v1.19.0에서 변경됨)* 이 값은 \"rawdict\"의 `char[\"bbox\"]` 와 같거나 가깝습니다. 특히 bbox" +" **height** 값은 항상 **\"small glyph heights\"** 가 요청된 것처럼 계산됩니다." + +#: ../../functions.rst:623 d0aece89209341f4995bd44237ffb0bd +msgid "*(New in v1.19.0)* This is the union of all character bboxes." +msgstr "*(v1.19.0의 새로운 기능)* 이것은 모든 문자 bbox의 합집합입니다." + +#: ../../functions.rst:624 4a2dea33adee4c3f934f477d8961d184 +msgid "" +"*(New in v1.19.0)* Enumerates the commands that build up the page's " +"appearance. Can be used to find out whether text is effectively hidden by" +" objects, which are painted \"later\", or *over* some object. So if there" +" is a drawing or image with a higher sequence number, whose bbox overlaps" +" (parts of) this text span, one may assume that such an object hides the " +"resp. text. Different text spans have identical sequence numbers if they " +"were created in one go." +msgstr "" +"*(v1.19.0의 새로운 기능)* 페이지의 모양을 구축하는 명령을 열거합니다. 텍스트가 \"나중에\" 그려지거나 어떤 객체 " +"*위에* 그려진 객체에 의해 효과적으로 숨겨지는지 확인하는 데 사용할 수 있습니다. 따라서 더 높은 시퀀스 번호를 가진 그리기 또는" +" 이미지가 있고, 그 bbox가 이 텍스트 스팬의 (일부)와 겹치는 경우, 그러한 객체가 해당 텍스트를 숨긴다고 가정할 수 " +"있습니다. 다른 텍스트 스팬은 한 번에 생성된 경우 동일한 시퀀스 번호를 가집니다." + +#: ../../functions.rst:625 746e13f904994ba1b391640966cb9cce +msgid "" +"*(New in v1.22.0)* The name of the Optional Content Group (OCG) if " +"applicable or `None`." +msgstr "*(v1.22.0의 새로운 기능)* 해당하는 경우 Optional Content Group (OCG)의 이름 또는 `None`." + +#: ../../functions.rst:627 39e39ef69db145bb8fd6d7a429821aa0 +msgid "" +"Here is a list of similarities and differences of `page.get_texttrace()` " +"compared to `page.get_text(\"rawdict\")`:" +msgstr "" +"`page.get_text(\"rawdict\")` 와 비교한 `page.get_texttrace()` 의 유사점과 차이점 " +"목록입니다:" + +#: ../../functions.rst:629 917f1c8f176a4ed594b134848132c93c +msgid "" +"The method is up to **twice as fast,** compared to \"rawdict\" " +"extraction. Depends on the amount of text." +msgstr "이 메서드는 \"rawdict\" 추출과 비교하여 **최대 2배 빠릅니다**. 텍스트 양에 따라 다릅니다." + +#: ../../functions.rst:630 1bed3805162b46efbe3f575d925a99b2 +msgid "" +"The returned data is very **much smaller in size** -- although it " +"provides more information." +msgstr "반환된 데이터는 **크기가 훨씬 작습니다** -- 더 많은 정보를 제공하지만." + +#: ../../functions.rst:631 a1624b170eb441899e89639c83c5bec8 +msgid "" +"Additional types of text **invisibility can be detected**: opacity = 0 or" +" type > 1 or overlapping bbox of an object with a higher sequence number." +msgstr "" +"추가 유형의 텍스트 **보이지 않음을 감지할 수 있습니다**: opacity = 0 또는 type > 1 또는 더 높은 시퀀스 " +"번호를 가진 객체의 겹치는 bbox." + +#: ../../functions.rst:632 8a4627bf3e3b4ccdab047276202cf1cc +msgid "" +"If MuPDF returns unicode 0xFFFD (65533) for unrecognized characters, you " +"may still be able to deduct desired information from the glyph id." +msgstr "" +"MuPDF가 인식되지 않은 문자에 대해 유니코드 0xFFFD(65533)를 반환하는 경우, 글리프 id에서 원하는 정보를 추론할 수" +" 있을 수 있습니다." + +#: ../../functions.rst:633 9e5fc14c54d74d61a2dc0d327be33a78 +msgid "" +"The `span[\"chars\"]` **contains no spaces**, **except** the document " +"creator has explicitly coded them. They **will never be generated** like " +"it happens in :meth:`Page.get_text` methods. To provide some help for " +"doing your own computations here, the width of a space character is " +"given. This value is derived from the font where possible. Otherwise the " +"value of a fallback font is taken." +msgstr "" +"`span[\"chars\"]` 는 **공백을 포함하지 않습니다**, **문서 작성자가 명시적으로 코딩한 경우를 제외하고**. " +":meth:`Page.get_text` 메서드에서 발생하는 것처럼 **절대 생성되지 않습니다**. 여기서 자체 계산을 수행하는 데 " +"도움이 되도록 공백 문자의 너비가 제공됩니다. 이 값은 가능한 경우 글꼴에서 파생됩니다. 그렇지 않으면 대체 글꼴의 값이 " +"사용됩니다." + +#: ../../functions.rst:634 15ac82aad6cb4e3a9170eca749052958 +msgid "" +"There is no effort to organize text like it happens for a :ref:`TextPage`" +" (the hierarchy of blocks, lines, spans, and characters). Characters are " +"simply extracted in sequence, one by one, and put in a span. Whenever any" +" of the span's characteristics changes, a new span is started. So you may" +" find characters with different `origin.y` values in the same span (which" +" means they would appear in different lines). You cannot assume, that " +"span characters are sorted in any particular order -- you must make sense" +" of the info yourself, taking `span[\"dir\"]`, `span[\"wmode\"]`, etc. " +"into account." +msgstr "" +":ref:`TextPage` 에서 발생하는 것처럼 텍스트를 구성하려는 시도가 없습니다(블록, 라인, 스팬 및 문자의 계층 구조). " +"문자는 단순히 순차적으로 하나씩 추출되어 스팬에 배치됩니다. 스팬의 특성이 변경될 때마다 새로운 스팬이 시작됩니다. 따라서 동일한 " +"스팬에서 다른 `origin.y` 값을 가진 문자를 찾을 수 있습니다(이는 다른 라인에 나타날 것임을 의미). 스팬 문자가 특정 " +"순서로 정렬되어 있다고 가정할 수 없습니다 -- `span[\"dir\"]`, `span[\"wmode\"]` 등을 고려하여 정보를" +" 직접 이해해야 합니다." + +#: ../../functions.rst:652 a0c67b42ef3e49e0b1f2ac26995741aa +msgid "Ligatures are represented like this:" +msgstr "합자는 다음과 같이 표현됩니다:" + +#: ../../functions.rst:636 3c824ed918b34e58861b077c4365477f +msgid "" +"MuPDF handles the following ligatures: \"fi\", \"ff\", \"fl\", \"ft\", " +"\"st\", \"ffi\", and \"ffl\" (only the first 3 are mostly ever used). If " +"the page contains e.g. ligature \"fi\", you will find the following two " +"character items subsequent to each other::" +msgstr "" +"MuPDF는 다음 합자를 처리합니다: \"fi\", \"ff\", \"fl\", \"ft\", \"st\", \"ffi\", " +"\"ffl\" (처음 3개만 주로 사용됨). 페이지에 예를 들어 합자 \"fi\"가 포함되어 있으면 다음 두 문자 항목이 서로 " +"연속으로 나타납니다::" + +#: ../../functions.rst:641 bcc79b6581f34f9280c07f51f267b1ba +msgid "" +"This means that the bbox of the first ligature character is the area " +"containing the complete, compound glyph. Subsequent ligature components " +"are recognizable by their glyph value -1 and a bbox of width zero." +msgstr "" +"이것은 첫 번째 합자 문자의 bbox가 완전한 복합 글리프를 포함하는 영역임을 의미합니다. 후속 합자 구성 요소는 글리프 값 -1과" +" 너비가 0인 bbox로 인식할 수 있습니다." + +#: ../../functions.rst:642 7817cb437109492a80ade1f89c34b3cf +msgid "" +"You may want to replace those 2 or 3 char tuples by one, that represents " +"the ligature itself. Use the following mapping of ligatures to unicodes:" +msgstr "2개 또는 3개의 문자 튜플을 합자 자체를 나타내는 하나로 대체할 수 있습니다. 다음 합자-유니코드 매핑을 사용하세요:" + +#: ../../functions.rst:644 aaebcaafe03144fbb8992f69ed5c8f00 +msgid "`\"ff\" -> 0xFB00`" +msgstr "`\"ff\" -> 0xFB00`" + +#: ../../functions.rst:645 939984a5e5e04878ae04eea7858b9f77 +msgid "`\"fi\" -> 0xFB01`" +msgstr "`\"fi\" -> 0xFB01`" + +#: ../../functions.rst:646 d3fed8f13cba4ce885dd69100891d76e +msgid "`\"fl\" -> 0xFB02`" +msgstr "`\"fl\" -> 0xFB02`" + +#: ../../functions.rst:647 b9933ebf7ec545d8a6c748b98f667811 +msgid "`\"ffi\" -> 0xFB03`" +msgstr "`\"ffi\" -> 0xFB03`" + +#: ../../functions.rst:648 e0514a34957c47a78d18f3dda4d2429d +msgid "`\"ffl\" -> 0xFB04`" +msgstr "`\"ffl\" -> 0xFB04`" + +#: ../../functions.rst:649 37fa3ab049b5470c812eb68f92a34b47 +msgid "`\"ft\" -> 0xFB05`" +msgstr "`\"ft\" -> 0xFB05`" + +#: ../../functions.rst:650 837026b002484cd789d83dcb6b644892 +msgid "`\"st\" -> 0xFB06`" +msgstr "`\"st\" -> 0xFB06`" + +#: ../../functions.rst:652 50f11c41758d4ce0bf5813b7baecd6c0 +msgid "" +"So you may want to replace the two example tuples above by the following " +"single one: `(0xFB01, glyph, (x, y), (x0, y0, x1, y1))` (there is usually" +" no need to lookup the correct glyph id for 0xFB01 in the resp. font, but" +" you may execute `font.has_glyph(0xFB01)` and use its return value)." +msgstr "" +"따라서 위의 두 예제 튜플을 다음 단일 튜플로 대체할 수 있습니다: `(0xFB01, glyph, (x, y), (x0, y0, " +"x1, y1))` (일반적으로 해당 글꼴에서 0xFB01에 대한 올바른 글리프 id를 조회할 필요는 없지만, " +"`font.has_glyph(0xFB01)` 을 실행하고 반환 값을 사용할 수 있습니다)." + +#: ../../functions.rst:654 222e9b82b659431db35af8eeffb194f6 +msgid "" +"**Changed in v1.19.3:** Similar to other text extraction methods, the " +"character and span bboxes envelop the character quads. To recover the " +"quads, follow the same methods :meth:`recover_quad`, " +":meth:`recover_char_quad` or :meth:`recover_span_quad` as explained in " +":ref:`textpagedict`. Use either `None` or `span[\"dir\"]` for the writing" +" direction." +msgstr "" +"**v1.19.3에서 변경됨:** 다른 텍스트 추출 메서드와 유사하게, 문자 및 스팬 bbox는 문자 쿼드를 둘러쌉니다. 쿼드를 " +"복구하려면 :ref:`textpagedict` 에서 설명한 것과 동일한 메서드 :meth:`recover_quad`, " +":meth:`recover_char_quad` 또는 :meth:`recover_span_quad` 를 따르세요. 쓰기 방향에는 " +"`None` 또는 `span[\"dir\"]` 을 사용하세요." + +#: ../../functions.rst:656 f5faf881db3d4a9487a05fef55996648 +msgid "" +"**Changed in v1.21.1:** If applicable, the name of the OCG is shown in " +"`\"layer\"`." +msgstr "**v1.21.1에서 변경됨:** 해당하는 경우 OCG의 이름이 `\"layer\"` 에 표시됩니다." + +#: ../../functions.rst:662 48bf0e585e944bd7b52be8feaac35c5e +msgid "" +"Ensures that the page's so-called graphics state is balanced and new " +"content can be inserted correctly." +msgstr "페이지의 소위 그래픽 상태가 균형을 이루고 새 콘텐츠가 올바르게 삽입될 수 있도록 합니다." + +#: ../../functions.rst:664 eae68e69d2064990b1bf9c7ed594f48c +msgid "" +"In versions 1.24.1+ of PyMuPDF the method was improved and is being " +"executed automatically as required, so you should no longer need to " +"concern yourself with it." +msgstr "PyMuPDF 버전 1.24.1+에서 이 메서드가 개선되어 필요에 따라 자동으로 실행되므로 더 이상 신경 쓸 필요가 없습니다." + +#: ../../functions.rst:666 de7bdd81791342039a777f36b3120609 +msgid "We discourage using :meth:`Page.clean_contents` to achieve this." +msgstr "이를 달성하기 위해 :meth:`Page.clean_contents` 사용을 권장하지 않습니다." + +#: ../../functions.rst:672 59ea1ae4764a4a79b7293e1e4acf5bfc +msgid "" +"Indicate whether the page's so-called graphic state is balanced. If " +"`False`, :meth:`Page.wrap_contents` should be executed if new content is " +"inserted (only relevant in `overlay=True` mode). In newer versions " +"(1.24.1+), this check and corresponding adjustments are automatically " +"executed -- you therefore should not be concerned about this anymore." +msgstr "" +"페이지의 소위 그래픽 상태가 균형을 이루는지 나타냅니다. `False` 인 경우 새 콘텐츠가 삽입되면 " +":meth:`Page.wrap_contents` 를 실행해야 합니다(`overlay=True` 모드에서만 관련됨). 최신 " +"버전(1.24.1+)에서는 이 확인 및 해당 조정이 자동으로 실행됩니다 -- 따라서 더 이상 신경 쓸 필요가 없습니다." + +#: ../../functions.rst:680 77bfdbb9ea154021880b68f407cec45e +msgid "" +"Deprecated wrapper for :meth:`TextPage.extractBLOCKS`. Use " +":meth:`Page.get_text` with the \"blocks\" option instead." +msgstr "" +":meth:`TextPage.extractBLOCKS` 의 더 이상 사용되지 않는 래퍼. 대신 \"blocks\" 옵션을 사용하는 " +":meth:`Page.get_text` 를 사용하세요." + +#: ../../functions.rst:688 38ae57f9f7514e3ebe8a9c79b5610c01 +msgid "" +"Deprecated wrapper for :meth:`TextPage.extractWORDS`. Use " +":meth:`Page.get_text` with the \"words\" option instead." +msgstr "" +":meth:`TextPage.extractWORDS` 의 더 이상 사용되지 않는 래퍼. 대신 \"words\" 옵션을 사용하는 " +":meth:`Page.get_text` 를 사용하세요." + +#: ../../functions.rst:696 3cb9ebe8577f4992ad02eb07f1b73bfe +msgid "Run a page through a list device and return its display list." +msgstr "리스트 디바이스를 통해 페이지를 실행하고 디스플레이 리스트를 반환합니다." + +#: ../../functions.rst:698 25c2a3b94c1848eeb595b0de57aa1246 +msgid ":ref:`DisplayList`" +msgstr ":ref:`DisplayList`" + +#: ../../functions.rst:699 7c69c8db929044cea53feea2943ed7b7 +msgid "the display list of the page." +msgstr "페이지의 디스플레이 리스트." + +#: ../../functions.rst:705 fb125de099214795adc6e298598a8f7c +msgid "" +"PDF only: Retrieve a list of :data:`xref` of :data:`contents` objects of " +"a page. May be empty or contain multiple integers. If the page is cleaned" +" (:meth:`Page.clean_contents`), it will be no more than one entry. The " +"\"source\" of each `/Contents` object can be individually read by " +":meth:`Document.xref_stream` using an item of this list. Method " +":meth:`Page.read_contents` in contrast walks through this list and " +"concatenates the corresponding sources into one `bytes` object." +msgstr "" +"PDF 전용: 페이지의 :data:`contents` 객체의 :data:`xref` 목록을 검색합니다. 비어 있거나 여러 정수를 " +"포함할 수 있습니다. 페이지가 정리된 경우(:meth:`Page.clean_contents`) 항목은 하나 이하입니다. 각 " +"`/Contents` 객체의 \"source\"는 이 목록의 항목을 사용하여 :meth:`Document.xref_stream` " +"으로 개별적으로 읽을 수 있습니다. 반면 :meth:`Page.read_contents` 메서드는 이 목록을 순회하고 해당 소스를 " +"하나의 `bytes` 객체로 연결합니다." + +#: ../../functions.rst:713 7fe9d0c499fd470cb67a324f854cddfc +msgid "" +"PDF only: Let the page's `/Contents` key point to this xref. Any " +"previously used contents objects will be ignored and can be removed via " +"garbage collection." +msgstr "" +"PDF 전용: 페이지의 `/Contents` 키가 이 xref를 가리키도록 합니다. 이전에 사용된 모든 콘텐츠 객체는 무시되며 " +"가비지 수집을 통해 제거할 수 있습니다." + +#: ../../functions.rst:719 3aa3a5c37b1c4a4381ccad00ba9b8aa9 +msgid "Changed in v1.17.6" +msgstr "v1.17.6에서 변경됨" + +#: ../../functions.rst:721 60a2a8926c0a40e4b525cb12714eb91a +msgid "" +"PDF only: Clean and concatenate all :data:`contents` objects associated " +"with this page. \"Cleaning\" includes syntactical corrections, " +"standardizations and \"pretty printing\" of the contents stream. " +"Discrepancies between :data:`contents` and :data:`resources` objects will" +" also be corrected if sanitize is true. See :meth:`Page.get_contents` for" +" more details." +msgstr "" +"PDF 전용: 이 페이지와 연결된 모든 :data:`contents` 객체를 정리하고 연결합니다. \"정리\"에는 구문 수정, " +"표준화 및 콘텐츠 스트림의 \"예쁘게 인쇄\"가 포함됩니다. sanitize가 true이면 :data:`contents` 와 " +":data:`resources` 객체 간의 불일치도 수정됩니다. 자세한 내용은 :meth:`Page.get_contents` 를 " +"참조하세요." + +#: ../../functions.rst:723 cc05b36c964b4065952275eeb2a4f884 +msgid "" +"Changed in version 1.16.0 Annotations are no longer implicitly cleaned by" +" this method. Use :meth:`Annot.clean_contents` separately." +msgstr "" +"버전 1.16.0에서 변경됨: 주석은 이 메서드에 의해 더 이상 암시적으로 정리되지 않습니다. " +":meth:`Annot.clean_contents` 를 별도로 사용하세요." + +#: ../../functions.rst:725 cef2a0b0383148ddb6c4fb2a831d9901 +msgid "" +"*(new in v1.17.6)* if true, synchronization between resources and their " +"actual use in the contents object is snychronized. For example, if a font" +" is not actually used for any text of the page, then it will be deleted " +"from the `/Resources/Font` object." +msgstr "" +"*(v1.17.6의 새로운 기능)* true이면 리소스와 콘텐츠 객체에서의 실제 사용 간의 동기화가 이루어집니다. 예를 들어, " +"글꼴이 페이지의 어떤 텍스트에도 실제로 사용되지 않으면 `/Resources/Font` 객체에서 삭제됩니다." + +#: ../../functions.rst:727 e719525edd8b42b5adb8783ffc991f7f +msgid "" +"This is a complex function which may generate large amounts of new data " +"and render old data unused. It is **not recommended** using it together " +"with the **incremental save** option. Also note that the resulting " +"singleton new */Contents* object is **uncompressed**. So you should save " +"to a **new file** using options *\"deflate=True, garbage=3\"*." +msgstr "" +"이것은 대량의 새 데이터를 생성하고 이전 데이터를 사용하지 않게 만들 수 있는 복잡한 함수입니다. **증분 저장** 옵션과 함께 " +"사용하는 것은 **권장되지 않습니다**. 또한 결과 단일 */Contents* 객체는 **압축되지 않습니다**. 따라서 " +"*\"deflate=True, garbage=3\"* 옵션을 사용하여 **새 파일** 에 저장해야 합니다." + +#: ../../functions.rst:729 1b0ce37aead64fe190eb5958ec06bf93 +msgid "" +"Do not any longer use this method to ensure correct insertions on PDF " +"pages. Since PyMuPDF version 1.24.2 this is taken care of automatically." +msgstr "" +"PDF 페이지에 올바른 삽입을 보장하기 위해 이 메서드를 더 이상 사용하지 마세요. PyMuPDF 버전 1.24.2부터는 이것이 " +"자동으로 처리됩니다." + +#: ../../functions.rst:735 159e3c751b6f49b8a75890a4fd563d0a +msgid "" +"*New in version 1.17.0.* Return the concatenation of all :data:`contents`" +" objects associated with the page -- without cleaning or otherwise " +"modifying them. Use this method whenever you need to parse this source in" +" its entirety without having to bother how many separate contents objects" +" exist." +msgstr "" +"*버전 1.17.0의 새로운 기능.* 페이지와 연결된 모든 :data:`contents` 객체의 연결을 반환합니다 -- 정리하거나 " +"수정하지 않고. 별도의 콘텐츠 객체가 몇 개나 있는지 신경 쓸 필요 없이 전체 소스를 구문 분석해야 할 때마다 이 메서드를 " +"사용하세요." + +#: ../../functions.rst:744 f820b3ca222e41ea9342c19ea2280afc +msgid "" +"Clean the :data:`contents` streams associated with the annotation. This " +"is the same type of action which :meth:`Page.clean_contents` performs -- " +"just restricted to this annotation." +msgstr "" +"주석과 연결된 :data:`contents` 스트림을 정리합니다. 이것은 :meth:`Page.clean_contents` 가 " +"수행하는 것과 동일한 작업입니다 -- 단지 이 주석으로 제한됩니다." + +#: ../../functions.rst:751 057944b45dbf427097061759690378f5 +msgid "" +"Return a list of character glyphs and their widths for a font that is " +"present in the document. A font must be specified by its PDF cross " +"reference number :data:`xref`. This function is called automatically from" +" :meth:`Page.insert_text` and :meth:`Page.insert_textbox`. So you should " +"rarely need to do this yourself." +msgstr "" +"문서에 있는 글꼴에 대한 문자 글리프 및 너비 목록을 반환합니다. 글꼴은 PDF 교차 참조 번호 :data:`xref` 로 지정해야" +" 합니다. 이 함수는 :meth:`Page.insert_text` 및 :meth:`Page.insert_textbox` 에서 " +"자동으로 호출됩니다. 따라서 직접 수행할 필요는 거의 없습니다." + +#: ../../functions.rst:753 f608a923d1b240efb8dc4a1e2ad76be7 +msgid "" +"cross reference number of a font embedded in the PDF. To find a font " +":data:`xref`, use e.g. *doc.get_page_fonts(pno)* of page number *pno* and" +" take the first entry of one of the returned list entries." +msgstr "" +"PDF에 포함된 글꼴의 교차 참조 번호. 글꼴 :data:`xref` 를 찾으려면 예를 들어 페이지 번호 *pno* 의 " +"*doc.get_page_fonts(pno)* 를 사용하고 반환된 목록 항목 중 하나의 첫 번째 항목을 가져옵니다." + +#: ../../functions.rst:755 18a15dfc86674db5b7ddd87e97061c89 +msgid "" +"limits the number of returned entries. The default of 256 is enforced for" +" all fonts that only support 1-byte characters, so-called \"simple " +"fonts\" (checked by this method). All :ref:`Base-14-Fonts` are simple " +"fonts." +msgstr "" +"반환된 항목 수를 제한합니다. 256의 기본값은 1바이트 문자만 지원하는 소위 \"simple fonts\"(이 메서드로 확인됨)에" +" 대해 적용됩니다. 모든 :ref:`Base-14-Fonts` 는 simple fonts입니다." + +#: ../../functions.rst:758 374d9ca3517b46e79684baafbe452c8a +msgid "" +"a list of *limit* tuples. Each character *c* has an entry *(g, w)* in " +"this list with an index of *ord(c)*. Entry *g* (integer) of the tuple is " +"the glyph id of the character, and float *w* is its normalized width. The" +" actual width for some :data:`fontsize` can be calculated as *w * " +"fontsize*. For simple fonts, the *g* entry can always be safely ignored. " +"In all other cases *g* is the basis for graphically representing *c*." +msgstr "" +"*limit* 튜플 목록. 각 문자 *c* 는 *ord(c)* 인덱스를 가진 이 목록에 *(g, w)* 항목을 가집니다. 튜플의 " +"항목 *g* (정수)는 문자의 글리프 id이고, float *w* 는 정규화된 너비입니다. 일부 :data:`fontsize` 에 " +"대한 실제 너비는 *w * fontsize* 로 계산할 수 있습니다. simple fonts의 경우 *g* 항목은 항상 안전하게 " +"무시할 수 있습니다. 다른 모든 경우 *g* 는 *c* 를 그래픽으로 표현하는 기반입니다." + +#: ../../functions.rst:760 9a82c0fef9f946ee931dcac730381625 +msgid "This function calculates the pixel width of a string called *text*::" +msgstr "이 함수는 *text* 라는 문자열의 픽셀 너비를 계산합니다::" + +#: ../../functions.rst:772 1d63e80ff1044164bb37ffb75d916ca9 +msgid "New in version 1.14.14" +msgstr "*버전 1.14.14의 새로운 기능*" + +#: ../../functions.rst:774 0499a7e490f54f6f9c36861c661dd5dd +msgid "" +"PDF only: Check whether the object represented by :data:`xref` is a " +":data:`stream` type. Return is ``False`` if not a PDF or if the number is" +" outside the valid xref range." +msgstr "" +"PDF 전용: :data:`xref` 로 표현된 객체가 :data:`stream` 타입인지 확인합니다. PDF가 아니거나 숫자가 " +"유효한 xref 범위를 벗어나면 ``False`` 를 반환합니다." + +#: ../../functions.rst:776 6ece02cfe6fd4a0ebd3c0babd63401bc +msgid ":data:`xref` number." +msgstr ":data:`xref` 번호." + +#: ../../functions.rst:778 1ae7201b78294f7cb4822bbe2b16c89e +msgid "" +"``True`` if the object definition is followed by data wrapped in keyword " +"pair *stream*, *endstream*." +msgstr "객체 정의 뒤에 키워드 쌍 *stream*, *endstream* 으로 둘러싸인 데이터가 오면 ``True``." + +#: ../../functions.rst:784 824395dad4454308bb3acc094f1e1f49 +msgid "" +"Increase the :data:`xref` by one entry and return that number. This can " +"then be used to insert a new object." +msgstr ":data:`xref` 를 하나의 항목만큼 증가시키고 해당 번호를 반환합니다. 이것은 새 객체를 삽입하는 데 사용할 수 있습니다." + +#: ../../functions.rst:786 b74f53e6f461419798c38d5d157d1ddb +msgid "" +"int :returns: the number of the new :data:`xref` entry. Please note, that" +" only a new entry in the PDF's cross reference table is created. At this " +"point, there will not yet exist a PDF object associated with it. To " +"create an (empty) object with this number use `doc.update_xref(xref, " +"\"<<>>\")`." +msgstr "" +"int :returns: 새 :data:`xref` 항목의 번호. PDF의 교차 참조 테이블에만 새 항목이 생성됩니다. 이 시점에는" +" 아직 연결된 PDF 객체가 존재하지 않습니다. 이 번호로 (빈) 객체를 생성하려면 `doc.update_xref(xref, " +"\"<<>>\")` 를 사용하세요." + +#: ../../functions.rst:793 31b915dba1a44258a1cf9373421e9f58 +msgid "Return length of :data:`xref` table." +msgstr ":data:`xref` 테이블의 길이를 반환합니다." + +#: ../../functions.rst:796 aeeeacbd76704c80be24a494e9f339de +msgid "the number of entries in the :data:`xref` table." +msgstr ":data:`xref` 테이블의 항목 수." + +#: ../../functions.rst:802 994bdeb47ece44ed86fdb81eee8a599d +msgid "" +"Compute the quadrilateral of a text span extracted via options \"dict\" " +"or \"rawdict\" of :meth:`Page.get_text`." +msgstr "" +":meth:`Page.get_text` 의 \"dict\" 또는 \"rawdict\" 옵션을 통해 추출된 텍스트 스팬의 사각형을 " +"계산합니다." + +#: ../../functions.rst:804 ff5b2345f37b49ada7b219718699d919 +msgid "" +"`line[\"dir\"]` of the owning line. Use `None` for a span from " +":meth:`Page.get_texttrace`." +msgstr "" +"소유 라인의 `line[\"dir\"]`. :meth:`Page.get_texttrace` 에서 가져온 스팬의 경우 `None` 을" +" 사용하세요." + +#: ../../functions.rst:805 ../../functions.rst:815 ../../functions.rst:826 +#: 3de95b885fdb4ae3af31bdbf11c40283 4502b3c80d88444093eabb36474662d2 +#: 843e47e4ce234f268a145146bbef3077 +msgid "the span." +msgstr "스팬." + +#: ../../functions.rst:806 58171abb89e5477197c19eda22c274ae +msgid "" +"the :ref:`Quad` of the span, usable for text marker annotations " +"('Highlight', etc.)." +msgstr "스팬의 :ref:`Quad`, 텍스트 마커 주석('Highlight' 등)에 사용 가능." + +#: ../../functions.rst:812 7ab76daee93b418ead8cbe0eb161c1c0 +msgid "" +"Compute the quadrilateral of a text character extracted via option " +"\"rawdict\" of :meth:`Page.get_text`." +msgstr ":meth:`Page.get_text` 의 \"rawdict\" 옵션을 통해 추출된 텍스트 문자의 사각형을 계산합니다." + +#: ../../functions.rst:814 ../../functions.rst:825 +#: cbcfe2d2f449448fab8201428f6897c5 d64beaf47b2f47e78d08e91ac32d1e07 +msgid "" +"`line[\"dir\"]` of the owning line. Use `None` for a span from " +":meth:`Page.get_texttrace`." +msgstr "" +"소유 라인의 `line[\"dir\"]`. :meth:`Page.get_texttrace` 에서 가져온 스팬의 경우 `None` 을" +" 사용하세요." + +#: ../../functions.rst:816 0de58fc1e9b343c2b2d6d719c82d5cc9 +msgid "the character." +msgstr "문자." + +#: ../../functions.rst:817 b0444b9caf674df4a28978df8d452580 +msgid "" +"the :ref:`Quad` of the character, usable for text marker annotations " +"('Highlight', etc.)." +msgstr "문자의 :ref:`Quad`, 텍스트 마커 주석('Highlight' 등)에 사용 가능." + +#: ../../functions.rst:823 2383e87ea4f74ca3b4dbf8fac78fae8c +msgid "" +"Compute the quadrilateral of a subset of characters of a span extracted " +"via option \"rawdict\" of :meth:`Page.get_text`." +msgstr ":meth:`Page.get_text` 의 \"rawdict\" 옵션을 통해 추출된 스팬의 문자 하위 집합의 사각형을 계산합니다." + +#: ../../functions.rst:827 fe3fd7ff9c464621843bea5d3d910e20 +msgid "" +"the characters to consider. If given, the selected extraction option must" +" be \"rawdict\"." +msgstr "고려할 문자. 주어진 경우 선택된 추출 옵션은 \"rawdict\"여야 합니다." + +#: ../../functions.rst:828 80bc82b9eab8453389713a6186de07d5 +msgid "" +"the :ref:`Quad` of the selected characters, usable for text marker " +"annotations ('Highlight', etc.)." +msgstr "선택된 문자의 :ref:`Quad`, 텍스트 마커 주석('Highlight' 등)에 사용 가능." + +#: ../../functions.rst:834 5a8cf6fbcf4d4ef1be7317c9ccef6471 +msgid "" +"Compute the quadrilateral of a subset of spans of a text line extracted " +"via options \"dict\" or \"rawdict\" of :meth:`Page.get_text`." +msgstr "" +":meth:`Page.get_text` 의 \"dict\" 또는 \"rawdict\" 옵션을 통해 추출된 텍스트 라인의 스팬 하위 " +"집합의 사각형을 계산합니다." + +#: ../../functions.rst:836 c22d97f050f94943b1509a1116b1ec58 +msgid "the line." +msgstr "라인." + +#: ../../functions.rst:837 93ca3f15067647d68628fc26d746709c +msgid "" +"a sub-list of `line[\"spans\"]`. If omitted, the full line quad will be " +"returned." +msgstr "`line[\"spans\"]` 의 하위 목록. 생략하면 전체 라인 쿼드가 반환됩니다." + +#: ../../functions.rst:838 7bd8eeabe2254422bf223a1658cb6d04 +msgid "" +"the :ref:`Quad` of the selected line spans, usable for text marker " +"annotations ('Highlight', etc.)." +msgstr "선택된 라인 스팬의 :ref:`Quad`, 텍스트 마커 주석('Highlight' 등)에 사용 가능." + +#: ../../functions.rst:844 64e462661be944f3a62a6df56af9d839 +msgid "Detect Tesseract language support folder." +msgstr "Tesseract 언어 지원 폴더 감지." + +#: ../../functions.rst:846 36cd291815a54fe890dfc549855cb135 +msgid "" +"This function is used to enable OCR via Tesseract even if the language " +"support folder is not specified directly or in environment variable " +"TESSDATA_PREFIX." +msgstr "" +"이 함수는 언어 지원 폴더가 직접 또는 환경 변수 TESSDATA_PREFIX에 지정되지 않은 경우에도 Tesseract를 통해 " +"OCR을 활성화하는 데 사용됩니다." + +#: ../../functions.rst:850 9df72e40b69a45bf8734dc507588842b +msgid "If is set we return it directly." +msgstr "가 설정되어 있으면 직접 반환합니다." + +#: ../../functions.rst:852 6ad23f9268db4f50b930607a1e593e11 +msgid "Otherwise we return `os.environ['TESSDATA_PREFIX']` if set." +msgstr "그렇지 않으면 설정된 경우 `os.environ['TESSDATA_PREFIX']` 를 반환합니다." + +#: ../../functions.rst:854 81a272ead43746849c211778e4f173f6 +msgid "" +"Otherwise we search for a Tesseract installation and return its language " +"support folder." +msgstr "그렇지 않으면 Tesseract 설치를 검색하고 언어 지원 폴더를 반환합니다." + +#: ../../functions.rst:857 05770e4eb5f248e1b9c0b632023d3c3e +msgid "Otherwise we raise an exception." +msgstr "그렇지 않으면 예외를 발생시킵니다." + +#: ../../functions.rst:867 6165db22dfb447e784347e5fffeb9159 +msgid "" +"Return the (unique) infinite rectangle `Rect(-2147483648.0, " +"-2147483648.0, 2147483520.0, 2147483520.0)`, resp. the :ref:`IRect` and " +":ref:`Quad` counterparts. It is the largest possible rectangle: all valid" +" rectangles are contained in it." +msgstr "" +"(유일한) 무한 사각형 `Rect(-2147483648.0, -2147483648.0, 2147483520.0, " +"2147483520.0)` 또는 이에 해당하는 :ref:`IRect` 및 :ref:`Quad` 를 반환합니다. 이것은 가능한 가장 " +"큰 사각형입니다: 모든 유효한 사각형이 포함됩니다." + +#: ../../functions.rst:877 0a193887c7ac4df6b78c43a679165d96 +msgid "" +"Return the \"standard\" empty and invalid rectangle `Rect(2147483520.0, " +"2147483520.0, -2147483648.0, -2147483648.0)` resp. quad. Its top-left and" +" bottom-right point values are reversed compared to the infinite " +"rectangle. It will e.g. be used to indicate empty bboxes in " +"`page.get_text(\"dict\")` dictionaries. There are however infinitely many" +" empty or invalid rectangles." +msgstr "" +"\"표준\" 빈 및 유효하지 않은 사각형 `Rect(2147483520.0, 2147483520.0, -2147483648.0, " +"-2147483648.0)` 또는 이에 해당하는 쿼드를 반환합니다. 왼쪽 위 및 오른쪽 아래 점 값이 무한 사각형과 비교하여 " +"반대입니다. 예를 들어 `page.get_text(\"dict\")` 딕셔너리에서 빈 bbox를 나타내는 데 사용됩니다. 그러나 " +"무한히 많은 빈 또는 유효하지 않은 사각형이 있습니다." + +#: ../../functions.rst:883 57941cc8bfe54662a58baa544596de42 +msgid "" +"Returns a dict mapping lower-case color name to `(red, green, blue)` " +"tuple, and `red`, `green`, `blue` are floats in range 0..1." +msgstr "" +"소문자 색상 이름을 `(red, green, blue)` 튜플에 매핑하는 딕셔너리를 반환하며, `red`, `green`, " +"`blue` 는 0..1 범위의 float입니다." + +#: ../../functions.rst:888 501128a84def4aeb9ded0eb35633124b +msgid "" +"Returns a list of `(colorname, red, green, blue)` tuples, where " +"`colorname` is upper case and `red`, `green`, `blue` are integers in " +"range 0..255." +msgstr "" +"`(colorname, red, green, blue)` 튜플 목록을 반환하며, 여기서 `colorname` 은 대문자이고 " +"`red`, `green`, `blue` 는 0..255 범위의 정수입니다." + +#: ../../footer.rst:57 3f2e7072cb5c4a93ab763b29d4244bc2 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/glossary.mo b/docs/locales/ko/LC_MESSAGES/glossary.mo new file mode 100644 index 000000000..e7458cd54 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/glossary.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/glossary.po b/docs/locales/ko/LC_MESSAGES/glossary.po new file mode 100644 index 000000000..c6899e8c5 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/glossary.po @@ -0,0 +1,405 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 d08d3d2cd62e4347ae2805cfcc06a70f +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 739bd76d85de44ed9317676c5473c0c4 +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 4c57e05fc77144dfb8faf379a03cc56b +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" + +#: ../../glossary.rst:7 28cd3665c98c4ea997db495f331f026c +msgid "Glossary" +msgstr "용어집" + +#: ../../glossary.rst:11 586bce9bf00e4c89b0241028b3c7ff08 +msgid "" +"This is an essential general mathematical / geometrical term for " +"understanding this documentation. Please see this section for a more " +"detailed discussion: :ref:`Coordinates`." +msgstr "이것은 이 문서를 이해하기 위한 필수적인 일반적인 수학/기하학 용어입니다. 자세한 내용은 :ref:`Coordinates` 섹션을 참조하세요." + +#: ../../glossary.rst:15 6bb8cff798704bbb98656190f68b478d +msgid "A Python sequence of 6 numbers." +msgstr "6개의 숫자로 구성된 Python 시퀀스입니다." + +#: ../../glossary.rst:19 4be6452df2ab4c31adadf519dd1f3f3d +msgid "A Python sequence of 4 numbers." +msgstr "4개의 숫자로 구성된 Python 시퀀스입니다." + +#: ../../glossary.rst:23 4f04da6f55df426d9a81f7ddd5cf35a4 +msgid "A Python sequence of 4 integers." +msgstr "4개의 정수로 구성된 Python 시퀀스입니다." + +#: ../../glossary.rst:27 0816befe649d4c23ac61285cc1d4c68a +msgid "A Python sequence of 2 numbers." +msgstr "2개의 숫자로 구성된 Python 시퀀스입니다." + +#: ../../glossary.rst:31 4b252ecf18494010ac1b4abf8318014b +msgid "A Python sequence of 4 :data:`point_like` items." +msgstr "4개의 :data:`point_like` 항목으로 구성된 Python 시퀀스입니다." + +#: ../../glossary.rst:35 08979edc495d4e0c8fb3091ac014aeb6 +msgid "" +"A number of values in a PDF can inherited by objects further down in a " +"parent-child relationship. The mediabox (physical size) of pages may for " +"example be specified only once or in some node(s) of the :data:`pagetree`" +" and will then be taken as value for all *kids*, that do not specify " +"their own value." +msgstr "PDF의 여러 값은 부모-자식 관계에서 하위 객체에 상속될 수 있습니다. 예를 들어 페이지의 mediabox(물리적 크기)는 한 번만 지정되거나 :data:`pagetree` 의 일부 노드에 지정될 수 있으며, 자체 값을 지정하지 않는 모든 *자식* 에 대한 값으로 사용됩니다." + +#: ../../glossary.rst:41 bd92584d9672427a92de7ae2ca2c9ef5 +msgid "" +"A PDF array of 4 floats specifying a physical page size -- " +"(:data:`inheritable`, mandatory). This rectangle should contain all other" +" PDF -- optional -- page rectangles, which may be specified in addition:" +" CropBox, TrimBox, ArtBox and BleedBox. Please consult :ref:`AdobeManual`" +" for details. The MediaBox is the only rectangle, for which there is no " +"difference between MuPDF and PDF coordinate systems: " +":attr:`Page.mediabox` will always show the same coordinates as the " +"`/MediaBox` key in a page's object definition. For all other rectangles, " +"MuPDF transforms y coordinates such that the **top** border is the point " +"of reference. This can sometimes be confusing -- you may for example " +"encounter a situation like this one:" +msgstr "물리적 페이지 크기를 지정하는 4개의 float로 구성된 PDF 배열입니다 -- (:data:`inheritable`, 필수). 이 사각형은 추가로 지정할 수 있는 다른 모든 PDF 페이지 사각형(CropBox, TrimBox, ArtBox, BleedBox)을 포함해야 합니다. 자세한 내용은 :ref:`AdobeManual` 을 참조하세요. MediaBox는 MuPDF와 PDF 좌표계 간에 차이가 없는 유일한 사각형입니다: :attr:`Page.mediabox` 는 항상 페이지 객체 정의의 `/MediaBox` 키와 동일한 좌표를 표시합니다. 다른 모든 사각형의 경우, MuPDF는 **상단** 경계가 기준점이 되도록 y 좌표를 변환합니다. 이로 인해 때때로 혼란스러울 수 있습니다 -- 예를 들어 다음과 같은 상황을 만날 수 있습니다:" + +#: ../../glossary.rst:43 c84f72a1ef1a493db58b9912d0b5c864 +msgid "" +"The page definition contains the following identical values: `/MediaBox [" +" 36 45 607.5 765 ]`, `/CropBox [ 36 45 607.5 765 ]`." +msgstr "페이지 정의에는 다음과 같은 동일한 값이 포함되어 있습니다: `/MediaBox [ 36 45 607.5 765 ]`, `/CropBox [ 36 45 607.5 765 ]`." + +#: ../../glossary.rst:44 a0a14effa0694f848b4b68f6433c6e41 +msgid "" +"PyMuPDF accordingly shows `page.mediabox = Rect(36.0, 45.0, 607.5, " +"765.0)`." +msgstr "따라서 PyMuPDF는 `page.mediabox = Rect(36.0, 45.0, 607.5, 765.0)` 을 표시합니다." + +#: ../../glossary.rst:45 6452ee0315854e7a8d8c7b5ceae4b2f4 +msgid "" +"**BUT:** `page.cropbox = Rect(36.0, 0.0, 607.5, 720.0)`, because the two " +"y-coordinates have been transformed (45 subtracted from both of them)." +msgstr "**하지만:** `page.cropbox = Rect(36.0, 0.0, 607.5, 720.0)` 입니다. 두 y 좌표가 변환되었기 때문입니다(둘 다에서 45가 빼졌습니다)." + +#: ../../glossary.rst:49 54bb2fd6606f42b0b61698e8f5e4264f +msgid "" +"A PDF array of 4 floats specifying a page's visible area -- " +"(:data:`inheritable`, optional). It is the default for TrimBox, ArtBox " +"and BleedBox. If not present, it defaults to MediaBox. This value is " +"**not affected** if the page is rotated -- in contrast to " +":attr:`Page.rect`. Also, other than the page rectangle, the top-left " +"corner of the cropbox may or may not be *(0, 0)*." +msgstr "페이지의 보이는 영역을 지정하는 4개의 float로 구성된 PDF 배열입니다 -- (:data:`inheritable`, 선택 사항). TrimBox, ArtBox 및 BleedBox의 기본값입니다. 없으면 MediaBox를 기본값으로 사용합니다. 이 값은 페이지가 회전되어도 **영향을 받지 않습니다** -- :attr:`Page.rect` 와 대조됩니다. 또한 페이지 사각형과 달리 cropbox의 왼쪽 상단 모서리는 *(0, 0)* 일 수도 있고 아닐 수도 있습니다." + +#: ../../glossary.rst:54 32d13994ea71438cba097ae7ab179529 +msgid "" +"A central PDF :data:`dictionary` -- also called the \"root\" -- " +"containing document-wide parameters and pointers to many other " +"information. Its :data:`xref` is returned by " +":meth:`Document.pdf_catalog`." +msgstr "문서 전체 매개변수와 다른 많은 정보에 대한 포인터를 포함하는 중앙 PDF :data:`dictionary` 입니다 -- \"root\"라고도 합니다. 그 :data:`xref` 는 :meth:`Document.pdf_catalog` 에 의해 반환됩니다." + +#: ../../glossary.rst:58 5758183571814745904de85f3da96f2c +msgid "" +"More precisely, the **PDF trailer** contains information in " +":data:`dictionary` format. It is usually located at the file's end. In " +"this dictionary, you will find things like the xrefs of the catalog and " +"the metadata, the number of :data:`xref` numbers, etc. Here is the " +"definition of the PDF spec:" +msgstr "더 정확히 말하면, **PDF trailer** 는 :data:`dictionary` 형식의 정보를 포함합니다. 일반적으로 파일의 끝에 위치합니다. 이 사전에는 카탈로그 및 메타데이터의 xref, :data:`xref` 번호의 개수 등이 포함됩니다. PDF 사양의 정의는 다음과 같습니다:" + +#: ../../glossary.rst:60 0d85c5a6d7454c289824fc58d0a6fdef +msgid "" +"*\"The trailer of a PDF file enables an application reading the file to " +"quickly find the cross-reference table and certain special objects. " +"Applications should read a PDF file from its end.\"*" +msgstr "*\"PDF 파일의 trailer는 파일을 읽는 애플리케이션이 교차 참조 테이블과 특정 특수 객체를 빠르게 찾을 수 있게 합니다. 애플리케이션은 PDF 파일을 끝에서부터 읽어야 합니다.\"*" + +#: ../../glossary.rst:62 5e0b8a538504497aa555e757cfa9f113 +msgid "" +"To access the trailer in PyMuPDF, use the usual methods " +":meth:`Document.xref_object`, :meth:`Document.xref_get_key` and " +":meth:`Document.xref_get_keys` with `-1` instead of a positive xref " +"number." +msgstr "PyMuPDF에서 trailer에 액세스하려면 일반 메서드 :meth:`Document.xref_object`, :meth:`Document.xref_get_key` 및 :meth:`Document.xref_get_keys` 를 양수 xref 번호 대신 `-1` 과 함께 사용하세요." + +#: ../../glossary.rst:66 96ea53e1526e4f31b6a7cd5ebbeef7a7 +msgid "" +"A **content stream** is a PDF :data:`object` with an attached " +":data:`stream`, whose data consists of a sequence of instructions " +"describing the graphical elements to be painted on a page, see \"Stream " +"Objects\" on page 19 of :ref:`AdobeManual`. For an overview of the mini-" +"language used in these streams, see chapter \"Operator Summary\" on page " +"643 of the :ref:`AdobeManual`. A PDF :data:`page` can have none to many " +"contents objects. If it has none, the page is empty (but still may show " +"annotations). If it has several, they will be interpreted in sequence as " +"if their instructions had been present in one such object (i.e. like in a" +" concatenated string). It should be noted that there are more stream " +"object types which use the same syntax: e.g. appearance dictionaries " +"associated with annotations and Form XObjects." +msgstr "**content stream** 은 첨부된 :data:`stream` 이 있는 PDF :data:`object` 로, 그 데이터는 페이지에 그려질 그래픽 요소를 설명하는 명령 시퀀스로 구성됩니다. :ref:`AdobeManual` 의 19페이지 \"Stream Objects\"를 참조하세요. 이러한 스트림에서 사용되는 미니 언어의 개요는 :ref:`AdobeManual` 의 643페이지 \"Operator Summary\" 장을 참조하세요. PDF :data:`page` 는 0개에서 여러 개의 contents 객체를 가질 수 있습니다. 없으면 페이지가 비어 있습니다(하지만 여전히 주석을 표시할 수 있습니다). 여러 개가 있으면 하나의 객체에 명령이 있는 것처럼 순차적으로 해석됩니다(즉, 연결된 문자열처럼). 동일한 구문을 사용하는 더 많은 스트림 객체 유형이 있습니다: 예를 들어 주석 및 Form XObject와 연결된 appearance dictionary." + +#: ../../glossary.rst:68 789ecf52493843de99d4baf64aac0706 +msgid "PyMuPDF provides a number of methods to deal with contents of PDF pages:" +msgstr "PyMuPDF는 PDF 페이지의 콘텐츠를 처리하기 위한 여러 메서드를 제공합니다:" + +#: ../../glossary.rst:70 7af31d456e6049c781db775b0d937ce4 +msgid "" +":meth:`Page.read_contents()` -- reads and concatenates all page contents " +"into one `bytes` object." +msgstr ":meth:`Page.read_contents()` -- 모든 페이지 콘텐츠를 읽어서 하나의 `bytes` 객체로 연결합니다." + +#: ../../glossary.rst:71 ed6a3af3341c4060a1e4a75572b4ddd5 +msgid "" +":meth:`Page.clean_contents()` -- a wrapper of a MuPDF function that " +"reads, concatenates and syntax-cleans all page contents. After this, only" +" one `/Contents` object will exist. In addition, page :data:`resources` " +"will have been synchronized with it such that it will contain exactly " +"those images, fonts and other objects that the page actually references." +msgstr ":meth:`Page.clean_contents()` -- 모든 페이지 콘텐츠를 읽고, 연결하고, 구문을 정리하는 MuPDF 함수의 래퍼입니다. 이후에는 하나의 `/Contents` 객체만 존재합니다. 또한 페이지 :data:`resources` 가 동기화되어 페이지가 실제로 참조하는 이미지, 글꼴 및 기타 객체만 정확히 포함됩니다." + +#: ../../glossary.rst:72 b5f192573e604b7ab3a23459f4ff8d28 +msgid "" +":meth:`Page.get_contents()` -- return a list of :data:`xref` numbers of a" +" page's :data:`contents` objects. May be empty. Use " +":meth:`Document.xref_stream()` with one of these xrefs to read the resp. " +"contents section." +msgstr ":meth:`Page.get_contents()` -- 페이지의 :data:`contents` 객체의 :data:`xref` 번호 목록을 반환합니다. 비어 있을 수 있습니다. 이러한 xref 중 하나와 함께 :meth:`Document.xref_stream()` 을 사용하여 해당 콘텐츠 섹션을 읽으세요." + +#: ../../glossary.rst:73 1999ff45a4f744478c87ada7170c63a7 +msgid "" +":meth:`Page.set_contents()` -- set a page's `/Contents` key to the " +"provided :data:`xref` number." +msgstr ":meth:`Page.set_contents()` -- 페이지의 `/Contents` 키를 제공된 :data:`xref` 번호로 설정합니다." + +#: ../../glossary.rst:77 a33fe5bd332e49fbac0209663f12f749 +msgid "" +"A :data:`dictionary` containing references to any resources (like images " +"or fonts) required by a PDF :data:`page` (required, inheritable, " +":ref:`AdobeManual` p. 81) and certain other objects (Form XObjects). This" +" dictionary appears as a sub-dictionary in the object definition under " +"the key */Resources*. Being an inheritable object type, there may exist " +"\"parent\" resources for all pages or certain subsets of pages." +msgstr "PDF :data:`page` 에 필요한 리소스(이미지 또는 글꼴 등)에 대한 참조를 포함하는 :data:`dictionary` 입니다(필수, 상속 가능, :ref:`AdobeManual` p. 81) 및 특정 다른 객체(Form XObject). 이 사전은 키 */Resources* 아래의 객체 정의에 하위 사전으로 나타납니다. 상속 가능한 객체 유형이므로 모든 페이지 또는 특정 페이지 하위 집합에 대한 \"부모\" 리소스가 존재할 수 있습니다." + +#: ../../glossary.rst:81 d54465f90aea45f4be640dcb0dd409ab +msgid "" +"A PDF :data:`object` type, which is somewhat comparable to the same-named" +" Python notion: \"A dictionary object is an associative table containing " +"pairs of objects, known as the dictionary's entries. The first element of" +" each entry is the key and the second element is the value. The key must " +"be a name (...). The value can be any kind of object, including another " +"dictionary. A dictionary entry whose value is null (...) is equivalent to" +" an absent entry.\" (:ref:`AdobeManual` p. 18)." +msgstr "동일한 이름의 Python 개념과 어느 정도 비교할 수 있는 PDF :data:`object` 유형입니다: \"dictionary 객체는 dictionary의 항목으로 알려진 객체 쌍을 포함하는 연관 테이블입니다. 각 항목의 첫 번째 요소는 키이고 두 번째 요소는 값입니다. 키는 이름이어야 합니다(...). 값은 다른 dictionary를 포함하여 모든 종류의 객체일 수 있습니다. 값이 null인 dictionary 항목(...)은 없는 항목과 동일합니다.\" (:ref:`AdobeManual` p. 18)." + +#: ../../glossary.rst:83 f8dd50a4a4dd44b2ab3811dde6bd8cf3 +msgid "" +"Dictionaries are the most important :data:`object` type in PDF. Here is " +"an example (describing a :data:`page`)::" +msgstr "Dictionary는 PDF에서 가장 중요한 :data:`object` 유형입니다. 다음은 예제입니다(:data:`page` 설명)::" + +#: ../../glossary.rst:102 b9f82bb7035946b4804cfd94101fd4c4 +msgid "" +"*Contents*, *Type*, *MediaBox*, etc. are **keys**, *40 0 R*, *Page*, *[0 " +"0 595.32 841.92]*, etc. are the respective **values**. The strings " +"*\"<<\"* and *\">>\"* are used to enclose object definitions." +msgstr "*Contents*, *Type*, *MediaBox* 등은 **키** 이고, *40 0 R*, *Page*, *[0 0 595.32 841.92]* 등은 각각의 **값** 입니다. 문자열 *\"<<\"* 및 *\">>\"* 는 객체 정의를 묶는 데 사용됩니다." + +#: ../../glossary.rst:104 b635f1dd09be42db81dc681669f2d25d +msgid "" +"This example also shows the syntax of **nested** dictionary values: " +"*Resources* has an object as its value, which in turn is a dictionary " +"with keys like *ExtGState* (with the value *<>*, which is " +"another dictionary), etc." +msgstr "이 예제는 **중첩된** dictionary 값의 구문도 보여줍니다: *Resources* 는 그 값으로 객체를 가지며, 이 객체는 *ExtGState* (값은 *<>* 로, 또 다른 dictionary)와 같은 키를 가진 dictionary입니다." + +#: ../../glossary.rst:108 acf84ed282d0488ca9ec42cb7a8b05cd +msgid "" +"A PDF page is a :data:`dictionary` object which defines one page in a " +"PDF, see :ref:`AdobeManual` p. 71." +msgstr "PDF 페이지는 PDF의 한 페이지를 정의하는 :data:`dictionary` 객체입니다. :ref:`AdobeManual` p. 71을 참조하세요." + +#: ../../glossary.rst:112 2e0101c6f2df4a99a2a341fe77b08849 +msgid "" +"The pages of a document are accessed through a structure known as the " +"page tree, which defines the ordering of pages in the document. The tree " +"structure allows PDF consumer applications, using only limited memory, to" +" quickly open a document containing thousands of pages. The tree contains" +" nodes of two types: intermediate nodes, called page tree nodes, and leaf" +" nodes, called page objects. (:ref:`AdobeManual` p. 75)." +msgstr "문서의 페이지는 페이지 트리라고 하는 구조를 통해 액세스되며, 이는 문서의 페이지 순서를 정의합니다. 트리 구조를 사용하면 제한된 메모리만 사용하여 수천 페이지를 포함하는 문서를 빠르게 열 수 있습니다. 트리에는 두 가지 유형의 노드가 포함됩니다: 중간 노드(페이지 트리 노드라고 함)와 리프 노드(페이지 객체라고 함). (:ref:`AdobeManual` p. 75)." + +#: ../../glossary.rst:114 4d06cfcc4e614225ae5861c899219585 +msgid "" +"While it is possible to list all page references in just one array, PDFs " +"with many pages are often created using *balanced tree* structures " +"(\"page trees\") for faster access to any single page. In relation to the" +" total number of pages, this can reduce the average page access time by " +"page number from a linear to some logarithmic order of magnitude." +msgstr "모든 페이지 참조를 하나의 배열에 나열하는 것이 가능하지만, 많은 페이지가 있는 PDF는 단일 페이지에 더 빠르게 액세스하기 위해 *균형 트리* 구조(\"페이지 트리\")를 사용하여 생성되는 경우가 많습니다. 전체 페이지 수와 관련하여, 이를 통해 페이지 번호별 평균 페이지 액세스 시간을 선형에서 대수적 크기 순서로 줄일 수 있습니다." + +#: ../../glossary.rst:116 01db9b917bcc4cb89215ac102dda29c9 +msgid "" +"For fast page access, MuPDF can use its own array in memory -- " +"independently from what may or may not be present in the document file. " +"This array is indexed by page number and therefore much faster than even " +"the access via a perfectly balanced page tree." +msgstr "빠른 페이지 액세스를 위해 MuPDF는 문서 파일에 있을 수도 있고 없을 수도 있는 것과 독립적으로 메모리에서 자체 배열을 사용할 수 있습니다. 이 배열은 페이지 번호로 인덱싱되므로 완벽하게 균형 잡힌 페이지 트리를 통한 액세스보다 훨씬 빠릅니다." + +#: ../../glossary.rst:120 387b50e08c0a4411b5174a213523a1c0 +msgid "" +"Similar to Python, PDF supports the notion *object*, which can come in " +"eight basic types: boolean values (\"true\" or \"false\"), integer and " +"real numbers, strings (**always** enclosed in brackets -- either \"()\", " +"or \"<>\" to indicate hexadecimal), names (must always start with a " +"\"/\", e.g. `/Contents`), arrays (enclosed in brackets \"[]\"), " +"dictionaries (enclosed in brackets \"<<>>\"), streams (enclosed by " +"keywords \"stream\" / \"endstream\"), and the null object (\"null\") " +"(:ref:`AdobeManual` p. 13). Objects can be made identifiable by assigning" +" a label. This label is then called *indirect* object. PyMuPDF supports " +"retrieving definitions of indirect objects via their cross reference " +"number via :meth:`Document.xref_object`." +msgstr "Python과 유사하게, PDF는 *object* 개념을 지원하며, 8가지 기본 유형이 있습니다: 불리언 값(\"true\" 또는 \"false\"), 정수 및 실수, 문자열(**항상** 괄호로 묶임 -- \"()\" 또는 16진수를 나타내는 \"<>\"), 이름(항상 \"/\"로 시작해야 함, 예: `/Contents`), 배열(괄호 \"[]\"로 묶임), dictionary(괄호 \"<<>>\"로 묶임), 스트림(키워드 \"stream\" / \"endstream\"로 묶임), null 객체(\"null\") (:ref:`AdobeManual` p. 13). 객체는 레이블을 할당하여 식별 가능하게 만들 수 있습니다. 이 레이블은 *indirect* 객체라고 합니다. PyMuPDF는 :meth:`Document.xref_object` 를 통해 교차 참조 번호로 indirect 객체의 정의를 검색하는 것을 지원합니다." + +#: ../../glossary.rst:124 06fab8191ebd49d98a31a5d42c048ce5 +msgid "" +"A PDF :data:`dictionary` :data:`object` type which is followed by a " +"sequence of bytes, similar to Python *bytes*. \"However, a PDF " +"application can read a stream incrementally, while a string must be read " +"in its entirety. Furthermore, a stream can be of unlimited length, " +"whereas a string is subject to an implementation limit. For this reason, " +"objects with potentially large amounts of data, such as images and page " +"descriptions, are represented as streams.\" \"A stream consists of a " +":data:`dictionary` followed by zero or more bytes bracketed between the " +"keywords *stream* and *endstream*\"::" +msgstr "Python *bytes* 와 유사한 바이트 시퀀스가 뒤따르는 PDF :data:`dictionary` :data:`object` 유형입니다. \"그러나 PDF 애플리케이션은 스트림을 점진적으로 읽을 수 있지만 문자열은 전체를 읽어야 합니다. 또한 스트림은 무제한 길이일 수 있지만 문자열은 구현 제한이 적용됩니다. 이러한 이유로 이미지 및 페이지 설명과 같이 잠재적으로 많은 양의 데이터를 가진 객체는 스트림으로 표현됩니다.\" \"스트림은 키워드 *stream* 과 *endstream* 사이에 괄호로 묶인 0개 이상의 바이트가 뒤따르는 :data:`dictionary` 로 구성됩니다\"::" + +#: ../../glossary.rst:135 8dc0a34bf972472abef68fc3fe378101 +msgid "" +"See :ref:`AdobeManual` p. 19. PyMuPDF supports retrieving stream content " +"via :meth:`Document.xref_stream`. Use :meth:`Document.is_stream` to " +"determine whether an object is of stream type." +msgstr ":ref:`AdobeManual` p. 19를 참조하세요. PyMuPDF는 :meth:`Document.xref_stream` 을 통해 스트림 콘텐츠를 검색하는 것을 지원합니다. 객체가 스트림 유형인지 확인하려면 :meth:`Document.is_stream` 을 사용하세요." + +#: ../../glossary.rst:139 d4686fb4f3814da3a119b81f119de382 +msgid "" +"A mathematical notion meaning a vector of norm (\"length\") 1 -- usually " +"the Euclidean norm is implied. In PyMuPDF, this term is restricted to " +":ref:`Point` objects, see :attr:`Point.unit`." +msgstr "노름(\"길이\")이 1인 벡터를 의미하는 수학적 개념입니다 -- 일반적으로 유클리드 노름을 의미합니다. PyMuPDF에서 이 용어는 :ref:`Point` 객체로 제한됩니다. :attr:`Point.unit` 을 참조하세요." + +#: ../../glossary.rst:143 e286649e7ce1436db8fbb7e65637ba3a +msgid "" +"Abbreviation for cross-reference number: this is an integer unique " +"identification for objects in a PDF. There exists a cross-reference table" +" (which may physically consist of several separate segments) in each PDF," +" which stores the relative position of each object for quick lookup. The " +"cross-reference table is one entry longer than the number of existing " +"object: item zero is reserved and must not be used in any way. Many " +"PyMuPDF classes have an :data:`xref` attribute (which is zero for non-" +"PDFs), and one can find out the total number of objects in a PDF via " +":meth:`Document.xref_length` *- 1*." +msgstr "교차 참조 번호의 약어: PDF의 객체에 대한 고유한 정수 식별자입니다. 각 PDF에는 빠른 조회를 위해 각 객체의 상대 위치를 저장하는 교차 참조 테이블이 있습니다(물리적으로 여러 개의 별도 세그먼트로 구성될 수 있음). 교차 참조 테이블은 기존 객체 수보다 하나 더 긴 항목을 가집니다: 항목 0은 예약되어 있으며 어떤 방식으로도 사용해서는 안 됩니다. 많은 PyMuPDF 클래스에는 :data:`xref` 속성이 있습니다(비PDF의 경우 0). :meth:`Document.xref_length` *- 1* 을 통해 PDF의 객체 총 수를 확인할 수 있습니다." + +#: ../../glossary.rst:148 6aa968ee6fb249d1bc62117c164aba0c +msgid "" +"When referring to font size this metric is measured in points where 1 " +"inch = 72 points." +msgstr "글꼴 크기를 나타낼 때 이 측정값은 포인트로 측정되며, 1인치 = 72포인트입니다." + +#: ../../glossary.rst:152 8c31d4e0a1d44b928122302b18a161d4 +msgid "" +"Images and :ref:`Pixmap` objects may contain resolution information " +"provided as \"dots per inch\", dpi, in each direction (horizontal and " +"vertical). When MuPDF reads an image from a file or from a PDF object, it" +" will parse this information and put it in :attr:`Pixmap.xres`, " +":attr:`Pixmap.yres`, respectively. If it finds no meaningful information " +"in the input (like non-positive values or values exceeding 4800), it will" +" use \"sane\" defaults instead. The usual default value is 96, but it may" +" also be 72 in some cases (e.g. for JPX images)." +msgstr "이미지 및 :ref:`Pixmap` 객체는 각 방향(수평 및 수직)에서 \"인치당 도트 수\"인 dpi로 제공되는 해상도 정보를 포함할 수 있습니다. MuPDF가 파일 또는 PDF 객체에서 이미지를 읽을 때 이 정보를 구문 분석하여 각각 :attr:`Pixmap.xres`, :attr:`Pixmap.yres` 에 넣습니다. 입력에서 의미 있는 정보를 찾지 못하면(양수가 아닌 값 또는 4800을 초과하는 값 등) 대신 \"적절한\" 기본값을 사용합니다. 일반적인 기본값은 96이지만 일부 경우(예: JPX 이미지)에는 72일 수도 있습니다." + +#: ../../glossary.rst:156 3e01cf857dca416c8faa34ba7d94265e +msgid "" +"Optional content properties dictionary - a sub :data:`dictionary` of the " +"PDF :data:`catalog`. The central place to store optional content " +"information, which is identified by the key `/OCProperties`. This " +"dictionary has two required and one optional entry: (1) `/OCGs`, " +"required, an array listing all optional content groups, (2) `/D`, " +"required, the default optional content configuration dictionary (OCCD), " +"(3) `/Configs`, optional, an array of alternative OCCDs." +msgstr "선택적 콘텐츠 속성 dictionary - PDF :data:`catalog` 의 하위 :data:`dictionary`. 선택적 콘텐츠 정보를 저장하는 중앙 위치이며, 키 `/OCProperties` 로 식별됩니다. 이 dictionary에는 두 개의 필수 항목과 하나의 선택적 항목이 있습니다: (1) `/OCGs`, 필수, 모든 선택적 콘텐츠 그룹을 나열하는 배열, (2) `/D`, 필수, 기본 선택적 콘텐츠 구성 dictionary(OCCD), (3) `/Configs`, 선택, 대체 OCCD 배열." + +#: ../../glossary.rst:161 428928e7e81c403491625f300bc7e77c +msgid "" +"Optional content configuration dictionary - a PDF :data:`dictionary` " +"inside the PDF :data:`OCPD`. It stores a setting of ON / OFF states of " +"OCGs and how they are presented to a PDF viewer program. Selecting a " +"configuration is quick way to achieve temporary mass visibility state " +"changes. After opening a PDF, the `/D` configuration of the :data:`OCPD` " +"is always activated. Viewer should offer a way to switch between the " +"`/D`, or one of the optional configurations contained in array " +"`/Configs`." +msgstr "선택적 콘텐츠 구성 dictionary - PDF :data:`OCPD` 내부의 PDF :data:`dictionary`. OCG의 ON/OFF 상태 설정과 PDF 뷰어 프로그램에 표시되는 방식을 저장합니다. 구성을 선택하는 것은 일시적인 대량 표시 상태 변경을 빠르게 달성하는 방법입니다. PDF를 연 후 :data:`OCPD` 의 `/D` 구성이 항상 활성화됩니다. 뷰어는 `/D` 또는 배열 `/Configs` 에 포함된 선택적 구성 중 하나 사이를 전환하는 방법을 제공해야 합니다." + +#: ../../glossary.rst:166 01fc3682e86d471d815772b433b66de6 +msgid "" +"Optional content group -- a :data:`dictionary` object used to control the" +" visibility of other PDF objects like images or annotations. " +"Independently on which page they are defined, objects with the same OCG " +"can simultaneously be shown or hidden by setting their OCG to ON or OFF. " +"This can be achieved via the user interface provided by many PDF viewers " +"(Adobe Acrobat), or programmatically." +msgstr "선택적 콘텐츠 그룹 -- 이미지 또는 주석과 같은 다른 PDF 객체의 표시를 제어하는 데 사용되는 :data:`dictionary` 객체. 정의된 페이지와 무관하게 동일한 OCG를 가진 객체는 OCG를 ON 또는 OFF로 설정하여 동시에 표시하거나 숨길 수 있습니다. 이는 많은 PDF 뷰어(Adobe Acrobat)가 제공하는 사용자 인터페이스를 통해 또는 프로그래밍 방식으로 달성할 수 있습니다." + +#: ../../glossary.rst:170 63d877bcd5ef46dbb557f06da22dff6e +msgid "" +"Optional content membership dictionary -- a :data:`dictionary` object " +"which can be used like an :data:`OCG`: it has a visibility state. The " +"visibility of an OCMD is **computed:** it is a logical expression, which " +"uses the state of one or more OCGs to produce a boolean value. The " +"expression's result is interpreted as ON (true) or OFF (false)." +msgstr "선택적 콘텐츠 멤버십 dictionary -- :data:`OCG` 처럼 사용할 수 있는 :data:`dictionary` 객체: 표시 상태가 있습니다. OCMD의 표시는 **계산됩니다:** 하나 이상의 OCG 상태를 사용하여 불리언 값을 생성하는 논리식입니다. 식의 결과는 ON(true) 또는 OFF(false)로 해석됩니다." + +#: ../../glossary.rst:174 7685086584e0476aa01c94592195fd87 +msgid "" +"Some frequent character combinations are represented by their own special" +" glyphs in more advanced fonts. Typical examples are \"fi\", \"fl\", " +"\"ffi\" and \"ffl\". These compounds are called *ligatures*. In PyMuPDF " +"text extractions, there is the option to either return the corresponding " +"unicode unchanged, or split ligatures up into their constituent parts: " +"\"fi\" ==> \"f\" + \"i\", etc." +msgstr "일부 빈번한 문자 조합은 더 고급 글꼴에서 자체 특수 글리프로 표현됩니다. 일반적인 예는 \"fi\", \"fl\", \"ffi\", \"ffl\"입니다. 이러한 복합체를 *ligature* 라고 합니다. PyMuPDF 텍스트 추출에서는 해당 유니코드를 변경하지 않고 반환하거나 ligature를 구성 요소로 분할하는 옵션이 있습니다: \"fi\" ==> \"f\" + \"i\" 등." + +#: ../../footer.rst:46 55f27ea4f801402884fd2fc89352730f +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/header-404.mo b/docs/locales/ko/LC_MESSAGES/header-404.mo new file mode 100644 index 000000000..ece8a2c35 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/header-404.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/header-404.po b/docs/locales/ko/LC_MESSAGES/header-404.po new file mode 100644 index 000000000..69acadcad --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/header-404.po @@ -0,0 +1,37 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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-404.rst:-1 eeba22b6b6f24accb7aaaf2ca8de91f4 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header-404.rst:-1 32c66b9fa56c4fa3b5b6abcd9f3abcfc +msgid "" +"PyMuPDF is a high-performance Python library for data extraction, " +"analysis, conversion & manipulation of PDF (and other) documents." +msgstr "PyMuPDF는 PDF 및 기타 문서의 데이터 추출, 분석, 변환, 조작을 위한 고성능 Python 라이브러리입니다." + +#: ../../header-404.rst:-1 6b881eb1ccc64d55990a936130aecf2d +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" + diff --git a/docs/locales/ko/LC_MESSAGES/header.mo b/docs/locales/ko/LC_MESSAGES/header.mo new file mode 100644 index 000000000..ece8a2c35 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/header.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/header.po b/docs/locales/ko/LC_MESSAGES/header.po new file mode 100644 index 000000000..ea2e1f72a --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/header.po @@ -0,0 +1,37 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 2f3a42d58aed4c8d919199a1628e46e5 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 8c5d0e6b475d4acbbd44f0169353b949 +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 8a0b412ed68e4084a844b1d3978b547f +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" + diff --git a/docs/locales/ko/LC_MESSAGES/how-to-open-a-file.mo b/docs/locales/ko/LC_MESSAGES/how-to-open-a-file.mo new file mode 100644 index 000000000..a069fd8b5 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/how-to-open-a-file.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/how-to-open-a-file.po b/docs/locales/ko/LC_MESSAGES/how-to-open-a-file.po new file mode 100644 index 000000000..18e76fb1c --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/how-to-open-a-file.po @@ -0,0 +1,255 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 21b5c4028adc463abcc84975940e6301 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 ee82d615395c4e24b8b07395ed871d70 +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 1d5b2478c53f433882bce199582d444d +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" + +#: ../../how-to-open-a-file.rst:7 5ea3d22849e641d897ccb82f8a12500f +msgid "Opening Files" +msgstr "파일 열기" + +#: ../../how-to-open-a-file.rst:16 395abd8299ba47be838498d680488494 +msgid "Supported File Types" +msgstr "지원되는 파일 유형" + +#: ../../how-to-open-a-file.rst:21 cb3463a996b24a14a008c2fc0ad2b685 +msgid "PyMuPDF" +msgstr "PyMuPDF" + +#: ../../how-to-open-a-file.rst:23 036ac377808741358875a6692e0b2d95 +msgid "|PyMuPDF| can open files other than just |PDF|." +msgstr "|PyMuPDF| 는 |PDF| 외의 파일도 열 수 있습니다." + +#: ../../how-to-open-a-file.rst:25 ../../how-to-open-a-file.rst:38 +#: 1a17fc4b2c2e43a9a47e3a2a1ed82bd4 40ef4134dff248bc8869aed36fd176fc +msgid "The following file types are supported:" +msgstr "다음 파일 유형이 지원됩니다:" + +#: ../../how-to-open-a-file.rst:34 fa9ae965eea142478505848892067bb0 +msgid "PyMuPDF Pro" +msgstr "PyMuPDF Pro" + +#: ../../how-to-open-a-file.rst:36 c4725d269a0e41b0867c5b6b16b8960b +msgid "|PyMuPDF Pro| can open Office files." +msgstr "|PyMuPDF Pro| 는 Office 파일을 열 수 있습니다." + +#: ../../how-to-open-a-file.rst:43 d91d49bc138843188ab0077259cd82ae +msgid "**DOC/DOCX**" +msgstr "**DOC/DOCX**" + +#: ../../how-to-open-a-file.rst:44 6ff3d492743f45da9b9967b7ac205f1c +msgid "**XLS/XLSX**" +msgstr "**XLS/XLSX**" + +#: ../../how-to-open-a-file.rst:45 4c317c161ef64bebb742fc17e8e5c6d3 +msgid "**PPT/PPTX**" +msgstr "**PPT/PPTX**" + +#: ../../how-to-open-a-file.rst:46 dfd0df787a6d4a8bada3b55675495889 +msgid "**HWP/HWPX**" +msgstr "**HWP/HWPX**" + +#: ../../how-to-open-a-file.rst:63 61701c1d1007436987106ec058719b82 +msgid "How to Open a File" +msgstr "파일을 여는 방법" + +#: ../../how-to-open-a-file.rst:65 9dd2157acd454f2ea9e62168276399c2 +msgid "To open a file, do the following:" +msgstr "파일을 열려면 다음을 수행하세요:" + +#: ../../how-to-open-a-file.rst:72 284b59b0b7ca41789da44c7d61f81fc7 +msgid "" +"The above creates a :ref:`Document`. The instruction `doc = " +"pymupdf.Document(\"a.pdf\")` does exactly the same. So, `open` is just a " +"convenient alias and you can find its full API documented in that " +"chapter." +msgstr "위 코드는 :ref:`Document` 를 생성합니다. `doc = pymupdf.Document(\"a.pdf\")` 명령도 동일하게 작동합니다. 따라서 `open` 은 편의를 위한 별칭이며, 해당 장에서 전체 API 문서를 확인할 수 있습니다." + +#: ../../how-to-open-a-file.rst:76 1a5ad0264ff94231899c2caafe461a22 +msgid "" +"File Recognizer: Opening with :index:`a Wrong File Extension `" +msgstr "파일 인식기: 잘못된 파일 확장자로 열기" + +#: ../../how-to-open-a-file.rst:78 90b4fc7ee95f43f49a70a15c890eb8b8 +msgid "" +"If you have a document with a wrong file extension for its type, do not " +"worry: it will still be opened correctly, thanks to the integrated file " +"\"content recognizer\"." +msgstr "파일 유형과 다른 확장자를 가진 문서가 있어도 걱정하지 마세요: 통합된 파일 \"콘텐츠 인식기\" 덕분에 여전히 올바르게 열립니다." + +#: ../../how-to-open-a-file.rst:80 792fc8fc530d4591b0673684e9d0b274 +msgid "" +"This component looks at the actual data in the file using a number of " +"heuristics -- independent of the file extension. This of course is also " +"true for file names **without** an extension." +msgstr "이 구성 요소는 파일 확장자와 무관하게 여러 휴리스틱을 사용하여 파일의 실제 데이터를 확인합니다. 확장자가 **없는** 파일 이름에도 마찬가지입니다." + +#: ../../how-to-open-a-file.rst:82 8eec48ad8d35400f93aa9ef384f1baee +msgid "Here is a list of details about how the file content recognizer works:" +msgstr "파일 콘텐츠 인식기의 작동 방식에 대한 세부사항은 다음과 같습니다:" + +#: ../../how-to-open-a-file.rst:84 999889fc95024292bbe0dc81938a321a +msgid "" +"When opening from a file name, use the ``filetype`` parameter if your " +"file format cannot be determined by content inspection. This is for " +"instance the case for all text files: \"txt\", \"html\", \"xml\" or " +"source files. If the file extension is missing or wrong or the file " +"resides in memory, the ``filetype`` must be used. File formats that can " +"successfully be recognized will be opened even without or wrong " +"extensions, and the ``filetype`` paraneter will be ignored." +msgstr "파일 이름에서 열 때, 콘텐츠 검사를 통해 파일 형식을 결정할 수 없는 경우 ``filetype`` 매개변수를 사용하세요. 예를 들어 모든 텍스트 파일(\"txt\", \"html\", \"xml\" 또는 소스 파일)이 이에 해당합니다. 파일 확장자가 없거나 잘못되었거나 파일이 메모리에 있는 경우 ``filetype`` 을 사용해야 합니다. 성공적으로 인식할 수 있는 파일 형식은 확장자가 없거나 잘못되어도 열리며, ``filetype`` 매개변수는 무시됩니다." + +#: ../../how-to-open-a-file.rst:86 1ac5dd5257eb4ed280e6ec3ed082da31 +msgid "" +"Files based on text content do not contain unambiguously recognizable " +"internal structures. This is true for source files (Python, C, etc.) but " +"also HTML, XML and so on. Here, the file extensions and the ``filetype`` " +"parameter continue to play a role and are used to create a \"Tex\" / " +"\"HTML\" / ... document. Correspondingly, text files with other / no " +"extensions, can successfully be opened using ``filetype``." +msgstr "텍스트 콘텐츠 기반 파일은 명확하게 인식 가능한 내부 구조를 포함하지 않습니다. 소스 파일(Python, C 등)뿐만 아니라 HTML, XML 등도 마찬가지입니다. 이 경우 파일 확장자와 ``filetype`` 매개변수가 계속 역할을 하며 \"Tex\" / \"HTML\" / ... 문서를 만드는 데 사용됩니다. 따라서 다른 확장자 또는 확장자가 없는 텍스트 파일은 ``filetype`` 을 사용하여 성공적으로 열 수 있습니다." + +#: ../../how-to-open-a-file.rst:92 b9b6d23c55ea4547afea0a22f2d79c6d +msgid "Opening Remote Files" +msgstr "원격 파일 열기" + +#: ../../how-to-open-a-file.rst:95 3b43bf59bfc148328c683743eac1329f +msgid "" +"For remote files on a server (i.e. non-local files), you will need to " +"*stream* the file data to |PyMuPDF|." +msgstr "서버의 원격 파일(즉, 로컬이 아닌 파일)의 경우, 파일 데이터를 |PyMuPDF| 로 *스트리밍* 해야 합니다." + +#: ../../how-to-open-a-file.rst:97 34b7bf2e937a4250810966ed193bdfc8 +msgid "" +"For example use the `requests " +"`_ library as follows:" +msgstr "예를 들어 `requests `_ 라이브러리를 다음과 같이 사용하세요:" + +#: ../../how-to-open-a-file.rst:110 f259d8091f7242e7bdd2c51ebdd3f925 +msgid "Opening Files from Cloud Services" +msgstr "클라우드 서비스에서 파일 열기" + +#: ../../how-to-open-a-file.rst:112 21d40cb6351a4c69bc14196e1eb014ea +msgid "" +"For further examples which deal with files held on typical cloud services" +" please see these `Cloud Interactions code snippets " +"`_." +msgstr "일반적인 클라우드 서비스에 저장된 파일을 다루는 추가 예제는 `Cloud Interactions 코드 스니펫 `_ 을 참조하세요." + +#: ../../how-to-open-a-file.rst:120 de92d6a4c46143de86751bded4adc336 +msgid "Opening Django Files" +msgstr "Django 파일 열기" + +#: ../../how-to-open-a-file.rst:122 2a24401c8daf4ec1967ffd20ab41ce1c +msgid "" +"Django implements a `File Storage API " +"`_ to store " +"files. The default is the `FileSystemStorage " +"`_, but the `django-storages `_ library provides a number" +" of other storage backends." +msgstr "Django는 파일을 저장하기 위해 `File Storage API `_ 를 구현합니다. 기본값은 `FileSystemStorage `_ 이지만, `django-storages `_ 라이브러리는 여러 다른 스토리지 백엔드를 제공합니다." + +#: ../../how-to-open-a-file.rst:124 ce91bc54879b4e0caad6216633c87800 +msgid "" +"You can open the file, move the contents into memory, then pass the " +"contents to |PyMuPDF| as a stream." +msgstr "파일을 열고, 콘텐츠를 메모리로 이동한 다음, 콘텐츠를 스트림으로 |PyMuPDF| 에 전달할 수 있습니다." + +#: ../../how-to-open-a-file.rst:139 619bd327f13f4ed1a9204d62ce0a0e40 +msgid "Please note that if the file you open is large, you may run out of memory." +msgstr "열려는 파일이 큰 경우 메모리가 부족할 수 있습니다." + +#: ../../how-to-open-a-file.rst:141 e974ef8989724d7ca39ae4e2f528060d +msgid "" +"The File Storage API works well if you're using different storage " +"backends in different environments. If you're only using the " +"`FileSystemStorage`, you can simply use the `obj.file.name` to open the " +"file directly with |PyMuPDF| as shown in an earlier example." +msgstr "File Storage API는 다른 환경에서 다른 스토리지 백엔드를 사용하는 경우 잘 작동합니다. `FileSystemStorage` 만 사용하는 경우, 이전 예제에서와 같이 `obj.file.name` 을 사용하여 |PyMuPDF| 로 파일을 직접 열 수 있습니다." + +#: ../../how-to-open-a-file.rst:149 11fadcb68ef146fc93ca9f4473e140a5 +msgid "Opening Files as Text" +msgstr "파일을 텍스트로 열기" + +#: ../../how-to-open-a-file.rst:152 79658fdcc60c4f62821491708e3874a6 +msgid "" +"|PyMuPDF| has the capability to open any plain text file as a document. " +"In order to do this you should provide the `filetype` parameter for the " +"`pymupdf.open` function as `\"txt\"`." +msgstr "|PyMuPDF| 는 모든 일반 텍스트 파일을 문서로 열 수 있는 기능이 있습니다. 이를 수행하려면 `pymupdf.open` 함수의 `filetype` 매개변수를 `\"txt\"` 로 제공해야 합니다." + +#: ../../how-to-open-a-file.rst:159 d72a0b8f986843488dfc6ddc257e4f45 +msgid "" +"In this way you are able to open a variety of file types and perform the " +"typical **non-PDF** specific features like text searching, text " +"extracting and page rendering. Obviously, once you have rendered your " +"`txt` content, then saving as |PDF| or merging with other |PDF| files is " +"no problem." +msgstr "이렇게 하면 다양한 파일 유형을 열고 텍스트 검색, 텍스트 추출 및 페이지 렌더링과 같은 일반적인 **비PDF** 특정 기능을 수행할 수 있습니다. `txt` 콘텐츠를 렌더링한 후에는 |PDF| 로 저장하거나 다른 |PDF| 파일과 병합하는 것도 문제없습니다." + +#: ../../how-to-open-a-file.rst:163 25cb1a49799b43669b7c520e52fc2e46 +msgid "Examples" +msgstr "예제" + +#: ../../how-to-open-a-file.rst:167 df4ce47e55a94298b344689b280a64df +msgid "Opening a `C#` file" +msgstr "`C#` 파일 열기" + +#: ../../how-to-open-a-file.rst:176 2f20ca6b671845fca3ae2bceeb25eebd +msgid "Opening an ``XML`` file" +msgstr "``XML`` 파일 열기" + +#: ../../how-to-open-a-file.rst:184 1c25e62b57d843c9b5b8122f59295144 +msgid "Opening a `JSON` file" +msgstr "`JSON` 파일 열기" + +#: ../../how-to-open-a-file.rst:191 687e69a017bb48b682d8b720ad323f52 +msgid "And so on!" +msgstr "등등!" + +#: ../../how-to-open-a-file.rst:193 f6ae4e85cdb1469bbf04502e1bb02ccd +msgid "" +"As you can imagine many text based file formats can be *very simply " +"opened* and *interpreted* by |PyMuPDF|. This can make data analysis and " +"extraction for a wide range of previously unavailable files possible." +msgstr "상상할 수 있듯이 많은 텍스트 기반 파일 형식은 |PyMuPDF| 로 *매우 간단하게 열고* *해석할* 수 있습니다. 이를 통해 이전에 사용할 수 없었던 광범위한 파일에 대한 데이터 분석 및 추출이 가능해집니다." + +#: ../../footer.rst:46 6894d49c24fc4cfa8f9d99a9257edfdf +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/identity.mo b/docs/locales/ko/LC_MESSAGES/identity.mo new file mode 100644 index 000000000..7fee39f77 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/identity.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/identity.po b/docs/locales/ko/LC_MESSAGES/identity.po new file mode 100644 index 000000000..f66545b10 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/identity.po @@ -0,0 +1,64 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 74c1aedfabcd4a5c96f4c2597285c328 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 6b94c7df538e4108a3a5ad33241349ec +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 23ee2c9ef17542ffbf5210e348e9de6a +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" + +#: ../../identity.rst:7 ec6871dd23a6408aba45460204127d54 +msgid "Identity" +msgstr "Identity" + +#: ../../identity.rst:9 776ab5a8eb3b4fd5ac5d1b88b17d507a +msgid "" +"Identity is a :ref:`Matrix` that performs no action -- to be used " +"whenever the syntax requires a matrix, but no actual transformation " +"should take place. It has the form *pymupdf.Matrix(1, 0, 0, 1, 0, 0)*." +msgstr "Identity는 아무 작업도 수행하지 않는 :ref:`Matrix` 입니다. 구문이 행렬을 요구하지만 실제 변환이 필요하지 않을 때 사용됩니다. 형식은 *pymupdf.Matrix(1, 0, 0, 1, 0, 0)* 입니다." + +#: ../../identity.rst:11 2260793ef04b4f739e2e3ba60744f1c2 +msgid "" +"Identity is a constant, an \"immutable\" object. So, all of its matrix " +"properties are read-only and its methods are disabled." +msgstr "Identity는 상수이며 \"불변\" 객체입니다. 따라서 모든 행렬 속성은 읽기 전용이고 메서드는 비활성화됩니다." + +#: ../../identity.rst:13 66677799dfa547a68a4f708a29d071a0 +msgid "" +"If you need a **mutable** identity matrix as a starting point, use one of" +" the following statements::" +msgstr "시작점으로 **변경 가능한** 항등 행렬이 필요하면 다음 문 중 하나를 사용하세요::" + +#: ../../footer.rst:46 62e975eb99a4452285d40da0e91fc76e +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/index.mo b/docs/locales/ko/LC_MESSAGES/index.mo new file mode 100644 index 000000000..b14f7f222 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/index.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/index.po b/docs/locales/ko/LC_MESSAGES/index.po new file mode 100644 index 000000000..901afd577 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/index.po @@ -0,0 +1,78 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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" + +#: ../../index.rst:39 952c2d69888a45e9b0da6e043ddab148 +msgid "About" +msgstr "소개" + +#: ../../index.rst:50 83a8e5dd2a9b4d099b68e52044113c27 +msgid "User Guide" +msgstr "사용자 가이드" + +#: ../../index.rst:62 d17242cca69d431c8485f8ab5b729f2e +msgid "How to Guide" +msgstr "사용 방법 가이드" + +#: ../../index.rst:69 7466b8745c424beaac09483b379e1f16 +msgid "API Reference" +msgstr "API 참조" + +#: ../../index.rst:82 b24fcc31226540bc96465c601658ca98 +msgid "Other" +msgstr "기타" + +#: ../../header.rst:-1 43d585d8a38b489ca647a0f6d7ee01dd +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 6af6f9115aea4bcba5a905e65f50def7 +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 d0fa97b60e13424eb62997400c445a63 +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" + +#: ../../index.rst:20 3275915a8da84e58bd47e046c54375d2 +msgid "Welcome to |PyMuPDF|" +msgstr "|PyMuPDF| 에 오신 것을 환영합니다" + +#: ../../index.rst:22 443397ce6ddd47f5b1d2c0008cd4b639 +msgid "" +"|PyMuPDF| is a high-performance **Python** library for data extraction, " +"analysis, conversion & manipulation of |PDF| (and other) documents." +msgstr "|PyMuPDF| 는 |PDF| 및 기타 문서의 데이터 추출, 분석, 변환, 조작 기능을 제공하는 고성능 **Python** 라이브러리입니다." + +#: ../../index.rst:24 b09454f69e4247b09e28b65c7744f34a +msgid "" +"|PyMuPDF| is hosted on `GitHub `_ and" +" registered on `PyPI `_." +msgstr "|PyMuPDF| 는 `GitHub `_ 에 호스팅되고 `PyPI `_ 에 등록되어 있습니다." + +#: ../../footer.rst:46 ../../index.rst:35 9c0239a10d754ddea28f6b0d7597c26f +#: d10c71ec0c454e0899fc16f6f34f2a83 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/installation.mo b/docs/locales/ko/LC_MESSAGES/installation.mo new file mode 100644 index 000000000..5033cf497 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/installation.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/installation.po b/docs/locales/ko/LC_MESSAGES/installation.po new file mode 100644 index 000000000..e62c50493 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/installation.po @@ -0,0 +1,575 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PyMuPDF 1.26.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-02 16:19+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ko\n" +"Language-Team: ko \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 96029ef0e2b04d549d1dd8636b516591 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 2e20adf971da4adf8ade567b89099694 +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 e225975277fd4141bab6dfb2babcab67 +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" + +#: ../../installation.rst:6 ../../installation.rst:31 +#: 0e5b938092394f76bb79bd60b8b7bcc8 362130f7ee184277a844a2094e73b166 +msgid "Installation" +msgstr "설치" + +#: ../../installation.rst:9 5756ccf1a8cf47d489d528757b4ff1ed +msgid "Requirements" +msgstr "요구사항" + +#: ../../installation.rst:11 59418d8369d141eb9ff64af78a5cd0d1 +msgid "" +"All the examples below assume that you are running inside a Python " +"virtual environment. See: https://docs.python.org/3/library/venv.html for" +" details. We also assume that `pip` is up to date." +msgstr "아래의 모든 예제는 Python 가상 환경 내에서 실행 중이라고 가정합니다. 자세한 내용은 https://docs.python.org/3/library/venv.html 을 참조하세요. 또한 `pip` 가 최신 버전이라고 가정합니다." + +#: ../../installation.rst:15 c0c567ab87e545dcb02f98a499237cac +msgid "For example:" +msgstr "예를 들어:" + +#: ../../installation.rst:17 3566b454695c4d74836795503dc32f88 +msgid "Windows::" +msgstr "Windows::" + +#: ../../installation.rst:23 30d9561c3bbd45f79998c3672a481495 +msgid "Linux, MacOS::" +msgstr "Linux, MacOS::" + +#: ../../installation.rst:33 a214d3639973479385b1f7fb97f49eb2 +msgid "|PyMuPDF| should be installed using pip with::" +msgstr "|PyMuPDF| 는 다음 명령으로 pip를 사용하여 설치해야 합니다::" + +#: ../../installation.rst:37 ea5698bf08544d95ab4dfd879681ba77 +msgid "" +"This will install from a Python wheel if one is available for your " +"platform." +msgstr "플랫폼에 사용 가능한 Python wheel이 있으면 이를 사용하여 설치됩니다." + +#: ../../installation.rst:41 41710c287f054c699809c8bb0c6be619 +msgid "Installation when a suitable wheel is not available" +msgstr "적합한 wheel 파일을 사용할 수 없는 경우의 설치" + +#: ../../installation.rst:43 edcf8eac64af49bb9cbe25cbe7de7c5a +msgid "" +"If a suitable Python wheel is not available, pip will automatically build" +" from source using a Python sdist." +msgstr "적합한 Python wheel 파일을 사용할 수 없는 경우, pip는 Python sdist를 사용하여 소스에서 자동으로 빌드합니다." + +#: ../../installation.rst:46 10c33b59ba9e4c868ae010f2a7028814 +msgid "**This requires C/C++ development tools to be installed**:" +msgstr "**이를 위해서는 C/C++ 개발 도구가 설치되어 있어야 합니다**:" + +#: ../../installation.rst:48 5ad6beabf5d6474dab9c471133784cb8 +msgid "On Windows:" +msgstr "Windows에서:" + +#: ../../installation.rst:51 c850480032484111ad409c8a6d7cc794 +msgid "" +"Install Visual Studio 2019. If not installed in a standard location, set " +"environmental variable `PYMUPDF_SETUP_DEVENV` to the location of the " +"`devenv.com` binary." +msgstr "Visual Studio 2019를 설치하세요. 표준 위치에 설치되지 않은 경우, 환경 변수 `PYMUPDF_SETUP_DEVENV` 를 `devenv.com` 바이너리의 위치로 설정하세요." + +#: ../../installation.rst:56 65947958187d45018d139034858bc083 +msgid "" +"Having other installed versions of Visual Studio, for example Visual " +"Studio 2022, can cause problems because one can end up with MuPDF and " +"PyMuPDF code being compiled with different compiler versions." +msgstr "Visual Studio 2022와 같은 다른 버전의 Visual Studio가 설치되어 있으면, MuPDF와 PyMuPDF 코드가 서로 다른 컴파일러 버전으로 컴파일될 수 있어 문제가 발생할 수 있습니다." + +#: ../../installation.rst:60 9e448ffec0c64a40968de3839f6b2855 +msgid "The build will automatically download and build MuPDF." +msgstr "빌드는 자동으로 MuPDF를 다운로드하고 빌드합니다." + +#: ../../installation.rst:66 9ea3e134885d4f05a4c3e2a4f5bc1095 +msgid "Problems after installation" +msgstr "설치 후 문제" + +#: ../../installation.rst:68 ../../installation.rst:117 +#: 0d4df66268c544a69e1dba24527b39dc da5b4f00d11844939c6ba2c50436cde5 +msgid "On Windows, Python error::" +msgstr "Windows에서 Python 오류::" + +#: ../../installation.rst:72 05623aa04f7948f1928a5424140c8d9d +msgid "" +"This has been occasionally seen if `MSVCP140.dll` is missing, and appears" +" to be caused by a bug in some versions (2015-2017) of `Microsoft Visual " +"C++ Redistributables`." +msgstr "`MSVCP140.dll` 이 누락된 경우 가끔 발생하며, 일부 버전(2015-2017)의 `Microsoft Visual C++ 재배포 가능 패키지` 의 버그로 인한 것으로 보입니다." + +#: ../../installation.rst:76 9472b21821c84665a04e27961520861f +msgid "" +"It is recommended to search for `MSVCP140.dll` in https://msdn.com to " +"find instructions for how to reinstall it. For example " +"https://learn.microsoft.com/cpp/windows/latest-supported-vc-redist has " +"permalinks to the latest supported versions." +msgstr "https://msdn.com 에서 `MSVCP140.dll` 을 검색하여 재설치 방법을 찾는 것이 좋습니다. 예를 들어 https://learn.microsoft.com/cpp/windows/latest-supported-vc-redist 에는 지원되는 최신 버전에 대한 영구 링크가 있습니다." + +#: ../../installation.rst:81 3007dd23091741939a53721b7d628b74 +msgid "See https://github.com/pymupdf/PyMuPDF/issues/2678 for more details." +msgstr "자세한 내용은 https://github.com/pymupdf/PyMuPDF/issues/2678 을 참조하세요." + +#: ../../installation.rst:84 c9a39b500d3d45a1b18d1c3f00c2982e +msgid "Python error::" +msgstr "Python 오류::" + +#: ../../installation.rst:88 53589cbbfa6944378c7034ed948fa3b4 +msgid "" +"This can happen if PyMuPDF's legacy name `fitz` is used (for example " +"`import fitz` instead of `import pymupdf`), and an unrelated Python " +"package called `fitz` (https://pypi.org/project/fitz/) is installed." +msgstr "PyMuPDF의 레거시 이름 `fitz` 를 사용하는 경우(예: `import pymupdf` 대신 `import fitz`) 및 관련 없는 Python 패키지 `fitz` (https://pypi.org/project/fitz/)가 설치된 경우 발생할 수 있습니다." + +#: ../../installation.rst:92 f32677d324ec471f8b25f4becffc62f5 +msgid "" +"The fitz package appears to be no longer maintained (the latest release " +"is from 2017), but unfortunately it does not seem possible to remove it " +"from pypi.org. It does not even work on its own, as well as breaking the " +"use of PyMuPDF's legacy name." +msgstr "fitz 패키지는 더 이상 유지 관리되지 않는 것으로 보입니다(최신 릴리스는 2017년). 불행히도 pypi.org에서 제거하는 것은 불가능해 보입니다. 자체적으로도 작동하지 않으며 PyMuPDF의 레거시 이름 사용도 방해합니다." + +#: ../../installation.rst:97 31c58415e64d4285b88f8e33a6d97802 +msgid "There are a few ways to avoid this problem:" +msgstr "이 문제를 피하는 몇 가지 방법이 있습니다:" + +#: ../../installation.rst:100 3f88b66501a544699823982b2254031f +msgid "" +"Use `import pymupdf` instead of `import fitz`, and update one's code to " +"match." +msgstr "`import fitz` 대신 `import pymupdf` 를 사용하고 코드를 업데이트하세요." + +#: ../../installation.rst:103 eb2fe6e966f44853b6678fc67361a0c0 +msgid "Or uninstall the `fitz` package and reinstall PyMuPDF::" +msgstr "또는 `fitz` 패키지를 제거하고 PyMuPDF를 재설치하세요::" + +#: ../../installation.rst:108 f733312e30d5442d8681d28dfc2e0418 +msgid "Or use `import pymupdf as fitz`. However this has not been well tested." +msgstr "또는 `import pymupdf as fitz` 를 사용하세요. 다만 이 방법은 충분히 테스트되지 않았습니다." + +#: ../../installation.rst:110 d2942ed579c547888ca1290602ed28cc +msgid "With Jupyter labs on Apple Silicon (arm64), Python error::" +msgstr "Apple Silicon(arm64)의 Jupyter labs에서 Python 오류::" + +#: ../../installation.rst:114 3dedae1d6af9447eb2192ed96052aa90 +msgid "" +"This appears to be a problem in Jupyter labs; see: " +"https://github.com/pymupdf/PyMuPDF/issues/3643#issuecomment-2210588778." +msgstr "이는 Jupyter labs의 문제로 보입니다. 자세한 내용은 https://github.com/pymupdf/PyMuPDF/issues/3643#issuecomment-2210588778 을 참조하세요." + +#: ../../installation.rst:121 7bd3b3ebec5f4f07900684f56429ad36 +msgid "" +"This was reported 2025-03-26 in " +"https://github.com/pymupdf/PyMuPDF/issues/4405." +msgstr "이 문제는 2025-03-26에 https://github.com/pymupdf/PyMuPDF/issues/4405 에서 보고되었습니다." + +#: ../../installation.rst:123 b6139c99d78e45a6a9105ecc8404f710 +msgid "The fix appears to be to install the latest `VC_redist.x64.exe`." +msgstr "해결 방법은 최신 `VC_redist.x64.exe` 를 설치하는 것으로 보입니다." + +#: ../../installation.rst:127 bccf958282944bd4ac99d1ccf70707d4 +msgid "Notes" +msgstr "참고사항" + +#: ../../installation.rst:130 61583f96dcfd4261a2c77d364470a2ac +msgid "Wheels are available for the following platforms:" +msgstr "다음 플랫폼에 대해 wheel 파일을 사용할 수 있습니다:" + +#: ../../installation.rst:132 182364ca9ac94666825e7076e6d26a82 +msgid "Windows 32-bit Intel." +msgstr "Windows 32비트 Intel." + +#: ../../installation.rst:133 005535b4e858480eb22fb9ed70cd49fe +msgid "Windows 64-bit Intel." +msgstr "Windows 64비트 Intel." + +#: ../../installation.rst:134 7687fad16e9e41379221c5187c01a9f6 +msgid "Linux 64-bit Intel." +msgstr "Linux 64비트 Intel." + +#: ../../installation.rst:135 e8bae64d60a44c078ddab450469e771d +msgid "Linux 64-bit ARM." +msgstr "Linux 64비트 ARM." + +#: ../../installation.rst:136 2064ef5679e64d3db0b45c1dfbdff952 +msgid "MacOS 64-bit Intel." +msgstr "MacOS 64비트 Intel." + +#: ../../installation.rst:137 2190d152d5d0476b86a7e483d9bf4e00 +msgid "MacOS 64-bit ARM." +msgstr "MacOS 64비트 ARM." + +#: ../../installation.rst:139 5ba4832bb0ca40c3a6f960f5b5665e84 +msgid "Details:" +msgstr "세부사항:" + +#: ../../installation.rst:141 41c9bfb953b447c484a012628de54f36 +msgid "We release a single wheel for each of the above platforms." +msgstr "위 플랫폼 각각에 대해 단일 wheel 파일을 릴리스합니다." + +#: ../../installation.rst:144 8cf71ef8029a4d07ada650d699bfd1fc +msgid "" +"Each wheel uses the Python Stable ABI of the current oldest supported " +"Python version (currently 3.10), and so works with all later Python " +"versions, including new Python releases." +msgstr "각 wheel은 현재 지원되는 가장 오래된 Python 버전(현재 3.10)의 Python Stable ABI를 사용하므로, 새로운 Python 릴리스를 포함한 모든 이후 Python 버전에서 작동합니다." + +#: ../../installation.rst:149 85f0cb2340464eacb0b93de71ce3a42b +msgid "" +"Wheels are tested on all Python versions currently marked as " +"\"Supported\" on https://devguide.python.org/versions/, currently " +"|python_versions|." +msgstr "Wheel은 https://devguide.python.org/versions/ 에서 현재 \"지원됨\"으로 표시된 모든 Python 버전에서 테스트되며, 현재 |python_versions| 입니다." + +#: ../../installation.rst:153 b10deebc967f4ab8bdb0f24ad98ed832 +msgid "" +"Wheels are not available for Python installed with `Chocolatey " +"`_ on Windows. Instead install Python using the " +"Windows installer from the python.org website, see: " +"http://www.python.org/downloads" +msgstr "Windows에서 `Chocolatey `_ 로 설치한 Python에는 wheel 파일을 사용할 수 없습니다. 대신 python.org 웹사이트의 Windows 설치 프로그램을 사용하여 Python을 설치하세요. 자세한 내용은 http://www.python.org/downloads 를 참조하세요." + +#: ../../installation.rst:159 624bcf09993d4be0ae0f8a75b8353859 +msgid "" +"Wheels are not available for Linux-aarch64 with `Musl libc " +"`_ (For example `Alpine Linux " +"`_ on aarch64), and building from source is " +"known to fail." +msgstr "`Musl libc `_ 를 사용하는 Linux-aarch64(예: aarch64의 `Alpine Linux `_)에는 wheel 파일을 사용할 수 없으며, 소스에서 빌드하는 것은 실패하는 것으로 알려져 있습니다." + +#: ../../installation.rst:164 efeb850ab27c435e9bdc7b4bfcce4292 +msgid "" +"There are no **mandatory** external dependencies. However, some optional " +"feature are available only if additional components are installed:" +msgstr "**필수** 외부 종속성은 없습니다. 다만 일부 선택적 기능은 추가 구성 요소가 설치된 경우에만 사용할 수 있습니다:" + +#: ../../installation.rst:166 112f6dc0117840bb96de1ccb40383a6e +msgid "" +"`Pillow `_ is required for " +":meth:`Pixmap.pil_save` and :meth:`Pixmap.pil_tobytes`." +msgstr "`Pillow `_ 는 :meth:`Pixmap.pil_save` 및 :meth:`Pixmap.pil_tobytes` 에 필요합니다." + +#: ../../installation.rst:167 1ee77df6b8b94e6798a002846af1766e +msgid "" +"`fontTools `_ is required for " +":meth:`Document.subset_fonts`." +msgstr "`fontTools `_ 는 :meth:`Document.subset_fonts` 에 필요합니다." + +#: ../../installation.rst:168 28cbd6c15f344131b911099e680559b0 +msgid "" +"`pymupdf-fonts `_ is a " +"collection of nice fonts to be used for text output methods." +msgstr "`pymupdf-fonts `_ 는 텍스트 출력 방법에 사용할 수 있는 좋은 글꼴 모음입니다." + +#: ../../installation.rst:170 4e52c3cf248c4abcb79594a420fd423f +msgid "" +"`Tesseract-OCR `_ for optical" +" character recognition in images and document pages. Tesseract is " +"separate software, not a Python package. To enable OCR functions in " +"PyMuPDF, Tesseract must be installed and the `tessdata` folder name " +"specified; see below." +msgstr "이미지 및 문서 페이지의 광학 문자 인식을 위한 `Tesseract-OCR `_ 입니다. Tesseract는 별도의 소프트웨어이며 Python 패키지가 아닙니다. PyMuPDF에서 OCR 기능을 사용하려면 Tesseract를 설치하고 `tessdata` 폴더 이름을 지정해야 합니다. 아래를 참조하세요." + +#: ../../installation.rst:176 c26a998174ff490b98bd7883858b8b37 +msgid "" +"You can install these additional components at any time -- before or " +"after installing PyMuPDF. PyMuPDF will detect their presence during " +"import or when the respective functions are being used." +msgstr "이러한 추가 구성 요소는 언제든지 설치할 수 있습니다 -- PyMuPDF 설치 전후 모두 가능합니다. PyMuPDF는 가져오기 중 또는 해당 함수가 사용될 때 이들의 존재를 감지합니다." + +#: ../../installation.rst:180 06f197dc89334f00b8fde2aa343e6a2f +msgid "Build and install from a local PyMuPDF source tree" +msgstr "로컬 PyMuPDF 소스 트리에서 빌드 및 설치" + +#: ../../installation.rst:182 a5b05e1ca807403ba4f04f8b040f4089 +msgid "Initial setup:" +msgstr "초기 설정:" + +#: ../../installation.rst:184 6544cbacb1694401940667fbf45ebbe0 +msgid "Install C/C++ development tools as described above." +msgstr "위에 설명된 대로 C/C++ 개발 도구를 설치하세요." + +#: ../../installation.rst:185 0645317ab66746168a76c49a26e93d39 +msgid "Enter a Python venv and update pip, as described above." +msgstr "위에 설명된 대로 Python venv에 들어가서 pip를 업데이트하세요." + +#: ../../installation.rst:187 82271eef944e4faf817e14c489cd2c16 +msgid "Get a PyMuPDF source tree:" +msgstr "PyMuPDF 소스 트리 가져오기:" + +#: ../../installation.rst:189 3c67a60c157048679a1dafd0e6abe5fb +msgid "Clone the PyMuPDF git repository::" +msgstr "PyMuPDF git 저장소 복제::" + +#: ../../installation.rst:194 7b0c1e0a13d44979ab25c04feb345ad1 +msgid "" +"Or download and extract a `.zip` or `.tar.gz` source release from " +"https://github.com/pymupdf/PyMuPDF/releases." +msgstr "또는 https://github.com/pymupdf/PyMuPDF/releases 에서 `.zip` 또는 `.tar.gz` 소스 릴리스를 다운로드하고 압축을 풀 수 있습니다." + +#: ../../installation.rst:197 9edcc8838b654d3a9e1882ee8edefa4c +msgid "Then one can build PyMuPDF in two ways:" +msgstr "그런 다음 PyMuPDF를 두 가지 방법으로 빌드할 수 있습니다:" + +#: ../../installation.rst:199 575e45b815c94f7cad04f1b45e7c3d7f +msgid "Build and install PyMuPDF with default MuPDF version::" +msgstr "기본 MuPDF 버전으로 PyMuPDF 빌드 및 설치::" + +#: ../../installation.rst:203 bb7099833f204ff3829afd0cd54324cf +msgid "" +"This will automatically download a specific hard-coded MuPDF source " +"release, and build it into PyMuPDF." +msgstr "이렇게 하면 특정 하드코딩된 MuPDF 소스 릴리스를 자동으로 다운로드하여 PyMuPDF에 빌드합니다." + +#: ../../installation.rst:206 86e76ec90c1c4d7a89dcb112d69ccbba +msgid "Or build and install PyMuPDF using a local MuPDF source tree:" +msgstr "또는 로컬 MuPDF 소스 트리를 사용하여 PyMuPDF 빌드 및 설치:" + +#: ../../installation.rst:208 b9853c693d1f49358428f38af93edc33 +msgid "Clone the MuPDF git repository::" +msgstr "MuPDF git 저장소 복제::" + +#: ../../installation.rst:213 854b5ebfeb9847efb51d37d0f3e4c259 +msgid "" +"Build PyMuPDF, specifying the location of the local MuPDF tree with the " +"environmental variables `PYMUPDF_SETUP_MUPDF_BUILD`::" +msgstr "환경 변수 `PYMUPDF_SETUP_MUPDF_BUILD` 를 사용하여 로컬 MuPDF 트리의 위치를 지정하여 PyMuPDF 빌드::" + +#: ../../installation.rst:218 24b5cda1241e4f36b5aaf31c8df91447 +msgid "" +"Also, one can build for different Python versions in the same PyMuPDF " +"tree:" +msgstr "또한 동일한 PyMuPDF 트리에서 다른 Python 버전용으로 빌드할 수 있습니다:" + +#: ../../installation.rst:221 fc0b1a2699064aaaa377451775502e20 +msgid "" +"PyMuPDF will build for the version of Python that is being used to run " +"`pip`. To run `pip` with a specific Python version, use `python -m pip` " +"instead of `pip`." +msgstr "PyMuPDF는 `pip` 를 실행하는 데 사용되는 Python 버전에 대해 빌드됩니다. 특정 Python 버전으로 `pip` 를 실행하려면 `pip` 대신 `python -m pip` 를 사용하세요." + +#: ../../installation.rst:225 dd80aa73dedb4313a237f8c77a2d783d +msgid "So for example on Windows one can build different versions with::" +msgstr "예를 들어 Windows에서 다음과 같이 다른 버전을 빌드할 수 있습니다::" + +#: ../../installation.rst:229 4fbc355486c04e7fb88bcdd8ffae7059 +msgid "or::" +msgstr "또는::" + +#: ../../installation.rst:235 207c24c76f364447839aefe03523527b +msgid "Running tests" +msgstr "테스트 실행" + +#: ../../installation.rst:237 052b595cbe1448d79c441e326e94f9d7 +msgid "" +"Having a PyMuPDF tree available allows one to run PyMuPDF's `pytest` test" +" suite::" +msgstr "PyMuPDF 트리를 사용할 수 있으면 PyMuPDF의 `pytest` 테스트 스위트를 실행할 수 있습니다::" + +#: ../../installation.rst:246 795e4545d04f4e04baa8a0527281f16e +msgid "Notes about using a non-default MuPDF" +msgstr "기본값이 아닌 MuPDF 사용에 대한 참고사항" + +#: ../../installation.rst:248 9a130c5a8a0946668b8885f28af8aa04 +msgid "" +"Using a non-default build of MuPDF by setting environmental variable " +"`PYMUPDF_SETUP_MUPDF_BUILD` can cause various things to go wrong and so " +"is not generally supported:" +msgstr "환경 변수 `PYMUPDF_SETUP_MUPDF_BUILD` 를 설정하여 기본값이 아닌 MuPDF 빌드를 사용하면 다양한 문제가 발생할 수 있으므로 일반적으로 지원되지 않습니다:" + +#: ../../installation.rst:252 79b112fde2cc4475bbef94325d535a3d +msgid "" +"If MuPDF's major version number differs from what PyMuPDF uses by " +"default, PyMuPDF can fail to build, because MuPDF's API can change " +"between major versions." +msgstr "MuPDF의 주 버전 번호가 PyMuPDF가 기본적으로 사용하는 것과 다르면, MuPDF의 API가 주 버전 간에 변경될 수 있으므로 PyMuPDF 빌드가 실패할 수 있습니다." + +#: ../../installation.rst:256 26963aaabb354a0fb893981e3cd6b8d0 +msgid "" +"Runtime behaviour of PyMuPDF can change because MuPDF's runtime behaviour" +" changes between different minor releases. This can also break some " +"PyMuPDF tests." +msgstr "PyMuPDF의 런타임 동작은 MuPDF의 런타임 동작이 다른 부 버전 간에 변경되기 때문에 변경될 수 있습니다. 이로 인해 일부 PyMuPDF 테스트가 실패할 수도 있습니다." + +#: ../../installation.rst:260 cf6ea4f83bfa409381276082a6a8bdf9 +msgid "" +"If MuPDF was built with its default config instead of PyMuPDF's " +"customised config (for example if MuPDF is a system install), it is " +"possible that `tests/test_textbox.py:test_textbox3()` will fail. One can " +"skip this particular test by adding `-k 'not test_textbox3'` to the " +"`pytest` command line." +msgstr "MuPDF가 PyMuPDF의 사용자 정의 구성 대신 기본 구성을 사용하여 빌드된 경우(예: MuPDF가 시스템 설치인 경우), `tests/test_textbox.py:test_textbox3()` 가 실패할 수 있습니다. `pytest` 명령줄에 `-k 'not test_textbox3'` 를 추가하여 이 특정 테스트를 건너뛸 수 있습니다." + +#: ../../installation.rst:268 700f4d8e58e84935b6c6975860df3b8f +msgid "Official PyMuPDF Linux wheels may not install on older Linux systems" +msgstr "공식 PyMuPDF Linux wheel 파일이 오래된 Linux 시스템에 설치되지 않을 수 있음" + +#: ../../installation.rst:270 b47547ab827c4869a01099c6505cf69a +msgid "Releases of PyMuPDF are incompatible with older Linux systems." +msgstr "PyMuPDF 릴리스는 오래된 Linux 시스템과 호환되지 않습니다." + +#: ../../installation.rst:272 808eb6388cc546d782e08fad72571c1d +msgid "" +"For example as of 2025-09-03, `pip install pymupdf` does not work on some" +" AWS Lambda systems - see " +"https://github.com/pymupdf/PyMuPDF/discussions/4631." +msgstr "예를 들어 2025-09-03 기준으로, 일부 AWS Lambda 시스템에서는 `pip install pymupdf` 가 작동하지 않습니다. 자세한 내용은 https://github.com/pymupdf/PyMuPDF/discussions/4631 을 참조하세요." + +#: ../../installation.rst:275 debea54d4d7a43c2878628b326c0c3f0 +msgid "" +"This is because official PyMuPDF Linux wheels are built with a version of" +" glibc determined by the current Python manylinux environment. These " +"wheels are incompatible with Linux systems that have an older glibc." +msgstr "이는 공식 PyMuPDF Linux wheel 파일이 현재 Python manylinux 환경에 의해 결정된 glibc 버전으로 빌드되기 때문입니다. 이러한 wheel 파일은 오래된 glibc를 가진 Linux 시스템과 호환되지 않습니다." + +#: ../../installation.rst:279 bf75483c6b084df08b1cc5bd8206d1bf +msgid "" +"The official Python manylinux environment is updated periodically to use " +"newer glibc versions, so new releases of PyMuPDF become increasingly " +"incompatible with older Linux systems." +msgstr "공식 Python manylinux 환경은 최신 glibc 버전을 사용하도록 주기적으로 업데이트되므로, PyMuPDF의 새 릴리스는 오래된 Linux 시스템과 점점 더 호환되지 않게 됩니다." + +#: ../../installation.rst:283 91117ed642e046819ecc665f9b6c9b50 +msgid "" +"There is nothing that can be done about this, other than updating older " +"Linux systems, or building PyMuPDF locally from source." +msgstr "오래된 Linux 시스템을 업데이트하거나 소스에서 로컬로 PyMuPDF를 빌드하는 것 외에는 이에 대해 할 수 있는 일이 없습니다." + +#: ../../installation.rst:286 e7b222da2a044c2fa1eedf9c819d97ca +msgid "" +"For more details, please see: `Python Packaging Authority " +"`_." +msgstr "자세한 내용은 `Python Packaging Authority `_ 를 참조하세요." + +#: ../../installation.rst:290 4adbb8931dfd4590a44a57ffb3936e97 +msgid "Packaging" +msgstr "패키징" + +#: ../../installation.rst:292 53c33343b4c24290ad643762f5bbb050 +msgid "See :doc:`packaging`." +msgstr ":doc:`packaging` 을 참조하세요." + +#: ../../installation.rst:296 477e709115dd4d119aea37fb3a68a54b +msgid "Using with Pyodide" +msgstr "Pyodide와 함께 사용" + +#: ../../installation.rst:298 28b8424d39f448fd863709fd16271d9a +msgid "See :doc:`pyodide`." +msgstr ":doc:`pyodide` 를 참조하세요." + +#: ../../installation.rst:304 05d1ad76d8ff49d8b8be1c318e026ccb +msgid "Enabling Integrated OCR Support" +msgstr "통합 OCR 지원 활성화" + +#: ../../installation.rst:306 1088128a9ea343a09d2433086fcee140 +msgid "" +"If you do not intend to use this feature, skip this step. Otherwise, it " +"is required for both installation paths: **from wheels and from " +"sources.**" +msgstr "이 기능을 사용하지 않으려면 이 단계를 건너뛰세요. 그렇지 않으면 두 설치 경로 모두에 필요합니다: **wheel 파일에서 및 소스에서.**" + +#: ../../installation.rst:308 18290d46b0854568b242288afd51a0da +msgid "" +"PyMuPDF will already contain all the logic to support OCR functions. But " +"it additionally does need `Tesseract’s language support data " +"`_." +msgstr "PyMuPDF에는 이미 OCR 기능을 지원하는 모든 로직이 포함되어 있습니다. 하지만 추가로 `Tesseract의 언어 지원 데이터 `_ 가 필요합니다." + +#: ../../installation.rst:310 0cbfeba7ee2e4382baa33ea4562e36c3 +msgid "" +"If not specified explicitly, PyMuPDF will attempt to find the installed " +"Tesseract's tessdata, but this should probably not be relied upon." +msgstr "명시적으로 지정하지 않으면 PyMuPDF는 설치된 Tesseract의 tessdata를 찾으려고 시도하지만, 이에 의존하지 않는 것이 좋습니다." + +#: ../../installation.rst:313 340c284211c64d04a0a7705bbaed97a1 +msgid "" +"Otherwise PyMuPDF requires that Tesseract's language support folder is " +"specified explicitly either in PyMuPDF OCR functions' `tessdata` " +"arguments or `os.environ[\"TESSDATA_PREFIX\"]`." +msgstr "그렇지 않으면 PyMuPDF는 Tesseract의 언어 지원 폴더가 PyMuPDF OCR 함수의 `tessdata` 인수 또는 `os.environ[\"TESSDATA_PREFIX\"]` 에 명시적으로 지정되어야 합니다." + +#: ../../installation.rst:317 4050e5d26f8d4fcebd4429bf4468f2c1 +msgid "So for a working OCR functionality, make sure to complete this checklist:" +msgstr "따라서 OCR 기능이 작동하려면 다음 체크리스트를 완료해야 합니다:" + +#: ../../installation.rst:319 ae04b692262d427da4c557773bbb6331 +msgid "" +"Locate Tesseract's language support folder. Typically you will find it " +"here:" +msgstr "Tesseract의 언어 지원 폴더를 찾으세요. 일반적으로 다음 위치에 있습니다:" + +#: ../../installation.rst:321 518b279edc7f426199e22b43bb47488e +msgid "Windows: `C:/Program Files/Tesseract-OCR/tessdata`" +msgstr "Windows: `C:/Program Files/Tesseract-OCR/tessdata`" + +#: ../../installation.rst:322 2829c0e448b44e639344346371835824 +msgid "Unix systems: `/usr/share/tesseract-ocr/4.00/tessdata`" +msgstr "Unix 시스템: `/usr/share/tesseract-ocr/4.00/tessdata`" + +#: ../../installation.rst:324 d8669511863246a096ce609ebddc096b +msgid "Specify the language support folder when calling PyMuPDF OCR functions:" +msgstr "PyMuPDF OCR 함수를 호출할 때 언어 지원 폴더를 지정하세요:" + +#: ../../installation.rst:326 2defdb35431444ab8cb2a6832cb3cc88 +msgid "Set the `tessdata` argument." +msgstr "`tessdata` 인수를 설정하세요." + +#: ../../installation.rst:327 eda39b64a6ca464d8c23f1eeec197a8f +msgid "Or set `os.environ[\"TESSDATA_PREFIX\"]` from within Python." +msgstr "또는 Python 내에서 `os.environ[\"TESSDATA_PREFIX\"]` 를 설정하세요." + +#: ../../installation.rst:328 d711c5765afc4c0cafadc80892c613e9 +msgid "" +"Or set environment variable `TESSDATA_PREFIX` before running Python, for " +"example:" +msgstr "또는 Python을 실행하기 전에 환경 변수 `TESSDATA_PREFIX` 를 설정하세요. 예:" + +#: ../../installation.rst:330 adb02ed301f749c0b70fa768f6279980 +msgid "" +"Windows: `setx TESSDATA_PREFIX \"C:/Program Files/Tesseract-" +"OCR/tessdata\"`" +msgstr "Windows: `setx TESSDATA_PREFIX \"C:/Program Files/Tesseract-OCR/tessdata\"`" + +#: ../../installation.rst:331 a7d44e96bab64a1492085fe6649aa5ba +msgid "" +"Unix systems: `declare -x TESSDATA_PREFIX=/usr/share/tesseract-" +"ocr/4.00/tessdata`" +msgstr "Unix 시스템: `declare -x TESSDATA_PREFIX=/usr/share/tesseract-ocr/4.00/tessdata`" + +#: ../../installation.rst:336 a123b1fc6a474985b09b2e4de3759541 +msgid "" +"Find out more on the `official documentation for installing Tesseract " +"website `_." +msgstr "" + +#: ../../footer.rst:48 04ec8ea4e7e743ab9f77de31a752358a +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/irect.mo b/docs/locales/ko/LC_MESSAGES/irect.mo new file mode 100644 index 000000000..e4cb03203 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/irect.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/irect.po b/docs/locales/ko/LC_MESSAGES/irect.po new file mode 100644 index 000000000..aad80574d --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/irect.po @@ -0,0 +1,504 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 fba66bf65f8244c99a76005b4aa13c77 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 c942dc1ee97843a1823121e8c22c5942 +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 8e36a463460e419f9787f96dfe806717 +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" + +#: ../../irect.rst:7 5159d7062cad401c98bbfc419330c03c +msgid "IRect" +msgstr "IRect" + +#: ../../irect.rst:9 da2f82891e674e9a99975f0e1c77534a +msgid "" +"IRect is a rectangular bounding box, very similar to :ref:`Rect`, except " +"that all corner coordinates are integers. IRect is used to specify an " +"area of pixels, e.g. to receive image data during rendering. Otherwise, " +"e.g. considerations concerning emptiness and validity of rectangles also " +"apply to this class. Methods and attributes have the same names, and in " +"many cases are implemented by re-using the respective :ref:`Rect` " +"counterparts." +msgstr "IRect는 :ref:`Rect` 와 매우 유사한 사각형 경계 상자입니다. 단, 모든 모서리 좌표가 정수라는 점이 다릅니다. IRect는 픽셀 영역을 지정하는 데 사용됩니다(예: 렌더링 중 이미지 데이터를 받기 위해). 그 외에도 사각형의 빈 상태 및 유효성에 대한 고려 사항도 이 클래스에 적용됩니다. 메서드와 속성은 동일한 이름을 가지며, 많은 경우 해당 :ref:`Rect` 대응 항목을 재사용하여 구현됩니다." + +#: ../../irect.rst:12 a2319632991b4392b7ea2363ed3ce3ca +msgid "**Attribute / Method**" +msgstr "**속성 / 메서드**" + +#: ../../irect.rst:12 985bc4b51a2844cc8c87af7ba3568037 +msgid "**Short Description**" +msgstr "**간단한 설명**" + +#: ../../irect.rst:14 312b0f5bcbbd40a2bd8e8e1e19229048 +msgid ":meth:`IRect.contains`" +msgstr ":meth:`IRect.contains`" + +#: ../../irect.rst:14 1ccbbb3d38b14035b18375fea8176585 +msgid "checks containment of another object" +msgstr "다른 객체의 포함 여부 확인" + +#: ../../irect.rst:15 48378afa42394efc9fdbf9eb14494570 +msgid ":meth:`IRect.get_area`" +msgstr ":meth:`IRect.get_area`" + +#: ../../irect.rst:15 7c5d16bc4f66409496a2544313c511e1 +msgid "calculate rectangle area" +msgstr "사각형 영역 계산" + +#: ../../irect.rst:16 f0ccc3542ac74ea990d056a328e04a38 +msgid ":meth:`IRect.intersect`" +msgstr ":meth:`IRect.intersect`" + +#: ../../irect.rst:16 1dc1ecaee3494262a0fe5f21fa1f14d9 +msgid "common part with another rectangle" +msgstr "다른 사각형과의 공통 부분" + +#: ../../irect.rst:17 dcc6834c254f4196bae3b0d0fab4ceb1 +msgid ":meth:`IRect.intersects`" +msgstr ":meth:`IRect.intersects`" + +#: ../../irect.rst:17 4fa770702f6f48ddab2468a3aa6c9af1 +msgid "checks for non-empty intersection" +msgstr "비어 있지 않은 교집합 확인" + +#: ../../irect.rst:18 1475b0caba85400c836e2e24795f6c17 +msgid ":meth:`IRect.morph`" +msgstr ":meth:`IRect.morph`" + +#: ../../irect.rst:18 185917170ebf4403aecdb06acfbbdb30 +msgid "transform with a point and a matrix" +msgstr "점과 행렬로 변환" + +#: ../../irect.rst:19 f89cd99364a04f8ead7c40c76d334821 +msgid ":meth:`IRect.torect`" +msgstr ":meth:`IRect.torect`" + +#: ../../irect.rst:19 b73013e1bd9c44e28fb742260bdf0272 +msgid "matrix that transforms to another rectangle" +msgstr "다른 사각형으로 변환하는 행렬" + +#: ../../irect.rst:20 15c7541278e84bb8ab6442f22f75170c +msgid ":meth:`IRect.norm`" +msgstr ":meth:`IRect.norm`" + +#: ../../irect.rst:20 5344860eef7b4ebca725b7087c5ba8b1 +msgid "the Euclidean norm" +msgstr "유클리드 노름" + +#: ../../irect.rst:21 b4daf225e3034e7f9a2a7efdb849941e +msgid ":meth:`IRect.normalize`" +msgstr ":meth:`IRect.normalize`" + +#: ../../irect.rst:21 da5ac901945f432e951f9ccfbde9a1e3 +msgid "makes a rectangle finite" +msgstr "사각형을 유한하게 만듦" + +#: ../../irect.rst:22 b57e345172924c9f92f87bdeee2b8b3b +msgid ":attr:`IRect.bottom_left`" +msgstr ":attr:`IRect.bottom_left`" + +#: ../../irect.rst:22 8de2dbecf83540c2845f6fea2e7ecc7b +msgid "bottom left point, synonym *bl*" +msgstr "왼쪽 아래 점, 동의어 *bl*" + +#: ../../irect.rst:23 78ac63f7fbd94c12a1bb2853a704964d +msgid ":attr:`IRect.bottom_right`" +msgstr ":attr:`IRect.bottom_right`" + +#: ../../irect.rst:23 694a01dd73e044ebb482e19a2d477c0f +msgid "bottom right point, synonym *br*" +msgstr "오른쪽 아래 점, 동의어 *br*" + +#: ../../irect.rst:24 c996baab80024480b6fa888ba3dae48d +msgid ":attr:`IRect.height`" +msgstr ":attr:`IRect.height`" + +#: ../../irect.rst:24 5cfaf1765add470395b5f7e3f9f3af09 +msgid "height of the rectangle" +msgstr "사각형의 높이" + +#: ../../irect.rst:25 1b7c56522528489b89e2c3863d10335b +msgid ":attr:`IRect.is_empty`" +msgstr ":attr:`IRect.is_empty`" + +#: ../../irect.rst:25 0f3aefc4a2e247f4909ac53517ac039c +msgid "whether rectangle is empty" +msgstr "사각형이 비어 있는지 여부" + +#: ../../irect.rst:26 ebba20f4de03492090a9968e1e5dd412 +msgid ":attr:`IRect.is_infinite`" +msgstr ":attr:`IRect.is_infinite`" + +#: ../../irect.rst:26 9c334c81b9b8415ba1053a2528ecb6ff +msgid "whether rectangle is infinite" +msgstr "사각형이 무한한지 여부" + +#: ../../irect.rst:27 5001534eb64f471d85cc5b89d7d974a1 +msgid ":attr:`IRect.rect`" +msgstr ":attr:`IRect.rect`" + +#: ../../irect.rst:27 4b920cbbb5bd436ea5424583f46a971f +msgid "the :ref:`Rect` equivalent" +msgstr ":ref:`Rect` 와 동등한 것" + +#: ../../irect.rst:28 73d2bc3e97c64f5facee96dfcf12b95c +msgid ":attr:`IRect.top_left`" +msgstr ":attr:`IRect.top_left`" + +#: ../../irect.rst:28 5806b5f7f43040419aec40fe1ec99f9b +msgid "top left point, synonym *tl*" +msgstr "왼쪽 위 점, 동의어 *tl*" + +#: ../../irect.rst:29 856082fe624c4dd4b8eeb24285c1a347 +msgid ":attr:`IRect.top_right`" +msgstr ":attr:`IRect.top_right`" + +#: ../../irect.rst:29 0b985550b8ed4625a72796ab4c754952 +msgid "top_right point, synonym *tr*" +msgstr "오른쪽 위 점, 동의어 *tr*" + +#: ../../irect.rst:30 5cc9d50c8cec4d768741a74eca8abf0b +msgid ":attr:`IRect.quad`" +msgstr ":attr:`IRect.quad`" + +#: ../../irect.rst:30 d135c468e28048fc921fdfdf4bbb13cf +msgid ":ref:`Quad` made from rectangle corners" +msgstr "사각형 모서리로 만든 :ref:`Quad`" + +#: ../../irect.rst:31 022996f05c34445fa253e0e774b365a3 +msgid ":attr:`IRect.width`" +msgstr ":attr:`IRect.width`" + +#: ../../irect.rst:31 0b36bdc4d3bf46afab89889318dc863a +msgid "width of the rectangle" +msgstr "사각형의 너비" + +#: ../../irect.rst:32 521608cb542c4976ba07f2f56d904ace +msgid ":attr:`IRect.x0`" +msgstr ":attr:`IRect.x0`" + +#: ../../irect.rst:32 d0964024870440a58844774693381ec8 +msgid "X-coordinate of the top left corner" +msgstr "왼쪽 위 모서리의 X 좌표" + +#: ../../irect.rst:33 548e8fbd99a442b2b5a586073ff4f2ab +msgid ":attr:`IRect.x1`" +msgstr ":attr:`IRect.x1`" + +#: ../../irect.rst:33 30a1db52025e46e0be799ff23b4f2696 +msgid "X-coordinate of the bottom right corner" +msgstr "오른쪽 아래 모서리의 X 좌표" + +#: ../../irect.rst:34 f81b38bd9fde4f54bed975e459d7a9ac +msgid ":attr:`IRect.y0`" +msgstr ":attr:`IRect.y0`" + +#: ../../irect.rst:34 2b16ddf8934849fbaab256d3d54e4363 +msgid "Y-coordinate of the top left corner" +msgstr "왼쪽 위 모서리의 Y 좌표" + +#: ../../irect.rst:35 70d84d3ce7a34c4297a1e7700d3f7109 +msgid ":attr:`IRect.y1`" +msgstr ":attr:`IRect.y1`" + +#: ../../irect.rst:35 b3e0e713d8d046a8968b780c0340f966 +msgid "Y-coordinate of the bottom right corner" +msgstr "오른쪽 아래 모서리의 Y 좌표" + +#: ../../irect.rst:38 2edafd03825b4939bfe6472c41b08bcf +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../irect.rst:50 70995ff946be4d8d84849a0c0b6f16d3 +msgid "" +"Overloaded constructors. Also see examples below and those for the " +":ref:`Rect` class." +msgstr "오버로드된 생성자. 아래 예제와 :ref:`Rect` 클래스의 예제도 참조하세요." + +#: ../../irect.rst:52 8f664a86d7374ec9bda83e6905b4e67b +msgid "If another irect is specified, a **new copy** will be made." +msgstr "다른 irect가 지정되면 **새 복사본** 이 만들어집니다." + +#: ../../irect.rst:54 6e6e21909c9c4ae3a9139bde73277f88 +msgid "" +"If sequence is specified, it must be a Python sequence type of 4 numbers " +"(see :ref:`SequenceTypes`). Non-integer numbers will be truncated, non-" +"numeric values will raise an exception." +msgstr "sequence가 지정되면 4개의 숫자로 구성된 Python 시퀀스 유형이어야 합니다(:ref:`SequenceTypes` 참조). 정수가 아닌 숫자는 잘리고, 숫자가 아닌 값은 예외를 발생시킵니다." + +#: ../../irect.rst:56 f9a414d271ee415fb26b8f0b142958b7 +msgid "The other parameters mean integer coordinates." +msgstr "다른 매개변수는 정수 좌표를 의미합니다." + +#: ../../irect.rst:61 7c84bdc985c64c339d0548802f831996 +msgid "" +"Calculates the area of the rectangle and, with no parameter, equals " +"*abs(IRect)*. Like an empty rectangle, the area of an infinite rectangle " +"is also zero." +msgstr "사각형의 영역을 계산하며, 매개변수 없이는 *abs(IRect)* 와 같습니다. 빈 사각형과 마찬가지로 무한 사각형의 영역도 0입니다." + +#: ../../irect.rst 18e4b1fb1da640de88306538351ca10b +#: 218364ce30ff4c0a9be4541c11fe1e9f 394c5a21898045d19dc3fca6edc763a7 +#: 489a707b54a24c2eb3edb81f8229ef4f 5b5047f52c7a458c90e239164e797307 +#: 6408eafe7a4547e980f6763bd4b559e1 +msgid "Parameters" +msgstr "매개변수" + +#: ../../irect.rst:63 63bea0a8781c48c49fac02eaeda867ce +msgid "" +"Specify required unit: respective squares of \"px\" (pixels, default), " +"\"in\" (inches), \"cm\" (centimeters), or \"mm\" (millimeters)." +msgstr "필요한 단위 지정: \"px\"(픽셀, 기본값), \"in\"(인치), \"cm\"(센티미터) 또는 \"mm\"(밀리미터)의 각각의 제곱." + +#: ../../irect.rst 0f9fbd309a584cab995697cae68f899d +#: 7c2bab6d8e594a5589e33354d18a1796 ba5dbf6b9e214071aaec6e290fac295f +#: e6ca9e94a86f416a922d607f4943a5a3 +msgid "Return type" +msgstr "반환 유형" + +#: ../../irect.rst:69 5dc2badf5382432fa2d57f3db0e32119 +msgid "" +"The intersection (common rectangular area) of the current rectangle and " +"*ir* is calculated and replaces the current rectangle. If either " +"rectangle is empty, the result is also empty. If either rectangle is " +"infinite, the other one is taken as the result -- and hence also infinite" +" if both rectangles were infinite." +msgstr "현재 사각형과 *ir* 의 교집합(공통 사각형 영역)이 계산되어 현재 사각형을 대체합니다. 사각형 중 하나가 비어 있으면 결과도 비어 있습니다. 사각형 중 하나가 무한이면 다른 하나가 결과로 사용됩니다 -- 따라서 두 사각형이 모두 무한이면 결과도 무한입니다." + +#: ../../irect.rst:71 8af38038c172477b9e9af3e3b7862926 +msgid "Second rectangle." +msgstr "두 번째 사각형." + +#: ../../irect.rst:75 e7214be906944cddbd77c8aecdd86d95 +msgid "" +"Checks whether *x* is contained in the rectangle. It may be " +":data:`rect_like`, :data:`point_like` or a number. If *x* is an empty " +"rectangle, this is always true. Conversely, if the rectangle is empty " +"this is always ``False``, if *x* is not an empty rectangle and not a " +"number. If *x* is a number, it will be checked to be one of the four " +"components. *x in irect* and *irect.contains(x)* are equivalent." +msgstr "*x* 가 사각형에 포함되어 있는지 확인합니다. 이것은 :data:`rect_like`, :data:`point_like` 또는 숫자일 수 있습니다. *x* 가 빈 사각형이면 이것은 항상 true입니다. 반대로, 사각형이 비어 있으면 이것은 항상 ``False`` 입니다. *x* 가 빈 사각형이 아니고 숫자가 아닌 경우. *x* 가 숫자이면 4개의 구성 요소 중 하나인지 확인됩니다. *x in irect* 와 *irect.contains(x)* 는 동일합니다." + +#: ../../irect.rst:77 7cc8752befc847a9885e54e61f00faee +msgid "the object to check." +msgstr "확인할 객체." + +#: ../../irect.rst:84 41a07fef21a04ff9b1f1c59de07d83d1 +msgid "" +"Checks whether the rectangle and the :data:`rect_like` \"r\" contain a " +"common non-empty :ref:`IRect`. This will always be ``False`` if either is" +" infinite or empty." +msgstr "사각형과 :data:`rect_like` \"r\"이 공통의 비어 있지 않은 :ref:`IRect` 를 포함하는지 확인합니다. 둘 중 하나가 무한이거나 비어 있으면 이것은 항상 ``False`` 입니다." + +#: ../../irect.rst:86 aa8981e507b44374bd69c86ddf1f7541 +msgid "the rectangle to check." +msgstr "확인할 사각형." + +#: ../../irect.rst:92 e0237b4a333a4949bae56a33d349416d +msgid "New in version 1.19.3" +msgstr "버전 1.19.3에서 새로 추가됨" + +#: ../../irect.rst:94 a8f435e24dcb48e2bdbca8838eca5764 +msgid "" +"Compute the matrix which transforms this rectangle to a given one. See " +":meth:`Rect.torect`." +msgstr "이 사각형을 주어진 사각형으로 변환하는 행렬을 계산합니다. :meth:`Rect.torect` 를 참조하세요." + +#: ../../irect.rst:96 d1c97833dc404dbf9a4af4245c9a4541 +msgid "the target rectangle. Must not be empty or infinite." +msgstr "대상 사각형. 비어 있거나 무한이 아니어야 합니다." + +#: ../../irect.rst:97 2f2d67d9571f465fa494157309add0d7 +msgid ":ref:`Matrix`" +msgstr ":ref:`Matrix`" + +#: ../../irect.rst 75c56c65e0e64566a450b019b0cac229 +#: a68dd79a643440fbb2173c54bf9da905 +msgid "Returns" +msgstr "반환값" + +#: ../../irect.rst:98 c705e90002274a80b333b03348c54360 +msgid "" +"a matrix `mat` such that `self * mat = rect`. Can for example be used to " +"transform between the page and the pixmap coordinates." +msgstr "`self * mat = rect` 가 되는 행렬 `mat`. 예를 들어 페이지와 픽셀맵 좌표 간 변환에 사용할 수 있습니다." + +#: ../../irect.rst:103 287c04b5d7f141ccb8d6ad779ecaeb1e +msgid "New in version 1.17.0" +msgstr "버전 1.17.0에서 새로 추가됨" + +#: ../../irect.rst:105 e37ea5bfcc8d496abb5f6decf903b78d +msgid "Return a new quad after applying a matrix to it using a fixed point." +msgstr "고정점을 사용하여 행렬을 적용한 후 새 quad를 반환합니다." + +#: ../../irect.rst:107 05bbb73520154a3181137a24fec1c86f +msgid "the fixed point." +msgstr "고정점." + +#: ../../irect.rst:108 b34bf6b64a6543358399eee20fed216a +msgid "the matrix." +msgstr "행렬." + +#: ../../irect.rst:109 c69142f99a804255b75e2eaf0d41597a +msgid "" +"a new :ref:`Quad`. This a wrapper of the same-named quad method. If " +"infinite, the infinite quad is returned." +msgstr "새 :ref:`Quad`. 이것은 동일한 이름의 quad 메서드의 래퍼입니다. 무한이면 무한 quad가 반환됩니다." + +#: ../../irect.rst:113 1cacf407916d48f49e0c36e73c9d2795 +msgid "New in version 1.16.0" +msgstr "버전 1.16.0에서 새로 추가됨" + +#: ../../irect.rst:115 73cccdef3ba54c138d3c2949905823f1 +msgid "" +"Return the Euclidean norm of the rectangle treated as a vector of four " +"numbers." +msgstr "4개의 숫자 벡터로 처리된 사각형의 유클리드 노름을 반환합니다." + +#: ../../irect.rst:119 1e3b3df827f64cdaa8f3e30d20539c21 +msgid "" +"Make the rectangle finite. This is done by shuffling rectangle corners. " +"After this, the bottom right corner will indeed be south-eastern to the " +"top left one. See :ref:`Rect` for a more details." +msgstr "사각형을 유한하게 만듭니다. 이것은 사각형 모서리를 재배치하여 수행됩니다. 이 작업 후, 오른쪽 아래 모서리는 실제로 왼쪽 위 모서리의 남동쪽이 됩니다. 자세한 내용은 :ref:`Rect` 를 참조하세요." + +#: ../../irect.rst:125 80fcd714078d4459b6446f7aa881ded8 +msgid "Equals *Point(x0, y0)*." +msgstr "*Point(x0, y0)* 와 같습니다." + +#: ../../irect.rst 1185a0d53778409b8eb3beb582b64888 +#: 34743c436e9f444485fae4bae2ddb7f9 352aed9e86654ed0bfb3414c7c9f882a +#: 451fc25fef3146ae8daf60b87a4dc707 49a176812ba94813ba64a196ce27e163 +#: 4f24b7a2272a40bcb5f1498431a01dff 6692646f4aef49ceb6263730817ee21f +#: 89ab45a59a934aa39249ed1a86f07ee5 9d4221e962164e72948ac5d4b8d2703c +#: b2290785b17149418de10d614a0f8eda c787e5b509d24f1b838ac1e121cfc685 +#: d95b0909ef3d4300a206cd4f2b8c8671 f6cdc81509354493aa34a01e5ebc06b4 +#: f97ab05a65224ade959a073fae8e16c2 +msgid "type" +msgstr "유형" + +#: ../../irect.rst:127 ../../irect.rst:135 ../../irect.rst:143 +#: ../../irect.rst:151 88e60a9d15ad4d409f7a85722cd1cb9c +#: c7e32fdd1a374a44979cdc28e388d038 fb5fa1bba9ab48979d23d8dd6744ca12 +#: fdc51db9a96f4153893929ddb8e95ee3 +msgid ":ref:`Point`" +msgstr ":ref:`Point`" + +#: ../../irect.rst:133 305506d4a8894b98b370bfdaf51af233 +msgid "Equals *Point(x1, y0)*." +msgstr "*Point(x1, y0)* 와 같습니다." + +#: ../../irect.rst:141 9af3c12519684f28bb4bc50d612e4372 +msgid "Equals *Point(x0, y1)*." +msgstr "*Point(x0, y1)* 와 같습니다." + +#: ../../irect.rst:149 ae11bdfc7226476aac26a17b08ad9204 +msgid "Equals *Point(x1, y1)*." +msgstr "*Point(x1, y1)* 와 같습니다." + +#: ../../irect.rst:155 6b6c7c24528e4d028bb599bcaba2d291 +msgid "The :ref:`Rect` with the same coordinates as floats." +msgstr "float와 동일한 좌표를 가진 :ref:`Rect`." + +#: ../../irect.rst:157 07b31a4170c647d1ae20c438ea29c332 +msgid ":ref:`Rect`" +msgstr ":ref:`Rect`" + +#: ../../irect.rst:161 6d942227a8804d80be71085d59471e1f +msgid "The quadrilateral *Quad(irect.tl, irect.tr, irect.bl, irect.br)*." +msgstr "사각형 *Quad(irect.tl, irect.tr, irect.bl, irect.br)*." + +#: ../../irect.rst:163 21c9866abaed4b9ea6806095673297f4 +msgid ":ref:`Quad`" +msgstr ":ref:`Quad`" + +#: ../../irect.rst:167 aa41fcfcf80642958f591e2014a05804 +msgid "Contains the width of the bounding box. Equals *abs(x1 - x0)*." +msgstr "경계 상자의 너비를 포함합니다. *abs(x1 - x0)* 와 같습니다." + +#: ../../irect.rst:169 ../../irect.rst:175 ../../irect.rst:181 +#: ../../irect.rst:187 ../../irect.rst:193 ../../irect.rst:199 +#: 36d28775650b4893b50c1bb5ecf9c14e 65120d228f2f4ab28e5fa51eb06d8761 +#: a72fd244eafd454380cfe3bc5def6325 f2ef5e017dda4f76ab39cff8b6079d88 +#: fa70673340164af19d538be4a10b59ad fc10d7f00d79406db00d1066e4567571 +msgid "int" +msgstr "int" + +#: ../../irect.rst:173 e896ac73b5c64e75b7724b41502abd00 +msgid "Contains the height of the bounding box. Equals *abs(y1 - y0)*." +msgstr "경계 상자의 높이를 포함합니다. *abs(y1 - y0)* 와 같습니다." + +#: ../../irect.rst:179 29e02c90a309472484e82207f4e2bb94 +msgid "X-coordinate of the left corners." +msgstr "왼쪽 모서리의 X 좌표." + +#: ../../irect.rst:185 ec2198ff697e420d9c05f93f973367bb +msgid "Y-coordinate of the top corners." +msgstr "위쪽 모서리의 Y 좌표." + +#: ../../irect.rst:191 e02641fa0cb443a58d8b6f6d447edb7a +msgid "X-coordinate of the right corners." +msgstr "오른쪽 모서리의 X 좌표." + +#: ../../irect.rst:197 2e367ece51d84b1280d4ec05cc038c6a +msgid "Y-coordinate of the bottom corners." +msgstr "아래쪽 모서리의 Y 좌표." + +#: ../../irect.rst:203 900a2545643f4623905b338b7edefd8b +msgid "``True`` if rectangle is infinite, ``False`` otherwise." +msgstr "사각형이 무한이면 ``True``, 그렇지 않으면 ``False``." + +#: ../../irect.rst:205 ../../irect.rst:211 4c1a21a29dfe4414ad6992b3dcc0b117 +#: aec6fc0ebb874b20bfb1a90a68a30dcc +msgid "bool" +msgstr "bool" + +#: ../../irect.rst:209 877573fb6317435ca1b1a73c24606949 +msgid "``True`` if rectangle is empty, ``False`` otherwise." +msgstr "사각형이 비어 있으면 ``True``, 그렇지 않으면 ``False``." + +#: ../../irect.rst:216 7cc608bcd141490a9f473438421895b4 +msgid "" +"This class adheres to the Python sequence protocol, so components can be " +"accessed via their index, too. Also refer to :ref:`SequenceTypes`." +msgstr "이 클래스는 Python 시퀀스 프로토콜을 따르므로 구성 요소는 인덱스를 통해 액세스할 수도 있습니다. :ref:`SequenceTypes` 도 참조하세요." + +#: ../../irect.rst:217 a3c01f53c9ef4d5eb1b84f26294b538b +msgid "" +"Rectangles can be used with arithmetic operators -- see chapter " +":ref:`Algebra`." +msgstr "사각형은 산술 연산자와 함께 사용할 수 있습니다 -- :ref:`Algebra` 장을 참조하세요." + +#: ../../footer.rst:46 512cd6db01a142258a5b31acbcb8a187 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/link.mo b/docs/locales/ko/LC_MESSAGES/link.mo new file mode 100644 index 000000000..285da6545 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/link.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/link.po b/docs/locales/ko/LC_MESSAGES/link.po new file mode 100644 index 000000000..53940fde1 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/link.po @@ -0,0 +1,372 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 f61795372a914927a8bb8d2bc7871cd0 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 b6c88945ca3e433796ac09242bcafb92 +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 f29d92f907804c35aff5269176052c3a +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" + +#: ../../link.rst:7 a2ac83b843064d1690148214e4e62cab +msgid "Link" +msgstr "Link" + +#: ../../link.rst:8 e3ca00a770434f0896694fc8c2dc8e8d +msgid "" +"Represents a pointer to somewhere (this document, other documents, the " +"internet). Links exist per document page, and they are forward-chained to" +" each other, starting from an initial link which is accessible by the " +":attr:`Page.first_link` property." +msgstr "어딘가(이 문서, 다른 문서, 인터넷)를 가리키는 포인터를 나타냅니다. 링크는 문서 페이지마다 존재하며, :attr:`Page.first_link` 속성으로 접근할 수 있는 초기 링크에서 시작하여 서로 순방향으로 연결됩니다." + +#: ../../link.rst:10 55f719cc6bfa4e1dbdf8bba301fe4110 +msgid "" +"There is a parent-child relationship between a link and its page. If the " +"page object becomes unusable (closed document, any document structure " +"change, etc.), then so does every of its existing link objects -- an " +"exception is raised saying that the object is \"orphaned\", whenever a " +"link property or method is accessed." +msgstr "링크와 해당 페이지 사이에는 부모-자식 관계가 있습니다. 페이지 객체가 사용 불가능해지면(문서 닫힘, 문서 구조 변경 등) 해당 페이지의 모든 기존 링크 객체도 사용 불가능해집니다 -- 링크 속성이나 메서드에 접근할 때마다 객체가 \"고아\" 상태라는 예외가 발생합니다." + +#: ../../link.rst:13 a4193e607a9145218508afeabe0b4c2e +msgid "**Attribute**" +msgstr "**속성**" + +#: ../../link.rst:13 af32ee5e21764bdab065a26b66230ad7 +msgid "**Short Description**" +msgstr "**간단한 설명**" + +#: ../../link.rst:15 9f4a2508022d463a93f91c3406c08ab1 +msgid ":meth:`Link.set_border`" +msgstr ":meth:`Link.set_border`" + +#: ../../link.rst:15 6a3d66278e124793bee041fb82bd823a +msgid "modify border properties" +msgstr "테두리 속성 수정" + +#: ../../link.rst:16 ca6e0ec1d2e5409894887ce466dd9c14 +msgid ":meth:`Link.set_colors`" +msgstr ":meth:`Link.set_colors`" + +#: ../../link.rst:16 ebd1bee66f204d6bbd8e54086d79f55f +msgid "modify color properties" +msgstr "색상 속성 수정" + +#: ../../link.rst:17 111ec52301b74aac956f980fdfcaf35a +msgid ":meth:`Link.set_flags`" +msgstr ":meth:`Link.set_flags`" + +#: ../../link.rst:17 502cb7c9642642f293df7c93f92a2fd6 +msgid "modify link flags" +msgstr "링크 플래그 수정" + +#: ../../link.rst:18 489cb6995acd4a8f9459e84f8e29671e +msgid ":attr:`Link.border`" +msgstr ":attr:`Link.border`" + +#: ../../link.rst:18 c61da7b8553c4f35b0de3f5b60a3f9e9 +msgid "border characteristics" +msgstr "테두리 특성" + +#: ../../link.rst:19 5a1564c23ae44405bedf7e18c649d130 +msgid ":attr:`Link.colors`" +msgstr ":attr:`Link.colors`" + +#: ../../link.rst:19 01a00d5d838a47e3964be170b4b2aca4 +msgid "border line color" +msgstr "테두리 선 색상" + +#: ../../link.rst:20 df6c0ef2a13f47b28ec2cb2b88f5decf +msgid ":attr:`Link.dest`" +msgstr ":attr:`Link.dest`" + +#: ../../link.rst:20 2d7f3af920794e158f2472af28c69a4c +msgid "points to destination details" +msgstr "대상 세부 정보를 가리킴" + +#: ../../link.rst:21 c858c9ac8f3148deb29f863be9b27de6 +msgid ":attr:`Link.is_external`" +msgstr ":attr:`Link.is_external`" + +#: ../../link.rst:21 df77568aba6c4d24babf4d0d97c19d54 +msgid "checks if the link is an external destination" +msgstr "링크가 외부 대상인지 확인" + +#: ../../link.rst:22 09dcfdc3988d4ab0bb1b56be72905b8a +msgid ":attr:`Link.flags`" +msgstr ":attr:`Link.flags`" + +#: ../../link.rst:22 0fb0e2e7ae3944e6aa9886cccd29ba57 +msgid "link annotation flags" +msgstr "링크 주석 플래그" + +#: ../../link.rst:23 8b3432b79e804e8a8467829f70a5504d +msgid ":attr:`Link.next`" +msgstr ":attr:`Link.next`" + +#: ../../link.rst:23 482fbb3ecd0442a8bb0a43de75382822 +msgid "points to next link" +msgstr "다음 링크를 가리킴" + +#: ../../link.rst:24 7baaa58c6b184381b9aba640162dfe9b +msgid ":attr:`Link.rect`" +msgstr ":attr:`Link.rect`" + +#: ../../link.rst:24 0e0788e18be94b5784f4c8a3d0c8590b +msgid "clickable area in untransformed coordinates" +msgstr "변환되지 않은 좌표에서 클릭 가능한 영역" + +#: ../../link.rst:25 e8df77ad16fe4114a80eff4b8240b89c +msgid ":attr:`Link.uri`" +msgstr ":attr:`Link.uri`" + +#: ../../link.rst:25 502ec4ee36504004bd39daf295626fbc +msgid "link destination" +msgstr "링크 대상" + +#: ../../link.rst:26 d17729b40a80480caa127d310a3450c2 +msgid ":attr:`Link.xref`" +msgstr ":attr:`Link.xref`" + +#: ../../link.rst:26 678f619f97a244a0a539107e973f3986 +msgid ":data:`xref` number of the entry" +msgstr "항목의 :data:`xref` 번호" + +#: ../../link.rst:29 f76011eb2dd2424bba83dfb242a73eb3 +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../link.rst:35 e01c9234e1b24ef4a42fe98da9e3b5b8 +msgid "PDF only: Change border width and dashing properties." +msgstr "PDF 전용: 테두리 너비 및 점선 속성 변경." + +#: ../../link.rst:37 00c3ab6e292048be95d9d1e26a0319ce +msgid "" +"*(Changed in version 1.16.9)* Allow specification without using a " +"dictionary. The direct parameters are used if *border* is not a " +"dictionary." +msgstr "*(버전 1.16.9에서 변경됨)* 딕셔너리를 사용하지 않고 지정을 허용합니다. *border* 가 딕셔너리가 아니면 직접 매개변수가 사용됩니다." + +#: ../../link.rst 00e8660458ca4df49c759966985d7ccf +#: 4560ff2f8db3457ea45107e432c3e7ee +msgid "Parameters" +msgstr "매개변수" + +#: ../../link.rst:39 9210f90061d54d20bb40b7811a63e193 +msgid "" +"a dictionary as returned by the :attr:`border` property, with keys " +"*\"width\"* (*float*), *\"style\"* (*str*) and *\"dashes\"* (*sequence*)." +" Omitted keys will leave the resp. property unchanged. To e.g. remove " +"dashing use: *\"dashes\": []*. If dashes is not an empty sequence, " +"\"style\" will automatically be set to \"D\" (dashed)." +msgstr ":attr:`border` 속성에 의해 반환되는 딕셔너리로, 키 *\"width\"* (*float*), *\"style\"* (*str*) 및 *\"dashes\"* (*sequence*)를 가집니다. 생략된 키는 해당 속성을 변경하지 않습니다. 예를 들어 점선을 제거하려면: *\"dashes\": []* 를 사용하세요. dashes가 빈 시퀀스가 아니면 \"style\"이 자동으로 \"D\"(점선)로 설정됩니다." + +#: ../../link.rst:41 ../../link.rst:42 ../../link.rst:43 ../../link.rst:54 +#: 0f652b3dc1754811b0fd20b619f58221 2a2addfc429e4856a5b9d38ccc565155 +#: 4b687a46789e46148cf496194b0b604d 6666190d7e824106bd77ad41db6f0b41 +msgid "see above." +msgstr "위를 참조하세요." + +#: ../../link.rst:47 8657681111dc457788d3482a31e7fd86 +msgid "PDF only: Changes the \"stroke\" color." +msgstr "PDF 전용: \"stroke\" 색상 변경." + +#: ../../link.rst:49 a9f5e77a06364c1a8e73536a14d852c9 +msgid "" +"In PDF, links are a subtype of annotations technically and **do not " +"support fill colors**. However, to keep a consistent API, we do allow " +"specifying a `fill=` parameter like with all annotations, which will be " +"ignored with a warning." +msgstr "PDF에서 링크는 기술적으로 주석의 하위 유형이며 **채우기 색상을 지원하지 않습니다**. 그러나 일관된 API를 유지하기 위해 모든 주석과 마찬가지로 `fill=` 매개변수를 지정할 수 있지만 경고와 함께 무시됩니다." + +#: ../../link.rst:51 2f9965cf55cc4fa69cb5dc350c17ad09 +msgid "" +"*(Changed in version 1.16.9)* Allow colors to be directly set. These " +"parameters are used if *colors* is not a dictionary." +msgstr "*(버전 1.16.9에서 변경됨)* 색상을 직접 설정할 수 있도록 허용합니다. *colors* 가 딕셔너리가 아니면 이 매개변수가 사용됩니다." + +#: ../../link.rst:53 d1bb1f867e02444ebfbb4a94573959bf +msgid "" +"a dictionary containing color specifications. For accepted dictionary " +"keys and values see below. The most practical way should be to first make" +" a copy of the *colors* property and then modify this dictionary as " +"required." +msgstr "색상 사양을 포함하는 딕셔너리. 허용되는 딕셔너리 키와 값은 아래를 참조하세요. 가장 실용적인 방법은 먼저 *colors* 속성의 복사본을 만든 다음 필요에 따라 이 딕셔너리를 수정하는 것입니다." + +#: ../../link.rst:58 ../../link.rst:65 986b15f24ea54de580c0c662299fe12d +#: bb27f8be006d4918acba2be1f77e4ee4 +msgid "*New in v1.18.16*" +msgstr "*v1.18.16에서 새로 추가됨*" + +#: ../../link.rst:60 df2a5f5ab5654a15a59600eb3536f242 +msgid "" +"Set the PDF `/F` property of the link annotation. See " +":meth:`Annot.set_flags` for details. If not a PDF, this method is a no-" +"op." +msgstr "링크 주석의 PDF `/F` 속성을 설정합니다. 자세한 내용은 :meth:`Annot.set_flags` 를 참조하세요. PDF가 아니면 이 메서드는 아무 작업도 수행하지 않습니다." + +#: ../../link.rst:67 e8cfa36461074dacb4c30dea81b83979 +msgid "" +"Return the link annotation flags, an integer (see :attr:`Annot.flags` for" +" details). Zero if not a PDF." +msgstr "링크 주석 플래그를 반환합니다. 정수입니다(자세한 내용은 :attr:`Annot.flags` 참조). PDF가 아니면 0입니다." + +#: ../../link.rst:72 004a6c2778ec462eb43f612d6513adde +msgid "" +"Meaningful for PDF only: A dictionary of two tuples of floats in range `0" +" <= float <= 1` specifying the *stroke* and the interior (*fill*) colors." +" If not a PDF, ``None`` is returned. As mentioned above, the fill color " +"is always `None` for links. The stroke color is used for the border of " +"the link rectangle. The length of the tuple implicitly determines the " +"colorspace: 1 = GRAY, 3 = RGB, 4 = CMYK. So `(1.0, 0.0, 0.0)` stands for " +"RGB color red. The value of each float *f* is mapped to the integer value" +" *i* in range 0 to 255 via the computation *f = i / 255*." +msgstr "PDF에만 의미가 있음: `0 <= float <= 1` 범위의 두 float 튜플 딕셔너리로 *stroke* 및 내부(*fill*) 색상을 지정합니다. PDF가 아니면 ``None`` 이 반환됩니다. 위에서 언급한 대로 링크의 채우기 색상은 항상 `None` 입니다. stroke 색상은 링크 사각형의 테두리에 사용됩니다. 튜플의 길이는 암시적으로 색 공간을 결정합니다: 1 = GRAY, 3 = RGB, 4 = CMYK. 따라서 `(1.0, 0.0, 0.0)` 은 RGB 색상 빨강을 나타냅니다. 각 float *f* 의 값은 계산 *f = i / 255* 를 통해 0에서 255 범위의 정수 값 *i* 에 매핑됩니다." + +#: ../../link.rst 114960dc31e14f46bd090eb9728c77c2 +#: 4fbd9899261b4dcebb25e7595add5438 +msgid "Return type" +msgstr "반환 유형" + +#: ../../link.rst:78 3cbc8f0469d241929e34c352e5745bc1 +msgid "" +"Meaningful for PDF only: A dictionary containing border characteristics. " +"It will be ``None`` for non-PDFs and an empty dictionary if no border " +"information exists. The following keys can occur:" +msgstr "PDF에만 의미가 있음: 테두리 특성을 포함하는 딕셔너리. 비-PDF의 경우 ``None`` 이고 테두리 정보가 없으면 빈 딕셔너리입니다. 다음 키가 나타날 수 있습니다:" + +#: ../../link.rst:80 c1ab318b501a47688d2fc6b081566c84 +msgid "" +"*width* -- a float indicating the border thickness in points. The value " +"is -1.0 if no width is specified." +msgstr "*width* -- 포인트 단위의 테두리 두께를 나타내는 float. 너비가 지정되지 않으면 값은 -1.0입니다." + +#: ../../link.rst:82 ee2605f02f554ef69ce01c7ce647b5c6 +msgid "" +"*dashes* -- a sequence of integers specifying a line dash pattern. *[]* " +"means no dashes, *[n]* means equal on-off lengths of *n* points, longer " +"lists will be interpreted as specifying alternating on-off length values." +" See the :ref:`AdobeManual` page 126 for more detail." +msgstr "*dashes* -- 선 점선 패턴을 지정하는 정수 시퀀스. *[]* 는 점선 없음을 의미하고, *[n]* 는 *n* 포인트의 동일한 on-off 길이를 의미하며, 더 긴 목록은 교대로 on-off 길이 값을 지정하는 것으로 해석됩니다. 자세한 내용은 :ref:`AdobeManual` 126페이지를 참조하세요." + +#: ../../link.rst:84 b4b27c2220234e3c9f0da44681173211 +msgid "" +"*style* -- 1-byte border style: *S* (Solid) = solid rectangle surrounding" +" the annotation, *D* (Dashed) = dashed rectangle surrounding the link, " +"the dash pattern is specified by the *dashes* entry, *B* (Beveled) = a " +"simulated embossed rectangle that appears to be raised above the surface " +"of the page, *I* (Inset) = a simulated engraved rectangle that appears to" +" be recessed below the surface of the page, *U* (Underline) = a single " +"line along the bottom of the annotation rectangle." +msgstr "*style* -- 1바이트 테두리 스타일: *S* (Solid) = 주석을 둘러싸는 실선 사각형, *D* (Dashed) = 링크를 둘러싸는 점선 사각형, 점선 패턴은 *dashes* 항목으로 지정됨, *B* (Beveled) = 페이지 표면 위로 올라온 것처럼 보이는 시뮬레이션된 볼록한 사각형, *I* (Inset) = 페이지 표면 아래로 들어간 것처럼 보이는 시뮬레이션된 각인된 사각형, *U* (Underline) = 주석 사각형 하단을 따라가는 단일 선." + +#: ../../link.rst:90 052b846ac7bf4348bb05373fe93c7f66 +msgid "The area that can be clicked in untransformed coordinates." +msgstr "변환되지 않은 좌표에서 클릭할 수 있는 영역." + +#: ../../link.rst 278b7dd100364049a9a0f8a608dfe200 +#: 5b8584b479504935a82003972fba8296 91cdff8cf9e5471f8c8c7ebd105a9694 +#: 92b24b7f7b1d434bab261bfbfc850087 a7dd1626e8024de0a8394b7ac58b00dc +#: b3fc6b24eede40c5a5ff68c9552eb5d3 +msgid "type" +msgstr "유형" + +#: ../../link.rst:92 b6cde768d2b448d3918fcc2629f09e45 +msgid ":ref:`Rect`" +msgstr ":ref:`Rect`" + +#: ../../link.rst:96 9cbf66013e07421da625a37f62f421af +msgid "" +"A bool specifying whether the link target is outside of the current " +"document." +msgstr "링크 대상이 현재 문서 외부에 있는지 여부를 지정하는 bool입니다." + +#: ../../link.rst:98 3bf7415e10f64b17a00d1894d75abd4d +msgid "bool" +msgstr "bool" + +#: ../../link.rst:102 7722949c512e472da9f50b38d703a9f0 +msgid "" +"A string specifying the link target. The meaning of this property should " +"be evaluated in conjunction with property `is_external`:" +msgstr "링크 대상을 지정하는 문자열입니다. 이 속성의 의미는 `is_external` 속성과 함께 평가해야 합니다:" + +#: ../../link.rst:106 8a85f4db122a4632acda8a79099ab276 +msgid "" +"`is_external` is true: `uri` points to some target outside the current " +"PDF, which may be an internet resource (`uri` starts with ``http://`` or " +"similar), another file (`uri` starts with \"file:\" or \"file://\") or " +"some other service like an e-mail address (`uri` starts with " +"``mailto:``)." +msgstr "`is_external` 이 true: `uri` 는 현재 PDF 외부의 대상을 가리키며, 인터넷 리소스(`uri` 가 ``http://`` 또는 유사한 것으로 시작), 다른 파일(`uri` 가 \"file:\" 또는 \"file://\"로 시작) 또는 이메일 주소와 같은 기타 서비스(`uri` 가 ``mailto:`` 로 시작)일 수 있습니다." + +#: ../../link.rst:112 aa85a467ae894a49801187d31376da42 +msgid "" +"`is_external` is false: `uri` will be `None` or point to an internal " +"location. In case of PDF documents, this should either be *#nnnn* to " +"indicate a 1-based (!) page number *nnnn*, or a named location. The " +"format varies for other document types, for example " +"\"../FixedDoc.fdoc#PG_2_LNK_1\" for page number 2 (1-based) in an XPS " +"document." +msgstr "`is_external` 이 false: `uri` 는 `None` 이거나 내부 위치를 가리킵니다. PDF 문서의 경우, 이것은 1부터 시작하는(!) 페이지 번호 *nnnn* 을 나타내는 *#nnnn* 이거나 이름이 지정된 위치여야 합니다. 형식은 다른 문서 유형에 따라 다릅니다. 예를 들어 XPS 문서의 페이지 번호 2(1부터 시작)의 경우 \"../FixedDoc.fdoc#PG_2_LNK_1\"입니다." + +#: ../../link.rst:119 169f5e74d4d248acaf39fe0e78f64c8c +msgid "str" +msgstr "str" + +#: ../../link.rst:123 b896a257acf94231987101c53ec2a3ee +msgid "An integer specifying the PDF :data:`xref`. Zero if not a PDF." +msgstr "PDF :data:`xref` 를 지정하는 정수입니다. PDF가 아니면 0입니다." + +#: ../../link.rst:125 0a7066aaee624b82bdccf14c63cbeb5a +msgid "int" +msgstr "int" + +#: ../../link.rst:129 3d5c16c89c01444b862176bdfbe17241 +msgid "The next link or ``None``." +msgstr "다음 링크 또는 ``None``." + +#: ../../link.rst:131 aeff8c341c48462292eba7bef8c73eeb +msgid "*Link*" +msgstr "*Link*" + +#: ../../link.rst:135 bc9d0756ee4e4e0c8f03bde2e4a58991 +msgid "The link destination details object." +msgstr "링크 대상 세부 정보 객체." + +#: ../../link.rst:137 9b93286e15e64f8f9bc75c6e2a1305bb +msgid ":ref:`linkDest`" +msgstr ":ref:`linkDest`" + +#: ../../footer.rst:46 74c752369b354d73af2f7c11e7b19f1f +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/linkdest.mo b/docs/locales/ko/LC_MESSAGES/linkdest.mo new file mode 100644 index 000000000..14ce3a99e Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/linkdest.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/linkdest.po b/docs/locales/ko/LC_MESSAGES/linkdest.po new file mode 100644 index 000000000..d12dcd75f --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/linkdest.po @@ -0,0 +1,273 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 d57c78d809254da4835f2c2e979be9bf +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 a9ed1908021a4b46ac047f81afa8fd03 +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 c383513223a942bea5aee21e50d9b3c2 +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" + +#: ../../linkdest.rst:7 6f11bc05a63745008c94dda126160905 +msgid "linkDest" +msgstr "linkDest" + +#: ../../linkdest.rst:8 0b3bb1ecff3b4317aaaabd080edb44e8 +msgid "" +"Class representing the `dest` property of an outline entry or a link. " +"Describes the destination to which such entries point." +msgstr "개요 항목 또는 링크의 `dest` 속성을 나타내는 클래스입니다. 이러한 항목이 가리키는 대상을 설명합니다." + +#: ../../linkdest.rst:10 c02022acb8024740b76912d137b9899a +msgid "" +"Up to MuPDF v1.9.0 this class existed inside MuPDF and was dropped in " +"version 1.10.0. For backward compatibility, PyMuPDF is still maintaining " +"it, although some of its attributes are no longer backed by data actually" +" available via MuPDF." +msgstr "MuPDF v1.9.0까지 이 클래스는 MuPDF 내부에 존재했으며 버전 1.10.0에서 제거되었습니다. 하위 호환성을 위해 PyMuPDF는 여전히 이를 유지하고 있지만, 일부 속성은 더 이상 MuPDF를 통해 실제로 사용 가능한 데이터로 지원되지 않습니다." + +#: ../../linkdest.rst:13 192d952a7df04c4cb3800c0c6f8b6f99 +msgid "**Attribute**" +msgstr "**속성**" + +#: ../../linkdest.rst:13 71e9a555483944ff92a77001b3d42f49 +msgid "**Short Description**" +msgstr "**간단한 설명**" + +#: ../../linkdest.rst:15 3ccecaa069ff4226b5794d23afcb6f38 +msgid ":attr:`linkDest.dest`" +msgstr ":attr:`linkDest.dest`" + +#: ../../linkdest.rst:15 b0182cc143894b7397921f5e6efe2ad8 +msgid "destination" +msgstr "대상" + +#: ../../linkdest.rst:16 94cfb537b2034d95b10812ca82ab0904 +msgid ":attr:`linkDest.fileSpec`" +msgstr ":attr:`linkDest.fileSpec`" + +#: ../../linkdest.rst:16 8c2d54d1045244c2b2c7be7fe3aff94d +msgid "file specification (path, filename)" +msgstr "파일 사양(경로, 파일명)" + +#: ../../linkdest.rst:17 c9d87d20c7e34bdcba3e15b52958cc2d +msgid ":attr:`linkDest.flags`" +msgstr ":attr:`linkDest.flags`" + +#: ../../linkdest.rst:17 8eab10462616444ca0c07141a25997d1 +msgid "descriptive flags" +msgstr "설명 플래그" + +#: ../../linkdest.rst:18 d3ee936fbf09442985e09022f97346a0 +msgid ":attr:`linkDest.isMap`" +msgstr ":attr:`linkDest.isMap`" + +#: ../../linkdest.rst:18 6b10fcc4b7024312b80879a046dde7a1 +msgid "is this a MAP?" +msgstr "이것이 MAP입니까?" + +#: ../../linkdest.rst:19 ebd316b494c341949404a1013a0c3716 +msgid ":attr:`linkDest.isUri`" +msgstr ":attr:`linkDest.isUri`" + +#: ../../linkdest.rst:19 a3d669f5e1b24a5f8817d790b4dfce24 +msgid "is this a URI?" +msgstr "이것이 URI입니까?" + +#: ../../linkdest.rst:20 5f79bf4078184f17aed9690ec43a9e28 +msgid ":attr:`linkDest.kind`" +msgstr ":attr:`linkDest.kind`" + +#: ../../linkdest.rst:20 da66f3a913634b5197318056882d489c +msgid "kind of destination" +msgstr "대상 유형" + +#: ../../linkdest.rst:21 a9f255b3361541bbbc58d4b524552874 +msgid ":attr:`linkDest.lt`" +msgstr ":attr:`linkDest.lt`" + +#: ../../linkdest.rst:21 8696049fe5f14b5e898e8894961de97a +msgid "top left coordinates" +msgstr "왼쪽 위 좌표" + +#: ../../linkdest.rst:22 e69848891b564b91b789e415193e2599 +msgid ":attr:`linkDest.named`" +msgstr ":attr:`linkDest.named`" + +#: ../../linkdest.rst:22 3e9e08f3e3f646e39ea6939d38f92ea7 +msgid "name if named destination" +msgstr "이름이 지정된 대상인 경우 이름" + +#: ../../linkdest.rst:23 e55ceb925d38472da5faac759c6c1f39 +msgid ":attr:`linkDest.newWindow`" +msgstr ":attr:`linkDest.newWindow`" + +#: ../../linkdest.rst:23 9da63baa93924bb3810f8b14cd3c6f08 +msgid "name of new window" +msgstr "새 창 이름" + +#: ../../linkdest.rst:24 3133f4f237c54427b5f38bb9e4ee0870 +msgid ":attr:`linkDest.page`" +msgstr ":attr:`linkDest.page`" + +#: ../../linkdest.rst:24 4e9fb63bb49e45838a66455c5ee65ae9 +msgid "page number" +msgstr "페이지 번호" + +#: ../../linkdest.rst:25 007c86d9023d40e5bb0e4e5b93d802dd +msgid ":attr:`linkDest.rb`" +msgstr ":attr:`linkDest.rb`" + +#: ../../linkdest.rst:25 6eeedea7ed6145018567f08541f89224 +msgid "bottom right coordinates" +msgstr "오른쪽 아래 좌표" + +#: ../../linkdest.rst:26 748aaf1c62434b01970667a3b3033d87 +msgid ":attr:`linkDest.uri`" +msgstr ":attr:`linkDest.uri`" + +#: ../../linkdest.rst:26 7ad45d4c5bba4618bf6a5964e2571854 +msgid "URI" +msgstr "URI" + +#: ../../linkdest.rst:29 fb8d1e50444c4cd08673dbee32636872 +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../linkdest.rst:35 899ccd076a8a486087261429c87c1e49 +msgid "" +"Target destination name if :attr:`linkDest.kind` is :data:`LINK_GOTOR` " +"and :attr:`linkDest.page` is *-1*." +msgstr ":attr:`linkDest.kind` 가 :data:`LINK_GOTOR` 이고 :attr:`linkDest.page` 가 *-1* 인 경우 대상 이름." + +#: ../../linkdest.rst 04ee6c88174848ac8bab86ad2416c0a3 +#: 1464a774b9d54e0e990c6ebe2da4c6e8 473cf52ca9cf41cf99038dd29cc31c14 +#: 4dd16d523ebf4121a0e9a79f97cd9d11 63054de214a4471fbb6d1ab8f3b7b573 +#: 670cff5c69074cc6a2bc4689ab5393c9 9ddddca25b3d4f75bcfa839cc96b9a21 +#: b44b0784cdb246cfa94a0a2059b94018 b58c6c51b75c480294d940a64089a608 +#: bb350508308a4d99acad49e328495653 e224131ce0fe4fd0a1df5250c0487ca4 +#: e5f8f3174dfc4ff997a1743196c9e4d6 +msgid "type" +msgstr "유형" + +#: ../../linkdest.rst:37 ../../linkdest.rst:43 ../../linkdest.rst:79 +#: ../../linkdest.rst:103 581dcd6df6224fbe8745cc8ab2b07a91 +#: a81ed9ea22224e639705fc5e3839af2f d3182a558fb849428de433c60a1bdad7 +#: f69f354db0e14b7ea4880f6b4e0aa8ff +msgid "str" +msgstr "str" + +#: ../../linkdest.rst:41 90baaf8b636c4ee591f82da46afacac7 +msgid "" +"Contains the filename and path this link points to, if " +":attr:`linkDest.kind` is :data:`LINK_GOTOR` or :data:`LINK_LAUNCH`." +msgstr ":attr:`linkDest.kind` 가 :data:`LINK_GOTOR` 또는 :data:`LINK_LAUNCH` 인 경우 이 링크가 가리키는 파일명과 경로를 포함합니다." + +#: ../../linkdest.rst:47 ee1974ce6ace4936a3d8b8b75df71cb3 +msgid "" +"A bitfield describing the validity and meaning of the different aspects " +"of the destination. As far as possible, link destinations are constructed" +" such that e.g. :attr:`linkDest.lt` and :attr:`linkDest.rb` can be " +"treated as defining a bounding box. But the flags indicate which of the " +"values were actually specified, see :ref:`linkDest Flags`." +msgstr "대상의 다양한 측면의 유효성과 의미를 설명하는 비트 필드입니다. 가능한 한 링크 대상은 예를 들어 :attr:`linkDest.lt` 와 :attr:`linkDest.rb` 가 경계 상자를 정의하는 것으로 처리될 수 있도록 구성됩니다. 하지만 플래그는 실제로 지정된 값들을 나타냅니다. :ref:`linkDest Flags` 를 참조하세요." + +#: ../../linkdest.rst:49 ../../linkdest.rst:67 ../../linkdest.rst:91 +#: 3b848969f4524896b56f42ff138fb1c9 4f8b0dea71b94d5dbc70216822055473 +#: bcc9a9fb3afa46a898733753cf361878 +msgid "int" +msgstr "int" + +#: ../../linkdest.rst:53 09670cfe131548ddaff754f8d49d8e50 +msgid "" +"This flag specifies whether to track the mouse position when the URI is " +"resolved. Default value: False." +msgstr "이 플래그는 URI가 해결될 때 마우스 위치를 추적할지 여부를 지정합니다. 기본값: False." + +#: ../../linkdest.rst:55 ../../linkdest.rst:61 ../../linkdest.rst:85 +#: 0f0bd710715f40efbacc9b29ff09ea21 44063c7c188e4ce083c47c800c7fe09f +#: 64522ffbee3a4d4a93db40e43a1b4f85 +msgid "bool" +msgstr "bool" + +#: ../../linkdest.rst:59 fbb535a20f504c3e943e5b5a817ff056 +msgid "" +"Specifies whether this destination is an internet resource (as opposed to" +" e.g. a local file specification in URI format)." +msgstr "이 대상이 인터넷 리소스인지 여부를 지정합니다(예: URI 형식의 로컬 파일 사양과 대조)." + +#: ../../linkdest.rst:65 ca4f535dd57b4577b7809ce0b0137464 +msgid "" +"Indicates the type of this destination, like a place in this document, a " +"URI, a file launch, an action or a place in another file. Look at " +":ref:`linkDest Kinds` to see the names and numerical values." +msgstr "이 문서 내의 위치, URI, 파일 실행, 작업 또는 다른 파일 내의 위치와 같은 이 대상의 유형을 나타냅니다. 이름과 숫자 값을 보려면 :ref:`linkDest Kinds` 를 참조하세요." + +#: ../../linkdest.rst:71 47371977bcbb41fca7f337d5784b6648 +msgid "The top left :ref:`Point` of the destination." +msgstr "대상의 왼쪽 위 :ref:`Point`." + +#: ../../linkdest.rst:73 ../../linkdest.rst:97 8e3bc240ba0743959b8cbaa03d0dcff8 +#: c1283cb2f6344dc99b2a97cb147bba13 +msgid ":ref:`Point`" +msgstr ":ref:`Point`" + +#: ../../linkdest.rst:77 c723aab53cf843ebae6f749ce9ff4e59 +msgid "" +"This destination refers to some named action to perform (e.g. a " +"javascript, see :ref:`AdobeManual`). Standard actions provided are " +"*NextPage*, *PrevPage*, *FirstPage*, and *LastPage*." +msgstr "이 대상은 수행할 이름이 지정된 작업(예: javascript, :ref:`AdobeManual` 참조)을 나타냅니다. 제공되는 표준 작업은 *NextPage*, *PrevPage*, *FirstPage*, *LastPage* 입니다." + +#: ../../linkdest.rst:83 1a909731575743f18e88a17658993f9c +msgid "If true, the destination should be launched in a new window." +msgstr "true이면 대상은 새 창에서 시작되어야 합니다." + +#: ../../linkdest.rst:89 09037d0a5d7f4c37a6408b92ec712af6 +msgid "" +"The page number (in this or the target document) this destination points " +"to. Only set if :attr:`linkDest.kind` is :data:`LINK_GOTOR` or " +":data:`LINK_GOTO`. May be *-1* if :attr:`linkDest.kind` is " +":data:`LINK_GOTOR`. In this case :attr:`linkDest.dest` contains the " +"**name** of a destination in the target document." +msgstr "이 대상이 가리키는 페이지 번호(이 문서 또는 대상 문서 내). :attr:`linkDest.kind` 가 :data:`LINK_GOTOR` 또는 :data:`LINK_GOTO` 인 경우에만 설정됩니다. :attr:`linkDest.kind` 가 :data:`LINK_GOTOR` 이면 *-1* 일 수 있습니다. 이 경우 :attr:`linkDest.dest` 에는 대상 문서의 대상 **이름** 이 포함됩니다." + +#: ../../linkdest.rst:95 c34d69f4dd99459b8b7b950ce4b817ef +msgid "The bottom right :ref:`Point` of this destination." +msgstr "이 대상의 오른쪽 아래 :ref:`Point`." + +#: ../../linkdest.rst:101 ab5be4b38a0d488996cc185c94c3339d +msgid "The name of the URI this destination points to." +msgstr "이 대상이 가리키는 URI의 이름." + +#: ../../footer.rst:46 fa618bdc623f48169996365910295fee +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/lowlevel.mo b/docs/locales/ko/LC_MESSAGES/lowlevel.mo new file mode 100644 index 000000000..1ba83c2df Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/lowlevel.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/lowlevel.po b/docs/locales/ko/LC_MESSAGES/lowlevel.po new file mode 100644 index 000000000..106d3c03e --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/lowlevel.po @@ -0,0 +1,51 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 218a54ea43ac4940a4a60f2c3a6a2478 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 07e59acd2f254f13ab7d70dabdc0b0e5 +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 b0edbb6b219e443c991a8de67143adf0 +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" + +#: ../../lowlevel.rst:5 ab1b60182cf44f4cbdbc96550824ae06 +msgid "Low Level Functions and Classes" +msgstr "저수준 함수 및 클래스" + +#: ../../lowlevel.rst:6 7cd71eb177ee46c7809cc02f9cf0360a +msgid "" +"Contains a number of functions and classes for the experienced user. To " +"be used for special needs or performance requirements." +msgstr "경험 많은 사용자를 위한 여러 함수와 클래스를 포함합니다. 특수한 요구사항이나 성능 요구사항에 사용됩니다." + +#: ../../footer.rst:46 e5486934644f471b8a6673bf428a5c43 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/matrix.mo b/docs/locales/ko/LC_MESSAGES/matrix.mo new file mode 100644 index 000000000..807beeb24 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/matrix.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/matrix.po b/docs/locales/ko/LC_MESSAGES/matrix.po new file mode 100644 index 000000000..0847b93bb --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/matrix.po @@ -0,0 +1,496 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 22b6a2a0571c4176bce077c545c814b3 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 73c9619ac3ee44d084a65d56842dc380 +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 84065a34a4a14808906180f02e2efea2 +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" + +#: ../../matrix.rst:7 8a040befeffb44ac97583a22b00537bb +msgid "Matrix" +msgstr "Matrix" + +#: ../../matrix.rst:9 8eb69980d89943bb8e94c77820ab6263 +msgid "" +"Matrix is a row-major 3x3 matrix used by image transformations in MuPDF " +"(which complies with the respective concepts laid down in the " +":ref:`AdobeManual`). With matrices you can manipulate the rendered image " +"of a page in a variety of ways: (parts of) the page can be rotated, " +"zoomed, flipped, sheared and shifted by setting some or all of just six " +"float values." +msgstr "Matrix는 MuPDF의 이미지 변환에 사용되는 행 우선 3x3 행렬입니다(:ref:`AdobeManual` 에 명시된 해당 개념을 준수). 행렬을 사용하면 페이지의 렌더링된 이미지를 다양한 방식으로 조작할 수 있습니다: 단 6개의 float 값 중 일부 또는 전체를 설정하여 페이지(의 일부)를 회전, 확대/축소, 뒤집기, 기울이기 및 이동할 수 있습니다." + +#: ../../matrix.rst:12 99311bf26c5b4fd5b0df9afed1d8ff5a +msgid "" +"Since all points or pixels live in a two-dimensional space, one column " +"vector of that matrix is a constant unit vector, and only the remaining " +"six elements are used for manipulations. These six elements are usually " +"represented by `[a, b, c, d, e, f]`. Here is how they are positioned in " +"the matrix:" +msgstr "모든 점 또는 픽셀이 2차원 공간에 있으므로 해당 행렬의 한 열 벡터는 상수 단위 벡터이며, 나머지 6개 요소만 조작에 사용됩니다. 이 6개 요소는 일반적으로 `[a, b, c, d, e, f]` 로 표시됩니다. 행렬에서의 위치는 다음과 같습니다:" + +#: ../../matrix.rst:17 981036c6e6c24d00adc24601b311399b +msgid "Please note:" +msgstr "참고:" + +#: ../../matrix.rst:19 f1ae75aa82ce4a989a3afb538b648bd5 +msgid "" +"the below methods are just convenience functions -- everything they do, " +"can also be achieved by directly manipulating the six numerical values" +msgstr "아래 메서드는 편의 함수일 뿐입니다 -- 수행하는 모든 작업은 6개의 숫자 값을 직접 조작하여도 달성할 수 있습니다" + +#: ../../matrix.rst:20 26c41674818040ab9d706c72f62e5b31 +msgid "" +"all manipulations can be combined -- you can construct a matrix that " +"rotates **and** shears **and** scales **and** shifts, etc. in one go. If " +"you however choose to do this, do have a look at the **remarks** further " +"down or at the :ref:`AdobeManual`." +msgstr "모든 조작을 결합할 수 있습니다 -- 한 번에 회전 **및** 기울이기 **및** 확대/축소 **및** 이동 등을 수행하는 행렬을 구성할 수 있습니다. 하지만 이렇게 하려면 아래의 **참고 사항** 또는 :ref:`AdobeManual` 을 참조하세요." + +#: ../../matrix.rst:23 afd4ea95b6d34a6e914cc64e20f4259b +msgid "**Method / Attribute**" +msgstr "**메서드 / 속성**" + +#: ../../matrix.rst:23 c34d2903bcee45ddb3cc5e621baefea0 +msgid "**Description**" +msgstr "**설명**" + +#: ../../matrix.rst:25 11abdcd6cd234d4fa95850fe12580df9 +msgid ":meth:`Matrix.prerotate`" +msgstr ":meth:`Matrix.prerotate`" + +#: ../../matrix.rst:25 80427e602a66422cac1da53c44af455f +msgid "perform a rotation" +msgstr "회전 수행" + +#: ../../matrix.rst:26 cad3e578828b433ba7ba0051be2032bf +msgid ":meth:`Matrix.prescale`" +msgstr ":meth:`Matrix.prescale`" + +#: ../../matrix.rst:26 a7e0bd6a201641fb912613e9f27fd76f +msgid "perform a scaling" +msgstr "확대/축소 수행" + +#: ../../matrix.rst:27 50c7f90d06004c62b19c6bff1b5a0ee9 +msgid ":meth:`Matrix.preshear`" +msgstr ":meth:`Matrix.preshear`" + +#: ../../matrix.rst:27 10745ab48ff842fa86f0dba65a8ac4c9 +msgid "perform a shearing (skewing)" +msgstr "기울이기(왜곡) 수행" + +#: ../../matrix.rst:28 b4c7cc3f2aff4f929fd556b21396c232 +msgid ":meth:`Matrix.pretranslate`" +msgstr ":meth:`Matrix.pretranslate`" + +#: ../../matrix.rst:28 cefba85880554c02abc66d69a6a32faf +msgid "perform a translation (shifting)" +msgstr "이동(시프트) 수행" + +#: ../../matrix.rst:29 b3b9abc777594cf8b33d5290836afe88 +msgid ":meth:`Matrix.concat`" +msgstr ":meth:`Matrix.concat`" + +#: ../../matrix.rst:29 fe1f3aa66e6042309e54265e9b99b18d +msgid "perform a matrix multiplication" +msgstr "행렬 곱셈 수행" + +#: ../../matrix.rst:30 fb89b2f56f6247ac8fc9b88f34f7e6c1 +msgid ":meth:`Matrix.invert`" +msgstr ":meth:`Matrix.invert`" + +#: ../../matrix.rst:30 4dab7517ebb647c78b179fbe83285a9f +msgid "calculate the inverted matrix" +msgstr "역행렬 계산" + +#: ../../matrix.rst:31 3f0c29fd96594bd7824f5d9ab40c0fd7 +msgid ":meth:`Matrix.norm`" +msgstr ":meth:`Matrix.norm`" + +#: ../../matrix.rst:31 bee6a79c30594e5a9982c37569a07722 +msgid "the Euclidean norm" +msgstr "유클리드 노름" + +#: ../../matrix.rst:32 b0e601bc11b94c5b978faf3969d20262 +msgid ":attr:`Matrix.a`" +msgstr ":attr:`Matrix.a`" + +#: ../../matrix.rst:32 7bd503f42cb2438da182834d71fb2dd4 +msgid "zoom factor X direction" +msgstr "X 방향 확대/축소 계수" + +#: ../../matrix.rst:33 b20b6e26dcf04b37bf9d3226d6b7720f +msgid ":attr:`Matrix.b`" +msgstr ":attr:`Matrix.b`" + +#: ../../matrix.rst:33 dc49e0f4424c40eaa3c9b116b0a0d20f +msgid "shearing effect Y direction" +msgstr "Y 방향 기울이기 효과" + +#: ../../matrix.rst:34 d2e19dfdd9104ec19d44f40c663bcc03 +msgid ":attr:`Matrix.c`" +msgstr ":attr:`Matrix.c`" + +#: ../../matrix.rst:34 0a2f7dcd0de34db7a4c69a001674c37a +msgid "shearing effect X direction" +msgstr "X 방향 기울이기 효과" + +#: ../../matrix.rst:35 c72a8985cba049b487c8ffebefcf9d99 +msgid ":attr:`Matrix.d`" +msgstr ":attr:`Matrix.d`" + +#: ../../matrix.rst:35 c1fe0a57201a4eb6ad2a830ae1b17b15 +msgid "zoom factor Y direction" +msgstr "Y 방향 확대/축소 계수" + +#: ../../matrix.rst:36 e471bd7cfd92424ab1e5f3e5059d4be9 +msgid ":attr:`Matrix.e`" +msgstr ":attr:`Matrix.e`" + +#: ../../matrix.rst:36 d19ab3110ade4ac3b17c845a8c80fb37 +msgid "horizontal shift" +msgstr "수평 이동" + +#: ../../matrix.rst:37 4a6eb68a255c4608873196c13298d411 +msgid ":attr:`Matrix.f`" +msgstr ":attr:`Matrix.f`" + +#: ../../matrix.rst:37 0f0db520282844e9869b27e82d6fba11 +msgid "vertical shift" +msgstr "수직 이동" + +#: ../../matrix.rst:38 e75c12f64eee44059ea4b0762741fdb1 +msgid ":attr:`Matrix.is_rectilinear`" +msgstr ":attr:`Matrix.is_rectilinear`" + +#: ../../matrix.rst:38 bc57693d7a8c445eb2a7717732d081b9 +msgid "true if rect corners will remain rect corners" +msgstr "사각형 모서리가 사각형 모서리로 유지되면 true" + +#: ../../matrix.rst:41 01aaa6a5cece41dd86f5e6c6f0d08b42 +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../matrix.rst:59 56627216de1442368ffe90a40bd40b5a +msgid "Overloaded constructors." +msgstr "오버로드된 생성자." + +#: ../../matrix.rst:61 ab9ade436b794d9cb70e8ec07c59573e +msgid "" +"Without parameters, the zero matrix *Matrix(0.0, 0.0, 0.0, 0.0, 0.0, " +"0.0)* will be created." +msgstr "매개변수 없이 영 행렬 *Matrix(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)* 이 생성됩니다." + +#: ../../matrix.rst:63 0ff005031e87475e82c82f509a503432 +msgid "" +"*zoom-** and *shear-** specify zoom or shear values (float) and create a " +"zoom or shear matrix, respectively." +msgstr "*zoom-** 및 *shear-** 는 확대/축소 또는 기울이기 값(float)을 지정하고 각각 확대/축소 또는 기울이기 행렬을 생성합니다." + +#: ../../matrix.rst:65 3772827e3c4e46efaa66e0541654fbde +msgid "For \"matrix\" a **new copy** of another matrix will be made." +msgstr "\"matrix\"의 경우 다른 행렬의 **새 복사본** 이 만들어집니다." + +#: ../../matrix.rst:67 e0de220e569d4fb192d61776da7cc98d +msgid "" +"Float value \"degree\" specifies the creation of a rotation matrix which " +"rotates anti-clockwise." +msgstr "Float 값 \"degree\"는 반시계 방향으로 회전하는 회전 행렬의 생성을 지정합니다." + +#: ../../matrix.rst:69 202fbb08a1534f9b873b978d1ee2f25e +msgid "" +"A \"sequence\" must be any Python sequence object with exactly 6 float " +"entries (see :ref:`SequenceTypes`)." +msgstr "\"sequence\"는 정확히 6개의 float 항목을 가진 모든 Python 시퀀스 객체여야 합니다(:ref:`SequenceTypes` 참조)." + +#: ../../matrix.rst:71 3290c36cfd044349b8b73b9a12b39105 +msgid "" +"*pymupdf.Matrix(1, 1)* and *pymupdf.Matrix(pymupdf.Identity)* create " +"modifiable versions of the :ref:`Identity` matrix, which looks like *[1, " +"0, 0, 1, 0, 0]*." +msgstr "*pymupdf.Matrix(1, 1)* 및 *pymupdf.Matrix(pymupdf.Identity)* 는 *[1, 0, 0, 1, 0, 0]* 처럼 보이는 :ref:`Identity` 행렬의 수정 가능한 버전을 생성합니다." + +#: ../../matrix.rst:75 2d27925e056c4beab39284c17c097dc8 +msgid "New in version 1.16.0" +msgstr "버전 1.16.0에서 새로 추가됨" + +#: ../../matrix.rst:77 23099b3eeb904d19a2fca93ba4ff4ac2 +msgid "Return the Euclidean norm of the matrix as a vector." +msgstr "행렬의 유클리드 노름을 벡터로 반환합니다." + +#: ../../matrix.rst:81 cf82a48349524343a3a9fb35951b2482 +msgid "" +"Modify the matrix to perform a counter-clockwise rotation for positive " +"*deg* degrees, else clockwise. The matrix elements of an identity matrix " +"will change in the following way:" +msgstr "행렬을 수정하여 양수 *deg* 도에 대해 반시계 방향 회전을 수행하고, 그렇지 않으면 시계 방향으로 회전합니다. 항등 행렬의 행렬 요소는 다음과 같이 변경됩니다:" + +#: ../../matrix.rst:83 a024346df65d49e7bcdef1a35d0f0ea9 +msgid "*[1, 0, 0, 1, 0, 0] -> [cos(deg), sin(deg), -sin(deg), cos(deg), 0, 0]*." +msgstr "*[1, 0, 0, 1, 0, 0] -> [cos(deg), sin(deg), -sin(deg), cos(deg), 0, 0]*." + +#: ../../matrix.rst 0e2caa4b969d4e8c883315663dfbb010 +#: 2a76f7fdef494d7cb96fb9bcb0b288a0 44ed05851fab4cd4b3017cd0b82bc4f4 +#: 797389fbee9c42f6a11d44d628804863 c8b2675c06ee43c4abcd46c105be0f19 +#: e6e50d5d62724013ba993ce51b6e65a8 +msgid "Parameters" +msgstr "매개변수" + +#: ../../matrix.rst:85 34bf9b5e70b9486285ffd6799c5556ca +msgid "" +"The rotation angle in degrees (use conventional notation based on Pi = " +"180 degrees)." +msgstr "도 단위의 회전 각도(Pi = 180도를 기준으로 한 일반 표기법 사용)." + +#: ../../matrix.rst:89 94eb659613c24f939142b8fc6dd19ab4 +msgid "" +"Modify the matrix to scale by the zoom factors sx and sy. Has effects on " +"attributes *a* thru *d* only: *[a, b, c, d, e, f] -> [a*sx, b*sx, c*sy, " +"d*sy, e, f]*." +msgstr "행렬을 수정하여 확대/축소 계수 sx 및 sy로 스케일링합니다. 속성 *a* 부터 *d* 에만 영향을 줍니다: *[a, b, c, d, e, f] -> [a*sx, b*sx, c*sy, d*sy, e, f]*." + +#: ../../matrix.rst:91 72c725939ccb4e8b90b12926ae88abec +msgid "" +"Zoom factor in X direction. For the effect see description of attribute " +"*a*." +msgstr "X 방향의 확대/축소 계수. 효과는 속성 *a* 의 설명을 참조하세요." + +#: ../../matrix.rst:93 2ef911aad48643e18db6f643f2613c9a +msgid "" +"Zoom factor in Y direction. For the effect see description of attribute " +"*d*." +msgstr "Y 방향의 확대/축소 계수. 효과는 속성 *d* 의 설명을 참조하세요." + +#: ../../matrix.rst:97 a47d6e8530894f2aac1846c0416c7f14 +msgid "" +"Modify the matrix to perform a shearing, i.e. transformation of " +"rectangles into parallelograms (rhomboids). Has effects on attributes *a*" +" thru *d* only: *[a, b, c, d, e, f] -> [c*sy, d*sy, a*sx, b*sx, e, f]*." +msgstr "행렬을 수정하여 기울이기를 수행합니다. 즉, 사각형을 평행사변형(마름모)으로 변환합니다. 속성 *a* 부터 *d* 에만 영향을 줍니다: *[a, b, c, d, e, f] -> [c*sy, d*sy, a*sx, b*sx, e, f]*." + +#: ../../matrix.rst:99 7af0396c77db4280bd8b6ef9764cab2d +msgid "Shearing effect in X direction. See attribute *c*." +msgstr "X 방향의 기울이기 효과. 속성 *c* 를 참조하세요." + +#: ../../matrix.rst:101 5a8d7d2b58c348f0bf481d54d9ff5b01 +msgid "Shearing effect in Y direction. See attribute *b*." +msgstr "Y 방향의 기울이기 효과. 속성 *b* 를 참조하세요." + +#: ../../matrix.rst:105 152c5f45800e42b6a038fee68ba116d4 +msgid "" +"Modify the matrix to perform a shifting / translation operation along the" +" x and / or y axis. Has effects on attributes *e* and *f* only: *[a, b, " +"c, d, e, f] -> [a, b, c, d, tx*a + ty*c, tx*b + ty*d]*." +msgstr "행렬을 수정하여 x 및/또는 y 축을 따라 이동/변환 작업을 수행합니다. 속성 *e* 및 *f* 에만 영향을 줍니다: *[a, b, c, d, e, f] -> [a, b, c, d, tx*a + ty*c, tx*b + ty*d]*." + +#: ../../matrix.rst:107 8b15e98fb7734d2fb7d3a90c734616fd +msgid "Translation effect in X direction. See attribute *e*." +msgstr "X 방향의 이동 효과. 속성 *e* 를 참조하세요." + +#: ../../matrix.rst:109 1ac03cdeaadf47039b40d141265dad51 +msgid "Translation effect in Y direction. See attribute *f*." +msgstr "Y 방향의 이동 효과. 속성 *f* 를 참조하세요." + +#: ../../matrix.rst:113 a7232949340949e6bee6b5a75b157849 +msgid "" +"Calculate the matrix product *m1 * m2* and store the result in the " +"current matrix. Any of *m1* or *m2* may be the current matrix. Be aware " +"that matrix multiplication is not commutative. So the sequence of *m1*, " +"*m2* is important." +msgstr "행렬 곱 *m1 * m2* 를 계산하고 결과를 현재 행렬에 저장합니다. *m1* 또는 *m2* 중 하나가 현재 행렬일 수 있습니다. 행렬 곱셈은 가환적이지 않습니다. 따라서 *m1*, *m2* 의 순서가 중요합니다." + +#: ../../matrix.rst:115 c868c7bce6e24c17aefb279a2b589bad +msgid "First (left) matrix." +msgstr "첫 번째(왼쪽) 행렬." + +#: ../../matrix.rst:118 6a23a720cc824c018154df578fbe2287 +msgid "Second (right) matrix." +msgstr "두 번째(오른쪽) 행렬." + +#: ../../matrix.rst:123 c1c62753df994db5a29eaf60b74d5311 +msgid "" +"Calculate the matrix inverse of *m* and store the result in the current " +"matrix. Returns *1* if *m* is not invertible (\"degenerate\"). In this " +"case the current matrix **will not change**. Returns *0* if *m* is " +"invertible, and the current matrix is replaced with the inverted *m*." +msgstr "*m* 의 역행렬을 계산하고 결과를 현재 행렬에 저장합니다. *m* 이 역행렬이 없으면(\"degenerate\") *1* 을 반환합니다. 이 경우 현재 행렬은 **변경되지 않습니다**. *m* 이 역행렬이 있으면 *0* 을 반환하고 현재 행렬은 역행렬 *m* 으로 대체됩니다." + +#: ../../matrix.rst:125 6f3f8c966b71407b9e3b02488f7f4034 +msgid "Matrix to be inverted. If not provided, the current matrix will be used." +msgstr "역행렬을 계산할 행렬. 제공되지 않으면 현재 행렬이 사용됩니다." + +#: ../../matrix.rst e8077cac107d4551bdd9b1c1d14a4952 +msgid "Return type" +msgstr "반환 유형" + +#: ../../matrix.rst:132 db229e59a31b455b98ea5ccfa578122a +msgid "" +"Scaling in X-direction **(width)**. For example, a value of 0.5 performs " +"a shrink of the **width** by a factor of 2. If a < 0, a left-right flip " +"will (additionally) occur." +msgstr "X 방향 **(너비)** 스케일링. 예를 들어, 0.5 값은 **너비** 를 2배로 축소합니다. a < 0이면 좌우 뒤집기가 (추가로) 발생합니다." + +#: ../../matrix.rst 6fcedf91827d4c289e6a645364d76ea6 +#: 8654b40d08014804b0c0e8c304580291 96cbe6754a4b4f99bb7e0e80e180c0a6 +#: afc20c369a9f4c739bc1f16197754859 c2c0c17a6a334d9daf1a246b0a95ca15 +#: fab66c3105f3412b8e17b401ecfe57ab fceb1d67502e44b49baa260b088dd68f +msgid "type" +msgstr "유형" + +#: ../../matrix.rst:134 ../../matrix.rst:140 ../../matrix.rst:146 +#: ../../matrix.rst:152 ../../matrix.rst:158 ../../matrix.rst:164 +#: 137024cc37b74d68971a780ab821bb5c 20de69effd914f3f92727bc07f7de025 +#: 5804209069a04b28ae858ceb0466f4d1 5b5b333b8cb346858ac4e11335709c2a +#: 789de033d5c0443997dabc1c08157dbc 867fd680a9e9402583480286d03e27ca +msgid "float" +msgstr "float" + +#: ../../matrix.rst:138 c229f8ba4d804490b761e624fe313b6d +msgid "" +"Causes a shearing effect: each `Point(x, y)` will become `Point(x, y - " +"b*x)`. Therefore, horizontal lines will be \"tilt\"." +msgstr "기울이기 효과를 발생시킵니다: 각 `Point(x, y)` 는 `Point(x, y - b*x)` 가 됩니다. 따라서 수평선이 \"기울어집니다\"." + +#: ../../matrix.rst:144 7b98255d69974126bcf901feb1b268f6 +msgid "" +"Causes a shearing effect: each `Point(x, y)` will become `Point(x - c*y, " +"y)`. Therefore, vertical lines will be \"tilt\"." +msgstr "기울이기 효과를 발생시킵니다: 각 `Point(x, y)` 는 `Point(x - c*y, y)` 가 됩니다. 따라서 수직선이 \"기울어집니다\"." + +#: ../../matrix.rst:150 ac4f38489ad847b7827dcac0e26521a5 +msgid "" +"Scaling in Y-direction **(height)**. For example, a value of 1.5 performs" +" a stretch of the **height** by 50%. If d < 0, an up-down flip will " +"(additionally) occur." +msgstr "Y 방향 **(높이)** 스케일링. 예를 들어, 1.5 값은 **높이** 를 50% 늘립니다. d < 0이면 상하 뒤집기가 (추가로) 발생합니다." + +#: ../../matrix.rst:156 9660c53c0df84ae99b72badb3989dddf +msgid "" +"Causes a horizontal shift effect: Each *Point(x, y)* will become *Point(x" +" + e, y)*. Positive (negative) values of *e* will shift right (left)." +msgstr "수평 이동 효과를 발생시킵니다: 각 *Point(x, y)* 는 *Point(x + e, y)* 가 됩니다. *e* 의 양수(음수) 값은 오른쪽(왼쪽)으로 이동합니다." + +#: ../../matrix.rst:162 96c71528239744f1b8cd967c2e46cb62 +msgid "" +"Causes a vertical shift effect: Each *Point(x, y)* will become *Point(x, " +"y - f)*. Positive (negative) values of *f* will shift down (up)." +msgstr "수직 이동 효과를 발생시킵니다: 각 *Point(x, y)* 는 *Point(x, y - f)* 가 됩니다. *f* 의 양수(음수) 값은 아래(위)로 이동합니다." + +#: ../../matrix.rst:168 fbbefd1680244e43b84002ed9a436dec +msgid "" +"Rectilinear means that no shearing is present and that any rotations are " +"integer multiples of 90 degrees. Usually this is used to confirm that " +"(axis-aligned) rectangles before the transformation are still axis-" +"aligned rectangles afterwards." +msgstr "직선형은 기울이기가 없고 모든 회전이 90도의 정수 배수임을 의미합니다. 일반적으로 이것은 변환 전의 (축 정렬) 사각형이 변환 후에도 여전히 축 정렬 사각형임을 확인하는 데 사용됩니다." + +#: ../../matrix.rst:170 36d4d94103214600af41eafe39212e90 +msgid "bool" +msgstr "bool" + +#: ../../matrix.rst:174 90ffe958045f48d090dba5ba44f73165 +msgid "" +"This class adheres to the Python sequence protocol, so components can be " +"accessed via their index, too. Also refer to :ref:`SequenceTypes`." +msgstr "이 클래스는 Python 시퀀스 프로토콜을 따르므로 구성 요소는 인덱스를 통해 액세스할 수도 있습니다. :ref:`SequenceTypes` 도 참조하세요." + +#: ../../matrix.rst:175 ae28f509b9434158ad3509b43fcadd26 +msgid "" +"Matrices can be used with arithmetic operators almost like ordinary " +"numbers: they can be added, subtracted, multiplied or divided -- see " +"chapter :ref:`Algebra`." +msgstr "행렬은 일반 숫자처럼 산술 연산자와 함께 사용할 수 있습니다: 더하기, 빼기, 곱하기 또는 나누기를 할 수 있습니다 -- :ref:`Algebra` 장을 참조하세요." + +#: ../../matrix.rst:176 8bec4a086d304bbb9bfd022e4556dd29 +msgid "" +"Matrix multiplication is **not commutative** -- changing the sequence of " +"the multiplicands will change the result in general. So it can quickly " +"become unclear which result a transformation will yield." +msgstr "행렬 곱셈은 **가환적이지 않습니다** -- 곱하는 순서를 변경하면 일반적으로 결과가 변경됩니다. 따라서 변환이 어떤 결과를 산출할지 빠르게 불명확해질 수 있습니다." + +#: ../../matrix.rst:180 281fd31e543c4617a40894e7ac37597e +msgid "Examples" +msgstr "예제" + +#: ../../matrix.rst:181 401084daabc9429b9009d38c9e0f2aec +msgid "" +"Here are examples that illustrate some of the achievable effects. All " +"pictures show some text, inserted under control of some matrix and " +"relative to a fixed reference point (the red dot)." +msgstr "달성 가능한 효과 중 일부를 보여주는 예제입니다. 모든 그림은 일부 행렬의 제어 하에 삽입되고 고정된 참조점(빨간 점)을 기준으로 하는 일부 텍스트를 보여줍니다." + +#: ../../matrix.rst:183 ef95f7140bc84ceb80f3fe9cc5ffe0d2 +msgid "The :ref:`Identity` matrix performs no operation." +msgstr ":ref:`Identity` 행렬은 작업을 수행하지 않습니다." + +#: ../../matrix.rst:188 a80fc2a091374e8cb6815dfe8672bddd +msgid "" +"The scaling matrix `Matrix(2, 0.5)` stretches by a factor of 2 in " +"horizontal, and shrinks by factor 0.5 in vertical direction." +msgstr "스케일링 행렬 `Matrix(2, 0.5)` 는 수평으로 2배 늘리고 수직으로 0.5배 축소합니다." + +#: ../../matrix.rst:193 9699134c66a146af9068adb90948b8f2 +msgid "" +"Attributes :attr:`Matrix.e` and :attr:`Matrix.f` shift horizontally and, " +"respectively vertically. In the following 10 to the right and 20 down." +msgstr "속성 :attr:`Matrix.e` 및 :attr:`Matrix.f` 는 각각 수평 및 수직으로 이동합니다. 다음에서는 오른쪽으로 10, 아래로 20 이동합니다." + +#: ../../matrix.rst:198 168fe9a931a94651ac55f633dffbe987 +msgid "A negative :attr:`Matrix.a` causes a left-right flip." +msgstr "음수 :attr:`Matrix.a` 는 좌우 뒤집기를 발생시킵니다." + +#: ../../matrix.rst:203 f2cb4722af2e45f6ac67fda814935ea4 +msgid "A negative :attr:`Matrix.d` causes an up-down flip." +msgstr "음수 :attr:`Matrix.d` 는 상하 뒤집기를 발생시킵니다." + +#: ../../matrix.rst:208 28cc582a5ec24205816af0c892b692d1 +msgid "Attribute :attr:`Matrix.b` tilts upwards / downwards along the x-axis." +msgstr "속성 :attr:`Matrix.b` 는 x축을 따라 위/아래로 기울어집니다." + +#: ../../matrix.rst:213 a2b77644fc61456690d3603561dae948 +msgid "Attribute :attr:`Matrix.c` tilts left / right along the y-axis." +msgstr "속성 :attr:`Matrix.c` 는 y축을 따라 왼쪽/오른쪽으로 기울어집니다." + +#: ../../matrix.rst:218 bd842bfbd48b44509584185764d44373 +msgid "" +"Matrix `Matrix(beta)` performs counterclockwise rotations for positive " +"angles `beta`." +msgstr "행렬 `Matrix(beta)` 는 양수 각도 `beta` 에 대해 반시계 방향 회전을 수행합니다." + +#: ../../matrix.rst:223 ac0b2cc97b1347ab9f63fa8f97f50072 +msgid "Show some effects on a rectangle::" +msgstr "사각형에 대한 일부 효과 표시::" + +#: ../../footer.rst:46 2a49496b580540908297c502618954b2 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/module.mo b/docs/locales/ko/LC_MESSAGES/module.mo new file mode 100644 index 000000000..68c698c4e Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/module.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/module.po b/docs/locales/ko/LC_MESSAGES/module.po new file mode 100644 index 000000000..8f16cf0ba --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/module.po @@ -0,0 +1,496 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 62136ba5c5a74ecfa227336e448d62b5 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 6fc9c3c622e84783910d3b11c3709f37 +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 d611277d72c64dd99b3b9f2f8ec96367 +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" + +#: ../../module.rst:7 f33c4cbb9f05422084dddcddaf87949a +msgid "Command line interface" +msgstr "명령줄 인터페이스" + +#: ../../module.rst:9 9f557fd4350a42ed9a1df58860be9669 +msgid "New in version 1.16.8" +msgstr "버전 1.16.8의 새로운 기능" + +#: ../../module.rst:11 ecd7d23131464943807a4fb959173755 +msgid "" +"PyMuPDF can also be used from the command line to perform utility " +"functions. This feature should obsolete writing some of the most basic " +"scripts." +msgstr "|PyMuPDF| 는 명령줄에서 유틸리티 함수를 수행하는 데에도 사용할 수 있습니다. 이 기능은 가장 기본적인 스크립트 작성 중 일부를 대체해야 합니다." + +#: ../../module.rst:13 20b8d208b65e4c74bf7ad83bfb388393 +msgid "" +"Admittedly, there is some functional overlap with the MuPDF CLI `mutool`." +" On the other hand, PDF embedded files are no longer supported by MuPDF, " +"so PyMuPDF is offering something unique here." +msgstr "인정하건대, |MuPDF| CLI `mutool` 과 기능적 중복이 있습니다. 반면, PDF 임베디드 파일은 |MuPDF| 에서 더 이상 지원되지 않으므로, |PyMuPDF| 는 여기서 고유한 기능을 제공합니다." + +#: ../../module.rst:16 61944c3cbe72440580bdadeeb1269b75 +msgid "Invocation" +msgstr "호출" + +#: ../../module.rst:18 295dfa35e12a40d48e27c0055204d5a7 +msgid "The command-line interface can be invoked in two ways." +msgstr "명령줄 인터페이스는 두 가지 방법으로 호출할 수 있습니다." + +#: ../../module.rst:20 7177082a690146019882a6b232aa8853 +msgid "Use the installed `pymupdf` command::" +msgstr "설치된 `pymupdf` 명령을 사용합니다::" + +#: ../../module.rst:24 87e819afc653442caceed77952e1ed58 +msgid "Or use Python's `-m` switch with PyMuPDF's `pymupdf` module::" +msgstr "또는 |PyMuPDF| 의 `pymupdf` 모듈과 함께 Python의 `-m` 스위치를 사용합니다::" + +#: ../../module.rst:31 c1e7f23de6ef452a83faa31ed988d657 +msgid "General remarks:" +msgstr "일반 참고 사항:" + +#: ../../module.rst:33 fd3bac8dc3e9421eb2371c451ec1c3da +msgid "" +"Request help via `\"-h\"`, resp. command-specific help via `\"command " +"-h\"`." +msgstr "`\"-h\"` 를 통해 도움말을 요청하거나, `\"command -h\"` 를 통해 명령별 도움말을 요청합니다." + +#: ../../module.rst:34 dbd5a72f66d84df5b18b6bec2f4fd2f5 +msgid "Parameters may be abbreviated where this does not introduce ambiguities." +msgstr "모호함을 유발하지 않는 경우 매개변수를 축약할 수 있습니다." + +#: ../../module.rst:35 73cd69c626714f7aa1e084d11447cea6 +msgid "" +"Several commands support parameters `-pages` and `-xrefs`. They are " +"intended for down-selection. Please note that:" +msgstr "여러 명령은 `-pages` 및 `-xrefs` 매개변수를 지원합니다. 이들은 하위 선택을 위한 것입니다. 다음을 참고하세요:" + +#: ../../module.rst:37 7ff6972a285a4695baa4e4276641b755 +msgid "**page numbers** for this utility must be given **1-based**." +msgstr "이 유틸리티의 **페이지 번호** 는 **1부터 시작** 해야 합니다." + +#: ../../module.rst:38 b9688dc1937342d0a9ba2a88937c6d0a +msgid "valid :data:`xref` numbers start at 1." +msgstr "유효한 :data:`xref` 번호는 1부터 시작합니다." + +#: ../../module.rst:39 7c0c1890d37b41f6820770dd6bed4376 +msgid "" +"Specify a comma-separated list of either *single* integers or integer " +"*ranges*. A **range** is a pair of integers separated by one hyphen " +"\"-\". Integers must not exceed the maximum page, resp. xref number. To " +"specify that maximum, the symbolic variable \"N\" may be used. Integers " +"or ranges may occur several times, in any sequence and may overlap. If in" +" a range the first number is greater than the second one, the respective " +"items will be processed in reversed order." +msgstr "*단일* 정수 또는 정수 *범위* 의 쉼표로 구분된 목록을 지정합니다. **범위** 는 하이픈 \"-\" 로 구분된 정수 쌍입니다. 정수는 최대 페이지(또는 xref 번호)를 초과하지 않아야 합니다. 최대값을 지정하려면 기호 변수 \"N\" 을 사용할 수 있습니다. 정수 또는 범위는 여러 번 발생할 수 있으며, 어떤 순서로든 발생할 수 있고 겹칠 수 있습니다. 범위에서 첫 번째 숫자가 두 번째 숫자보다 크면 해당 항목이 역순으로 처리됩니다." + +#: ../../module.rst:41 ee46edb0ea2b44e98364d207aaa2d1ef +msgid "How to use the module inside your script::" +msgstr "스크립트 내에서 모듈을 사용하는 방법::" + +#: ../../module.rst:50 123a2e5ad2564826b878adadaf638eeb +msgid "" +"Use the following 2-liner and compile it with `Nuitka " +"`_ in standalone mode. This will give " +"you a CLI executable with all the module's features, that can be used on " +"all compatible platforms without Python, PyMuPDF or MuPDF being " +"installed." +msgstr "다음 2줄 코드를 사용하고 `Nuitka `_ 로 standalone 모드에서 컴파일합니다. 이것은 모듈의 모든 기능을 가진 CLI 실행 파일을 제공하며, Python, |PyMuPDF| 또는 |MuPDF| 가 설치되지 않은 모든 호환 플랫폼에서 사용할 수 있습니다." + +#: ../../module.rst:59 621c5379e7d44e29a5ae735c58352834 +msgid "Cleaning and Copying" +msgstr "정리 및 복사" + +#: ../../module.rst:63 a41c329fb87940c482d0805086ecc3cf +msgid "" +"This command will optimize the PDF and store the result in a new file. " +"You can use it also for encryption, decryption and creating sub " +"documents. It is mostly similar to the MuPDF command line utility " +"*\"mutool clean\"*::" +msgstr "이 명령은 PDF를 최적화하고 결과를 새 파일에 저장합니다. 암호화, 복호화 및 하위 문서 생성에도 사용할 수 있습니다. 이것은 |MuPDF| 명령줄 유틸리티 *\"mutool clean\"* 과 대부분 유사합니다::" + +#: ../../module.rst:96 95c61ecff9474da7a32002be18ff00b3 +msgid "" +"If you specify \"-pages\", be aware that only page-related objects are " +"copied, **no document-level items** like e.g. embedded files." +msgstr "\"-pages\" 를 지정하면 페이지 관련 객체만 복사되며, 예를 들어 임베디드 파일과 같은 **문서 레벨 항목은 복사되지 않습니다**." + +#: ../../module.rst:98 958ae9bd4e2244ae9cbb5d24a62a8c94 +msgid "Please consult :meth:`Document.save` for the parameter meanings." +msgstr "매개변수 의미는 :meth:`Document.save` 를 참조하세요." + +#: ../../module.rst:102 5b59f04532e94259bf5b3ecd530ca408 +msgid "Extracting Fonts and Images" +msgstr "글꼴 및 이미지 추출" + +#: ../../module.rst:103 170896a4fb624362bfbd8172cf909da4 +msgid "Extract fonts or images from selected PDF pages to a desired directory::" +msgstr "선택한 PDF 페이지에서 글꼴 또는 이미지를 원하는 디렉토리로 추출합니다::" + +#: ../../module.rst:123 220fe33385e844f3928ec0625f051414 +msgid "" +"**Image filenames** are built according to the naming scheme: **\"img-" +"xref.ext\"**, where \"ext\" is the extension associated with the image " +"and \"xref\" the :data:`xref` of the image PDF object." +msgstr "**이미지 파일명** 은 명명 체계에 따라 생성됩니다: **\"img-xref.ext\"**, 여기서 \"ext\" 는 이미지와 연결된 확장자이고 \"xref\" 는 이미지 PDF 객체의 :data:`xref` 입니다." + +#: ../../module.rst:125 d56994d8f2a8433280e4ef35819f2e7a +msgid "" +"**Font filenames** consist of the fontname and the associated extension. " +"Any spaces in the fontname are replaced with hyphens \"-\"." +msgstr "**글꼴 파일명** 은 글꼴 이름과 연결된 확장자로 구성됩니다. 글꼴 이름의 공백은 하이픈 \"-\" 로 대체됩니다." + +#: ../../module.rst:127 a8e1a30f5fde401d810825a6e3b01a09 +msgid "The output directory must already exist." +msgstr "출력 디렉토리는 이미 존재해야 합니다." + +#: ../../module.rst:129 f2bc1eaf74014a2c9c0473449a9e7b11 +msgid "" +"Except for output directory creation, this feature is **functionally " +"equivalent** to and obsoletes `this script `_." +msgstr "출력 디렉토리 생성 제외, 이 기능은 `이 스크립트 `_ 와 **기능적으로 동일** 하며 이를 대체합니다." + +#: ../../module.rst:133 b52a0c02382d4e9abbd491e7b26f50d8 +msgid "Joining PDF Documents" +msgstr "PDF 문서 결합" + +#: ../../module.rst:134 b52dba2292bb478f86d8bd2a68e72d49 +msgid "To join several PDF files specify::" +msgstr "여러 PDF 파일을 결합하려면 다음을 지정합니다::" + +#: ../../module.rst:153 e75a700cceee42eda662850bcb411254 +msgid "" +"Each input must be entered as **\"filename,password,pages\"**. Password " +"and pages are optional." +msgstr "각 입력은 **\"filename,password,pages\"** 형식으로 입력해야 합니다. 비밀번호와 페이지는 선택 사항입니다." + +#: ../../module.rst:154 5bbc4bbfbbe44ea29ce63dc28468ecde +msgid "" +"The password entry **is required** if the \"pages\" entry is used. If the" +" PDF needs no password, specify two commas." +msgstr "\"pages\" 항목을 사용하는 경우 비밀번호 항목이 **필수** 입니다. PDF에 비밀번호가 필요하지 않으면 두 개의 쉼표를 지정합니다." + +#: ../../module.rst:155 24124b66f3f9496c9cba03a6c3987619 +msgid "" +"The **\"pages\"** format is the same as explained at the top of this " +"section." +msgstr "**\"pages\"** 형식은 이 섹션 상단에서 설명한 것과 동일합니다." + +#: ../../module.rst:156 6c8cd3be3fd844a18d6859e34270344c +msgid "" +"Each input file is immediately closed after use. Therefore you can use " +"one of them as output filename, and thus overwrite it." +msgstr "각 입력 파일은 사용 후 즉시 닫힙니다. 따라서 그 중 하나를 출력 파일명으로 사용하여 덮어쓸 수 있습니다." + +#: ../../module.rst:159 62faf24e6a7143aca5c2f6d4d0a3bd13 +msgid "Example: To join the following files" +msgstr "예제: 다음 파일을 결합하려면" + +#: ../../module.rst:161 088838df3b2545f8801c172c3bc996f0 +msgid "**file1.pdf:** all pages, back to front, no password" +msgstr "**file1.pdf:** 모든 페이지, 뒤에서 앞으로, 비밀번호 없음" + +#: ../../module.rst:162 72f4cc0b55a64f16a43ce016fb9d46a0 +msgid "**file2.pdf:** last page, first page, password: \"secret\"" +msgstr "**file2.pdf:** 마지막 페이지, 첫 페이지, 비밀번호: \"secret\"" + +#: ../../module.rst:163 518dcf41451c4ab098ae80c98c705da7 +msgid "**file3.pdf:** pages 5 to last, no password" +msgstr "**file3.pdf:** 페이지 5부터 마지막까지, 비밀번호 없음" + +#: ../../module.rst:165 579e18430ffe47deaf32eb9b5bb856c7 +msgid "and store the result as **output.pdf** enter this command:" +msgstr "결과를 **output.pdf** 로 저장하려면 다음 명령을 입력합니다:" + +#: ../../module.rst:167 945d0c96b4b34fc782a86ae2fcf40aa5 +msgid "" +"``pymupdf join -o output.pdf file1.pdf,,N-1 file2.pdf,secret,N,1 " +"file3.pdf,,5-N``" +msgstr "``pymupdf join -o output.pdf file1.pdf,,N-1 file2.pdf,secret,N,1 file3.pdf,,5-N``" + +#: ../../module.rst:171 45664921245f42c09b294edb251048f5 +msgid "Low Level Information" +msgstr "저수준 정보" + +#: ../../module.rst:173 fdf3d7f12d914afe950de66d094693fa +msgid "" +"Display PDF internal information. Again, there are similarities to " +"*\"mutool show\"*::" +msgstr "PDF 내부 정보를 표시합니다. 다시 말하지만, *\"mutool show\"* 와 유사점이 있습니다::" + +#: ../../module.rst:194 ad5c07b578e24a87b4bdfa72f035288d +msgid "Examples::" +msgstr "예제::" + +#: ../../module.rst:243 a932285ed88f489cb35fb9fd00084410 +msgid "Embedded Files Commands" +msgstr "임베디드 파일 명령" + +#: ../../module.rst:245 22fe7451356d4b07a68f7b814a48f7db +msgid "" +"The following commands deal with embedded files -- which is a feature " +"completely removed from MuPDF after v1.14, and hence from all its command" +" line tools." +msgstr "다음 명령은 임베디드 파일을 다룹니다 -- 이것은 v1.14 이후 |MuPDF| 에서 완전히 제거된 기능이며, 따라서 모든 명령줄 도구에서도 제거되었습니다." + +#: ../../module.rst:248 031889fce5ba40c8aa00dca7f543935f +msgid "Information" +msgstr "정보" + +#: ../../module.rst:250 923441e6e99c4679913ea9650bd321f3 +msgid "Show the embedded file names (long or short format)::" +msgstr "임베디드 파일 이름을 표시합니다(긴 형식 또는 짧은 형식)::" + +#: ../../module.rst:266 2938ace8fd974862bd2b852f6d01c1b5 +msgid "Example::" +msgstr "예제::" + +#: ../../module.rst:287 4b906057dfa84c65ba2f7b3875e76f45 +msgid "Detailed output would look like this per entry::" +msgstr "각 항목에 대한 상세 출력은 다음과 같습니다::" + +#: ../../module.rst:297 fa6b969dc09f4e7aa8ddad1a74b85f27 +msgid "Extraction" +msgstr "추출" + +#: ../../module.rst:299 b95b620ad9f548139f65380c81a609eb +msgid "Extract an embedded file like this::" +msgstr "다음과 같이 임베디드 파일을 추출합니다::" + +#: ../../module.rst:317 b425246653d244139ee6064fef0cce03 +msgid "" +"For details consult :meth:`Document.embfile_get`. Example (refer to " +"previous section)::" +msgstr "자세한 내용은 :meth:`Document.embfile_get` 을 참조하세요. 예제(이전 섹션 참조)::" + +#: ../../module.rst:323 beb7e7b57a2d40d7b80215a90a015016 +msgid "Deletion" +msgstr "삭제" + +#: ../../module.rst:324 a66d4e86731745edabc9c4f4e5e0bb9f +msgid "Delete an embedded file like this::" +msgstr "다음과 같이 임베디드 파일을 삭제합니다::" + +#: ../../module.rst:340 c7c9134eddaa4ad2b9672122f1aa8fe9 +msgid "For details consult :meth:`Document.embfile_del`." +msgstr "자세한 내용은 :meth:`Document.embfile_del` 을 참조하세요." + +#: ../../module.rst:343 8027d6ea455e4050ace1ead2c3a951fb +msgid "Insertion" +msgstr "삽입" + +#: ../../module.rst:344 05c0ffa1d1fd4495a04887a13fa6a0ff +msgid "Add a new embedded file using this command::" +msgstr "다음 명령을 사용하여 새 임베디드 파일을 추가합니다::" + +#: ../../module.rst:364 a3ce7e14c5a6493190e34f36253a7b11 +msgid "" +"*\"NAME\"* **must not** already exist in the PDF. For details consult " +":meth:`Document.embfile_add`." +msgstr "*\"NAME\"* 은 PDF에 이미 존재해서는 **안 됩니다**. 자세한 내용은 :meth:`Document.embfile_add` 를 참조하세요." + +#: ../../module.rst:367 8b7188f7140248f2ace12ff2559a5810 +msgid "Updates" +msgstr "업데이트" + +#: ../../module.rst:368 bf7de82ffcc6488492d7f1ed813a78d7 +msgid "Update an existing embedded file using this command::" +msgstr "다음 명령을 사용하여 기존 임베디드 파일을 업데이트합니다::" + +#: ../../module.rst:393 dfb87b27e010457ea91a44ac1607508d +msgid "" +"Use this method to change meta-information of the file -- just omit the " +"*\"PATH\"*. For details consult :meth:`Document.embfile_upd`." +msgstr "이 메서드를 사용하여 파일의 메타 정보를 변경합니다 -- *\"PATH\"* 만 생략하면 됩니다. 자세한 내용은 :meth:`Document.embfile_upd` 를 참조하세요." + +#: ../../module.rst:397 9724107b71a3473586bf932f86556d37 +msgid "Copying" +msgstr "복사" + +#: ../../module.rst:398 320c9dfca9614ce1aad38deec15e2f14 +msgid "Copy embedded files between PDFs::" +msgstr "PDF 간에 임베디드 파일을 복사합니다::" + +#: ../../module.rst:422 4f474c3c92134dbf92a95d04287f6b7c +msgid "Text Extraction" +msgstr "텍스트 추출" + +#: ../../module.rst:423 10013955206643cdabf54b9427cf9162 +msgid "New in v1.18.16" +msgstr "v1.18.16의 새로운 기능" + +#: ../../module.rst:425 6175e1799fe14be7857049aacbf4f76e +msgid "" +"Extract text from arbitrary :ref:`supported " +"documents` to a textfile. Currently, there are " +"three output formatting modes available: simple, block sorting and " +"reproduction of physical layout." +msgstr "임의의 :ref:`지원 문서` 에서 텍스트 파일로 텍스트를 추출합니다. 현재 세 가지 출력 형식 모드가 사용 가능합니다: simple, block sorting 및 물리적 레이아웃 재현." + +#: ../../module.rst:427 104746a6d24348c085e4d1f05530f3c4 +msgid "" +"**Simple** text extraction reproduces all text as it appears in the " +"document pages -- no effort is made to rearrange in any particular " +"reading order." +msgstr "**Simple** 텍스트 추출은 문서 페이지에 나타나는 대로 모든 텍스트를 재현합니다 -- 특정 읽기 순서로 재배열하려는 시도는 없습니다." + +#: ../../module.rst:428 46976f7ba91e4ed195d1d2970b450ce8 +msgid "" +"**Block sorting** sorts text blocks (as identified by MuPDF) by ascending" +" vertical, then horizontal coordinates. This should be sufficient to " +"establish a \"natural\" reading order for basic pages of text." +msgstr "**Block sorting** 은 텍스트 블록(|MuPDF| 에 의해 식별됨)을 수직 좌표, 그 다음 수평 좌표의 오름차순으로 정렬합니다. 이것은 기본 텍스트 페이지에 대한 \"자연스러운\" 읽기 순서를 설정하는 데 충분해야 합니다." + +#: ../../module.rst:429 736d584551084ce0ae8db3ab132de413 +msgid "" +"**Layout** strives to reproduce the original appearance of the input " +"pages. You can expect results like this (produced by the command `pymupdf" +" gettext -pages 1 demo1.pdf`):" +msgstr "**Layout** 은 입력 페이지의 원래 모양을 재현하려고 합니다. 다음과 같은 결과를 기대할 수 있습니다(`pymupdf gettext -pages 1 demo1.pdf` 명령으로 생성됨):" + +#: ../../module.rst:434 50eb59c01b5243e4a1beb240596e9fcf +msgid "" +"The \"gettext\" command offers a functionality similar to the CLI tool " +"`pdftotext` by XPDF software, http://www.foolabs.com/xpdf/ -- this is " +"especially true for \"layout\" mode, which combines that tool's `-layout`" +" and `-table` options." +msgstr "\"gettext\" 명령은 XPDF 소프트웨어의 CLI 도구 `pdftotext` (http://www.foolabs.com/xpdf/)와 유사한 기능을 제공합니다 -- 이것은 특히 해당 도구의 `-layout` 및 `-table` 옵션을 결합하는 \"layout\" 모드에 해당합니다." + +#: ../../module.rst:438 49563f540be445d984dba68ffffbfe02 +msgid "" +"After each page of the output file, a formfeed character, `hex(12)` is " +"written -- even if the input page has no text at all. This behavior can " +"be controlled via options." +msgstr "출력 파일의 각 페이지 후에 폼피드 문자 `hex(12)` 가 기록됩니다 -- 입력 페이지에 텍스트가 전혀 없는 경우에도 마찬가지입니다. 이 동작은 옵션을 통해 제어할 수 있습니다." + +#: ../../module.rst:440 647dbf1080904cb5b86c438feafcb584 +msgid "" +"For \"layout\" mode, **only horizontal, left-to-right, top-to bottom** " +"text is supported, other text is ignored. In this mode, text is also " +"ignored, if its :data:`fontsize` is too small." +msgstr "\"layout\" 모드의 경우, **수평, 왼쪽에서 오른쪽으로, 위에서 아래로** 텍스트만 지원되며 다른 텍스트는 무시됩니다. 이 모드에서 텍스트의 :data:`fontsize` 가 너무 작으면 텍스트도 무시됩니다." + +#: ../../module.rst:442 baeab1e7bac9497995324b659ebebf03 +msgid "" +"\"Simple\" and \"blocks\" mode in contrast output **all text** for any " +"text size or orientation." +msgstr "대조적으로 \"Simple\" 및 \"blocks\" 모드는 모든 텍스트 크기나 방향에 대해 **모든 텍스트** 를 출력합니다." + +#: ../../module.rst:444 8617ac5a55024a57b4b1d70bdb264ced +msgid "Command::" +msgstr "명령::" + +#: ../../module.rst:472 f1019c52949f4174acd4b9381a394601 +msgid "" +"Command options may be abbreviated as long as no ambiguities are " +"introduced. So the following do the same:" +msgstr "명령 옵션은 모호함을 유발하지 않는 한 축약할 수 있습니다. 따라서 다음은 동일합니다:" + +#: ../../module.rst:474 d70e9f44b99141809981474f2ff8b052 +msgid "" +"`... -output text.txt -noligatures -noformfeed -convert-white -grid 3 " +"-extra-spaces ...`" +msgstr "`... -output text.txt -noligatures -noformfeed -convert-white -grid 3 -extra-spaces ...`" + +#: ../../module.rst:475 07cb51f3b38747abbb4010f810490249 +msgid "`... -o text.txt -nol -nof -c -g 3 -e ...`" +msgstr "`... -o text.txt -nol -nof -c -g 3 -e ...`" + +#: ../../module.rst:477 f16b9ac2c6c14bd5bb7fcea64f1fcd80 +msgid "" +"The output filename defaults to the input with its extension replaced by " +"`.txt`. As with other commands, you can select page ranges **(caution: " +"1-based!)** in `mutool` format, as indicated above." +msgstr "출력 파일명은 기본적으로 입력 파일의 확장자가 `.txt` 로 대체된 것입니다. 다른 명령과 마찬가지로 위에서 표시한 대로 `mutool` 형식으로 페이지 범위를 선택할 수 있습니다 **(주의: 1부터 시작!)**." + +#: ../../module.rst:479 f23822348e0f44868acd1a434c638317 +msgid "**mode:** (str) select a formatting mode -- default is \"layout\"." +msgstr "**mode:** (str) 형식 모드를 선택합니다 -- 기본값은 \"layout\" 입니다." + +#: ../../module.rst:480 34f6f03b6b7c4d14b5b53d480ad19652 +msgid "" +"**noligatures:** (bool) corresponds to **not** " +":data:`TEXT_PRESERVE_LIGATURES`. If specified, ligatures (present in " +"advanced fonts: glyphs combining multiple characters like \"fi\") are " +"split up into their components (i.e. \"f\", \"i\"). Default is passing " +"them through." +msgstr "**noligatures:** (bool) :data:`TEXT_PRESERVE_LIGATURES` 를 **사용하지 않는** 것에 해당합니다. 지정하면 합자(고급 글꼴에 있음: \"fi\" 와 같은 여러 문자를 결합하는 글리프)가 구성 요소(즉, \"f\", \"i\")로 분할됩니다. 기본값은 통과시킵니다." + +#: ../../module.rst:481 7ad52df691114a03bf07a72f2434d4a9 +msgid "" +"**convert-white:** corresponds to **not** " +":data:`TEXT_PRESERVE_WHITESPACE`. If specified, all white space " +"characters (like tabs) are replaced with one or more spaces. Default is " +"passing them through." +msgstr "**convert-white:** :data:`TEXT_PRESERVE_WHITESPACE` 를 **사용하지 않는** 것에 해당합니다. 지정하면 모든 공백 문자(탭 등)가 하나 이상의 공백으로 대체됩니다. 기본값은 통과시킵니다." + +#: ../../module.rst:482 b925a23489d24b3396cf53888050c32d +msgid "" +"**extra-spaces:** (bool) corresponds to **not** " +":data:`TEXT_INHIBIT_SPACES`. If specified, large gaps between adjacent " +"characters will be filled with one or more spaces. Default is off." +msgstr "**extra-spaces:** (bool) :data:`TEXT_INHIBIT_SPACES` 를 **사용하지 않는** 것에 해당합니다. 지정하면 인접 문자 사이의 큰 간격이 하나 이상의 공백으로 채워집니다. 기본값은 꺼짐입니다." + +#: ../../module.rst:483 9d95e72389b3445ba510fb682107c642 +msgid "" +"**noformfeed:** (bool) instead of `hex(12)` (formfeed), write linebreaks" +" ``\\n`` at end of output pages." +msgstr "**noformfeed:** (bool) `hex(12)` (폼피드) 대신 출력 페이지 끝에 줄바꿈 ``\\n`` 을 씁니다." + +#: ../../module.rst:484 703f5774d5234679a03f67da753bc40a +msgid "**skip-empty:** (bool) skip pages with no text." +msgstr "**skip-empty:** (bool) 텍스트가 없는 페이지를 건너뜁니다." + +#: ../../module.rst:485 8f19a7610cc64fc88819c1b7fc295330 +msgid "" +"**grid:** lines with a vertical coordinate difference of no more than " +"this value (in points) will be merged into the same output line. Only " +"relevant for \"layout\" mode. **Use with care:** 3 or the default 2 " +"should be adequate in most cases. If **too large**, lines that are " +"*intended* to be different in the original may be merged and will result " +"in garbled and / or incomplete output. If **too low**, artifact separate " +"output lines may be generated for some spans in the input line, just " +"because they are coded in a different font with slightly deviating " +"properties." +msgstr "**grid:** 이 값(포인트 단위) 이하의 수직 좌표 차이를 가진 줄이 동일한 출력 줄로 병합됩니다. \"layout\" 모드에만 관련됩니다. **주의해서 사용하세요:** 대부분의 경우 3 또는 기본값 2가 적절합니다. **너무 크면**, 원본에서 *의도적으로* 다른 줄이 병합되어 왜곡되거나 불완전한 출력이 발생할 수 있습니다. **너무 낮으면**, 약간 다른 속성을 가진 다른 글꼴로 코딩되어 있기 때문에 입력 줄의 일부 범위에 대해 인공적인 별도 출력 줄이 생성될 수 있습니다." + +#: ../../module.rst:486 eac14db14ad14562a3b3b10a76827016 +msgid "" +"**fontsize:** include text with :data:`fontsize` larger than this value " +"only (default 3). Only relevant for \"layout\" option." +msgstr "**fontsize:** 이 값보다 큰 :data:`fontsize` 를 가진 텍스트만 포함합니다(기본값 3). \"layout\" 옵션에만 관련됩니다." + +#: ../../footer.rst:46 bf24bcacdf454aba8a6c79d83a00209b +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/outline.mo b/docs/locales/ko/LC_MESSAGES/outline.mo new file mode 100644 index 000000000..e0998da53 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/outline.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/outline.po b/docs/locales/ko/LC_MESSAGES/outline.po new file mode 100644 index 000000000..b62da329d --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/outline.po @@ -0,0 +1,228 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 bbc8f87339104f1898b46c688e53d1bf +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 c349cfed692041d1831e68981b1432f3 +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 ccc1347133a5468990182905e2e49042 +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" + +#: ../../outline.rst:7 ac9aff233a8946e286c95d2a2f9a8e13 +msgid "Outline" +msgstr "Outline" + +#: ../../outline.rst:9 7a3be59ed3114a5c8bffd3f17bbb2211 +msgid "" +"The document outline (otherwise known as \"bookmarks\") is a property of " +":ref:`Document` (see :attr:`Document.outline`). If not ``None``, it " +"stands for the first outline item of the document. Its properties in turn" +" define the characteristics of this item and also point to other outline " +"items in \"horizontal\" or downward direction. The full tree of all " +"outline items for e.g. a conventional table of contents (TOC) can be " +"recovered by following these \"pointers\"." +msgstr "문서 개요(또는 \"북마크\"라고도 함)는 :ref:`Document` 의 속성입니다(:attr:`Document.outline` 참조). ``None`` 이 아니면 문서의 첫 번째 개요 항목을 나타냅니다. 그 속성은 이 항목의 특성을 정의하고 \"수평\" 또는 아래 방향으로 다른 개요 항목을 가리킵니다. 예를 들어 일반적인 목차(TOC)의 모든 개요 항목의 전체 트리는 이러한 \"포인터\"를 따라 복구할 수 있습니다." + +#: ../../outline.rst:12 b45a2c09637c4f3e9d2b01f1ba92a39f +msgid "**Method / Attribute**" +msgstr "**메서드 / 속성**" + +#: ../../outline.rst:12 47ad240edf4f474fa4acbc5fda0372cb +msgid "**Short Description**" +msgstr "**간단한 설명**" + +#: ../../outline.rst:14 be403d58c4de4b12a011b9ed0d0e543f +msgid ":attr:`Outline.down`" +msgstr ":attr:`Outline.down`" + +#: ../../outline.rst:14 247939926687419fbfef8ca1aca02f0d +msgid "next item downwards" +msgstr "아래로 다음 항목" + +#: ../../outline.rst:15 96c69672ce3043259545e0e655eb91db +msgid ":attr:`Outline.next`" +msgstr ":attr:`Outline.next`" + +#: ../../outline.rst:15 4a5f23f96cf749c7872473b681590785 +msgid "next item same level" +msgstr "같은 레벨의 다음 항목" + +#: ../../outline.rst:16 c573402a06284cd492bec3c1d27d1e3d +msgid ":attr:`Outline.page`" +msgstr ":attr:`Outline.page`" + +#: ../../outline.rst:16 506be6a2e42d4302bdbc7b4e28e2394d +msgid "page number (0-based)" +msgstr "페이지 번호(0부터 시작)" + +#: ../../outline.rst:17 f119da14666b4fd3b371cf4ffc3e472a +msgid ":attr:`Outline.title`" +msgstr ":attr:`Outline.title`" + +#: ../../outline.rst:17 76ae4b21a6a6447da64b2d5e96423ea6 +msgid "title" +msgstr "제목" + +#: ../../outline.rst:18 a5fad59c22974e90b9ea8aad24218452 +msgid ":attr:`Outline.uri`" +msgstr ":attr:`Outline.uri`" + +#: ../../outline.rst:18 841c94119419481b8d836018ece01af9 +msgid "string further specifying outline target" +msgstr "개요 대상을 추가로 지정하는 문자열" + +#: ../../outline.rst:19 8cfeb148873e49c09a78d54e1a2f77c6 +msgid ":attr:`Outline.is_external`" +msgstr ":attr:`Outline.is_external`" + +#: ../../outline.rst:19 8a8f02b1287645c8905eec8793a1b5b6 +msgid "target outside document" +msgstr "문서 외부 대상" + +#: ../../outline.rst:20 5de9d126a21d480a9e1ca3476bebb4d3 +msgid ":attr:`Outline.is_open`" +msgstr ":attr:`Outline.is_open`" + +#: ../../outline.rst:20 7fc18da2ba4d4cbe9f3b2a82d39f02da +msgid "whether sub-outlines are open or collapsed" +msgstr "하위 개요가 열려 있는지 접혀 있는지 여부" + +#: ../../outline.rst:21 6aa64d2eff674fa2890310aecbb14167 +msgid ":attr:`Outline.dest`" +msgstr ":attr:`Outline.dest`" + +#: ../../outline.rst:21 0a87f99431e642139f4b43d536359abe +msgid "points to destination details object" +msgstr "대상 세부 정보 객체를 가리킴" + +#: ../../outline.rst:24 5ed102082bf84d049ca1f0ce22437f31 +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../outline.rst:30 7b0ddca9a47d4e648ebdab93710cb150 +msgid "" +"The next outline item on the next level down. Is ``None`` if the item has" +" no children." +msgstr "다음 레벨의 다음 개요 항목. 항목에 자식이 없으면 ``None`` 입니다." + +#: ../../outline.rst 057e37ce84814a1c8c344aab938047f2 +#: 1e93414e062d488e892d2f22750666de 76ab3bd1d70641f185a95f718ad0bb69 +#: 7bd6079115d0441a82b8de2daaa1f4f9 9ecaaca5f8fd42c5b695d3f7ac9a5477 +#: bc6ef4078c8a4c91a859ae4437517df7 e5dc2bd2705743d59033178491288a7a +#: ea89654da5734c92aa2797336d8dfbc6 +msgid "type" +msgstr "유형" + +#: ../../outline.rst:32 8b64d66496a54db0908a0f6af0d7969e +msgid ":ref:`Outline`" +msgstr ":ref:`Outline`" + +#: ../../outline.rst:36 b8f40bec44ec498a866b8b610465788d +msgid "" +"The next outline item at the same level as this item. Is ``None`` if this" +" is the last one in its level." +msgstr "이 항목과 같은 레벨의 다음 개요 항목. 이것이 해당 레벨의 마지막 항목이면 ``None`` 입니다." + +#: ../../outline.rst:38 78788e777e334a73bb007bf2b10702b8 +msgid "`Outline`" +msgstr "`Outline`" + +#: ../../outline.rst:42 e0f2f185ffc545688e36397b2ab22051 +msgid "The page number (0-based) this bookmark points to." +msgstr "이 북마크가 가리키는 페이지 번호(0부터 시작)." + +#: ../../outline.rst:44 f47207285d9f4747a109ad0f93928b78 +msgid "int" +msgstr "int" + +#: ../../outline.rst:48 53ed66d010ce46c8a8afa6580844ac5d +msgid "The item's title as a string or ``None``." +msgstr "항목의 제목(문자열) 또는 ``None``." + +#: ../../outline.rst:50 ../../outline.rst:83 f43c0734193d4aedae69249948755e99 +#: fc9bbc88a2e842c090ac4d2ea7adf221 +msgid "str" +msgstr "str" + +#: ../../outline.rst:54 d0a15fed61c5446e815f91424b141eab +msgid "" +"Indicator showing whether any sub-outlines should be expanded (``True``) " +"or be collapsed (``False``). This information is interpreted by PDF " +"reader software." +msgstr "하위 개요가 확장되어야 하는지(``True``) 접혀야 하는지(``False``)를 나타내는 표시기입니다. 이 정보는 PDF 리더 소프트웨어에 의해 해석됩니다." + +#: ../../outline.rst:56 ../../outline.rst:62 1e2367a870064e0ab9fefe235f8f9199 +#: 309c517aaa49400181d997b03fb6d487 +msgid "bool" +msgstr "bool" + +#: ../../outline.rst:60 eabf7026067444bd881e44370ac424e5 +msgid "" +"A bool specifying whether the target is outside (``True``) of the current" +" document." +msgstr "대상이 현재 문서 외부(``True``)인지 여부를 지정하는 bool입니다." + +#: ../../outline.rst:66 6e1ed475f293437aa748d4d40f55bbc0 +msgid "" +"A string specifying the link target. The meaning of this property should " +"be evaluated in conjunction with property `is_external`:" +msgstr "링크 대상을 지정하는 문자열입니다. 이 속성의 의미는 `is_external` 속성과 함께 평가해야 합니다:" + +#: ../../outline.rst:70 048200e34ebe4f88b8f6ecdfad9e9724 +msgid "" +"`is_external` is true: ``uri`` points to some target outside the current " +"PDF, which may be an internet resource (``uri`` starts with ``http://`` " +"or similar), another file (``uri`` starts with ``file:`` or ``file://``) " +"or some other service like an e-mail address (``uri`` starts with " +"``mailto:``)." +msgstr "`is_external` 이 true: ``uri`` 는 현재 PDF 외부의 대상을 가리키며, 인터넷 리소스(``uri`` 가 ``http://`` 또는 유사한 것으로 시작), 다른 파일(``uri`` 가 ``file:`` 또는 ``file://`` 로 시작) 또는 이메일 주소와 같은 기타 서비스(``uri`` 가 ``mailto:`` 로 시작)일 수 있습니다." + +#: ../../outline.rst:76 e2b37e452977480aadfbf5e2b8eb7ced +msgid "" +"`is_external` is false: ``uri`` will be `None` or point to an internal " +"location. In case of PDF documents, this should either be *#nnnn* to " +"indicate a 1-based (!) page number *nnnn*, or a named location. The " +"format varies for other document types, for example " +"\"../FixedDoc.fdoc#PG_2_LNK_1\" for page number 2 (1-based) in an XPS " +"document." +msgstr "`is_external` 이 false: ``uri`` 는 `None` 이거나 내부 위치를 가리킵니다. PDF 문서의 경우, 이것은 1부터 시작하는(!) 페이지 번호 *nnnn* 을 나타내는 *#nnnn* 이거나 이름이 지정된 위치여야 합니다. 형식은 다른 문서 유형에 따라 다릅니다. 예를 들어 XPS 문서의 페이지 번호 2(1부터 시작)의 경우 \"../FixedDoc.fdoc#PG_2_LNK_1\"입니다." + +#: ../../outline.rst:87 0774302e2b4a4cc5be36f90e97235665 +msgid "The link destination details object." +msgstr "링크 대상 세부 정보 객체." + +#: ../../outline.rst:89 2c95888d87c844888823cf7c4bfbdd8d +msgid ":ref:`linkDest`" +msgstr ":ref:`linkDest`" + +#: ../../footer.rst:46 3da3281d20a349b2afbe0ca6afa704a3 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/packaging.mo b/docs/locales/ko/LC_MESSAGES/packaging.mo new file mode 100644 index 000000000..2e3222c2e Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/packaging.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/packaging.po b/docs/locales/ko/LC_MESSAGES/packaging.po new file mode 100644 index 000000000..033a5eda2 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/packaging.po @@ -0,0 +1,202 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 3c04d07515a94932a13a95ebeb03dd64 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 bfe728bc4ddc474bb035cd55e714eabf +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 cdf2aaae85c74803bd7026f6e124be96 +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" + +#: ../../packaging.rst:5 348e8764195645e2bf7ae0ae58e6672e +msgid "Packaging for Linux distributions" +msgstr "Linux 배포판용 패키징" + +#: ../../packaging.rst:9 cb613445a87e445abba22e57ddb58ec7 +msgid "Requirements" +msgstr "요구사항" + +#: ../../packaging.rst:11 b36b1e7d3fc94b0d9d5c31f4cae79c63 +msgid "Python" +msgstr "Python" + +#: ../../packaging.rst:12 4edcec2efc2d4308ad735f013faa422e +msgid "MuPDF checkout (including submodules)." +msgstr "|MuPDF| 체크아웃(서브모듈 포함)." + +#: ../../packaging.rst:13 c463c998f736479f892c6b4c57f77d89 +msgid "PyMuPDF checkout." +msgstr "|PyMuPDF| 체크아웃." + +#: ../../packaging.rst:14 dbadca79b99f4a80ace5240c78bde785 +msgid "System packages listed in `scripts/sysinstall.py:g_sys_packages`." +msgstr "`scripts/sysinstall.py:g_sys_packages` 에 나열된 시스템 패키지." + +#: ../../packaging.rst:15 760e1814501643e8ba68b67bc653f179 +msgid "Python packages listed in `pyproject.toml`." +msgstr "`pyproject.toml` 에 나열된 Python 패키지." + +#: ../../packaging.rst:17 7b5ae3db64eb472daed8e6bad3fbf7ac +msgid "Extra requirements for running tests:" +msgstr "테스트 실행을 위한 추가 요구사항:" + +#: ../../packaging.rst:19 c7033e7fd7804ba48daa32be3ccdaa7b +msgid "Python packages listed in `scripts/gh_release.py:test_packages`." +msgstr "`scripts/gh_release.py:test_packages` 에 나열된 Python 패키지." + +#: ../../packaging.rst:23 d087313018614125b4e745ef56fc63d1 +msgid "General steps" +msgstr "일반적인 단계" + +#: ../../packaging.rst:25 ff845be31dc6431c907ec57f88327d5f +msgid "Build and install MuPDF:" +msgstr "|MuPDF| 빌드 및 설치:" + +#: ../../packaging.rst:27 22584c396cc342bfba772fe8c81ac949 +msgid "Install required system packages." +msgstr "필요한 시스템 패키지를 설치합니다." + +#: ../../packaging.rst:28 f7c3f08a80c141d49a7a07a13474c1bb +msgid "" +"Run `make install-shared-python` on MuPDF's `Makefile` with at least " +"these make variables:" +msgstr "|MuPDF| 의 `Makefile` 에서 최소한 다음 make 변수를 사용하여 `make install-shared-python` 을 실행합니다:" + +#: ../../packaging.rst:31 9d49af42c3a74272b78d5e68b8a53863 +msgid "`DESTDIR` set to the install directory, e.g. `/`." +msgstr "`DESTDIR` 를 설치 디렉토리로 설정합니다. 예: `/`." + +#: ../../packaging.rst:33 c80bf2b5d6aa48a3ab8da81dcde780cb +msgid "" +"`prefix` set to location relative to DESTDIR, such as `/usr/local` or " +"`/usr`. Must start with `/`." +msgstr "`prefix` 를 DESTDIR에 상대적인 위치로 설정합니다. 예: `/usr/local` 또는 `/usr`. `/` 로 시작해야 합니다." + +#: ../../packaging.rst:35 11c2299023db4fb19e56a64ef4be5424 +msgid "`USE_SYSTEM_LIBS=yes`." +msgstr "`USE_SYSTEM_LIBS=yes`." + +#: ../../packaging.rst:36 1384b7538ae5481a97b504d24690c056 +msgid "`HAVE_LEPTONICA=yes`." +msgstr "`HAVE_LEPTONICA=yes`." + +#: ../../packaging.rst:37 06ed0058c43d461db82d505a23ca7094 +msgid "`HAVE_TESSERACT=yes`." +msgstr "`HAVE_TESSERACT=yes`." + +#: ../../packaging.rst:39 b3644dcc2c5943bf888d7f8e9dc9edcc +msgid "Build and install PyMuPDF:" +msgstr "|PyMuPDF| 빌드 및 설치:" + +#: ../../packaging.rst:42 dcf39ffe359c4c03b4de4f59838ee0f0 +msgid "" +"Run `pip install ./PyMuPDF` or `pip wheel ./PyMuPDF` with at least these " +"environment variables:" +msgstr "최소한 다음 환경 변수를 사용하여 `pip install ./PyMuPDF` 또는 `pip wheel ./PyMuPDF` 를 실행합니다:" + +#: ../../packaging.rst:46 93b07ed437f44924bb31820bb149fa1f +msgid "" +"`PYMUPDF_SETUP_MUPDF_BUILD=` (empty string) to prevent download and build" +" of hard-coded MuPDF release." +msgstr "`PYMUPDF_SETUP_MUPDF_BUILD=` (빈 문자열)을 설정하여 하드코딩된 |MuPDF| 릴리스의 다운로드 및 빌드를 방지합니다." + +#: ../../packaging.rst:49 9ca48e9bfca64481b10e5c28ce400a6a +msgid "" +"`CFLAGS`, `CXXFLAGS` and `LDFLAGS` set to allow visibility of the " +"installed MuPDF headers and shared libraries." +msgstr "`CFLAGS`, `CXXFLAGS` 및 `LDFLAGS` 를 설정하여 설치된 |MuPDF| 헤더 및 공유 라이브러리의 가시성을 허용합니다." + +#: ../../packaging.rst:52 4361b9dfe3094baeaee44b1e98a85735 +msgid "Run PyMuPDF tests:" +msgstr "|PyMuPDF| 테스트 실행:" + +#: ../../packaging.rst:54 31da2ee092e74396895c9811cd72275d +msgid "Ensure required Python packages are available." +msgstr "필요한 Python 패키지를 사용할 수 있는지 확인합니다." + +#: ../../packaging.rst:56 027bc04d851d4711a60c825c34fd582c +msgid "Run `pytest -k \"not test_color_count and not test_3050\" PyMuPDF`" +msgstr "`pytest -k \"not test_color_count and not test_3050\" PyMuPDF` 를 실행합니다" + +#: ../../packaging.rst:58 c29cbb8f2791439fb47faf2ea2080ca8 +msgid "" +"Test `test_color_count` is known fail if MuPDF is not built with " +"PyMuPDF's custom config.h." +msgstr "`test_color_count` 테스트는 |MuPDF| 가 |PyMuPDF| 의 사용자 정의 config.h로 빌드되지 않은 경우 실패하는 것으로 알려져 있습니다." + +#: ../../packaging.rst:59 366f92e009ee412b9ee326e53365c80b +msgid "" +"Test `test_3050` is known to fail if MuPDF is built without its own " +"third-party libraries." +msgstr "`test_3050` 테스트는 |MuPDF| 가 자체 서드파티 라이브러리 없이 빌드된 경우 실패하는 것으로 알려져 있습니다." + +#: ../../packaging.rst:63 dc265d226e3549d395d1ee9b84d7e9b7 +msgid "Use of scripts/sysinstall.py" +msgstr "scripts/sysinstall.py 사용" + +#: ../../packaging.rst:65 c5ccd53c72ae43e2a8514ab3361d7530 +msgid "" +"`scripts/sysinstall.py` provides a useful example of build, install and " +"test commands that are known to to work, because it is run regularly by " +"Github action `.github/workflows/test_sysinstall.yml`." +msgstr "`scripts/sysinstall.py` 는 GitHub 액션 `.github/workflows/test_sysinstall.yml` 에 의해 정기적으로 실행되기 때문에 작동하는 것으로 알려진 빌드, 설치 및 테스트 명령의 유용한 예제를 제공합니다." + +#: ../../packaging.rst:69 82d7e8c0cbc44e7ba2c922716b3572df +msgid "Run with `-h` or look at the doc-string to see detailed usage information." +msgstr "`-h` 옵션으로 실행하거나 doc-string을 확인하여 자세한 사용 정보를 확인하세요." + +#: ../../packaging.rst:70 3e72131ea5f546a3b3328a8e07d2f12c +msgid "It uses Debian-style `apt` commands to install system packages." +msgstr "시스템 패키지를 설치하는 데 Debian 스타일의 `apt` 명령을 사용합니다." + +#: ../../packaging.rst:71 d7d9461807534464806ed713797d4c4a +msgid "By default it assumes local git checkouts `mupdf/` and `PyMuPDF/`." +msgstr "기본적으로 로컬 git 체크아웃 `mupdf/` 및 `PyMuPDF/` 를 가정합니다." + +#: ../../packaging.rst:73 ef0294479d1943c0b9a9320a2d3a26d5 +msgid "" +"To run a full build, install and test for both a local fake root and the " +"system root:" +msgstr "로컬 가짜 루트와 시스템 루트 모두에 대해 전체 빌드, 설치 및 테스트를 실행하려면:" + +#: ../../packaging.rst:81 541b01cd5c274ffdb287b2e4615b1dcc +msgid "To see what commands would be run without actually running them:" +msgstr "실제로 실행하지 않고 실행될 명령을 보려면:" + +#: ../../packaging.rst:89 a1980a6d8b4e4ff483c5461aa5c7c9a2 +msgid "See also" +msgstr "참고" + +#: ../../packaging.rst:92 8dfdf3477c0c47799dc0f20fc9645ebe +msgid "" +"`setup.py`'s initial doc-comment has detailed information about the " +"environment variables used when building PyMuPDF." +msgstr "`setup.py` 의 초기 doc-comment에는 |PyMuPDF| 를 빌드할 때 사용되는 환경 변수에 대한 자세한 정보가 포함되어 있습니다." + diff --git a/docs/locales/ko/LC_MESSAGES/page.mo b/docs/locales/ko/LC_MESSAGES/page.mo new file mode 100644 index 000000000..6995d9489 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/page.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/page.po b/docs/locales/ko/LC_MESSAGES/page.po new file mode 100644 index 000000000..c5f21fe9f --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/page.po @@ -0,0 +1,6595 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PyMuPDF 1.26.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-03 09:30+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ko\n" +"Language-Team: ko \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.17.0\n" + +#: ../../header.rst:-1 e16c032122ad4e028bed74389ed639aa +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 9732656e336643c0a3688f6451a5d129 +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 8784bd6bb15a493cb1459dea2fd1c45d +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" + +#: ../../page.rst:7 ce1211f275594a9799c196eda5262e29 +msgid "Page" +msgstr "Page" + +#: ../../page.rst:9 521a22f6c2494b1d8774bbf21c40a438 +msgid "" +"Class representing a document page. A page object is created by " +":meth:`Document.load_page` or, equivalently, via indexing the document " +"like `doc[n]` - it has no independent constructor." +msgstr "" +"문서 페이지를 나타내는 클래스. 페이지 객체는 :meth:`Document.load_page` 또는 동등하게 `doc[n]` 과 " +"같이 문서를 인덱싱하여 생성됩니다 - 독립적인 생성자가 없습니다." + +#: ../../page.rst:11 926d97edf1a148ba86e31fc4a0907173 +msgid "" +"There is a parent-child relationship between a document and its pages. If" +" the document is closed or deleted, all page objects (and their " +"respective children, too) in existence will become unusable " +"(\"orphaned\"): If a page property or method is being used, an exception " +"is raised." +msgstr "" +"문서와 페이지 간에는 부모-자식 관계가 있습니다. 문서가 닫히거나 삭제되면 존재하는 모든 페이지 객체(및 각각의 자식도)가 사용 " +"불가능해집니다(\"고아\"): 페이지 속성이나 메서드가 사용되면 예외가 발생합니다." + +#: ../../page.rst:13 63842982bdce4d8b9ab736778c00f188 +msgid "" +"Several page methods have a :ref:`Document` counterpart for convenience. " +"At the end of this chapter you will find a synopsis." +msgstr "편의를 위해 여러 페이지 메서드에는 :ref:`Document` 대응 항목이 있습니다. 이 장의 끝에서 요약을 찾을 수 있습니다." + +#: ../../page.rst:15 1002d10886004b41a5902ec4640a3912 +msgid "" +"Many times in this chapter we are using the term **coordinate**. It is of" +" high importance to have at least a basic understanding of what that is " +"and that you feel comfortable with the section :ref:`Coordinates`." +msgstr "" +"이 장에서 여러 번 **좌표** 라는 용어를 사용합니다. 그것이 무엇인지에 대한 기본적인 이해를 갖추고 " +":ref:`Coordinates` 섹션에 익숙해지는 것이 매우 중요합니다." + +#: ../../page.rst:18 e1df1b1166044863ac89785a4b65c771 +msgid "Modifying Pages" +msgstr "페이지 수정" + +#: ../../page.rst:19 6f307a8c6a02449cbfeb3416e092240f +msgid "" +"Changing page properties and adding or changing page content is available" +" for PDF documents only." +msgstr "페이지 속성 변경 및 페이지 콘텐츠 추가 또는 변경은 PDF 문서에서만 사용할 수 있습니다." + +#: ../../page.rst:21 d491d2d2fb334bafbb8919f76e2e8238 +msgid "In a nutshell, this is what you can do with PyMuPDF:" +msgstr "간단히 말하면, |PyMuPDF| 로 할 수 있는 것은 다음과 같습니다:" + +#: ../../page.rst:23 d90792749a9349219c93cc569263ed38 +msgid "Modify page rotation and the visible part (\"cropbox\") of the page." +msgstr "페이지 회전 및 페이지의 보이는 부분(\"cropbox\")을 수정합니다." + +#: ../../page.rst:24 58fd1c6d537c448fbd8f5d264a78c21d +msgid "Insert images, other PDF pages, text and simple geometrical objects." +msgstr "이미지, 다른 PDF 페이지, 텍스트 및 간단한 기하학적 객체를 삽입합니다." + +#: ../../page.rst:25 a12337916b2f4e5ab028230f71a556eb +msgid "Add annotations and form fields." +msgstr "주석 및 양식 필드를 추가합니다." + +#: ../../page.rst:29 11cc1d708f504056baa21c4fed8f0b94 +msgid "" +"Methods require coordinates (points, rectangles) to put content in " +"desired places. Please be aware that these coordinates **must always** be" +" provided relative to the **unrotated** page (since v1.17.0). The reverse" +" is also true: except :attr:`Page.rect`, resp. :meth:`Page.bound` (both " +"*reflect* when the page is rotated), all coordinates returned by methods " +"and attributes pertain to the unrotated page." +msgstr "" +"원하는 위치에 콘텐츠를 배치하기 위해 좌표(점, 사각형)가 필요합니다. 이러한 좌표는 **항상** **회전되지 않은** 페이지를 " +"기준으로 제공되어야 합니다(v1.17.0부터). 역도 마찬가지입니다: :attr:`Page.rect`, 각각 " +":meth:`Page.bound` (둘 다 페이지가 회전될 때 *반영* 됨)를 제외하고, 메서드와 속성에서 반환된 모든 좌표는 " +"회전되지 않은 페이지에 해당합니다." + +#: ../../page.rst:31 56d8c3ede59e4cd6b94ed6b542aa071f +msgid "" +"So the returned value of e.g. :meth:`Page.get_image_bbox` will not change" +" if you do a :meth:`Page.set_rotation`. The same is true for coordinates " +"returned by :meth:`Page.get_text`, annotation rectangles, and so on. If " +"you want to find out, where an object is located in **rotated " +"coordinates**, multiply the coordinates with " +":attr:`Page.rotation_matrix`. There also is its inverse, " +":attr:`Page.derotation_matrix`, which you can use when interfacing with " +"other readers, which may behave differently in this respect." +msgstr "" +"따라서 예를 들어 :meth:`Page.get_image_bbox` 의 반환 값은 :meth:`Page.set_rotation` 을" +" 수행해도 변경되지 않습니다. :meth:`Page.get_text`, 주석 사각형 등에서 반환된 좌표도 마찬가지입니다. 객체가 " +"**회전된 좌표** 에서 어디에 있는지 확인하려면 좌표에 :attr:`Page.rotation_matrix` 를 곱하세요. 역행렬인" +" :attr:`Page.derotation_matrix` 도 있으며, 이 점에서 다르게 동작할 수 있는 다른 리더와 인터페이스할 때" +" 사용할 수 있습니다." + +#: ../../page.rst:35 5495c71af02f4a8fb149edfa02294e00 +msgid "" +"If you add or update annotations, links or form fields on the page and " +"immediately afterwards need to work with them (i.e. **without leaving the" +" page**), you should reload the page using :meth:`Document.reload_page` " +"before referring to these new or updated items." +msgstr "" +"페이지에 주석, 링크 또는 양식 필드를 추가하거나 업데이트하고 즉시 작업해야 하는 경우(즉, **페이지를 떠나지 않고**), 이러한" +" 새 항목이나 업데이트된 항목을 참조하기 전에 :meth:`Document.reload_page` 를 사용하여 페이지를 다시 " +"로드해야 합니다." + +#: ../../page.rst:37 5b62e6a60cbe406cb33ca34fdcdf3756 +msgid "" +"Reloading the page is generally recommended -- although not strictly " +"required in all cases. However, some annotation and widget types have " +"extended features in PyMuPDF compared to MuPDF. More of these extensions " +"may also be added in the future." +msgstr "" +"페이지 다시 로드는 일반적으로 권장됩니다 -- 모든 경우에 엄격하게 필요하지는 않지만. 그러나 일부 주석 및 위젯 타입은 " +"MuPDF와 비교하여 |PyMuPDF| 에서 확장 기능을 가지고 있습니다. 이러한 확장 기능이 더 추가될 수도 있습니다." + +#: ../../page.rst:39 9b46165bcb584587982fd25c63ab3c8a +msgid "" +"Releoading the page ensures all your changes have been fully applied to " +"PDF structures, so you can safely create Pixmaps or successfully iterate " +"over annotations, links and form fields." +msgstr "" +"페이지를 다시 로드하면 모든 변경 사항이 PDF 구조에 완전히 적용되므로 Pixmap을 안전하게 만들거나 주석, 링크 및 양식 " +"필드를 성공적으로 반복할 수 있습니다." + +#: ../../page.rst:42 94074d33706748ee9033e7d4bb141a7a +msgid "**Method / Attribute**" +msgstr "**메서드 / 속성**" + +#: ../../page.rst:42 75670f2660794ca6a8f34c6abe09eeed +msgid "**Short Description**" +msgstr "**간단한 설명**" + +#: ../../page.rst:44 93d8511e8ebf40a7b1b729cf36aa03d4 +msgid ":meth:`Page.add_caret_annot`" +msgstr ":meth:`Page.add_caret_annot`" + +#: ../../page.rst:44 fe25471b8e5b4df8b2c71ef4d98cfc43 +msgid "PDF only: add a caret annotation" +msgstr "PDF 전용: 캐럿 주석 추가" + +#: ../../page.rst:45 e3bdedcdb54b4c20aa6a621d8d977bcb +msgid ":meth:`Page.add_circle_annot`" +msgstr ":meth:`Page.add_circle_annot`" + +#: ../../page.rst:45 2bccbccc57b34072ada8dedb56d423c3 +msgid "PDF only: add a circle annotation" +msgstr "PDF 전용: 원형 주석 추가" + +#: ../../page.rst:46 1b1436b811974ae8af7345271edb8298 +msgid ":meth:`Page.add_file_annot`" +msgstr ":meth:`Page.add_file_annot`" + +#: ../../page.rst:46 616bbd5f9f334dd4a3b026d3b6d8f8a6 +msgid "PDF only: add a file attachment annotation" +msgstr "PDF 전용: 파일 첨부 주석 추가" + +#: ../../page.rst:47 58a43a7d9941416683a8baa88d2b0274 +msgid ":meth:`Page.add_freetext_annot`" +msgstr ":meth:`Page.add_freetext_annot`" + +#: ../../page.rst:47 df78ea811bc646eb900266047ec923a3 +msgid "PDF only: add a text annotation" +msgstr "PDF 전용: 텍스트 주석 추가" + +#: ../../page.rst:48 60250ea28c6647cba024dc476244187f +msgid ":meth:`Page.add_highlight_annot`" +msgstr ":meth:`Page.add_highlight_annot`" + +#: ../../page.rst:48 702ae035409c46c5963108c602141009 +msgid "PDF only: add a \"highlight\" annotation" +msgstr "PDF 전용: \"강조\" 주석 추가" + +#: ../../page.rst:49 f8da534a97ec46fcabe2fa2776737a67 +msgid ":meth:`Page.add_ink_annot`" +msgstr ":meth:`Page.add_ink_annot`" + +#: ../../page.rst:49 492961a934c9486b9e9790906dc0363e +msgid "PDF only: add an ink annotation" +msgstr "PDF 전용: 잉크 주석 추가" + +#: ../../page.rst:50 5c700ca90cfb47c284dc5d12b68f87cf +msgid ":meth:`Page.add_line_annot`" +msgstr ":meth:`Page.add_line_annot`" + +#: ../../page.rst:50 3beaa2a61bfe4649b8072d9d7b3db5cf +msgid "PDF only: add a line annotation" +msgstr "PDF 전용: 선 주석 추가" + +#: ../../page.rst:51 8e3053db158f4cf4a38eaca8f62bf82e +msgid ":meth:`Page.add_polygon_annot`" +msgstr ":meth:`Page.add_polygon_annot`" + +#: ../../page.rst:51 c396774dd4ad430180ad8bcd7a870076 +msgid "PDF only: add a polygon annotation" +msgstr "PDF 전용: 다각형 주석 추가" + +#: ../../page.rst:52 899d9130f087402183b36be01e8fd467 +msgid ":meth:`Page.add_polyline_annot`" +msgstr ":meth:`Page.add_polyline_annot`" + +#: ../../page.rst:52 5b67d817b049400ca64fd45749d2a73a +msgid "PDF only: add a multi-line annotation" +msgstr "PDF 전용: 다중선 주석 추가" + +#: ../../page.rst:53 ac94a88db1a945ea8624710afea132e3 +msgid ":meth:`Page.add_rect_annot`" +msgstr ":meth:`Page.add_rect_annot`" + +#: ../../page.rst:53 c822265b995748939fb6f4e1cd832b4c +msgid "PDF only: add a rectangle annotation" +msgstr "PDF 전용: 사각형 주석 추가" + +#: ../../page.rst:54 00e37d1d767341c68663be9358ecc369 +msgid ":meth:`Page.add_redact_annot`" +msgstr ":meth:`Page.add_redact_annot`" + +#: ../../page.rst:54 eabcf1844b7c444286ffecdcc20508bc +msgid "PDF only: add a redaction annotation" +msgstr "PDF 전용: 수정 주석 추가" + +#: ../../page.rst:55 4c82f8bd39eb48039d304e70ecfcc40d +msgid ":meth:`Page.add_squiggly_annot`" +msgstr ":meth:`Page.add_squiggly_annot`" + +#: ../../page.rst:55 6424b91d9a5f4e938881c3daf0930076 +msgid "PDF only: add a \"squiggly\" annotation" +msgstr "PDF 전용: \"물결선\" 주석 추가" + +#: ../../page.rst:56 0deda877c85844bdb4116e19e446478b +msgid ":meth:`Page.add_stamp_annot`" +msgstr ":meth:`Page.add_stamp_annot`" + +#: ../../page.rst:56 60caeb4508d74196b16df227d730dcf9 +msgid "PDF only: add a \"rubber stamp\" annotation" +msgstr "PDF 전용: \"고무 도장\" 주석 추가" + +#: ../../page.rst:57 e9bca0a5a98842f6a9fa657758bbde00 +msgid ":meth:`Page.add_strikeout_annot`" +msgstr ":meth:`Page.add_strikeout_annot`" + +#: ../../page.rst:57 7c3096dd58da4af5a5c81213f8dcea99 +msgid "PDF only: add a \"strike-out\" annotation" +msgstr "PDF 전용: \"취소선\" 주석 추가" + +#: ../../page.rst:58 ec81831ff1a34e12933ad4fe97ddfc72 +msgid ":meth:`Page.add_text_annot`" +msgstr ":meth:`Page.add_text_annot`" + +#: ../../page.rst:58 6166e4c84976477ebbb37a08075be065 +msgid "PDF only: add a comment" +msgstr "PDF 전용: 주석 추가" + +#: ../../page.rst:59 9d9e5d56413243e7acd7bc42faea55a8 +msgid ":meth:`Page.add_underline_annot`" +msgstr ":meth:`Page.add_underline_annot`" + +#: ../../page.rst:59 0f3e21d031cd4faf9b37cb2a67940487 +msgid "PDF only: add an \"underline\" annotation" +msgstr "PDF 전용: \"밑줄\" 주석 추가" + +#: ../../page.rst:60 f5faa32f93624b2487038228f34de580 +msgid ":meth:`Page.add_widget`" +msgstr ":meth:`Page.add_widget`" + +#: ../../page.rst:60 cb151ecc51ab45a195811c7976e8e869 +msgid "PDF only: add a PDF Form field" +msgstr "PDF 전용: PDF 양식 필드 추가" + +#: ../../page.rst:61 7d757c5dccba4c0fb0941cead965caa8 +msgid ":meth:`Page.annot_names`" +msgstr ":meth:`Page.annot_names`" + +#: ../../page.rst:61 2af022e1891743f9a93104db2bad5f5e +msgid "PDF only: a list of annotation (and widget) names" +msgstr "PDF 전용: 주석(및 위젯) 이름 목록" + +#: ../../page.rst:62 460e33003788412a8f6af75cd5edeef8 +msgid ":meth:`Page.annot_xrefs`" +msgstr ":meth:`Page.annot_xrefs`" + +#: ../../page.rst:62 21f42a813f50480085c3e7d12ae51dde +msgid "PDF only: a list of annotation (and widget) xrefs" +msgstr "PDF 전용: 주석(및 위젯) xref 목록" + +#: ../../page.rst:63 fe26f7732fc64062b91138d4a3666ff1 +msgid ":meth:`Page.annots`" +msgstr ":meth:`Page.annots`" + +#: ../../page.rst:63 fa2bca1baaa34e9890095cfbad31d943 +msgid "return a generator over the annots on the page" +msgstr "페이지의 주석에 대한 생성자 반환" + +#: ../../page.rst:64 ef49a8b7ac1f42d7b517b2a72841b523 +msgid ":meth:`Page.apply_redactions`" +msgstr ":meth:`Page.apply_redactions`" + +#: ../../page.rst:64 6eec33ab83094db09f58d366751d135c +msgid "PDF only: process the redactions of the page" +msgstr "PDF 전용: 페이지의 수정 처리" + +#: ../../page.rst:65 fffafd8ac71f4946b8d34ddec143fb97 +msgid ":meth:`Page.clip_to_rect`" +msgstr ":meth:`Page.clip_to_rect`" + +#: ../../page.rst:65 6c00ecf81e9d421d8d4328df5552a335 +msgid "PDF only: remove page content outside a rectangle" +msgstr "PDF 전용: 사각형 외부의 페이지 콘텐츠 제거" + +#: ../../page.rst:66 bc10eac3335e4c7c8aa29962096a4851 +msgid ":meth:`Page.bound`" +msgstr ":meth:`Page.bound`" + +#: ../../page.rst:66 ../../page.rst:137 1f3d85fc4fa74bdaa0d5458534460fcf +#: ff6962d922fd4757939ee93378e3df3a +msgid "rectangle of the page" +msgstr "페이지의 사각형" + +#: ../../page.rst:67 2f6ce14be7ed4e00b009b2eb52d0f7fa +msgid ":meth:`Page.cluster_drawings`" +msgstr ":meth:`Page.cluster_drawings`" + +#: ../../page.rst:67 aeca385ef2014bdeaae33e4d3e5405a9 +msgid "PDF only: bounding boxes of vector graphics" +msgstr "PDF 전용: 벡터 그래픽의 경계 상자" + +#: ../../page.rst:68 a3fd94d66c45439186fd3381996fa529 +msgid ":meth:`Page.delete_annot`" +msgstr ":meth:`Page.delete_annot`" + +#: ../../page.rst:68 fd8317c7a16c4ed3be5d0f91c39d36be +msgid "PDF only: delete an annotation" +msgstr "PDF 전용: 주석 삭제" + +#: ../../page.rst:69 9722279391474a879dbd9f2a7b590d84 +msgid ":meth:`Page.delete_image`" +msgstr ":meth:`Page.delete_image`" + +#: ../../page.rst:69 46b28a2de9974570ba0436618b032379 +msgid "PDF only: delete an image" +msgstr "PDF 전용: 이미지 삭제" + +#: ../../page.rst:70 203a1849b02a42c7a891f062cbf52dfb +msgid ":meth:`Page.delete_link`" +msgstr ":meth:`Page.delete_link`" + +#: ../../page.rst:70 ccf68e485ea740aea4e49e3cbf147821 +msgid "PDF only: delete a link" +msgstr "PDF 전용: 링크 삭제" + +#: ../../page.rst:71 0d872d8700894747baf6717b43854f1b +msgid ":meth:`Page.delete_widget`" +msgstr ":meth:`Page.delete_widget`" + +#: ../../page.rst:71 ce302a0aa96f4ec28810acfee891e36f +msgid "PDF only: delete a widget / field" +msgstr "PDF 전용: 위젯/필드 삭제" + +#: ../../page.rst:72 f63490db0707495f85356a222d8f2e01 +msgid ":meth:`Page.draw_bezier`" +msgstr ":meth:`Page.draw_bezier`" + +#: ../../page.rst:72 eff1fa903b8d443e887dc9aec924ce87 +msgid "PDF only: draw a cubic Bezier curve" +msgstr "PDF 전용: 3차 베지어 곡선 그리기" + +#: ../../page.rst:73 8877a067ebb5495db7bf91973ac843de +msgid ":meth:`Page.draw_circle`" +msgstr ":meth:`Page.draw_circle`" + +#: ../../page.rst:73 0249f749cc04468db32846e3a91847b1 +msgid "PDF only: draw a circle" +msgstr "PDF 전용: 원 그리기" + +#: ../../page.rst:74 c84553f9888048eab99f9cad82c5ab51 +msgid ":meth:`Page.draw_curve`" +msgstr ":meth:`Page.draw_curve`" + +#: ../../page.rst:74 e32a35018a0848c99f5c79513317c3d2 +msgid "PDF only: draw a special Bezier curve" +msgstr "PDF 전용: 특수 베지어 곡선 그리기" + +#: ../../page.rst:75 5e4b7f8682084254b71c7302e1dbdd0f +msgid ":meth:`Page.draw_line`" +msgstr ":meth:`Page.draw_line`" + +#: ../../page.rst:75 d490933be5ca4395aa5c2fd0582ce268 +msgid "PDF only: draw a line" +msgstr "PDF 전용: 선 그리기" + +#: ../../page.rst:76 05641267e0cf4d989f5f26ad935ec02b +msgid ":meth:`Page.draw_oval`" +msgstr ":meth:`Page.draw_oval`" + +#: ../../page.rst:76 86a9acc6ccaa4d4280f3c3fc4d7e9ff6 +msgid "PDF only: draw an oval / ellipse" +msgstr "PDF 전용: 타원 그리기" + +#: ../../page.rst:77 7a3e2be1ddbb41129d4bb8af04a06aca +msgid ":meth:`Page.draw_polyline`" +msgstr ":meth:`Page.draw_polyline`" + +#: ../../page.rst:77 97a5670624784f5e918844be3bd01770 +msgid "PDF only: connect a point sequence" +msgstr "PDF 전용: 점 시퀀스 연결" + +#: ../../page.rst:78 71f0edeccebb43d5bb0ecc5da8e92d7b +msgid ":meth:`Page.draw_quad`" +msgstr ":meth:`Page.draw_quad`" + +#: ../../page.rst:78 2e390549e54b44b6b7711dc9cc895e16 +msgid "PDF only: draw a quad" +msgstr "PDF 전용: 사각형 그리기" + +#: ../../page.rst:79 635ad324729b4b01bbd2afc6fe1d7bdd +msgid ":meth:`Page.draw_rect`" +msgstr ":meth:`Page.draw_rect`" + +#: ../../page.rst:79 4150b075ab48434881a4be110c6fcbf0 +msgid "PDF only: draw a rectangle" +msgstr "PDF 전용: 사각형 그리기" + +#: ../../page.rst:80 cb18274299ec498384ab4c12af0a38e9 +msgid ":meth:`Page.draw_sector`" +msgstr ":meth:`Page.draw_sector`" + +#: ../../page.rst:80 5239a2bc5fc34be584b6589ae4741cc4 +msgid "PDF only: draw a circular sector" +msgstr "PDF 전용: 원형 섹터 그리기" + +#: ../../page.rst:81 caaaee7ecb354309a8dc66d853b4c91f +msgid ":meth:`Page.draw_squiggle`" +msgstr ":meth:`Page.draw_squiggle`" + +#: ../../page.rst:81 72295b9e8a63496b88094039ffbcde6a +msgid "PDF only: draw a squiggly line" +msgstr "PDF 전용: 물결선 그리기" + +#: ../../page.rst:82 49b04744785948b19597a93786497023 +msgid ":meth:`Page.draw_zigzag`" +msgstr ":meth:`Page.draw_zigzag`" + +#: ../../page.rst:82 3f21f5eb09354117ad1a536bf3da91fa +msgid "PDF only: draw a zig-zagged line" +msgstr "PDF 전용: 지그재그 선 그리기" + +#: ../../page.rst:83 fd9907fef5ad4079a071161d66b17561 +msgid ":meth:`Page.find_tables`" +msgstr ":meth:`Page.find_tables`" + +#: ../../page.rst:83 7c12def340ca4445bb3e0f6f3a4119a4 +msgid "locate tables on the page" +msgstr "페이지에서 테이블 찾기" + +#: ../../page.rst:84 a705386990574b03a0bb5107e2990478 +msgid ":meth:`Page.get_drawings`" +msgstr ":meth:`Page.get_drawings`" + +#: ../../page.rst:84 116ff841fb514d4288112879d23c244f +msgid "get vector graphics on page" +msgstr "페이지의 벡터 그래픽 가져오기" + +#: ../../page.rst:85 ../../page.rst:2355 5513869a670140a886b0de7e86105fcc +#: 89d76a9e191948898a7d4ddcb3108546 +msgid ":meth:`Page.get_fonts`" +msgstr ":meth:`Page.get_fonts`" + +#: ../../page.rst:85 b623d469785e471aa3c1cb2902c44f17 +msgid "PDF only: get list of referenced fonts" +msgstr "PDF 전용: 참조된 폰트 목록 가져오기" + +#: ../../page.rst:86 032b7938c6354a188828b99422ce4c1b +msgid ":meth:`Page.get_image_bbox`" +msgstr ":meth:`Page.get_image_bbox`" + +#: ../../page.rst:86 de0cdf60868d4940a19846bc5c338aa9 +msgid "PDF only: get bbox and matrix of embedded image" +msgstr "PDF 전용: 임베디드 이미지의 bbox 및 행렬 가져오기" + +#: ../../page.rst:87 ea32423fb45a4c829c831fa0302cf4a2 +msgid ":meth:`Page.get_image_info`" +msgstr ":meth:`Page.get_image_info`" + +#: ../../page.rst:87 458efa2ccf404e7ab44490f1f0a7eebc +msgid "get list of meta information for all used images" +msgstr "사용된 모든 이미지의 메타 정보 목록 가져오기" + +#: ../../page.rst:88 bef50d6ac750452f87453cddca373460 +msgid ":meth:`Page.get_image_rects`" +msgstr ":meth:`Page.get_image_rects`" + +#: ../../page.rst:88 0639d98f4696403bab4435ac71e37c56 +msgid "PDF only: improved version of :meth:`Page.get_image_bbox`" +msgstr "PDF 전용: :meth:`Page.get_image_bbox` 의 개선된 버전" + +#: ../../page.rst:89 ../../page.rst:2356 2737569248454d5aad0880abcf86d7ce +#: 417ddc69f2e84248a5cc652040dc362c +msgid ":meth:`Page.get_images`" +msgstr ":meth:`Page.get_images`" + +#: ../../page.rst:89 a0e5ded6cdd146ebb2b5ad6dab673250 +msgid "PDF only: get list of referenced images" +msgstr "PDF 전용: 참조된 이미지 목록 가져오기" + +#: ../../page.rst:90 2c2d56778e154346acc5ed92bd33e033 +msgid ":meth:`Page.get_label`" +msgstr ":meth:`Page.get_label`" + +#: ../../page.rst:90 8b80f3ad7a864cd496aa891acc3e790a +msgid "PDF only: return the label of the page" +msgstr "PDF 전용: 페이지의 레이블 반환" + +#: ../../page.rst:91 5cd06210bb4d47c695294ecea67435ab +msgid ":meth:`Page.get_links`" +msgstr ":meth:`Page.get_links`" + +#: ../../page.rst:91 5a062b7c81f344cda0c16b1a005477d7 +msgid "get all links" +msgstr "모든 링크 가져오기" + +#: ../../page.rst:92 ../../page.rst:2357 79dd679c248f4983b29496e8e988c628 +#: a4bee007c0454a16ad4e26642efefb05 +msgid ":meth:`Page.get_pixmap`" +msgstr ":meth:`Page.get_pixmap`" + +#: ../../page.rst:92 1b658d01635b4251a718775d4f5a25b3 +msgid "create a page image in raster format" +msgstr "래스터 형식의 페이지 이미지 생성" + +#: ../../page.rst:93 9f1ce6858bce466ebc9ff6ab0f07cf7b +msgid ":meth:`Page.get_svg_image`" +msgstr ":meth:`Page.get_svg_image`" + +#: ../../page.rst:93 67e50df05e064d1a82bed624b6647b09 +msgid "create a page image in SVG format" +msgstr "SVG 형식의 페이지 이미지 생성" + +#: ../../page.rst:94 ../../page.rst:2358 269ce650459d43218f8f2c39da827d08 +#: b9169e61ebdd41fbb8a7c9e3c26d9ce4 +msgid ":meth:`Page.get_text`" +msgstr ":meth:`Page.get_text`" + +#: ../../page.rst:94 a8aaa066102c47ccaafb71449455ec6a +msgid "extract the page's text" +msgstr "페이지의 텍스트 추출" + +#: ../../page.rst:95 2721ffbd14ab4c188f8d29ee0333a13d +msgid ":meth:`Page.get_textbox`" +msgstr ":meth:`Page.get_textbox`" + +#: ../../page.rst:95 12e56111e26244c3b479f67f2a1f1e59 +msgid "extract text contained in a rectangle" +msgstr "사각형에 포함된 텍스트 추출" + +#: ../../page.rst:96 da2862c13a76447d8300c492453071f2 +msgid ":meth:`Page.get_textpage_ocr`" +msgstr ":meth:`Page.get_textpage_ocr`" + +#: ../../page.rst:96 a94a6c9143a344d6aa67d522fa588026 +msgid "create a TextPage with OCR for the page" +msgstr "페이지에 대한 OCR이 포함된 TextPage 생성" + +#: ../../page.rst:97 6a3ac7a182f44d7fa7a198b16825777d +msgid ":meth:`Page.get_textpage`" +msgstr ":meth:`Page.get_textpage`" + +#: ../../page.rst:97 3a2ff15016b94cbda54e0a7e342cdca8 +msgid "create a TextPage for the page" +msgstr "페이지에 대한 TextPage 생성" + +#: ../../page.rst:98 42257e13df044823b5ada20df4cc1f65 +msgid ":meth:`Page.get_xobjects`" +msgstr ":meth:`Page.get_xobjects`" + +#: ../../page.rst:98 dac370a551e94fd1845762ed141b934c +msgid "PDF only: get list of referenced xobjects" +msgstr "PDF 전용: 참조된 xobjects 목록 가져오기" + +#: ../../page.rst:99 b455e5d5c0aa4fa7843f679e55dbaf6a +msgid ":meth:`Page.insert_font`" +msgstr ":meth:`Page.insert_font`" + +#: ../../page.rst:99 ad790342de2c46229c73dbd2e8549b7d +msgid "PDF only: insert a font for use by the page" +msgstr "PDF 전용: 페이지에서 사용할 폰트 삽입" + +#: ../../page.rst:100 5769325361e9409291d2de6ff6a74a6f +msgid ":meth:`Page.insert_image`" +msgstr ":meth:`Page.insert_image`" + +#: ../../page.rst:100 5fee15b23dc84739b1ab8ce43e9a636a +msgid "PDF only: insert an image" +msgstr "PDF 전용: 이미지 삽입" + +#: ../../page.rst:101 4a6a82d58c03465dbdecd703f6d7f484 +msgid ":meth:`Page.insert_link`" +msgstr ":meth:`Page.insert_link`" + +#: ../../page.rst:101 b1e9b94b930141c0bcadb44dfd561924 +msgid "PDF only: insert a link" +msgstr "PDF 전용: 링크 삽입" + +#: ../../page.rst:102 17d5d051bd1d45369ac998a2122e0c62 +msgid ":meth:`Page.insert_text`" +msgstr ":meth:`Page.insert_text`" + +#: ../../page.rst:102 52672923fad14e51bd5e04a28212d35c +msgid "PDF only: insert text" +msgstr "PDF 전용: 텍스트 삽입" + +#: ../../page.rst:103 83ba971b1ba9461390deb0d1ab0402f2 +msgid ":meth:`Page.insert_htmlbox`" +msgstr ":meth:`Page.insert_htmlbox`" + +#: ../../page.rst:103 be5e2559a7d14e57954c56d970906946 +msgid "PDF only: insert html text in a rectangle" +msgstr "PDF 전용: 사각형에 HTML 텍스트 삽입" + +#: ../../page.rst:104 b3109af9729e40d58a40f4edaac0a175 +msgid ":meth:`Page.insert_textbox`" +msgstr ":meth:`Page.insert_textbox`" + +#: ../../page.rst:104 b350237b8a85495a94ab5623219b134f +msgid "PDF only: insert a text box" +msgstr "PDF 전용: 텍스트 상자 삽입" + +#: ../../page.rst:105 c688c4af2bb1464aa08e2abfed572208 +msgid ":meth:`Page.links`" +msgstr ":meth:`Page.links`" + +#: ../../page.rst:105 fa47810199534f1fac3e4acd7b50ea81 +msgid "return a generator of the links on the page" +msgstr "페이지의 링크에 대한 생성자 반환" + +#: ../../page.rst:106 a3a22a08c1c94e718b34bcf0a1c9cc37 +msgid ":meth:`Page.load_annot`" +msgstr ":meth:`Page.load_annot`" + +#: ../../page.rst:106 38655b86d4994aacbd28bf85316e1534 +msgid "PDF only: load a specific annotation" +msgstr "PDF 전용: 특정 주석 로드" + +#: ../../page.rst:107 eb4c07f56b864d108c056f82854b0931 +msgid ":meth:`Page.load_widget`" +msgstr ":meth:`Page.load_widget`" + +#: ../../page.rst:107 c9f0a660efb9401abb92c4ddd9071840 +msgid "PDF only: load a specific field" +msgstr "PDF 전용: 특정 필드 로드" + +#: ../../page.rst:108 352c9d2ca82d4804848c4e3b197af6d5 +msgid ":meth:`Page.load_links`" +msgstr ":meth:`Page.load_links`" + +#: ../../page.rst:108 e8427f8c37e04f1c835b369b5917501d +msgid "return the first link on a page" +msgstr "페이지의 첫 번째 링크 반환" + +#: ../../page.rst:109 75e71d2fde7b4ef69b2e3b82e8f29afe +msgid ":meth:`Page.new_shape`" +msgstr ":meth:`Page.new_shape`" + +#: ../../page.rst:109 2a0c8a834cc546f99d2419597b66e3ba +msgid "PDF only: create a new :ref:`Shape`" +msgstr "PDF 전용: 새 :ref:`Shape` 생성" + +#: ../../page.rst:110 a2c8cff536ca425ab1da46f6a5559b54 +msgid ":meth:`Page.recolor`" +msgstr ":meth:`Page.recolor`" + +#: ../../page.rst:110 ddc1dcc46bd94fa2ac362d97b7d7be96 +msgid "PDF only: change the colorspace of objects" +msgstr "PDF 전용: 객체의 색상 공간 변경" + +#: ../../page.rst:111 eb776ad9a91748fa9f4419c19c4b92d2 +msgid ":meth:`Page.remove_rotation`" +msgstr ":meth:`Page.remove_rotation`" + +#: ../../page.rst:111 a2c31954539c48b8b378628c2cc80e96 +msgid "PDF only: set page rotation to 0" +msgstr "PDF 전용: 페이지 회전을 0으로 설정" + +#: ../../page.rst:112 5057e96ed4734bcbb0133e7ead7a2cab +msgid ":meth:`Page.replace_image`" +msgstr ":meth:`Page.replace_image`" + +#: ../../page.rst:112 899c88d73da04ca586624e8dfd412b19 +msgid "PDF only: replace an image" +msgstr "PDF 전용: 이미지 교체" + +#: ../../page.rst:113 ../../page.rst:2359 71be303aad804ff5a6400acf38550aa4 +#: a36ed4e43659431bb9a4bb520578acf9 +msgid ":meth:`Page.search_for`" +msgstr ":meth:`Page.search_for`" + +#: ../../page.rst:113 62c168ceff884befb1a78b7c8d7407e9 +msgid "search for a string" +msgstr "문자열 검색" + +#: ../../page.rst:114 8583ac949dd54261b60dc1fa600ba5ce +msgid ":meth:`Page.set_artbox`" +msgstr ":meth:`Page.set_artbox`" + +#: ../../page.rst:114 f3329d1a5c484f2085f8abfc485d69fd +msgid "PDF only: modify `/ArtBox`" +msgstr "PDF 전용: `/ArtBox` 수정" + +#: ../../page.rst:115 93b0c3cc50ba4ecba1d9f2ecd0b3516e +msgid ":meth:`Page.set_bleedbox`" +msgstr ":meth:`Page.set_bleedbox`" + +#: ../../page.rst:115 f3a89a8d724648b9a11cd098e2c87780 +msgid "PDF only: modify `/BleedBox`" +msgstr "PDF 전용: `/BleedBox` 수정" + +#: ../../page.rst:116 96033ab15bb242d9aebbedeb42f65c22 +msgid ":meth:`Page.set_cropbox`" +msgstr ":meth:`Page.set_cropbox`" + +#: ../../page.rst:116 5ebf1f7c5f2e4938b6071e31711528e4 +msgid "PDF only: modify the :data:`cropbox` (visible page)" +msgstr "PDF 전용: :data:`cropbox` (보이는 페이지) 수정" + +#: ../../page.rst:117 3c4547592e4148558c3bb7ef9328b953 +msgid ":meth:`Page.set_mediabox`" +msgstr ":meth:`Page.set_mediabox`" + +#: ../../page.rst:117 70664716c7b44846a2d23c4603794d75 +msgid "PDF only: modify `/MediaBox`" +msgstr "PDF 전용: `/MediaBox` 수정" + +#: ../../page.rst:118 c38c50f5998e43de9073f15108f0b4e9 +msgid ":meth:`Page.set_rotation`" +msgstr ":meth:`Page.set_rotation`" + +#: ../../page.rst:118 ef1b21b5d28947238b694a70d462305d +msgid "PDF only: set page rotation" +msgstr "PDF 전용: 페이지 회전 설정" + +#: ../../page.rst:119 6881608670ad44e593239c0b8ca65758 +msgid ":meth:`Page.set_trimbox`" +msgstr ":meth:`Page.set_trimbox`" + +#: ../../page.rst:119 b79cecdb274042aa9447129dc4256f28 +msgid "PDF only: modify `/TrimBox`" +msgstr "PDF 전용: `/TrimBox` 수정" + +#: ../../page.rst:120 5b977466d1964b72a80eee11dd8e3009 +msgid ":meth:`Page.show_pdf_page`" +msgstr ":meth:`Page.show_pdf_page`" + +#: ../../page.rst:120 be9781151fb0400485056a8c9cdfc40e +msgid "PDF only: display PDF page image" +msgstr "PDF 전용: PDF 페이지 이미지 표시" + +#: ../../page.rst:121 f2f2542e611141f38ab79ec47c6b24bc +msgid ":meth:`Page.update_link`" +msgstr ":meth:`Page.update_link`" + +#: ../../page.rst:121 5ccc634e9dab4e35b87d9283dd4c459c +msgid "PDF only: modify a link" +msgstr "PDF 전용: 링크 수정" + +#: ../../page.rst:122 5e672418d9f847e3b5cfb33a73198f4f +msgid ":meth:`Page.widgets`" +msgstr ":meth:`Page.widgets`" + +#: ../../page.rst:122 df37c13079364b42bfc84e3b87300cc8 +msgid "return a generator over the fields on the page" +msgstr "페이지의 필드에 대한 생성자 반환" + +#: ../../page.rst:123 c7ecde8ede3a4ff7b6a463a3ba205f4e +msgid ":meth:`Page.write_text`" +msgstr ":meth:`Page.write_text`" + +#: ../../page.rst:123 dcef4d9315724d998c25fac935454324 +msgid "write one or more :ref:`Textwriter` objects" +msgstr "하나 이상의 :ref:`Textwriter` 객체 쓰기" + +#: ../../page.rst:124 f7ddf8cbb96f42e2a9509482a6f12578 +msgid ":attr:`Page.cropbox_position`" +msgstr ":attr:`Page.cropbox_position`" + +#: ../../page.rst:124 e58ae174c1e14bf0929d34c067629692 +msgid "displacement of the :data:`cropbox`" +msgstr ":data:`cropbox` 의 변위" + +#: ../../page.rst:125 c3f912e91d574e7ba9eca4ebef4e9038 +msgid ":attr:`Page.cropbox`" +msgstr ":attr:`Page.cropbox`" + +#: ../../page.rst:125 3106600eed144c0387c3398d559a399b +msgid "the page's :data:`cropbox`" +msgstr "페이지의 :data:`cropbox`" + +#: ../../page.rst:126 4bcae534f0e442e89bdb09f321571968 +msgid ":attr:`Page.artbox`" +msgstr ":attr:`Page.artbox`" + +#: ../../page.rst:126 16c7fdc208b94e19ba7cb2729005e69c +msgid "the page's `/ArtBox`" +msgstr "페이지의 `/ArtBox`" + +#: ../../page.rst:127 bc724a5f20ed468c9cb5537971cd1a67 +msgid ":attr:`Page.bleedbox`" +msgstr ":attr:`Page.bleedbox`" + +#: ../../page.rst:127 99aa56333f8243c4bcc312acbdda9b66 +msgid "the page's `/BleedBox`" +msgstr "페이지의 `/BleedBox`" + +#: ../../page.rst:128 053890a35a2b4dca970fcce5a35aef43 +msgid ":attr:`Page.trimbox`" +msgstr ":attr:`Page.trimbox`" + +#: ../../page.rst:128 93749ed391f94e2da79ed77983ad3e89 +msgid "the page's `/TrimBox`" +msgstr "페이지의 `/TrimBox`" + +#: ../../page.rst:129 d91bff725157405e8a4e0702f42a4cea +msgid ":attr:`Page.derotation_matrix`" +msgstr ":attr:`Page.derotation_matrix`" + +#: ../../page.rst:129 0c7e82bca054495c87c9e519a1366048 +msgid "PDF only: get coordinates in unrotated page space" +msgstr "PDF 전용: 회전되지 않은 페이지 공간에서 좌표 가져오기" + +#: ../../page.rst:130 fd857f2b70ac411c92518c25887c2f87 +msgid ":attr:`Page.first_annot`" +msgstr ":attr:`Page.first_annot`" + +#: ../../page.rst:130 3960c3cff7cd4dd7bb4eefa5b00d56a2 +msgid "first :ref:`Annot` on the page" +msgstr "페이지의 첫 번째 :ref:`Annot`" + +#: ../../page.rst:131 6a67a4a11ec6453fa36aa5461c6e06d5 +msgid ":attr:`Page.first_link`" +msgstr ":attr:`Page.first_link`" + +#: ../../page.rst:131 6c50bbdfa48345e5b46d99fbb87e9f06 +msgid "first :ref:`Link` on the page" +msgstr "페이지의 첫 번째 :ref:`Link`" + +#: ../../page.rst:132 27eb250d66a3438f83fea2b8bfde1e1a +msgid ":attr:`Page.first_widget`" +msgstr ":attr:`Page.first_widget`" + +#: ../../page.rst:132 6dcac77284924a208b05753baa2f3993 +msgid "first widget (form field) on the page" +msgstr "페이지의 첫 번째 위젯(양식 필드)" + +#: ../../page.rst:133 3c80190dfd5b48afb1637767a52f2562 +msgid ":attr:`Page.mediabox_size`" +msgstr ":attr:`Page.mediabox_size`" + +#: ../../page.rst:133 74b552a4e7ff422eb90f67ef1b79c612 +msgid "bottom-right point of :data:`mediabox`" +msgstr ":data:`mediabox` 의 오른쪽 아래 점" + +#: ../../page.rst:134 5e616c88bd0a4d80994eebb61393c403 +msgid ":attr:`Page.mediabox`" +msgstr ":attr:`Page.mediabox`" + +#: ../../page.rst:134 dcb881e86083487d974936ae28de5065 +msgid "the page's :data:`mediabox`" +msgstr "페이지의 :data:`mediabox`" + +#: ../../page.rst:135 60c9628e587e454cb43e0bc7c339cbad +msgid ":attr:`Page.number`" +msgstr ":attr:`Page.number`" + +#: ../../page.rst:135 9a9f6b22bdb24d779607ffbe6587a360 +msgid "page number" +msgstr "페이지 번호" + +#: ../../page.rst:136 1a110f454cdb4eccb45642adad58f06a +msgid ":attr:`Page.parent`" +msgstr ":attr:`Page.parent`" + +#: ../../page.rst:136 79ef518099464c51a423337cecbcfc17 +msgid "owning document object" +msgstr "소유 문서 객체" + +#: ../../page.rst:137 699d659fe5f64f748fc494f227ca527f +msgid ":attr:`Page.rect`" +msgstr ":attr:`Page.rect`" + +#: ../../page.rst:138 41e758f7ff2c4b268ab0de1e5b623c06 +msgid ":attr:`Page.rotation_matrix`" +msgstr ":attr:`Page.rotation_matrix`" + +#: ../../page.rst:138 b6bea37a07124c5789ba01157e13610a +msgid "PDF only: get coordinates in rotated page space" +msgstr "PDF 전용: 회전된 페이지 공간에서 좌표 가져오기" + +#: ../../page.rst:139 5a09c49610b24ef58acda89953700aa0 +msgid ":attr:`Page.rotation`" +msgstr ":attr:`Page.rotation`" + +#: ../../page.rst:139 e2ee37dec6eb40b0b7495c11bdd79f2c +msgid "PDF only: page rotation" +msgstr "PDF 전용: 페이지 회전" + +#: ../../page.rst:140 7202394f72a249ba90257b4fc00ecf98 +msgid ":attr:`Page.transformation_matrix`" +msgstr ":attr:`Page.transformation_matrix`" + +#: ../../page.rst:140 7399b7e05f4f4cb38c43a83b361f9743 +msgid "PDF only: translate between PDF and MuPDF space" +msgstr "PDF 전용: PDF와 MuPDF 공간 간 변환" + +#: ../../page.rst:141 e8a15c725b7c4fb7bfdbf6af72da5dcb +msgid ":attr:`Page.xref`" +msgstr ":attr:`Page.xref`" + +#: ../../page.rst:141 e63ce001edc14011a2fe173d7cf8ee65 +msgid "PDF only: page :data:`xref`" +msgstr "PDF 전용: 페이지 :data:`xref`" + +#: ../../page.rst:144 ffd2e823bb3644949e18584adce3726f +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../page.rst:150 16405530ac7d4413b7e7d3b1762263f8 +msgid "" +"Determine the rectangle of the page. Same as property :attr:`Page.rect`. " +"For PDF documents this **usually** also coincides with :data:`mediabox` " +"and :data:`cropbox`, but not always. For example, if the page is rotated," +" then this is reflected by this method -- the :attr:`Page.cropbox` " +"however will not change." +msgstr "" +"페이지의 사각형을 결정합니다. 속성 :attr:`Page.rect` 와 동일합니다. PDF 문서의 경우 이것은 **일반적으로** " +":data:`mediabox` 및 :data:`cropbox` 와도 일치하지만 항상은 아닙니다. 예를 들어, 페이지가 회전된 경우 " +"이것은 이 메서드에 반영됩니다 -- 그러나 :attr:`Page.cropbox` 는 변경되지 않습니다." + +#: ../../page.rst 1c7e43371bd048ddbe8a51b1390548b7 +#: 205cf4fe67bc44ce9a698e96b409bf9b 467a474817be469eab9560aba8f753ea +#: 51d3f9dcd4a8427bac8db808615ff6ec 595478a115434fb6b5084114c00c7983 +#: 5f5110dd40354c749d8523c0c30ba431 667dd2143f1641b8a5db0979f13804ab +#: 66d7f54209244e6c86e9457ff82cdbd3 6bf04982e9a74268b7286e5a368751ab +#: 7349c20e85eb40dd9560fb6e7700a2c3 7cde36324f2744389fbdf482fe12c4c8 +#: 7e1f2e5330fd4dbd970bfc7abd346e63 7f20d63bc5d448aabf49085b89db55fa +#: 83c7c872bd8047c3a7a0939fb05634cc 947b527bf4a547cf956b65b08e6fae28 +#: 96d5484b6c864ada88cae8a16ca3d451 9f166cfc77fd41fda88155824e646c30 +#: a3141c1461ea48319ecaa99986b93664 a340aa9fa69d44e8ae8707efa903a1c1 +#: b477e16d888b4419afa23e619ab80186 b698b81d3295446a8f511570ccc5e7c3 +#: be3f2ae375444bda8db47aaecde509ec cdbe637983804854979d3357277ac7d2 +#: d3dc85ed25374dea8d2969af15ec7f0b d5fda2787f344daa80e2fd9b298b8d18 +#: eec8293f986546c7843eb6b66d7f6a24 f1e13a8c14a5469daa7a4dfe69c5884b +#: f2d9c25df1544d359ebbd1cb6c79ee05 f4622e9f6466414d93b014a06ff2e078 +#: f757ade36dbc45d88ac62e55fb132ae9 +msgid "Return type" +msgstr "반환 타입" + +#: ../../page.rst:152 ../../page.rst:2200 ../../page.rst:2210 +#: ../../page.rst:2222 ../../page.rst:2283 ../../page.rst:2289 +#: ../../page.rst:2432 ../../page.rst:2492 059602a8c1964a70b776297ba67cadec +#: 6be39e10fe814f0d8c9fa1b5ddc808be 79af3cb774e04712a49a2ea5c0104c97 +#: aae052a3d76040c18894dff94ce8405d b9f7e0a4775f4917835802a2e3e00c9d +#: c35f7f08d00d44fc92bfe49f8fdf9f37 cdd61db2adba438dae792f0a00d7c86a +#: d4f8317a2c804daa8710fba8abdb5a64 +msgid ":ref:`Rect`" +msgstr ":ref:`Rect`" + +#: ../../page.rst:156 cfa67eb14e9e433e98c391fadded0bf9 +msgid "" +"PDF only: Add a caret icon. A caret annotation is a visual symbol " +"normally used to indicate the presence of text edits on the page." +msgstr "" +"PDF 전용: 캐럿 아이콘을 추가합니다. 캐럿 주석은 일반적으로 페이지에 텍스트 편집이 있음을 나타내는 데 사용되는 시각적 " +"기호입니다." + +#: ../../page.rst 00ad5e9bcba84fc2b79745d48c6d1af3 +#: 01eb72e00d214526a5c35e8c9512a1f3 0210c580f03c42d89d1a707d35f78b39 +#: 02a47f7a522b4c69b203a9f085012b7a 0415dbfd3a504a92aac74ed7618d0ca5 +#: 0cde509b3c8e4c4382701e4e4fec7e79 105d75640b1043928d8e2ae0bae6ea7e +#: 1b540529e2c24d5998bb0635160a2e33 211979f067de424fa805ef917f41fd3d +#: 2c37d3051dee4a3989cac54a11fa306b 34e2bb69e8994ec89859333c4aec2521 +#: 3af0605d86d54cef815ba3d01a9a8a50 4327147145c14eaaae2d2d6c4ad86fa9 +#: 4593092ade8649b797a37e127740daa4 45a507654ad145b997a81d22a95bd958 +#: 466592522da44edfa55c8db0e63c3973 48e27da586d840f499d90fe0b8190a58 +#: 49a2594359bc48ad96d423183ac75834 4cbd4a5a00c94435a3dd21301a6eccf3 +#: 50470958cec14499a78c0c1efad2a171 5911ecb82f3f4a478321f590e394075d +#: 5cb2760dbdf54503b9607f1d84c4cbb2 5da0c8a182b5473ebcdbaf6c0594488c +#: 74859be77d7f4033a984cb04e3a92d04 788b0ebe873045dbaedd8a79abaca095 +#: 7abeb91e89ff4c7596ae330d3fa0ad68 7b99587e9cbd43d9977f5470d8e561f9 +#: 7caf03a4ceb44d279e1aa6aacc6df100 890994f53e0f40d4975a462949bfff83 +#: 8dbb9bbaa7e34ceb89e43315d0b7c666 91af70cc23f44f7392743058cc4f8ebf +#: a22033444ce4409b8bb2df81f3555fdb a2aeaa0d5a1e4dd38adc6fba64259518 +#: a6d3facd39fa416da204664b758c6fb3 a82294ed6014495c928dd45c2f24cd42 +#: aa999a0d269948e6b8cdf81fcda375d6 ac48ed3d77584bcbb62550b3c0eb2498 +#: ad8430a19361470b895dd21a55e1ab14 bef6913eeda048f0988acbe6a4d145c9 +#: c087fad999cd4221886a01597194030e c2cbf37e9f5f4429a2f3f59ed2d69cb6 +#: c9a0590b70c44d34924f9d8278ef6c1e d55cd5a6713f40ac9c9a0e40d6a262ed +#: d9ce04c2e595471181c6d52278de3cfb dad883c7527d479ab4711f6b92bde5ea +#: e220e2d77d0142cfb88d73ab31d9c45d e55fcc6423f24904942ab9293da5e5e5 +#: fd950628603d429097cce208f88a4379 +msgid "Parameters" +msgstr "매개변수" + +#: ../../page.rst:158 37cee59c04de4b4a903e6fe5c245bda3 +msgid "" +"the top left point of a 20 x 20 rectangle containing the MuPDF-provided " +"icon." +msgstr "MuPDF에서 제공하는 아이콘을 포함하는 20 x 20 사각형의 왼쪽 위 점." + +#: ../../page.rst:160 ../../page.rst:181 ../../page.rst:240 ../../page.rst:264 +#: ../../page.rst:273 ../../page.rst:284 ../../page.rst:295 ../../page.rst:323 +#: ../../page.rst:388 ../../page.rst:600 ../../page.rst:1923 +#: ../../page.rst:2258 0243863d17c1474faec91d58d7fce506 +#: 147c468214b145898395799c84065546 164f7d8bb1b04753a29dcda0fe18cf06 +#: 257f0462b38a4ddd9cf24447a44a3ea3 785dd2b986dd43d38c430d1d4c3e5033 +#: 7d712e7e3ac54230a227b6c35361621d 7e3cb251dc2542dfaf9e6bd4d593360f +#: 8b26bafd31fc44c2be39f516b98f084a 9f1c8d3976a441879292d557d6b6bdda +#: a5c90e9c9aca41a88881f2b1ee1d7493 da6ca25f37ab4753a4dde348c0f77cfb +#: f38cc53fbed041b688f7ddfe765e9544 +msgid ":ref:`Annot`" +msgstr ":ref:`Annot`" + +#: ../../page.rst 01874abf007d4bf0841edfda262a5a80 +#: 156f763299934672b6fdfb9cfa494b31 1e02ead69f34470ca14b4e7ec7e15edf +#: 20c4084afd6c42d28e0d626bbfccbd81 223eb01f06044f8497a2dcc9607f8b5c +#: 27c832c2b3cd4099a81f9af2fd5dd6ee 2ceceff29c394b378ed1a58c8fece4c5 +#: 36b44d3f175e4e5c9c8a87e956b40b61 380ade06e5774d3a8a5f2c8496569e64 +#: 3aa1968744cd417b8ca4b25fc284b7fb 41c20c60aca54cd2bcd0aa07e04c9a7f +#: 438ed28c385d4e78be868c5a2836ce98 49b824316b904a0cacf78578eaa5a1dd +#: 5383a33f0cde4fd2807c8400cc4e8836 5dcf29df4e9b4660b8b08eb409eddcb5 +#: 5e822b4d8cee43b59c158a444c18a8da 650b26fabb1f43d0b0de84d5d60d35ac +#: 7533219ef1094965bd9f1d8091e9790e 78b53a15df0e4c309f1858b8e4c01a97 +#: 79396917951844af9fa68a25cd231685 7ba40ec72d4f4d7e84ac7aeecdfff789 +#: 8a7be57d9396405aa86619144561d8cd 9337311dbf29452e9bc453a05666dd30 +#: 942c10676e5043ab80ec716e18b3e81a 9ba8444eecc844a19749cb8abce0078f +#: a2506ef3ea0f4143a4eb89eb14223958 a2badc10b7a74bb4ab079e2f9c3fc6bb +#: b01cf5b376124ab89cb842acb7a4ca7c b1b50faf962b42c594dc694e4690f284 +#: b32622ff4ede4f8780a156da92c608ec b90a3c54acd04e0fa343d741a51e21fe +#: b93def862bc44db9a19d8d4642ab9004 d7a26b600e1f45cb867c4af00dc2b7e4 +#: dcd2e2a3eaa642ef8cae8921645ba9fe e0addb3fcc6f409a847f950149d1e5f6 +#: e37c593b2e9c4b52b082cec18ab5d836 eb2728fcd3994507a6c348424d0a779e +#: f1061adfcda74fb9b08daa7aeaa36651 fa2eb3ba0f0d4f3bbd646cb33bafd830 +#: faa9a893b9b448c39352f0a55e42083b +msgid "Returns" +msgstr "반환값" + +#: ../../page.rst:161 d41e23d93cec47f0a5e33b061c62a8e6 +msgid "" +"the created annotation. Stroke color blue = (0, 0, 1), no fill color " +"support." +msgstr "생성된 주석. 선 색상 파란색 = (0, 0, 1), 채우기 색상 지원 없음." + +#: ../../page.rst:166 ../../page.rst:243 ../../page.rst:328 ../../page.rst:368 +#: ../../page.rst:540 ../../page.rst:613 ../../page.rst:649 ../../page.rst:671 +#: ../../page.rst:696 ../../page.rst:711 ../../page.rst:733 ../../page.rst:761 +#: ../../page.rst:790 ../../page.rst:857 ../../page.rst:894 ../../page.rst:919 +#: ../../page.rst:944 ../../page.rst:968 ../../page.rst:992 ../../page.rst:1017 +#: ../../page.rst:1041 ../../page.rst:1066 ../../page.rst:1090 +#: ../../page.rst:1115 ../../page.rst:1140 ../../page.rst:1321 +#: ../../page.rst:1369 ../../page.rst:1393 ../../page.rst:1451 +#: ../../page.rst:1479 ../../page.rst:1501 ../../page.rst:1542 +#: ../../page.rst:1653 ../../page.rst:1676 ../../page.rst:1735 +#: ../../page.rst:1765 ../../page.rst:1785 ../../page.rst:1800 +#: ../../page.rst:1841 ../../page.rst:1882 ../../page.rst:1896 +#: ../../page.rst:1910 ../../page.rst:1928 ../../page.rst:1945 +#: ../../page.rst:2046 ../../page.rst:2083 ../../page.rst:2107 +#: ../../page.rst:2125 ../../page.rst:2172 0ca6b086be624551b8d5a3bfd5a5c29c +#: 12468912de284f668b30834e02f4e56e 1a7a7daaee05403dbab563e782d112b3 +#: 1d1d583195544c76a0842f24848325ae 1ff2f4d3d7764928b9d6cbd3ed332911 +#: 2280e88ab4aa440d9df2d4639a07b563 2b7e7d752b444952b8995c12d4b03133 +#: 2fff22fb49c04d2bb4c35f1666c49b30 3266e9100bf64637a033863f4d4b0ecd +#: 343a36bc5c8b4f86958f75096586f720 3ce4fcaee5ea4f4ca3941a9fe15ceb8e +#: 3e8d13ba70a1401c975463e0fdf1cc87 3fd2c7c7b03941f1bdd410868d1dfa96 +#: 43af8ec0295947b2908552ffdfaee874 478ec9cc77064d9aaeef46392d935cfb +#: 4cb7af8d2ce147bab5b26410b8c3d007 5342c4e8c8b3460bab5aee3fd19e8362 +#: 5bb0a7d3e5404686a6dc97681a65f8b1 5e8f1e0e7cd9468a8b05322c1f344190 +#: 5f3926a01acc4e44980e0bc496725dc2 61a500c96c504aca9eb7954201c07d1f +#: 666ba2b511b941069224d1b093754a83 6778944fad394ba39677af70f67cfd2d +#: 6a3b0d0adbd9462da9cc53748bf7ccc0 6d6d536701f747e588356741fc404cbb +#: 73439f7cf4ca413c85d04aca1e27a5f0 7ae311fc9ef74a5ca330213ac583359c +#: 82dbaad0870c41d8a28b5477b8abe803 9144d51e11884421bbd80a409545f42a +#: a472f109adf246cd91c1e97351337c31 a57d2ac5e4f848ed80348b8a89f4af51 +#: aadf7e17870442c58916096ef5985781 aaeb6c7f1f494acfb5da432d5c25c42e +#: af14cf38d5724598933d62513496740c b0c35e8fcd6a4c63969d92a3c6ccaaed +#: b3ba0143c4c04a9cbb0dd847168c07ed b9d4d559e0af4a868716aef4b1884ff4 +#: baf563b17acf4b328a01d7ceb0a7bc3e bc16481dcb7640b9914a19268857f26e +#: c42d09416fb34718ad4cf94316454fbd ce97837903984a749034b63b6b1526f2 +#: d310818865ec411eae18a52f5970ef18 d8fa3ad2a57445d1a9aa6a6b5feeb419 +#: d91f916bf7024b1eac0338bb3846c9fb e9af9798bc1b407d8a984f8fd89593c7 +#: f3c57a49b90340f4b79abadc86693b9e f58bd9b3d29542e58d2ec81caf05562f +#: fde7f05f6f6c4fdda2cc9a2793bf0d55 feb1c7a6d32844deb13a26c3f6e948bf +msgid "|history_begin|" +msgstr "|history_begin|" + +#: ../../page.rst:168 96db2ff91a834bd5addd88ee554dea59 +msgid "New in v1.16.0" +msgstr "v1.16.0에서 새로 추가됨" + +#: ../../page.rst:170 ../../page.rst:247 ../../page.rst:332 ../../page.rst:376 +#: ../../page.rst:545 ../../page.rst:617 ../../page.rst:653 ../../page.rst:675 +#: ../../page.rst:700 ../../page.rst:715 ../../page.rst:737 ../../page.rst:765 +#: ../../page.rst:794 ../../page.rst:870 ../../page.rst:898 ../../page.rst:923 +#: ../../page.rst:948 ../../page.rst:972 ../../page.rst:996 ../../page.rst:1021 +#: ../../page.rst:1045 ../../page.rst:1070 ../../page.rst:1094 +#: ../../page.rst:1120 ../../page.rst:1144 ../../page.rst:1345 +#: ../../page.rst:1373 ../../page.rst:1397 ../../page.rst:1459 +#: ../../page.rst:1484 ../../page.rst:1506 ../../page.rst:1547 +#: ../../page.rst:1663 ../../page.rst:1684 ../../page.rst:1740 +#: ../../page.rst:1769 ../../page.rst:1793 ../../page.rst:1804 +#: ../../page.rst:1855 ../../page.rst:1886 ../../page.rst:1900 +#: ../../page.rst:1914 ../../page.rst:1932 ../../page.rst:1949 +#: ../../page.rst:2051 ../../page.rst:2090 ../../page.rst:2112 +#: ../../page.rst:2130 ../../page.rst:2176 02ae4ce4ec884ffea3b18987b7a84578 +#: 034dfe1d353e4a6d89a0a90f878677f2 049da9b465da4eab8d6c4253f1b61314 +#: 05d96681089544e8a32b8ed6f1d6f1f3 08108b3dff3041948f4a84ff2ae6176b +#: 0c11db1b147040b9ba820fe01ae9da58 18914b33eb7f4c3bb79dddca5f56edc0 +#: 1a6d6af8879b46b7974578a3c9d04343 1b554ab0b76541c2a7b9b00d4a5135a0 +#: 1e8c987524d0478b82d2b226a1ae18fd 2051d14fc29240b1b6db669fa35861c5 +#: 21b5cf863bff47bbb8247bbb9dd54fbf 29c2a743ad37445ebe62109322eaad6f +#: 2e16f94cf83741368836aba335519715 2ea1bff3b8d5453bad453f97699f9975 +#: 318d284c1a4e4df49a2143fdb1a592bb 3846e7e58f594f1ea654c716ce942341 +#: 48fea13b28854a3e8037241f0cac75a3 50687e142e7d4d358acfbee0b7828bd9 +#: 50ff165fbf384a0db135856cc7855894 55907e73b4254f029b6315f76570f3a4 +#: 69269d0e6e2b4321a564891e83d3a972 6974f42beb6443898bffe78925562e7a +#: 6cb8027b0a7d4a96b1e6f74c36309243 6fd8c635d7b34337b97b84c1ff0ae41d +#: 7031705e19194108bb39098a839628a6 7176e068f9ad4847a4d7b224a05118de +#: 718bef9d535d44cbbb56871c7efa2618 7bf1e9ecb2bf4287829db04bad618db7 +#: 7fe57d524c094c27a6a01348c400ef3c 84c5bf1c20d149f4a1680a2157f4eb08 +#: 84dc12790c384757ab4e44c25c0ce58e 875130bb17324e09b192ffbc49f959f0 +#: 9d217d1e2314404291644e771ffe6753 a11e419e262b4a659e133f8d80777b37 +#: a78c54c40f0048c996824600e7415dbf af9e409e31964966a75bd201f959d0d8 +#: afc655f80b444c7b829bcc6170536143 b14005d7053d44ce9732f5265b71d93d +#: b35ec848aa6646a18a773737a4766df2 c4ca8bf9c34a4c848b3eb518158a02fe +#: c8f92542a4bc431fb8bbe56eaf71bdea ce742763a46a417ba689244aa10bf44a +#: d5863e853d39455bb5e5414aa34ed878 daf50cfc40fb4142aec7eb19b1540003 +#: dbfa429a9021430ab3c7f8d80f4ace2f e938d44e132d433aa42ffc35f429d343 +#: f8d308248d98414f933d5194478d6985 faa94ecd4765407a84feaa3a5ba92790 +msgid "|history_end|" +msgstr "|history_end|" + +#: ../../page.rst:174 51bdd00946d148b8953854efd83df01a +msgid "" +"PDF only: Add a comment icon (\"sticky note\") with accompanying text. " +"Only the icon is visible, the accompanying text is hidden and can be " +"visualized by many PDF viewers by hovering the mouse over the symbol." +msgstr "" +"PDF 전용: 텍스트와 함께 주석 아이콘(\"스티키 노트\")을 추가합니다. 아이콘만 보이고 텍스트는 숨겨져 있으며 많은 PDF " +"뷰어에서 기호 위에 마우스를 올리면 표시할 수 있습니다." + +#: ../../page.rst:176 54a369191cb44ecbb72939e1cfcc1991 +msgid "" +"the top left point of a 20 x 20 rectangle containing the MuPDF-provided " +"\"note\" icon." +msgstr "MuPDF에서 제공하는 \"노트\" 아이콘을 포함하는 20 x 20 사각형의 왼쪽 위 점." + +#: ../../page.rst:178 fd77aeb8334442388dd2eec90ebfbe94 +msgid "" +"the commentary text. This will be shown on double clicking or hovering " +"over the icon. May contain any Latin characters." +msgstr "주석 텍스트. 아이콘을 더블 클릭하거나 마우스를 올리면 표시됩니다. 모든 라틴 문자를 포함할 수 있습니다." + +#: ../../page.rst:179 456b5d9d70414bb3a75145bb8d68febf +msgid "" +"choose one of \"Note\" (default), \"Comment\", \"Help\", \"Insert\", " +"\"Key\", \"NewParagraph\", \"Paragraph\" as the visual symbol for the " +"embodied text [#f4]_. (New in v1.16.0)" +msgstr "" +"\"Note\" (기본값), \"Comment\", \"Help\", \"Insert\", \"Key\", " +"\"NewParagraph\", \"Paragraph\" 중 하나를 텍스트의 시각적 기호로 선택합니다 [#f4]_. " +"(v1.16.0에서 새로 추가됨)" + +#: ../../page.rst:182 37733ed2d61c4a4d8963c8fa2c20f9f2 +msgid "" +"the created annotation. Stroke color yellow = (1, 1, 0), no fill color " +"support." +msgstr "생성된 주석. 선 색상 노란색 = (1, 1, 0), 채우기 색상 지원 없음." + +#: ../../page.rst:202 1c146be34a16419cb8750d19046ac2ab +msgid "" +"PDF only: Add text in a given rectangle. Optionally, the appearance of a " +"\"callout\" shape can be requested by specifying two or three point-like " +"objects -- see below." +msgstr "" +"PDF 전용: 주어진 사각형에 텍스트를 추가합니다. 선택적으로 두 개 또는 세 개의 점과 같은 객체를 지정하여 \"말풍선\" 모양의" +" 모양을 요청할 수 있습니다 -- 아래 참조." + +#: ../../page.rst:204 44b8581ef22344d99a19590077f4ce46 +msgid "" +"the rectangle into which the text should be inserted. Text is " +"automatically wrapped to a new line at box width. Text portions not " +"fitting into the rectangle will be invisible without warning." +msgstr "" +"텍스트가 삽입될 사각형. 텍스트는 상자 너비에서 자동으로 새 줄로 줄바꿈됩니다. 사각형에 맞지 않는 텍스트 부분은 경고 없이 보이지" +" 않습니다." + +#: ../../page.rst:206 7d331bcc143943c4a9bb8a8a2db24dd5 +msgid "" +"the text. May contain any mixture of Latin, Greek, Cyrillic, Chinese, " +"Japanese and Korean characters. If `richtext=True` (see below), the " +"string is interpreted as HTML syntax. This adds a plethora of ways for " +"attractive effects." +msgstr "" +"텍스트. 라틴, 그리스, 키릴, 중국어, 일본어 및 한국어 문자의 모든 조합을 포함할 수 있습니다. `richtext=True` " +"(아래 참조)인 경우 문자열은 HTML 구문으로 해석됩니다. 이것은 매력적인 효과를 위한 다양한 방법을 추가합니다." + +#: ../../page.rst:208 d184d4430ee747d88f8881eb7b24ea82 +msgid "the :data:`fontsize`. Default is 11. Ignored if `richtext=True`." +msgstr ":data:`fontsize`. 기본값은 11입니다. `richtext=True` 인 경우 무시됩니다." + +#: ../../page.rst:210 4fa1ef6ca2f44a17b6c91719560a60dd +msgid "" +"The font name. Default is \"Helv\". Ignored if `richtext=True`, otherwise" +" the following **restritions apply:** * Accepted alternatives are " +"\"Helv\" (Helvetica), \"Cour\" (Courier), \"TiRo\" (Timnes-Roman), " +"\"ZaDb\" (ZapfDingBats) and \"Symb\" (Symbol). The name may be " +"abbreviated to the first two characters, like \"Co\" for \"Cour\", lower " +"case accepted. * Bold or italic variants of the fonts are **not " +"supported.**" +msgstr "" + +#: ../../page.rst:210 cf9b9e8045234c18b29151b3ff723fa6 +msgid "" +"The font name. Default is \"Helv\". Ignored if `richtext=True`, otherwise" +" the following **restritions apply:**" +msgstr "" +"폰트 이름. 기본값은 \"Helv\"입니다. `richtext=True` 인 경우 무시되며, 그렇지 않으면 다음 **제한 사항이 " +"적용됩니다:**" + +#: ../../page.rst:212 6b9f7ab0730d4eecbf4ec937dfd826d2 +msgid "" +"Accepted alternatives are \"Helv\" (Helvetica), \"Cour\" (Courier), " +"\"TiRo\" (Timnes-Roman), \"ZaDb\" (ZapfDingBats) and \"Symb\" (Symbol). " +"The name may be abbreviated to the first two characters, like \"Co\" for " +"\"Cour\", lower case accepted." +msgstr "" +"허용되는 대안은 \"Helv\" (Helvetica), \"Cour\" (Courier), \"TiRo\" (Times-" +"Roman), \"ZaDb\" (ZapfDingBats) 및 \"Symb\" (Symbol)입니다. 이름은 \"Cour\"의 경우 " +"\"Co\"와 같이 처음 두 문자로 축약할 수 있으며, 소문자가 허용됩니다." + +#: ../../page.rst:214 123f4899566d48368c805d9f89b3e331 +msgid "Bold or italic variants of the fonts are **not supported.**" +msgstr "폰트의 굵게 또는 기울임꼴 변형은 **지원되지 않습니다.**" + +#: ../../page.rst:216 6f8ffab38b19408191c5984a0e3f53f9 +msgid "the text color. Default is black. Ignored if `richtext=True`." +msgstr "텍스트 색상. 기본값은 검은색입니다. `richtext=True` 인 경우 무시됩니다." + +#: ../../page.rst:218 f19df2fca1f946be8dc7d6eeaaa20718 +msgid "" +"the fill color. This is used for ``rect`` and the end point of the " +"callout lines when applicable. Default is ``None``." +msgstr "채우기 색상. 이것은 ``rect`` 및 해당하는 경우 말풍선 선의 끝점에 사용됩니다. 기본값은 ``None`` 입니다." + +#: ../../page.rst:220 548acc7ce2da4307a490d2ec5ba5c350 +msgid "" +"This parameter **only has an effect** if `richtext=True`. Otherwise, " +"``text_color`` is used." +msgstr "" +"이 매개변수는 `richtext=True` 인 경우에만 **효과가 있습니다**. 그렇지 않으면 ``text_color`` 가 " +"사용됩니다." + +#: ../../page.rst:222 63943749331c448b8b846ca3551f473d +msgid "" +"the width of border and ``callout`` lines. Default is 0 (no border), in " +"which case callout lines may still appear with some hairline width, " +"depending on the PDF viewer used. In any case, this value must be " +"positive to see a border line." +msgstr "" +"테두리 및 ``callout`` 선의 너비. 기본값은 0(테두리 없음)이며, 이 경우 사용된 PDF 뷰어에 따라 말풍선 선이 여전히" +" 얇은 선 너비로 나타날 수 있습니다. 어떤 경우든 테두리 선을 보려면 이 값이 양수여야 합니다." + +#: ../../page.rst:224 d9a2ef0ede15487f9edfb910a15dcaed +msgid "" +"a list of floats specifying how border and callout lines should be " +"dashed. Default is ``None``." +msgstr "테두리 및 말풍선 선을 점선으로 표시하는 방법을 지정하는 float 목록. 기본값은 ``None`` 입니다." + +#: ../../page.rst:226 c9271c8fdd374e65988f2aaffd340aea +msgid "" +"a list / tuple of two or three :data:`point_like` objects, which will be " +"interpreted as end point [, knee point] and start point (in this " +"sequence) of up to two line segments, converting this annotation into a " +"call-out shape." +msgstr "" +"두 개 또는 세 개의 :data:`point_like` 객체의 리스트/튜플로, 최대 두 개의 선분의 끝점 [, 무릎 점] 및 " +"시작점(이 순서로)으로 해석되어 이 주석을 말풍선 모양으로 변환합니다." + +#: ../../page.rst:228 c33f0a979817431cbd682918b0e62222 +msgid "" +"the line end symbol of the call-out line. It is drawn at the first point " +"specified in the `callout` list. Default is an open arrow. For possible " +"values see :ref:`AnnotationLineEnds`." +msgstr "" +"말풍선 선의 선 끝 기호. `callout` 목록에 지정된 첫 번째 점에 그려집니다. 기본값은 열린 화살표입니다. 가능한 값은 " +":ref:`AnnotationLineEnds` 를 참조하세요." + +#: ../../page.rst:230 1d92cdcfd87147edb5f5e0bc43ff50ba +msgid "" +"a float `0 <= opacity < 1` turning the annotation transparent. Default is" +" no transparency." +msgstr "주석을 투명하게 만드는 float `0 <= opacity < 1`. 기본값은 투명도 없음입니다." + +#: ../../page.rst:232 cfc26e251ca346dd905d4712fc2ff181 +msgid "" +"text alignment, one of TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER, " +"TEXT_ALIGN_RIGHT - justify is **not supported**. Ignored if " +"`richtext=True`." +msgstr "" +"텍스트 정렬, TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER, TEXT_ALIGN_RIGHT 중 하나 - 양쪽 " +"정렬은 **지원되지 않습니다**. `richtext=True` 인 경우 무시됩니다." + +#: ../../page.rst:234 034b62bc622e49068cee63693843f5a1 +msgid "" +"the text orientation. Accepted values are integer multiples of 90°. " +"Invalid entries receive a rotation of 0." +msgstr "텍스트 방향. 허용되는 값은 90°의 정수 배수입니다. 잘못된 항목은 회전 0을 받습니다." + +#: ../../page.rst:236 da57bcf6cd3b4c3d8e9b68d91eedfe24 +msgid "" +"treat ``text`` as HTML syntax. This allows to achieve **bold**, *italic*," +" arbitrary text colors, font sizes, text alignment including justify and " +"more - as far as the PDF subset of HTML and styling instructions supports" +" this. This is similar to what happens in :meth:`Page.insert_htmlbox`. " +"The base library will for example pull in required fonts if it encounters" +" characters not contained in the standard ones. Some parameters are " +"ignored if this option is set, as mentioned above. Default is ``False``." +msgstr "" +"``text`` 를 HTML 구문으로 처리합니다. 이것은 **굵게**, *기울임꼴*, 임의의 텍스트 색상, 폰트 크기, 양쪽 정렬을" +" 포함한 텍스트 정렬 등을 달성할 수 있게 합니다 - PDF HTML 서브셋 및 스타일 지시문이 이를 지원하는 한. 이것은 " +":meth:`Page.insert_htmlbox` 에서 일어나는 것과 유사합니다. 기본 라이브러리는 예를 들어 표준 폰트에 포함되지" +" 않은 문자를 만나면 필요한 폰트를 가져옵니다. 이 옵션이 설정되면 위에서 언급한 대로 일부 매개변수가 무시됩니다. 기본값은 " +"``False`` 입니다." + +#: ../../page.rst:238 32ec7963c0a04bc78b1231ca653e0386 +msgid "" +"supply optional HTML styling information in CSS syntax. Ignored if " +"`richtext=False`." +msgstr "CSS 구문으로 선택적 HTML 스타일 정보를 제공합니다. `richtext=False` 인 경우 무시됩니다." + +#: ../../page.rst:241 5984cf38fa2c47028b2e176e5b062090 +msgid "the created annotation." +msgstr "생성된 주석." + +#: ../../page.rst:245 7e930f01ce524eddac7121e39875dce0 +msgid "Changed in v1.19.6: add border color parameter" +msgstr "v1.19.6에서 변경됨: 테두리 색상 매개변수 추가" + +#: ../../page.rst:251 0ba858ddf30f47268c90815b704bd8d7 +msgid "" +"PDF only: Add a file attachment annotation with a \"PushPin\" icon at the" +" specified location." +msgstr "PDF 전용: 지정된 위치에 \"PushPin\" 아이콘이 있는 파일 첨부 주석을 추가합니다." + +#: ../../page.rst:253 952eb34fd29645e3b86fc95af04e12e6 +msgid "" +"the top-left point of a 18x18 rectangle containing the MuPDF-provided " +"\"PushPin\" icon." +msgstr "MuPDF에서 제공하는 \"PushPin\" 아이콘을 포함하는 18x18 사각형의 왼쪽 위 점." + +#: ../../page.rst:255 33c54f02d9ec4958aac36d4ae87ec8b2 +msgid "" +"the data to be stored (actual file content, any data, etc.). Changed in " +"v1.14.13: *io.BytesIO* is now also supported." +msgstr "" + +#: ../../page.rst:255 49a1495385834b0bb8c253a6b035e372 +msgid "the data to be stored (actual file content, any data, etc.)." +msgstr "저장할 데이터(실제 파일 콘텐츠, 모든 데이터 등)." + +#: ../../page.rst:257 9106ac69cad44285868e1db831a4f80b +msgid "Changed in v1.14.13: *io.BytesIO* is now also supported." +msgstr "v1.14.13에서 변경됨: *io.BytesIO* 도 이제 지원됩니다." + +#: ../../page.rst:259 3054cf84528a428d9364a2a12859b693 +msgid "the filename to associate with the data." +msgstr "데이터와 연결할 파일명." + +#: ../../page.rst:260 f0ee2128fd164598b042072345e030e6 +msgid "the optional PDF unicode version of filename. Defaults to filename." +msgstr "파일명의 선택적 PDF 유니코드 버전. 기본값은 파일명입니다." + +#: ../../page.rst:261 7ed966fa13094c65b1becda615d4f72d +msgid "an optional description of the file. Defaults to filename." +msgstr "파일의 선택적 설명. 기본값은 파일명입니다." + +#: ../../page.rst:262 04c62225b8b74b298de1c93e5d5f135e +msgid "" +"choose one of \"PushPin\" (default), \"Graph\", \"Paperclip\", \"Tag\" as" +" the visual symbol for the attached data [#f4]_. (New in v1.16.0)" +msgstr "" +"\"PushPin\" (기본값), \"Graph\", \"Paperclip\", \"Tag\" 중 하나를 첨부된 데이터의 시각적 " +"기호로 선택합니다 [#f4]_. (v1.16.0에서 새로 추가됨)" + +#: ../../page.rst:265 e780faf60aac4a58992bf36f5c9ef190 +msgid "" +"the created annotation. Stroke color yellow = (1, 1, 0), no fill color " +"support." +msgstr "생성된 주석. 선 색상 노란색 = (1, 1, 0), 채우기 색상 지원 없음." + +#: ../../page.rst:269 d747b4142e74426e9cafa1e1fad1b357 +msgid "PDF only: Add a \"freehand\" scribble annotation." +msgstr "PDF 전용: \"자유형\" 낙서 주석을 추가합니다." + +#: ../../page.rst:271 14e1a3e9c61047ab82b59eb44e721ebf +msgid "" +"a list of one or more lists, each containing :data:`point_like` items. " +"Each item in these sublists is interpreted as a :ref:`Point` through " +"which a connecting line is drawn. Separate sublists thus represent " +"separate drawing lines." +msgstr "" +"하나 이상의 리스트의 리스트로, 각각 :data:`point_like` 항목을 포함합니다. 이러한 하위 리스트의 각 항목은 연결 " +"선이 그려지는 :ref:`Point` 로 해석됩니다. 따라서 별도의 하위 리스트는 별도의 그리기 선을 나타냅니다." + +#: ../../page.rst:274 c78d5be71625401caa352e4a3546e8d9 +msgid "" +"the created annotation in default appearance black =(0, 0, 0),line width " +"1. No fill color support." +msgstr "기본 모양 검은색 =(0, 0, 0), 선 너비 1의 생성된 주석. 채우기 색상 지원 없음." + +#: ../../page.rst:278 83a7dfd91643427b9b3ddae21297d1e0 +msgid "PDF only: Add a line annotation." +msgstr "PDF 전용: 선 주석을 추가합니다." + +#: ../../page.rst:280 982abaa9a3b04d7dab7a869c40500ee8 +msgid "the starting point of the line." +msgstr "선의 시작점." + +#: ../../page.rst:282 71f3d7598f4a438baa35931f6d2292a1 +msgid "the end point of the line." +msgstr "선의 끝점." + +#: ../../page.rst:285 d0d3f8e6caee4c659fef7470860d22be +msgid "" +"the created annotation. It is drawn with line (stroke) color red = (1, 0," +" 0) and line width 1. No fill color support. The **annot rectangle** is " +"automatically created to contain both points, each one surrounded by a " +"circle of radius 3 * line width to make room for any line end symbols." +msgstr "" +"생성된 주석. 선(스트로크) 색상 빨간색 = (1, 0, 0) 및 선 너비 1로 그려집니다. 채우기 색상 지원 없음. **주석 " +"사각형** 은 두 점을 포함하도록 자동으로 생성되며, 각 점은 선 끝 기호를 위한 공간을 만들기 위해 반경 3 * 선 너비의 원으로" +" 둘러싸입니다." + +#: ../../page.rst:291 c1c26bec4d8a4a449fd8205433749a68 +msgid "PDF only: Add a rectangle, resp. circle annotation." +msgstr "PDF 전용: 사각형, 각각 원형 주석을 추가합니다." + +#: ../../page.rst:293 fbd4ba67216045c7863c4d7c09726bdc +msgid "" +"the rectangle in which the circle or rectangle is drawn, must be finite " +"and not empty. If the rectangle is not equal-sided, an ellipse is drawn." +msgstr "원 또는 사각형이 그려지는 사각형은 유한하고 비어 있지 않아야 합니다. 사각형이 정사각형이 아니면 타원이 그려집니다." + +#: ../../page.rst:296 2d270d9060804012bc6a6d6daae01393 +msgid "" +"the created annotation. It is drawn with line (stroke) color red = (1, 0," +" 0), line width 1, fill color is supported." +msgstr "생성된 주석. 선(스트로크) 색상 빨간색 = (1, 0, 0), 선 너비 1로 그려지며, 채우기 색상이 지원됩니다." + +#: ../../page.rst:301 b2d0c457ed934ffa8cc63c9daba01877 +msgid "Redactions" +msgstr "수정" + +#: ../../page.rst:305 83d32da0d6a9408b8f95066f77189a66 +msgid "" +"**PDF only**: Add a redaction annotation. A redaction annotation " +"identifies an area whose content should be removed from the document. " +"Adding such an annotation is the first of two steps. It makes visible " +"what will be removed in the subsequent step, " +":meth:`Page.apply_redactions`." +msgstr "" +"**PDF 전용**: 수정 주석을 추가합니다. 수정 주석은 콘텐츠가 문서에서 제거되어야 하는 영역을 식별합니다. 이러한 주석을 " +"추가하는 것은 두 단계 중 첫 번째 단계입니다. 다음 단계인 :meth:`Page.apply_redactions` 에서 제거될 " +"내용을 표시합니다." + +#: ../../page.rst:307 4699fffeef5d4362a039fb781b613690 +msgid "" +"specifies the (rectangular) area to be removed which is always equal to " +"the annotation rectangle. This may be a :data:`rect_like` or " +":data:`quad_like` object. If a quad is specified, then the enveloping " +"rectangle is taken." +msgstr "" +"제거할 (사각형) 영역을 지정하며 항상 주석 사각형과 같습니다. 이것은 :data:`rect_like` 또는 " +":data:`quad_like` 객체일 수 있습니다. quad가 지정되면 둘러싸는 사각형이 사용됩니다." + +#: ../../page.rst:309 ba0ad939c6964388bbf9da8a1426e156 +msgid "" +"text to be placed in the rectangle after applying the redaction (and thus" +" removing old content). (New in v1.16.12)" +msgstr "수정을 적용한 후(따라서 이전 콘텐츠를 제거한 후) 사각형에 배치할 텍스트. (v1.16.12에서 새로 추가됨)" + +#: ../../page.rst:311 d2d149590d334bd4877f4fc44334eb88 +msgid "" +"the font to use when ``text`` is given, otherwise ignored. Only CJK and " +"the :ref:`Base-14-Fonts` are supported. Apart from this, the same rules " +"apply as for :meth:`Page.insert_textbox` -- which is what the method " +":meth:`Page.apply_redactions` internally invokes." +msgstr "" +"``text`` 가 제공될 때 사용할 폰트, 그렇지 않으면 무시됩니다. CJK 및 :ref:`Base-14-Fonts` 만 " +"지원됩니다. 이 외에는 :meth:`Page.insert_textbox` 와 동일한 규칙이 적용됩니다 -- 이것은 메서드 " +":meth:`Page.apply_redactions` 가 내부적으로 호출하는 것입니다." + +#: ../../page.rst:313 cc4732ea5ec8414ba11322e9735299c3 +msgid "" +"the :data:`fontsize` to use for the replacing text. If the text is too " +"large to fit, several insertion attempts will be made, gradually reducing" +" the :data:`fontsize` to no less than 4. If then the text will still not " +"fit, no text insertion will take place at all. (New in v1.16.12)" +msgstr "" +"교체 텍스트에 사용할 :data:`fontsize`. 텍스트가 너무 커서 맞지 않으면 여러 번 삽입을 시도하며, " +":data:`fontsize` 를 점진적으로 4 이상으로 줄입니다. 그래도 텍스트가 맞지 않으면 텍스트 삽입이 전혀 수행되지 " +"않습니다. (v1.16.12에서 새로 추가됨)" + +#: ../../page.rst:315 c4d7520aac904bb99519e58c6bf2140d +msgid "" +"the horizontal alignment for the replacing text. See " +":meth:`insert_textbox` for available values. The vertical alignment is " +"(approximately) centered." +msgstr "" +"교체 텍스트의 수평 정렬. 사용 가능한 값은 :meth:`insert_textbox` 를 참조하세요. 수직 정렬은 (대략) " +"중앙입니다." + +#: ../../page.rst:317 b3a02eedc12844f68db67a48da623653 +msgid "" +"the fill color of the rectangle **after applying** the redaction. The " +"default is *white = (1, 1, 1)*, which is also taken if ``None`` is " +"specified. To suppress a fill color altogether, specify ``False``. In " +"this cases the rectangle remains transparent. (New in v1.16.12)" +msgstr "" +"수정을 **적용한 후** 사각형의 채우기 색상. 기본값은 *white = (1, 1, 1)* 이며, ``None`` 이 지정된 " +"경우에도 사용됩니다. 채우기 색상을 완전히 억제하려면 ``False`` 를 지정하세요. 이 경우 사각형은 투명하게 유지됩니다. " +"(v1.16.12에서 새로 추가됨)" + +#: ../../page.rst:319 4f1d52476fb54ea7910fb134279060cc +msgid "" +"the color of the replacing text. Default is *black = (0, 0, 0)*. (New in " +"v1.16.12)" +msgstr "교체 텍스트의 색상. 기본값은 *black = (0, 0, 0)* 입니다. (v1.16.12에서 새로 추가됨)" + +#: ../../page.rst:321 9d20ca01e5ec49d48597ab52ae2429d6 +msgid "add two diagonal lines to the annotation rectangle. (New in v1.17.2)" +msgstr "주석 사각형에 두 개의 대각선을 추가합니다. (v1.17.2에서 새로 추가됨)" + +#: ../../page.rst:324 5d7ae07a1eae47d3af0293d6f1cebff7 +msgid "" +"the created annotation. Its standard appearance looks like a red " +"rectangle (no fill color), optionally showing two diagonal lines. Colors," +" line width, dashing, opacity and blend mode can now be set and applied " +"via :meth:`Annot.update` like with other annotations. (Changed in " +"v1.17.2)" +msgstr "" +"생성된 주석. 표준 모양은 빨간색 사각형(채우기 색상 없음)이며, 선택적으로 두 개의 대각선을 표시합니다. 색상, 선 너비, 점선," +" 불투명도 및 블렌드 모드는 이제 다른 주석과 마찬가지로 :meth:`Annot.update` 를 통해 설정하고 적용할 수 " +"있습니다. (v1.17.2에서 변경됨)" + +#: ../../page.rst:330 ../../page.rst:370 8a91d58a85a54e15a0c2a92ab4be3fc8 +#: ffdf3291e16d4f3193e3c0d91e3f2010 +msgid "New in v1.16.11" +msgstr "v1.16.11에서 새로 추가됨" + +#: ../../page.rst:337 3c7a5faae9b0449d91c14474c64d2051 +msgid "" +"**PDF only**: Remove all **content** contained in any redaction rectangle" +" on the page." +msgstr "**PDF 전용**: 페이지의 모든 수정 사각형에 포함된 **콘텐츠** 를 제거합니다." + +#: ../../page.rst:339 ee1fc729c3c14392bb729f007f5b6698 +msgid "**This method applies and then deletes all redactions from the page.**" +msgstr "**이 메서드는 모든 수정을 적용한 다음 페이지에서 삭제합니다.**" + +#: ../../page.rst:341 b227244aaa8440a58e165311f3d4e159 +msgid "" +"How to redact overlapping images. The default (2) blanks out overlapping " +"pixels. `PDF_REDACT_IMAGE_NONE | 0` ignores, and `PDF_REDACT_IMAGE_REMOVE" +" | 1` completely removes images overlapping any redaction annotation. " +"Option `PDF_REDACT_IMAGE_REMOVE_UNLESS_INVISIBLE | 3` only removes images" +" that are actually visible." +msgstr "" +"겹치는 이미지를 수정하는 방법. 기본값(2)은 겹치는 픽셀을 지웁니다. `PDF_REDACT_IMAGE_NONE | 0` 은 " +"무시하고, `PDF_REDACT_IMAGE_REMOVE | 1` 은 수정 주석과 겹치는 이미지를 완전히 제거합니다. 옵션 " +"`PDF_REDACT_IMAGE_REMOVE_UNLESS_INVISIBLE | 3` 은 실제로 보이는 이미지만 제거합니다." + +#: ../../page.rst:343 732d8771fa524855a96d98bab564cb8f +#, python-format +msgid "" +"How to redact overlapping vector graphics (also called \"line-art\" or " +"\"drawings\"). The default (2) removes any overlapping vector graphics. " +"`PDF_REDACT_LINE_ART_NONE | 0` ignores, and " +"`PDF_REDACT_LINE_ART_REMOVE_IF_COVERED | 1` removes graphics fully " +"contained in a redaction annotation. When removing line-art, please be " +"aware that **stroked** vector graphics (i.e. type \"s\" or \"sf\") have a" +" **larger wrapping rectangle** than one might expect: first of all, at " +"least 50% of the path's line width have to be added in each direction to " +"truly include all of the drawing. If a so-called \"miter limit\" is " +"provided (see page 121 of the PDF specification), the enlarging value is " +"`miter * width / 2`. So, when letting everything default (width = 1, " +"miter = 10), the redaction rectangle should be at least 5 points larger " +"in every direction." +msgstr "" +"겹치는 벡터 그래픽(또한 \"line-art\" 또는 \"drawings\"라고도 함)을 수정하는 방법. 기본값(2)은 겹치는 모든" +" 벡터 그래픽을 제거합니다. `PDF_REDACT_LINE_ART_NONE | 0` 은 무시하고, " +"`PDF_REDACT_LINE_ART_REMOVE_IF_COVERED | 1` 은 수정 주석에 완전히 포함된 그래픽을 제거합니다. " +"line-art를 제거할 때 **스트로크된** 벡터 그래픽(즉, 타입 \"s\" 또는 \"sf\")은 예상보다 **큰 래핑 " +"사각형** 을 가집니다: 먼저, 그림의 모든 부분을 실제로 포함하려면 경로의 선 너비의 최소 50%를 각 방향으로 추가해야 합니다." +" 소위 \"miter limit\"이 제공되면(PDF 사양 121페이지 참조), 확대 값은 `miter * width / 2` " +"입니다. 따라서 모든 것을 기본값으로 두면(width = 1, miter = 10), 수정 사각형은 모든 방향으로 최소 5포인트 더" +" 커야 합니다." + +#: ../../page.rst:345 b034080c271e4abea6940e78ca7c9b9f +msgid "" +"Whether to redact overlapping text. The default `PDF_REDACT_TEXT_REMOVE |" +" 0` removes all characters whose boundary box overlaps any redaction " +"rectangle. This complies with the original legal / data protection " +"intentions of redaction annotations. Other use cases however may require " +"to **keep text** while redacting vector graphics or images. This can be " +"achieved by setting `text=True|PDF_REDACT_TEXT_NONE | 1`. This does **not" +" comply** with the data protection intentions of redaction annotations. " +"**Do so at your own risk.**" +msgstr "" +"겹치는 텍스트를 수정할지 여부. 기본값 `PDF_REDACT_TEXT_REMOVE | 0` 은 경계 상자가 수정 사각형과 겹치는 " +"모든 문자를 제거합니다. 이것은 수정 주석의 원래 법적/데이터 보호 의도에 부합합니다. 그러나 다른 사용 사례에서는 벡터 그래픽이나" +" 이미지를 수정하는 동안 **텍스트를 유지** 해야 할 수 있습니다. 이것은 " +"`text=True|PDF_REDACT_TEXT_NONE | 1` 로 설정하여 달성할 수 있습니다. 이것은 수정 주석의 데이터 보호" +" 의도에 **부합하지 않습니다**. **자신의 위험으로 수행하세요.**" + +#: ../../page.rst:347 a88c35da262e43b885d7144a0ff5712f +msgid "" +"`True` if at least one redaction annotation has been processed, `False` " +"otherwise." +msgstr "최소 하나의 수정 주석이 처리되었으면 `True`, 그렇지 않으면 `False`." + +#: ../../page.rst:350 fe01d8d5869c414186b762c70b99a4ea +msgid "" +"Text contained in a redaction rectangle will be **physically** removed " +"from the page (assuming :meth:`Document.save` with a suitable garbage " +"option) and will no longer appear in e.g. text extractions or anywhere " +"else. All redaction annotations will also be removed. Other annotations " +"are unaffected." +msgstr "" +"수정 사각형에 포함된 텍스트는 페이지에서 **물리적으로** 제거됩니다(적절한 가비지 옵션으로 :meth:`Document.save`" +" 가정) 그리고 예를 들어 텍스트 추출이나 다른 곳에서 더 이상 나타나지 않습니다. 모든 수정 주석도 제거됩니다. 다른 주석은 " +"영향을 받지 않습니다." + +#: ../../page.rst:352 c550602fc16b4fb8a1296b8ddcc34b9c +msgid "" +"All overlapping links will be removed. If the rectangle of the link was " +"covering text, then only the overlapping part of the text is being " +"removed. Similar applies to images covered by link rectangles." +msgstr "" +"모든 겹치는 링크가 제거됩니다. 링크의 사각형이 텍스트를 덮고 있으면 텍스트의 겹치는 부분만 제거됩니다. 링크 사각형으로 덮인 " +"이미지에도 유사하게 적용됩니다." + +#: ../../page.rst:354 40b2cb822b0647bdae0d55262944a78a +msgid "" +"The overlapping parts of **images** will be blanked-out for default " +"option `PDF_REDACT_IMAGE_PIXELS` (changed in v1.18.0). Option 0 does not " +"touch any images and 1 will remove any image with an overlap." +msgstr "" +"**이미지** 의 겹치는 부분은 기본 옵션 `PDF_REDACT_IMAGE_PIXELS` (v1.18.0에서 변경됨)에 대해 " +"지워집니다. 옵션 0은 이미지를 건드리지 않고 1은 겹치는 모든 이미지를 제거합니다." + +#: ../../page.rst:356 25b61da15edd48a0899311789eb7ce0f +msgid "" +"For option `images=PDF_REDACT_IMAGE_REMOVE` only this page's **references" +" to the images** are removed - not necessarily the images themselves. " +"Images are completely removed from the file only, if no longer referenced" +" at all (assuming suitable garbage collection options)." +msgstr "" +"옵션 `images=PDF_REDACT_IMAGE_REMOVE` 의 경우 이 페이지의 **이미지에 대한 참조** 만 제거됩니다 - " +"반드시 이미지 자체는 아닙니다. 이미지는 더 이상 전혀 참조되지 않는 경우에만 파일에서 완전히 제거됩니다(적절한 가비지 수집 옵션 " +"가정)." + +#: ../../page.rst:358 16e6a9f129dd4eee890575533deb157d +msgid "" +"For option `images=PDF_REDACT_IMAGE_PIXELS` a new image of format PNG is " +"created, which the page will use in place of the original one. The " +"original image is not deleted or replaced as part of this process, so " +"other pages may still show the original. In addition, the new, modified " +"PNG image currently is **stored uncompressed**. Do keep these aspects in " +"mind when choosing the right garbage collection method and compression " +"options during save." +msgstr "" +"옵션 `images=PDF_REDACT_IMAGE_PIXELS` 의 경우 PNG 형식의 새 이미지가 생성되며, 페이지는 원본 대신 " +"이것을 사용합니다. 원본 이미지는 이 프로세스의 일부로 삭제되거나 교체되지 않으므로 다른 페이지는 여전히 원본을 표시할 수 " +"있습니다. 또한 새로 수정된 PNG 이미지는 현재 **압축되지 않은 상태로 저장됩니다**. 저장 중 적절한 가비지 수집 방법과 압축" +" 옵션을 선택할 때 이러한 측면을 염두에 두세요." + +#: ../../page.rst:360 6836ae0f5eec41e98cc524e3c6d99a04 +msgid "" +"**Text removal** is done by character: A character is removed if its bbox" +" has a **non-empty overlap** with a redaction rectangle (changed in MuPDF" +" v1.17). Depending on the font properties and / or the chosen line " +"height, deletion may occur for undesired text parts. Using " +":meth:`Tools.set_small_glyph_heights` with a ``True`` argument before " +"text search may help to prevent this." +msgstr "" +"**텍스트 제거** 는 문자별로 수행됩니다: 문자의 bbox가 수정 사각형과 **비어 있지 않은 겹침** 이 있으면 " +"제거됩니다(MuPDF v1.17에서 변경됨). 폰트 속성 및/또는 선택한 줄 높이에 따라 원하지 않는 텍스트 부분에 대한 삭제가 " +"발생할 수 있습니다. 텍스트 검색 전에 ``True`` 인수로 :meth:`Tools.set_small_glyph_heights` " +"를 사용하면 이를 방지하는 데 도움이 될 수 있습니다." + +#: ../../page.rst:362 d8fd1608b6084336aed580baa042cfaa +msgid "" +"Redactions are a simple way to replace single words in a PDF, or to just " +"physically remove them. Locate the word \"secret\" using some text " +"extraction or search method and insert a redaction using \"xxxxxx\" as " +"replacement text for each occurrence." +msgstr "" +"수정은 PDF에서 단일 단어를 교체하거나 물리적으로 제거하는 간단한 방법입니다. 텍스트 추출 또는 검색 방법을 사용하여 " +"\"secret\" 단어를 찾고 각 발생에 대해 \"xxxxxx\" 를 교체 텍스트로 사용하여 수정을 삽입합니다." + +#: ../../page.rst:364 47c46c9b96834ac9ad8367ae6450697d +msgid "" +"Be wary if the replacement is longer than the original -- this may lead " +"to an awkward appearance, line breaks or no new text at all." +msgstr "교체가 원본보다 긴 경우 주의하세요 -- 이것은 어색한 모양, 줄 바꿈 또는 새 텍스트가 전혀 없을 수 있습니다." + +#: ../../page.rst:366 8682db4dc4af41178c7504d6e0765c2b +msgid "" +"For a number of reasons, the new text may not exactly be positioned on " +"the same line like the old one -- especially true if the replacement font" +" was not one of CJK or :ref:`Base-14-Fonts`." +msgstr "" +"여러 가지 이유로 새 텍스트가 이전 텍스트와 정확히 같은 줄에 위치하지 않을 수 있습니다 -- 특히 교체 폰트가 CJK 또는 " +":ref:`Base-14-Fonts` 중 하나가 아닌 경우." + +#: ../../page.rst:371 8e9d6723068947caa9c1a7728e5ec00f +msgid "" +"Changed in v1.16.12: The previous *mark* parameter is gone. Instead, the " +"respective rectangles are filled with the individual *fill* color of each" +" redaction annotation. If a *text* was given in the annotation, then " +":meth:`insert_textbox` is invoked to insert it, using parameters provided" +" with the redaction." +msgstr "" +"v1.16.12에서 변경됨: 이전 *mark* 매개변수가 제거되었습니다. 대신 각 수정 주석의 개별 *fill* 색상으로 해당 " +"사각형이 채워집니다. 주석에 *text* 가 제공된 경우 :meth:`insert_textbox` 가 수정과 함께 제공된 매개변수를" +" 사용하여 삽입하도록 호출됩니다." + +#: ../../page.rst:372 46f68e0c832a480ba4bd336ac3910095 +msgid "" +"Changed in v1.18.0: added option for handling images that overlap " +"redaction areas." +msgstr "v1.18.0에서 변경됨: 수정 영역과 겹치는 이미지를 처리하는 옵션 추가." + +#: ../../page.rst:373 2465ee7b86d54db8bee38570925d4320 +msgid "Changed in v1.23.27: added option for removing graphics as well." +msgstr "v1.23.27에서 변경됨: 그래픽 제거 옵션도 추가." + +#: ../../page.rst:374 c25bbe521c624b7ab8551b69d1b5a92e +msgid "Changed in v1.24.2: added option `keep_text` to leave text untouched." +msgstr "v1.24.2에서 변경됨: 텍스트를 그대로 두는 옵션 `keep_text` 추가." + +#: ../../page.rst:384 5b39575061fd4afaa2313b0f235fed1c +msgid "" +"PDF only: Add an annotation consisting of lines which connect the given " +"points. A **Polygon's** first and last points are automatically " +"connected, which does not happen for a **PolyLine**. The **rectangle** is" +" automatically created as the smallest rectangle containing the points, " +"each one surrounded by a circle of radius 3 (= 3 * line width). The " +"following shows a 'PolyLine' that has been modified with colors and line " +"ends." +msgstr "" +"PDF 전용: 주어진 점을 연결하는 선으로 구성된 주석을 추가합니다. **Polygon** 의 첫 번째와 마지막 점은 자동으로 " +"연결되지만, **PolyLine** 에서는 그렇지 않습니다. **사각형** 은 점을 포함하는 가장 작은 사각형으로 자동 생성되며, " +"각 점은 반경 3(= 3 * 선 너비)의 원으로 둘러싸입니다. 다음은 색상과 선 끝으로 수정된 'PolyLine'을 보여줍니다." + +#: ../../page.rst:386 bf625a70b5dc4b178bf672dc80445d94 +msgid "a list of :data:`point_like` objects." +msgstr ":data:`point_like` 객체의 리스트." + +#: ../../page.rst:389 3436f7a64b5947eabaebb816d9bed65e +msgid "" +"the created annotation. It is drawn with line color black, line width 1 " +"no fill color but fill color support. Use methods of :ref:`Annot` to make" +" any changes to achieve something like this:" +msgstr "" +"생성된 주석. 선 색상 검은색, 선 너비 1, 채우기 색상 없음이지만 채우기 색상 지원. 다음과 같은 것을 달성하기 위해 변경하려면" +" :ref:`Annot` 의 메서드를 사용하세요:" + +#: ../../page.rst:402 4dd3a4352c934a608cde37542c01e320 +msgid "" +"PDF only: These annotations are normally used for **marking text** which " +"has previously been somehow located (for example via " +":meth:`Page.search_for`). But this is not required: you are free to " +"\"mark\" just anything." +msgstr "" +"PDF 전용: 이러한 주석은 일반적으로 이전에 어떤 방식으로든 찾은(예: :meth:`Page.search_for` 를 통해) " +"**텍스트를 표시** 하는 데 사용됩니다. 하지만 이것은 필수는 아닙니다: 무엇이든 \"표시\"할 수 있습니다." + +#: ../../page.rst:404 ea4d8dff219844daa8178bfd53fe0a12 +msgid "" +"Standard (stroke only -- no fill color support) colors are chosen per " +"annotation type: **yellow** for highlighting, **red** for striking out, " +"**green** for underlining, and **magenta** for wavy underlining." +msgstr "" +"표준(스트로크만 -- 채우기 색상 지원 없음) 색상은 주석 유형별로 선택됩니다: 강조는 **노란색**, 취소선은 **빨간색**, " +"밑줄은 **초록색**, 물결 밑줄은 **자홍색**." + +#: ../../page.rst:406 fd77f9fb49924c3b983cc2177df9713c +msgid "" +"All these four methods convert the arguments into a list of :ref:`Quad` " +"objects. The **annotation** rectangle is then calculated to envelop all " +"these quadrilaterals." +msgstr "" +"이 네 가지 메서드는 모두 인수를 :ref:`Quad` 객체의 리스트로 변환합니다. 그런 다음 **주석** 사각형이 이러한 모든 " +"사각형을 둘러싸도록 계산됩니다." + +#: ../../page.rst:410 b78e92f1133b4f79b8e187d5fdea27b7 +msgid "" +":meth:`search_for` delivers a list of either :ref:`Rect` or :ref:`Quad` " +"objects. Such a list can be directly used as an argument for these " +"annotation types and will deliver **one common annotation** for all " +"occurrences of the search string::" +msgstr "" +":meth:`search_for` 는 :ref:`Rect` 또는 :ref:`Quad` 객체의 리스트를 제공합니다. 이러한 리스트는 " +"이러한 주석 유형에 대한 인수로 직접 사용할 수 있으며 검색 문자열의 모든 발생에 대해 **하나의 공통 주석** 을 제공합니다::" + +#: ../../page.rst:417 3704912806054f3d84b31c8400d3484c +msgid "" +"Obviously, text marker annotations need to know what is the top, the " +"bottom, the left, and the right side of the area(s) to be marked. If the " +"arguments are quads, this information is given by the sequence of the " +"quad points. In contrast, a rectangle delivers much less information -- " +"this is illustrated by the fact, that 4! = 24 different quads can be " +"constructed with the four corners of a rectangle." +msgstr "" +"명백히, 텍스트 마커 주석은 표시할 영역의 위, 아래, 왼쪽, 오른쪽이 무엇인지 알아야 합니다. 인수가 quad인 경우 이 정보는 " +"quad 점의 시퀀스로 제공됩니다. 반면 사각형은 훨씬 적은 정보를 제공합니다 -- 사각형의 네 모서리로 4! = 24개의 서로 " +"다른 quad를 구성할 수 있다는 사실로 설명됩니다." + +#: ../../page.rst:419 108dfad6a6804b93849fe97049fcbb6b +msgid "" +"Therefore, we **strongly recommend** to use the `quads` option for text " +"searches, to ensure correct annotations. A similar consideration applies " +"to marking **text spans** extracted with the \"dict\" / \"rawdict\" " +"options of :meth:`Page.get_text`. For more details on how to compute " +"quadrilaterals in this case, see section \"How to Mark Non-horizontal " +"Text\" of :ref:`FAQ`." +msgstr "" +"따라서 올바른 주석을 보장하기 위해 텍스트 검색에 `quads` 옵션을 사용하는 것을 **강력히 권장** 합니다. " +":meth:`Page.get_text` 의 \"dict\" / \"rawdict\" 옵션으로 추출한 **텍스트 범위** 를 표시하는" +" 데도 유사한 고려 사항이 적용됩니다. 이 경우 사각형을 계산하는 방법에 대한 자세한 내용은 :ref:`FAQ` 의 \"How to" +" Mark Non-horizontal Text\" 섹션을 참조하세요." + +#: ../../page.rst:421 bfe59f51028a411fa50cabaf2e094b6e +msgid "" +"the location(s) -- rectangle(s) or quad(s) -- to be marked. (Changed in " +"v1.14.20) A list or tuple must consist of :data:`rect_like` or " +":data:`quad_like` items (or even a mixture of either). Every item must be" +" finite, convex and not empty (as applicable). **Set this parameter to** " +"``None`` if you want to use the following arguments (Changed in " +"v1.16.14). And vice versa: if not ``None``, the remaining parameters must" +" be ``None``." +msgstr "" +"표시할 위치(들) -- 사각형(들) 또는 quad(들). (v1.14.20에서 변경됨) 리스트 또는 튜플은 " +":data:`rect_like` 또는 :data:`quad_like` 항목(또는 둘의 혼합)으로 구성되어야 합니다. 모든 항목은 " +"유한하고 볼록하며 비어 있지 않아야 합니다(해당하는 경우). 다음 인수를 사용하려면 **이 매개변수를** ``None`` **으로 " +"설정하세요** (v1.16.14에서 변경됨). 반대로 ``None`` 이 아니면 나머지 매개변수는 ``None`` 이어야 합니다." + +#: ../../page.rst:428 697342726fe34ff398a5409e6779d128 +msgid "" +"start text marking at this point. Defaults to the top-left point of " +"*clip*. Must be provided if `quads` is ``None``. (New in v1.16.14)" +msgstr "" +"이 지점에서 텍스트 표시를 시작합니다. 기본값은 *clip* 의 왼쪽 위 점입니다. `quads` 가 ``None`` 이면 제공해야" +" 합니다. (v1.16.14에서 새로 추가됨)" + +#: ../../page.rst:429 99afe3b4e6cf47ac8ea2a1d1d7b606ae +msgid "" +"stop text marking at this point. Defaults to the bottom-right point of " +"*clip*. Must be used if `quads` is ``None``. (New in v1.16.14)" +msgstr "" +"이 지점에서 텍스트 표시를 중지합니다. 기본값은 *clip* 의 오른쪽 아래 점입니다. `quads` 가 ``None`` 이면 " +"사용해야 합니다. (v1.16.14에서 새로 추가됨)" + +#: ../../page.rst:430 bea300d1621748ce83ab03b89f2b395e +msgid "" +"only consider text lines intersecting this area. Defaults to the page " +"rectangle. Only use if `start` and `stop` are provided. (New in v1.16.14)" +msgstr "" +"이 영역과 교차하는 텍스트 줄만 고려합니다. 기본값은 페이지 사각형입니다. `start` 와 `stop` 이 제공된 경우에만 " +"사용하세요. (v1.16.14에서 새로 추가됨)" + +#: ../../page.rst:432 6474b312ac1a4d25852c770d5bdf88d8 +msgid ":ref:`Annot` or ``None`` (changed in v1.16.14)." +msgstr ":ref:`Annot` 또는 ``None`` (v1.16.14에서 변경됨)." + +#: ../../page.rst:433 74842949adb04e869dce146ffd17a597 +msgid "" +"the created annotation. If *quads* is an empty list, **no annotation** is" +" created (changed in v1.16.14)." +msgstr "생성된 주석. *quads* 가 빈 리스트이면 **주석이 생성되지 않습니다** (v1.16.14에서 변경됨)." + +#: ../../page.rst:436 d493279763eb4f87a14d71a66c32af2f +msgid "" +"You can use parameters *start*, *stop* and *clip* to highlight " +"consecutive lines between the points *start* and *stop* (starting with " +"v1.16.14). Make use of *clip* to further reduce the selected line bboxes " +"and thus deal with e.g. multi-column pages. The following multi-line " +"highlight on a page with three text columns was created by specifying the" +" two red points and setting clip accordingly." +msgstr "" +"매개변수 *start*, *stop* 및 *clip* 을 사용하여 점 *start* 와 *stop* 사이의 연속 줄을 강조할 수 " +"있습니다(v1.16.14부터). *clip* 을 사용하여 선택된 줄 bbox를 더 줄여 예를 들어 다중 열 페이지를 처리합니다. 세" +" 개의 텍스트 열이 있는 페이지의 다음 다중 줄 강조는 두 개의 빨간 점을 지정하고 clip을 그에 따라 설정하여 생성되었습니다." + +#: ../../page.rst:445 d74c77b69420460eb871f194686b3c80 +msgid "" +"Cluster vector graphics (synonyms are line-art or drawings) based on " +"their geometrical vicinity. The method walks through the output of " +":meth:`Page.get_drawings` and joins paths whose `path[\"rect\"]` are " +"closer to each other than some tolerance values (given in the arguments)." +" The result is a list of rectangles that each wrap things like tables " +"(with gridlines), pie charts, bar charts, etc." +msgstr "" +"기하학적 근접성을 기반으로 벡터 그래픽(line-art 또는 drawings의 동의어)을 클러스터링합니다. 이 메서드는 " +":meth:`Page.get_drawings` 의 출력을 순회하고 `path[\"rect\"]` 가 인수에 주어진 일부 허용 오차 " +"값보다 서로 가까운 경로를 결합합니다. 결과는 각각 테이블(격자선 포함), 파이 차트, 막대 차트 등을 래핑하는 사각형의 " +"리스트입니다." + +#: ../../page.rst:447 ef1d1a3ba8044b5a8123bb549d84a95b +msgid "only consider paths inside this area. The default is the full page." +msgstr "이 영역 내의 경로만 고려합니다. 기본값은 전체 페이지입니다." + +#: ../../page.rst:449 996f2a02107e43a2af1da07cdc4de257 +msgid "" +"(optional) provide a previously generated output of " +":meth:`Page.get_drawings`. If `None` the method will execute the method." +msgstr "" +"(선택 사항) :meth:`Page.get_drawings` 의 이전에 생성된 출력을 제공합니다. `None` 이면 메서드가 " +"메서드를 실행합니다." + +#: ../../page.rst:451 2248b6e73ea7456f90b4bfa892920615 +msgid "" +"Assume vector graphics to be close enough neighbors for belonging to the " +"same rectangle. Default is 3 points." +msgstr "벡터 그래픽이 같은 사각형에 속하기에 충분히 가까운 이웃이라고 가정합니다. 기본값은 3포인트입니다." + +#: ../../page.rst:453 fc002ef42f2f4c3cb5bd1d64346b1c48 +msgid "" +"If `True` (default), the method will to remove rectangles having width or" +" height smaller than the respective tolerance value. If `False` no such " +"filtering is done." +msgstr "" +"`True` (기본값)이면 메서드는 너비 또는 높이가 각각의 허용 오차 값보다 작은 사각형을 제거합니다. `False` 이면 이러한" +" 필터링이 수행되지 않습니다." + +#: ../../page.rst:457 06ada75b5a1e4fb59ff381d81b4677e9 +msgid "" +"Find tables on the page and return an object with related information. " +"Typically, the default values of the many parameters will be sufficient. " +"Adjustments should ever only be needed in corner case situations." +msgstr "" +"페이지에서 테이블을 찾고 관련 정보가 있는 객체를 반환합니다. 일반적으로 많은 매개변수의 기본값으로 충분합니다. 조정은 극단적인 " +"경우에만 필요해야 합니다." + +#: ../../page.rst:459 0c9311c5177241cc976d58ebbf05a74b +msgid "" +"specify a region to consider within the page rectangle and ignore the " +"rest. Default is the full page." +msgstr "페이지 사각형 내에서 고려할 영역을 지정하고 나머지는 무시합니다. 기본값은 전체 페이지입니다." + +#: ../../page.rst:461 0849ed084d16401a9405689de88c6028 +msgid "" +"Request a **table detection** strategy. Valid values are \"lines\", " +"\"lines_strict\" and \"text\". Default is **\"lines\"** which uses all " +"vector graphics on the page to detect grid lines. Strategy " +"**\"lines_strict\"** ignores borderless rectangle vector graphics. " +"Sometimes single text pieces have background colors which may lead to " +"false columns or lines. This strategy ignores them and can thus increase " +"detection precision. If **\"text\"** is specified, text positions are " +"used to generate \"virtual\" column and / or row boundaries. Use " +"`min_words_*` to request the number of words for considering their " +"coordinates. Use parameters `vertical_strategy` and " +"`horizontal_strategy` **instead** for a more fine-grained treatment of " +"the dimensions." +msgstr "" + +#: ../../page.rst:461 59bbe23f13b64174be60fb9b13ef829b +msgid "" +"Request a **table detection** strategy. Valid values are \"lines\", " +"\"lines_strict\" and \"text\"." +msgstr "**테이블 감지** 전략을 요청합니다. 유효한 값은 \"lines\", \"lines_strict\" 및 \"text\"입니다." + +#: ../../page.rst:463 67630a4262924cc0b8aaebb89659163f +msgid "" +"Default is **\"lines\"** which uses all vector graphics on the page to " +"detect grid lines." +msgstr "기본값은 페이지의 모든 벡터 그래픽을 사용하여 격자선을 감지하는 **\"lines\"** 입니다." + +#: ../../page.rst:465 917a16e50aac418b8449496f8539789f +msgid "" +"Strategy **\"lines_strict\"** ignores borderless rectangle vector " +"graphics. Sometimes single text pieces have background colors which may " +"lead to false columns or lines. This strategy ignores them and can thus " +"increase detection precision." +msgstr "" +"전략 **\"lines_strict\"** 는 테두리 없는 사각형 벡터 그래픽을 무시합니다. 때로는 단일 텍스트 조각에 배경색이 " +"있어 잘못된 열이나 줄을 유발할 수 있습니다. 이 전략은 이를 무시하므로 감지 정밀도를 높일 수 있습니다." + +#: ../../page.rst:467 6d39e7994a18489c9d4948721b10cb65 +msgid "" +"If **\"text\"** is specified, text positions are used to generate " +"\"virtual\" column and / or row boundaries. Use `min_words_*` to request " +"the number of words for considering their coordinates." +msgstr "" +"**\"text\"** 가 지정되면 텍스트 위치를 사용하여 \"가상\" 열 및/또는 행 경계를 생성합니다. `min_words_*`" +" 를 사용하여 좌표를 고려하기 위한 단어 수를 요청합니다." + +#: ../../page.rst:469 4a9d3be706634b32bfcb3a2d83e20c65 +msgid "" +"Use parameters `vertical_strategy` and `horizontal_strategy` **instead** " +"for a more fine-grained treatment of the dimensions." +msgstr "" +"차원에 대한 더 세밀한 처리를 위해 매개변수 `vertical_strategy` 및 `horizontal_strategy` 를 " +"**대신** 사용하세요." + +#: ../../page.rst:471 15e7fe12ec2247fbbb34818a5eff8199 +msgid "" +"y-coordinates of rows. If provided, there will be no attempt to identify " +"additional table rows. This influences table detection." +msgstr "행의 y 좌표. 제공되면 추가 테이블 행을 식별하려는 시도가 없습니다. 이것은 테이블 감지에 영향을 줍니다." + +#: ../../page.rst:473 4dc514da6d994fa5baff233b3567f0d4 +msgid "" +"x-coordinates of columns. If provided, there will be no attempt to " +"identify additional table columns. This influences table detection." +msgstr "열의 x 좌표. 제공되면 추가 테이블 열을 식별하려는 시도가 없습니다. 이것은 테이블 감지에 영향을 줍니다." + +#: ../../page.rst:475 6a395bf9fe0545ea97c66c3ad92a7ae0 +msgid "" +"relevant for vertical strategy option \"text\": at least this many words " +"must coincide to establish a **virtual column** boundary." +msgstr "수직 전략 옵션 \"text\"와 관련: **가상 열** 경계를 설정하려면 최소 이만큼의 단어가 일치해야 합니다." + +#: ../../page.rst:477 41131201c866498ab06ef20259e8b494 +msgid "" +"relevant for horizontal strategy option \"text\": at least this many " +"words must coincide to establish a **virtual row** boundary." +msgstr "수평 전략 옵션 \"text\"와 관련: **가상 행** 경계를 설정하려면 최소 이만큼의 단어가 일치해야 합니다." + +#: ../../page.rst:479 26168ab280dd42a7bb9a4c34a044a502 +msgid "" +"Any two horizontal lines whose y-values differ by no more than this value" +" will be **snapped** into one. Accordingly for vertical lines. Default is" +" 3. Separate values can be specified instead for the dimensions, using " +"`snap_x_tolerance` and `snap_y_tolerance`." +msgstr "" +"y 값의 차이가 이 값 이하인 두 개의 수평선은 하나로 **스냅** 됩니다. 수직선도 마찬가지입니다. 기본값은 3입니다. 이 값 대신 `snap_x_tolerance` 및 `snap_y_tolerance` 를 사용하여 차원별로 별도의 값을 지정할 수 있습니다." + +#: ../../page.rst:481 1bce671a9bde42b3bcb301e9dc7929e7 +msgid "" +"Any two lines will be **joined** to one if the end and the start points " +"differ by no more than this value (in points). Default is 3. Instead of " +"this value, separate values can be specified for the dimensions using " +"`join_x_tolerance` and `join_y_tolerance`." +msgstr "" +"끝점과 시작점의 차이가 이 값(포인트 단위) 이하인 경우 두 선이 하나로 **결합** 됩니다. 기본값은 3입니다. 이 값 대신 `join_x_tolerance` 및 `join_y_tolerance` 를 사용하여 차원별로 별도의 값을 지정할 수 있습니다." + +#: ../../page.rst:483 00e7c337bf764aa5a2eae76cdd16ae4a +msgid "" +"Ignore a line if its length does not exceed this value (points). Default " +"is 3." +msgstr "길이가 이 값(포인트 단위)을 초과하지 않으면 선을 무시합니다. 기본값은 3입니다." + +#: ../../page.rst:485 0be2257abf46430e99630f4f4a04f230 +msgid "" +"When combining lines into cell borders, orthogonal lines must be within " +"this value (points) to be considered intersecting. Default is 3. Instead " +"of this value, separate values can be specified for the dimensions using " +"`intersection_x_tolerance` and `intersection_y_tolerance`." +msgstr "" +"선을 셀 경계로 결합할 때 직교하는 선은 교차하는 것으로 간주되려면 이 값(포인트 단위) 이내에 있어야 합니다. 기본값은 3입니다. 이 값 대신 `intersection_x_tolerance` 및 `intersection_y_tolerance` 를 사용하여 차원별로 별도의 값을 지정할 수 있습니다." + +#: ../../page.rst:487 dedd15f25c9f481997ff9451f0f5eaf6 +msgid "" +"Characters will be combined into words only if their distance is no " +"larger than this value (points). Default is 3. Instead of this value, " +"separate values can be specified for the dimensions using " +"`text_x_tolerance` and `text_y_tolerance`." +msgstr "" +"문자가 단어로 결합되는 것은 거리가 이 값(포인트 단위) 이하인 경우에만입니다. 기본값은 3입니다. 이 값 대신 `text_x_tolerance` 및 `text_y_tolerance` 를 사용하여 차원별로 별도의 값을 지정할 수 있습니다." + +#: ../../page.rst:489 f08fd2e9d00f4dac93ce2b4c53ec8d83 +msgid "" +"Specify a list of \"lines\" (i.e. pairs of :data:`point_like` objects) as" +" **additional**, \"virtual\" vector graphics. These lines may help with " +"table and / or cell detection and will not otherwise influence the " +"detection strategy. Especially, in contrast to parameters " +"`horizontal_lines` and `vertical_lines`, they will not prevent detecting " +"rows or columns in other ways. These lines will be treated exactly like " +"\"real\" vector graphics in terms of joining, snapping, intersecting, " +"minimum length and containment in the `clip` rectangle. Similarly, lines " +"not parallel to any of the coordinate axes will be ignored." +msgstr "" +"\"lines\"(즉, :data:`point_like` 객체 쌍)의 리스트를 **추가** \"가상\" 벡터 그래픽으로 지정합니다. 이러한 선은 테이블 및/또는 셀 감지에 도움이 될 수 있으며 감지 전략에는 영향을 주지 않습니다. 특히 `horizontal_lines` 및 `vertical_lines` 매개변수와 달리 다른 방법으로 행이나 열을 감지하는 것을 방지하지 않습니다. 이러한 선은 결합, 스냅, 교차, 최소 길이 및 `clip` 사각형 내 포함 측면에서 \"실제\" 벡터 그래픽과 정확히 동일하게 처리됩니다. 마찬가지로 좌표축 중 어느 것과도 평행하지 않은 선은 무시됩니다." + +#: ../../page.rst:491 c0c00b0e2c6a4e68bc1e1d28b6fd62de +msgid "" +"Specify a list of rectangles (:data:`rect_like` objects) as " +"**additional**, \"virtual\" vector graphics. These rectangles may help " +"with table and / or cell detection and will not otherwise influence the " +"detection strategy. Especially, in contrast to parameters " +"`horizontal_lines` and `vertical_lines`, they will not prevent detecting " +"rows or columns in other ways. These rectangles will be treated exactly " +"like \"real\" vector graphics in terms of joining, snapping, " +"intersecting, minimum length and containment in the `clip` rectangle." +msgstr "" +"사각형(:data:`rect_like` 객체)의 리스트를 **추가** \"가상\" 벡터 그래픽으로 지정합니다. 이러한 사각형은 테이블 및/또는 셀 감지에 도움이 될 수 있으며 감지 전략에는 영향을 주지 않습니다. 특히 `horizontal_lines` 및 `vertical_lines` 매개변수와 달리 다른 방법으로 행이나 열을 감지하는 것을 방지하지 않습니다. 이러한 사각형은 결합, 스냅, 교차, 최소 길이 및 `clip` 사각형 내 포함 측면에서 \"실제\" 벡터 그래픽과 정확히 동일하게 처리됩니다." + +#: ../../page.rst:493 af5ac1f1b1ad4b87b5c8e3c21cea5682 +msgid "" +"list of vector graphics in the format as returned be " +":meth:`Page.get_drawings`. Using this parameter will prevent the method " +"to extract vector graphics itself. This is useful if the vector graphics " +"are already available. This can save execution time significantly." +msgstr "" +":meth:`Page.get_drawings` 에서 반환되는 형식의 벡터 그래픽 리스트. 이 매개변수를 사용하면 메서드가 벡터 그래픽을 자체적으로 추출하지 않습니다. 벡터 그래픽이 이미 사용 가능한 경우 유용합니다. 이것은 실행 시간을 크게 절약할 수 있습니다." + +#: ../../page.rst:497 6a7b22cafaa94fd1903b1029979996b7 +msgid "" +"a `TableFinder` object that has the following significant attributes: * " +"`cells`: a list of **all bboxes** on the page, that have been identified " +"as table cells (across all tables). Each cell is a :data:`rect_like` " +"tuple `(x0, y0, x1, y1)` of coordinates or `None`. * `tables`: a list of " +"`Table` objects. This is `[]` if the page has no tables. Single tables " +"can be found as items of this list. But the `TableFinder` object itself " +"is also a sequence of its tables. This means that if `tabs` is a " +"`TableFinder` object, then table \"n\" is delivered by `tabs.tables[n]` " +"as well as by the shorter `tabs[n]`. * The `Table` object has the " +"following attributes: * ``bbox``: the bounding box of the table as a " +"tuple `(x0, y0, x1, y1)`. * ``cells``: bounding boxes of the table's " +"cells (list of tuples). A cell may also be `None`. * ``extract()``: " +"this method returns the text content of each table cell as a list of list" +" of strings. * ``to_markdown()``: this method returns the table as a " +"**string in markdown format** (compatible to Github). Markdown viewers " +"can render the string as a table. This output is optimized for **small " +"token** sizes, which is especially beneficial for LLM/RAG feeds. Pandas " +"DataFrames (see method `to_pandas()` below) offer an equivalent markdown " +"table output which however is better readable for the human eye. Any line" +" breaks (``\\n``) in cells are replaced by HTML line breaks tags `
`." +" * `to_pandas()`: this method returns the table as a `pandas " +"`_ `DataFrame " +"`_. DataFrames are " +"very versatile objects allowing a plethora of table manipulation methods " +"and outputs to almost 20 well-known formats, among them Excel files, CSV," +" JSON, markdown-formatted tables and more. `DataFrame.to_markdown()` " +"generates a Github-compatible markdown format optimized for human " +"readability. This method however requires the package `tabulate " +"`_ to be installed in addition to " +"pandas itself. * ``header``: a `TableHeader` object containing header " +"information of the table. * ``col_count``: an integer containing the " +"number of table columns. * ``row_count``: an integer containing the " +"number of table rows. * ``rows``: a list of `TableRow` objects " +"containing two attributes, ``bbox`` is the boundary box of the row, and " +"`cells` is a list of table cells contained in this row. * The " +"`TableHeader` object has the following attributes: * ``bbox``: the " +"bounding box of the header. * `cells`: a list of bounding boxes " +"containing the name of the respective column. * `names`: a list of " +"strings containing the text of each of the cell bboxes. They represent " +"the column names -- which are used when exporting the table to pandas " +"DataFrames, markdown, etc. * `external`: a bool indicating whether the " +"header bbox is outside the table body (`True`) or not. Table headers are " +"never identified by the `TableFinder` logic. Therefore, if `external` is " +"true, then the header cells are not part of any cell identified by " +"`TableFinder`. If `external == False`, then the first table row is the " +"header. Please have a look at these `Jupyter notebooks " +"`_, which cover standard situations like multiple tables on one " +"page or joining table fragments across multiple pages. .. caution:: The " +"lifetime of the `TableFinder` object, as well as that of all its tables " +"**equals the lifetime of the page**. If the page object is deleted or " +"reassigned, all tables are no longer valid. The only way to keep " +"table content beyond the page's availability is to **extract it** via " +"methods `Table.to_markdown()`, `Table.to_pandas()` or a copy of " +"`Table.extract()` (e.g. `Table.extract()[:]`). .. note:: Once a " +"table has been extracted to a **Pandas DataFrame** with `to_pandas()` it " +"is easy to convert to other file types with the **Pandas API**: - " +"table to Markdown, use `to_markdown " +"`_" +" - table to JSON, use: `to_json " +"`_" +" - table to Excel, use: `to_excel " +"`_" +" - table to CSV, use: `to_csv " +"`_" +" - table to HTML, use: `to_html " +"`_" +" - table to SQL, use: `to_sql " +"`_" +msgstr "" + +#: ../../page.rst:497 14ce635b23574ea2aa79e06c2f67cb17 +msgid "a `TableFinder` object that has the following significant attributes:" +msgstr "다음 중요한 속성을 가진 `TableFinder` 객체:" + +#: ../../page.rst:499 d2cd90b9f2244722aad190152e8e2c32 +msgid "" +"`cells`: a list of **all bboxes** on the page, that have been identified " +"as table cells (across all tables). Each cell is a :data:`rect_like` " +"tuple `(x0, y0, x1, y1)` of coordinates or `None`." +msgstr "" +"`cells`: 페이지의 **모든 bbox** 의 리스트로, 테이블 셀로 식별된 것들(모든 테이블에 걸쳐). 각 셀은 " +":data:`rect_like` 좌표 튜플 `(x0, y0, x1, y1)` 또는 `None` 입니다." + +#: ../../page.rst:500 8631b526108946f0923ac7ccbc41d5a4 +msgid "" +"`tables`: a list of `Table` objects. This is `[]` if the page has no " +"tables. Single tables can be found as items of this list. But the " +"`TableFinder` object itself is also a sequence of its tables. This means " +"that if `tabs` is a `TableFinder` object, then table \"n\" is delivered " +"by `tabs.tables[n]` as well as by the shorter `tabs[n]`." +msgstr "" +"`tables`: `Table` 객체의 리스트. 페이지에 테이블이 없으면 이것은 `[]` 입니다. 단일 테이블은 이 리스트의 " +"항목으로 찾을 수 있습니다. 하지만 `TableFinder` 객체 자체는 또한 테이블의 시퀀스입니다. 이것은 `tabs` 가 " +"`TableFinder` 객체이면 테이블 \"n\"은 `tabs.tables[n]` 뿐만 아니라 더 짧은 `tabs[n]` 으로도 " +"제공된다는 것을 의미합니다." + +#: ../../page.rst:503 bf87893f818b480584c90a29e1dbfa51 +msgid "The `Table` object has the following attributes:" +msgstr "`Table` 객체는 다음 속성을 가집니다:" + +#: ../../page.rst:505 df3028a1564f40df8e43a1893d30ae4e +msgid "``bbox``: the bounding box of the table as a tuple `(x0, y0, x1, y1)`." +msgstr "``bbox``: 튜플 `(x0, y0, x1, y1)` 로서의 테이블의 경계 상자." + +#: ../../page.rst:506 f5cc4094136b46c08a012633df49c27b +msgid "" +"``cells``: bounding boxes of the table's cells (list of tuples). A cell " +"may also be `None`." +msgstr "``cells``: 테이블의 셀의 경계 상자(튜플의 리스트). 셀은 `None` 일 수도 있습니다." + +#: ../../page.rst:507 b3a304e981ed49d4b70f79e9b07aaaeb +msgid "" +"``extract()``: this method returns the text content of each table cell as" +" a list of list of strings." +msgstr "``extract()``: 이 메서드는 각 테이블 셀의 텍스트 콘텐츠를 문자열의 리스트의 리스트로 반환합니다." + +#: ../../page.rst:508 ce2f7d37a3e741658ddc96d3dc5c24a6 +msgid "" +"``to_markdown()``: this method returns the table as a **string in " +"markdown format** (compatible to Github). Markdown viewers can render the" +" string as a table. This output is optimized for **small token** sizes, " +"which is especially beneficial for LLM/RAG feeds. Pandas DataFrames (see " +"method `to_pandas()` below) offer an equivalent markdown table output " +"which however is better readable for the human eye. Any line breaks " +"(``\\n``) in cells are replaced by HTML line breaks tags `
`." +msgstr "" +"``to_markdown()``: 이 메서드는 테이블을 **마크다운 형식의 문자열** (Github과 호환)로 반환합니다. 마크다운" +" 뷰어는 문자열을 테이블로 렌더링할 수 있습니다. 이 출력은 **작은 토큰** 크기에 최적화되어 있으며, 이는 LLM/RAG 피드에" +" 특히 유익합니다. Pandas DataFrames (아래 `to_pandas()` 메서드 참조)는 동등한 마크다운 테이블 출력을 " +"제공하지만 사람이 읽기에 더 좋습니다. 셀의 모든 줄 바꿈(``\\n``)은 HTML 줄 바꿈 태그 `
` 로 대체됩니다." + +#: ../../page.rst:509 dc4adc6d410b4f17bc5e500986371e2c +msgid "" +"`to_pandas()`: this method returns the table as a `pandas " +"`_ `DataFrame " +"`_. DataFrames are " +"very versatile objects allowing a plethora of table manipulation methods " +"and outputs to almost 20 well-known formats, among them Excel files, CSV," +" JSON, markdown-formatted tables and more. `DataFrame.to_markdown()` " +"generates a Github-compatible markdown format optimized for human " +"readability. This method however requires the package `tabulate " +"`_ to be installed in addition to " +"pandas itself." +msgstr "" +"`to_pandas()`: 이 메서드는 테이블을 `pandas `_ " +"`DataFrame `_ 로 " +"반환합니다. DataFrames는 매우 다재다능한 객체로, 다양한 테이블 조작 메서드와 Excel 파일, CSV, JSON, " +"마크다운 형식의 테이블 등을 포함하여 거의 20개의 잘 알려진 형식으로의 출력을 허용합니다. " +"`DataFrame.to_markdown()` 은 사람이 읽기에 최적화된 Github 호환 마크다운 형식을 생성합니다. 그러나 이 " +"메서드는 pandas 자체에 추가로 `tabulate `_ 패키지가" +" 설치되어 있어야 합니다." + +#: ../../page.rst:510 9197d223052b40478ad07f80abf7b1c7 +msgid "" +"``header``: a `TableHeader` object containing header information of the " +"table." +msgstr "``header``: 테이블의 헤더 정보를 포함하는 `TableHeader` 객체." + +#: ../../page.rst:511 0136219af3784df8a0ecdc0efae8d13e +msgid "``col_count``: an integer containing the number of table columns." +msgstr "``col_count``: 테이블 열 수를 포함하는 정수." + +#: ../../page.rst:512 7a998ad68618450b8121ca084004080d +msgid "``row_count``: an integer containing the number of table rows." +msgstr "``row_count``: 테이블 행 수를 포함하는 정수." + +#: ../../page.rst:513 0a15078fa0ff449f802c15643224935a +msgid "" +"``rows``: a list of `TableRow` objects containing two attributes, " +"``bbox`` is the boundary box of the row, and `cells` is a list of table " +"cells contained in this row." +msgstr "" +"``rows``: 두 가지 속성을 포함하는 `TableRow` 객체의 리스트, ``bbox`` 는 행의 경계 상자이고 `cells`" +" 는 이 행에 포함된 테이블 셀의 리스트입니다." + +#: ../../page.rst:515 13b8c3920d2a4476a60f5b4097a1db29 +msgid "The `TableHeader` object has the following attributes:" +msgstr "`TableHeader` 객체는 다음 속성을 가집니다:" + +#: ../../page.rst:517 5bbd72ba48c345bc84309a25cc303e84 +msgid "``bbox``: the bounding box of the header." +msgstr "``bbox``: 헤더의 경계 상자." + +#: ../../page.rst:518 bd434f2182484c0abbe32315f3e87f58 +msgid "" +"`cells`: a list of bounding boxes containing the name of the respective " +"column." +msgstr "`cells`: 각 열의 이름을 포함하는 경계 상자의 리스트." + +#: ../../page.rst:519 7cf71a498dcd4f449eba656e7941013a +msgid "" +"`names`: a list of strings containing the text of each of the cell " +"bboxes. They represent the column names -- which are used when exporting " +"the table to pandas DataFrames, markdown, etc." +msgstr "" +"`names`: 각 셀 bbox의 텍스트를 포함하는 문자열의 리스트. 이것들은 열 이름을 나타냅니다 -- 테이블을 pandas " +"DataFrames, 마크다운 등으로 내보낼 때 사용됩니다." + +#: ../../page.rst:520 eb6106330fdb44c2b44b4648645f7e28 +msgid "" +"`external`: a bool indicating whether the header bbox is outside the " +"table body (`True`) or not. Table headers are never identified by the " +"`TableFinder` logic. Therefore, if `external` is true, then the header " +"cells are not part of any cell identified by `TableFinder`. If `external " +"== False`, then the first table row is the header." +msgstr "" +"`external`: 헤더 bbox가 테이블 본문 밖에 있는지(`True`) 여부를 나타내는 bool. 테이블 헤더는 " +"`TableFinder` 로직에 의해 식별되지 않습니다. 따라서 `external` 이 true이면 헤더 셀은 " +"`TableFinder` 에 의해 식별된 모든 셀의 일부가 아닙니다. `external == False` 이면 첫 번째 테이블 행이" +" 헤더입니다." + +#: ../../page.rst:522 7a5884e0d9f84076927207f38c8676ff +msgid "" +"Please have a look at these `Jupyter notebooks " +"`_, which cover standard situations like multiple tables on one " +"page or joining table fragments across multiple pages." +msgstr "" +"한 페이지에 여러 테이블이 있거나 여러 페이지에 걸쳐 테이블 조각을 결합하는 것과 같은 표준 상황을 다루는 이 `Jupyter " +"notebooks `_ 를 살펴보세요." + +#: ../../page.rst:524 27f38775b85f46ed9b56fc7858feddc5 +msgid "" +"The lifetime of the `TableFinder` object, as well as that of all its " +"tables **equals the lifetime of the page**. If the page object is deleted" +" or reassigned, all tables are no longer valid." +msgstr "" +"`TableFinder` 객체의 수명은 모든 테이블의 수명과 마찬가지로 **페이지의 수명과 같습니다**. 페이지 객체가 삭제되거나 " +"재할당되면 모든 테이블이 더 이상 유효하지 않습니다." + +#: ../../page.rst:526 32b46a3c92844999ac692a3cd9b0e565 +msgid "" +"The only way to keep table content beyond the page's availability is to " +"**extract it** via methods `Table.to_markdown()`, `Table.to_pandas()` or " +"a copy of `Table.extract()` (e.g. `Table.extract()[:]`)." +msgstr "" +"페이지의 가용성을 넘어서 테이블 콘텐츠를 유지하는 유일한 방법은 메서드 `Table.to_markdown()`, " +"`Table.to_pandas()` 또는 `Table.extract()` 의 복사본(예: `Table.extract()[:]`)을 " +"통해 **추출하는** 것입니다." + +#: ../../page.rst:530 0af5c93cc78342cfba6d9a72d11d1283 +msgid "" +"Once a table has been extracted to a **Pandas DataFrame** with " +"`to_pandas()` it is easy to convert to other file types with the **Pandas" +" API**:" +msgstr "" +"테이블이 `to_pandas()` 로 **Pandas DataFrame** 으로 추출되면 **Pandas API** 로 다른 파일 " +"형식으로 쉽게 변환할 수 있습니다:" + +#: ../../page.rst:532 89be66118eb1404fad9df9edac01c3df +msgid "" +"table to Markdown, use `to_markdown " +"`_" +msgstr "" +"테이블을 Markdown으로, `to_markdown " +"`_" +" 사용" + +#: ../../page.rst:533 92c2673b625246218f1a2c042893181a +msgid "" +"table to JSON, use: `to_json " +"`_" +msgstr "" +"테이블을 JSON으로, `to_json " +"`_" +" 사용" + +#: ../../page.rst:534 157ef119e8044b0c98c73fd91ce91237 +msgid "" +"table to Excel, use: `to_excel " +"`_" +msgstr "" +"테이블을 Excel로, `to_excel " +"`_" +" 사용" + +#: ../../page.rst:535 2a6b453da70142089c467203f10917f7 +msgid "" +"table to CSV, use: `to_csv " +"`_" +msgstr "" +"테이블을 CSV로, `to_csv " +"`_" +" 사용" + +#: ../../page.rst:536 f1c6b94997bf4e2ca9977927dbd80716 +msgid "" +"table to HTML, use: `to_html " +"`_" +msgstr "" +"테이블을 HTML로, `to_html " +"`_" +" 사용" + +#: ../../page.rst:537 c9212bac99ad4a9e90b0fd8672a1f7ee +msgid "" +"table to SQL, use: `to_sql " +"`_" +msgstr "" +"테이블을 SQL로, `to_sql " +"`_" +" 사용" + +#: ../../page.rst:542 540aa40545614f7293315543269c8972 +msgid "New in version 1.23.0" +msgstr "버전 1.23.0에서 새로 추가됨" + +#: ../../page.rst:543 36f561d72e0e474598eb7c9a62064674 +msgid "Changed in version 1.23.19: new argument `add_lines`." +msgstr "버전 1.23.19에서 변경됨: 새 인수 `add_lines`." + +#: ../../page.rst:549 3159f7a5d1f046b9b7b5148107aae428 +msgid "" +"There is also the `pdf2docx extract tables method`_ which is capable of " +"table extraction if you prefer." +msgstr "선호하는 경우 테이블 추출이 가능한 `pdf2docx extract tables method`_ 도 있습니다." + +#: ../../page.rst:554 ad10a4360b9a470085a13a03f9583cca +msgid "" +"PDF only: Add a \"rubber stamp\" annotation to e.g. indicate the " +"document's intended use (\"DRAFT\", \"CONFIDENTIAL\", etc.). The " +"parameter may be either an integer to select text from a predefined array" +" of standard texts or an image." +msgstr "" +"PDF 전용: 예를 들어 문서의 의도된 용도(\"DRAFT\", \"CONFIDENTIAL\" 등)를 나타내기 위해 \"고무 " +"도장\" 주석을 추가합니다. 매개변수는 표준 텍스트의 미리 정의된 배열에서 텍스트를 선택하는 정수이거나 이미지일 수 있습니다." + +#: ../../page.rst:556 b726e69c76e54f959d27f308c2c03a6c +msgid "rectangle where to place the annotation." +msgstr "주석을 배치할 사각형." + +#: ../../page.rst:557 dcc92434348946fdab577b695b1c09b6 +msgid "" +"The following options are available: * The id number (int) of the stamp " +"text. For available stamps see :ref:`StampIcons`. * A string specifying " +"an image file path. * A ``bytes``, ``bytearray`` or ``io.BytesIO`` " +"object for an image in memory. * A :ref:`Pixmap`." +msgstr "" + +#: ../../page.rst:557 6b4516a638e9428994ebcb405d2a1f09 +msgid "The following options are available:" +msgstr "다음 옵션을 사용할 수 있습니다:" + +#: ../../page.rst:559 05b78849e840483f9d546b8b9cb89785 +msgid "" +"The id number (int) of the stamp text. For available stamps see " +":ref:`StampIcons`." +msgstr "스탬프 텍스트의 id 번호(int). 사용 가능한 스탬프는 :ref:`StampIcons` 를 참조하세요." + +#: ../../page.rst:561 9609e86db8ed47fc9c25d4201e538b48 +msgid "A string specifying an image file path." +msgstr "이미지 파일 경로를 지정하는 문자열." + +#: ../../page.rst:563 c78dc1111e5d4895aa33e226881ccee6 +msgid "" +"A ``bytes``, ``bytearray`` or ``io.BytesIO`` object for an image in " +"memory." +msgstr "메모리의 이미지에 대한 ``bytes``, ``bytearray`` 또는 ``io.BytesIO`` 객체." + +#: ../../page.rst:565 f2fd36bb8d92458188dd831f23ddbbd2 +msgid "A :ref:`Pixmap`." +msgstr ":ref:`Pixmap`." + +#: ../../page.rst:567 7b8c2a5f5ff6477aa270d0725931d67a +msgid "**Text-based stamps**" +msgstr "**텍스트 기반 스탬프**" + +#: ../../page.rst:569 7cdfb1bc6f584798b71c7c259befac33 +msgid "" +":attr:`Annot.rect` is automatically calculated as the largest rectangle " +"with an aspect ratio of ``width:height = 3.8`` that fits in the provided " +"``rect``. Its position is vertically and horizontally centered." +msgstr "" +":attr:`Annot.rect` 는 제공된 ``rect`` 에 맞는 ``width:height = 3.8`` 의 종횡비를 가진 " +"가장 큰 사각형으로 자동 계산됩니다. 위치는 수직 및 수평으로 중앙 정렬됩니다." + +#: ../../page.rst:570 5187bddcaa8640d8a9ccd88e26edd292 +msgid "The font chosen is \"Times Bold\" and the text will be upper case." +msgstr "선택된 폰트는 \"Times Bold\"이며 텍스트는 대문자가 됩니다." + +#: ../../page.rst:571 c2a2656315f64270963a4678ec8683a4 +msgid "" +"The appearance can be modified using :meth:`Annot.set_opacity` and by " +"setting the \"stroke\" color. By PDF specification, stamp annotations " +"have no \"fill\" color." +msgstr "" +"외형은 :meth:`Annot.set_opacity` 를 사용하고 \"stroke\" 색상을 설정하여 수정할 수 있습니다. PDF " +"사양에 따라 스탬프 주석은 \"fill\" 색상이 없습니다." + +#: ../../page.rst:575 3dcfbb130adb4f39b2420f2be36cd141 +msgid "**Image-based stamps**" +msgstr "**이미지 기반 스탬프**" + +#: ../../page.rst:577 9593065ae7dc41d5b57c103e9bdc3798 +msgid "" +"The image is scaled to fit into the rectangle `rect` such that the " +"image's center and the center of `rect` coincide. The aspect ratio of the" +" image is preserved, so the image may not fill the entire rectangle. " +"However, at least one of the given rectangle's width or height are fully " +"covered." +msgstr "" +"이미지는 이미지의 중심과 `rect` 의 중심이 일치하도록 `rect` 에 맞게 크기가 조정됩니다. 이미지의 종횡비가 유지되므로 " +"이미지가 전체 사각형을 채우지 않을 수 있습니다. 그러나 주어진 사각형의 너비 또는 높이 중 하나 이상이 완전히 덮입니다." + +#: ../../page.rst:578 9099123803334c078412737bf2e61161 +msgid "" +"The annotation can be modified via :meth:`Annot.set_opacity`. This method" +" therefore is a way to display images transparently even if no alpha " +"channel is present." +msgstr "" +"주석은 :meth:`Annot.set_opacity` 를 통해 수정할 수 있습니다. 따라서 이 메서드는 알파 채널이 없는 경우에도 " +"이미지를 투명하게 표시하는 방법입니다." + +#: ../../page.rst:579 d1f0df185de3499aac1f209854f3f544 +msgid "Setting colors has no effect on image stamps." +msgstr "색상 설정은 이미지 스탬프에 영향을 주지 않습니다." + +#: ../../page.rst:580 957b68c8ae304682b86ad1cf33484142 +msgid "" +"Rotating image-based stamps **is not supported**. Setting the rotation " +"may lead to unexpected results." +msgstr "이미지 기반 스탬프 회전은 **지원되지 않습니다**. 회전을 설정하면 예상치 못한 결과가 발생할 수 있습니다." + +#: ../../page.rst:584 08dc10754b5d431da2675e335e0ce9d4 +msgid "" +"PDF only: Add a PDF Form field (\"widget\") to a page. This also **turns " +"the PDF into a Form PDF**. Because of the large amount of different " +"options available for widgets, we have developed a new class " +":ref:`Widget`, which contains the possible PDF field attributes. It must " +"be used for both, form field creation and updates." +msgstr "" +"PDF 전용: 페이지에 PDF 양식 필드(\"위젯\")를 추가합니다. 이것은 또한 **PDF를 양식 PDF로 전환** 합니다. " +"위젯에 사용할 수 있는 다양한 옵션이 많기 때문에, 가능한 PDF 필드 속성을 포함하는 새 클래스 :ref:`Widget` 을 " +"개발했습니다. 양식 필드 생성과 업데이트 모두에 사용해야 합니다." + +#: ../../page.rst:586 3bc45874507542b99cf2f9fca40aca42 +msgid "a :ref:`Widget` object which must have been created upfront." +msgstr "사전에 생성해야 하는 :ref:`Widget` 객체." + +#: ../../page.rst:589 04fd9437e4e14b78b68a9692f4cec067 +msgid "a widget annotation." +msgstr "위젯 주석." + +#: ../../page.rst:593 02ff91d382bc4d89a175faad1e927702 +msgid "" +"The removal will now include any bound 'Popup' or response annotations " +"and related objects (changed in v1.16.6)." +msgstr "제거는 이제 연결된 'Popup' 또는 응답 주석과 관련 객체를 포함합니다 (v1.16.6에서 변경됨)." + +#: ../../page.rst:595 5dcf92ac0b684108bb6755751932a302 +msgid "PDF only: Delete annotation from the page and return the next one." +msgstr "PDF 전용: 페이지에서 주석을 삭제하고 다음 주석을 반환합니다." + +#: ../../page.rst:597 63cff108bf9545cd8dd48fa9d507fa9f +msgid "the annotation to be deleted." +msgstr "삭제할 주석." + +#: ../../page.rst:601 2d773e7ef8e34abe9cda167207dd2ec2 +msgid "" +"the annotation following the deleted one. Please remember that physical " +"removal requires saving to a new file with garbage > 0." +msgstr "삭제된 주석 다음의 주석. 물리적 제거는 garbage > 0으로 새 파일에 저장해야 합니다." + +#: ../../page.rst:605 0d4d0fda3b604a55a4995a5a22bb22b7 +msgid "PDF only: Delete field from the page and return the next one." +msgstr "PDF 전용: 페이지에서 필드를 삭제하고 다음 필드를 반환합니다." + +#: ../../page.rst:607 dd15f294da3545fdbb50d95fb99a289b +msgid "the widget to be deleted." +msgstr "삭제할 위젯." + +#: ../../page.rst:610 ../../page.rst:1940 ../../page.rst:2264 +#: 2a1b52b969354be08e1eb2839baeee5e 72454d0b5bf7432f874c41a2addc6110 +#: c0e0b7c7fa7f4451998ab0755364fc6c +msgid ":ref:`Widget`" +msgstr ":ref:`Widget`" + +#: ../../page.rst:611 5946066daec546438c26065bdf00da57 +msgid "" +"the widget following the deleted one. Please remember that physical " +"removal requires saving to a new file with garbage > 0." +msgstr "삭제된 위젯 다음의 위젯. 물리적 제거는 garbage > 0으로 새 파일에 저장해야 합니다." + +#: ../../page.rst:615 94cc00cf1ef84081b9c1cf0a75e3acf4 +msgid "(New in v1.18.4)" +msgstr "(v1.18.4에서 새로 추가됨)" + +#: ../../page.rst:622 e5d426c154e94c7b984b51f59f16c523 +msgid "" +"PDF only: Delete the specified link from the page. The parameter must be " +"an **original item** of :meth:`get_links()`, see " +":ref:`link_dict_description`. The reason for this is the dictionary's " +"*\"xref\"* key, which identifies the PDF object to be deleted." +msgstr "" +"PDF 전용: 페이지에서 지정된 링크를 삭제합니다. 매개변수는 :meth:`get_links()` 의 **원본 항목** 이어야 " +"하며, :ref:`link_dict_description` 을 참조하세요. 이것은 삭제할 PDF 객체를 식별하는 딕셔너리의 " +"*\"xref\"* 키 때문입니다." + +#: ../../page.rst:624 a031646e991e4e9895b82ae759c2db66 +msgid "the link to be deleted." +msgstr "삭제할 링크." + +#: ../../page.rst:628 76e45868389e4b75832b5fb125c80a93 +msgid "" +"PDF only: Insert a new link on this page. The parameter must be a " +"dictionary of format as provided by :meth:`get_links()`, see " +":ref:`link_dict_description`." +msgstr "" +"PDF 전용: 이 페이지에 새 링크를 삽입합니다. 매개변수는 :meth:`get_links()` 에서 제공하는 형식의 딕셔너리여야 " +"하며, :ref:`link_dict_description` 을 참조하세요." + +#: ../../page.rst:630 64e75920afcb48d6a2fc9267af8f0384 +msgid "the link to be inserted." +msgstr "삽입할 링크." + +#: ../../page.rst:634 f13dc7c20063441aba1b7b636417de7b +msgid "" +"PDF only: Modify the specified link. The parameter must be a (modified) " +"**original item** of :meth:`get_links()`, see " +":ref:`link_dict_description`. The reason for this is the dictionary's " +"*\"xref\"* key, which identifies the PDF object to be changed." +msgstr "" +"PDF 전용: 지정된 링크를 수정합니다. 매개변수는 :meth:`get_links()` 의 (수정된) **원본 항목** 이어야 " +"하며, :ref:`link_dict_description` 을 참조하세요. 이것은 변경할 PDF 객체를 식별하는 딕셔너리의 " +"*\"xref\"* 키 때문입니다." + +#: ../../page.rst:636 a8c4c853e3ba4c6c9d0241071822f03d +msgid "the link to be modified." +msgstr "수정할 링크." + +#: ../../page.rst:638 484ca5ca85d2400f93f6ac66b30c5ffb +msgid "" +"If updating / inserting a URI link (`\"kind\": LINK_URI`), please make " +"sure to start the value for the `\"uri\"` key with a disambiguating " +"string like `\"http://\"`, `\"https://\"`, `\"file://\"`, `\"ftp://\"`, " +"`\"mailto:\"`, etc. Otherwise -- depending on your browser or other " +"\"consumer\" software -- unexpected default assumptions may lead to " +"unwanted behaviours." +msgstr "" +"URI 링크(`\"kind\": LINK_URI`)를 업데이트/삽입하는 경우, `\"uri\"` 키의 값이 " +"`\"http://\"`, `\"https://\"`, `\"file://\"`, `\"ftp://\"`, `\"mailto:\"`" +" 등과 같은 명확한 문자열로 시작하도록 하세요. 그렇지 않으면 -- 브라우저나 다른 \"소비자\" 소프트웨어에 따라 -- 예상치 " +"못한 기본 가정이 원하지 않는 동작을 유발할 수 있습니다." + +#: ../../page.rst:643 07c4f8dcaffa479cac56b83714185b8f +msgid "PDF only: Return the label for the page." +msgstr "PDF 전용: 페이지의 레이블을 반환합니다." + +#: ../../page.rst:647 ff3152eb66c14216b0b8db26b098505b +msgid "the label string like \"vii\" for Roman numbering or \"\" if not defined." +msgstr "로마 숫자의 경우 \"vii\"와 같은 레이블 문자열 또는 정의되지 않은 경우 \"\"." + +#: ../../page.rst:651 58e643e9e53146d188f0a553b3fda009 +msgid "New in v1.18.6" +msgstr "v1.18.6에서 새로 추가됨" + +#: ../../page.rst:657 bd5b5f45f592480fa60fad9a3255e097 +msgid "Retrieves **all** links of a page." +msgstr "페이지의 **모든** 링크를 검색합니다." + +#: ../../page.rst:660 4c03f4b317a74a40a0786a0a0be21164 +msgid "" +"A list of dictionaries. For a description of the dictionary entries, see " +":ref:`link_dict_description`. Always use this or the :meth:`Page.links` " +"method if you intend to make changes to the links of a page." +msgstr "" +"딕셔너리의 리스트. 딕셔너리 항목에 대한 설명은 :ref:`link_dict_description` 을 참조하세요. 페이지의 링크를" +" 변경하려면 항상 이것 또는 :meth:`Page.links` 메서드를 사용하세요." + +#: ../../page.rst:664 76949f0001bf42978c2bf318306a909c +msgid "" +"Return a generator over the page's links. The results equal the entries " +"of :meth:`Page.get_links`." +msgstr "페이지의 링크에 대한 제너레이터를 반환합니다. 결과는 :meth:`Page.get_links` 의 항목과 같습니다." + +#: ../../page.rst:666 256c37bf03b649ce921d41b4bd526630 +msgid "" +"a sequence of integers to down-select to one or more link kinds. Default " +"is all links. Example: *kinds=(pymupdf.LINK_GOTO,)* will only return " +"internal links." +msgstr "" +"하나 이상의 링크 종류로 다운 선택하기 위한 정수 시퀀스. 기본값은 모든 링크입니다. 예: " +"*kinds=(pymupdf.LINK_GOTO,)* 는 내부 링크만 반환합니다." + +#: ../../page.rst:669 57bac8c9fe03470b8c9fa8a0976374a5 +msgid "an entry of :meth:`Page.get_links()` for each iteration." +msgstr "각 반복에 대한 :meth:`Page.get_links()` 의 항목." + +#: ../../page.rst:673 ../../page.rst:698 ../../page.rst:713 +#: 1cfc8ec3d3494a189a5b6fc45f3acc15 b58ceeb1df204612aff9645edd0933c0 +#: bec5ab9dd05545d9b73c9e62de8de068 +msgid "New in v1.16.4" +msgstr "v1.16.4에서 새로 추가됨" + +#: ../../page.rst:679 190a2da56f4d4954a3b921a7a75b5780 +msgid "Return a generator over the page's annotations." +msgstr "페이지의 주석에 대한 제너레이터를 반환합니다." + +#: ../../page.rst:681 7e7f0c894f9f43bb88de193161271398 +msgid "" +"a sequence of integers to down-select to one or more annotation types. " +"Default is all annotations. Example: `types=(pymupdf.PDF_ANNOT_FREETEXT, " +"pymupdf.PDF_ANNOT_TEXT)` will only return 'FreeText' and 'Text' " +"annotations." +msgstr "" +"하나 이상의 주석 유형으로 다운 선택하기 위한 정수 시퀀스. 기본값은 모든 주석입니다. 예: " +"`types=(pymupdf.PDF_ANNOT_FREETEXT, pymupdf.PDF_ANNOT_TEXT)` 는 'FreeText'" +" 및 'Text' 주석만 반환합니다." + +#: ../../page.rst:684 13e0a4b5e4e14b5e83ce82fc32ea2aba +msgid "" +"an :ref:`Annot` for each iteration. .. caution:: You **cannot " +"safely update annotations** from within this generator. This is because " +"most annotation updates require reloading the page via `page = " +"doc.reload_page(page)`. To circumvent this restriction, make a list of " +"annotations xref numbers first and then iterate over these numbers::" +" In [4]: xrefs = [annot.xref for annot in " +"page.annots(types=[...])] In [5]: for xref in xrefs: ...:" +" annot = page.load_annot(xref) ...: annot.update()" +" ...: page = doc.reload_page(page) In [6]:" +msgstr "" + +#: ../../page.rst:684 2ba4670732014e5a829d65d22f631961 +msgid "an :ref:`Annot` for each iteration." +msgstr "각 반복에 대한 :ref:`Annot`." + +#: ../../page.rst:687 3fd0c0fee5ef435798110aa4fa398d04 +msgid "" +"You **cannot safely update annotations** from within this generator. This" +" is because most annotation updates require reloading the page via `page " +"= doc.reload_page(page)`. To circumvent this restriction, make a list of " +"annotations xref numbers first and then iterate over these numbers::" +msgstr "" +"이 제너레이터 내에서 주석을 **안전하게 업데이트할 수 없습니다**. 대부분의 주석 업데이트는 `page = " +"doc.reload_page(page)` 를 통해 페이지를 다시 로드해야 하기 때문입니다. 이 제한을 우회하려면 먼저 주석 xref" +" 번호의 리스트를 만든 다음 이 번호들을 반복하세요::" + +#: ../../page.rst:704 66911a756ed04e0d972a5a041606e4e3 +msgid "Return a generator over the page's form fields." +msgstr "페이지의 양식 필드에 대한 제너레이터를 반환합니다." + +#: ../../page.rst:706 a882b8ac49a9428eab1e9b6e59f524f2 +msgid "" +"a sequence of integers to down-select to one or more widget types. " +"Default is all form fields. Example: " +"`types=(pymupdf.PDF_WIDGET_TYPE_TEXT,)` will only return 'Text' fields." +msgstr "" +"하나 이상의 위젯 유형으로 다운 선택하기 위한 정수 시퀀스. 기본값은 모든 양식 필드입니다. 예: " +"`types=(pymupdf.PDF_WIDGET_TYPE_TEXT,)` 는 'Text' 필드만 반환합니다." + +#: ../../page.rst:709 2ccfcd02080e4811b0752b3ee47baa25 +msgid "a :ref:`Widget` for each iteration." +msgstr "각 반복에 대한 :ref:`Widget`." + +#: ../../page.rst:720 871dc7a054b94194a4b4f053de5f9eaf +msgid "" +"PDF only: Write the text of one or more :ref:`Textwriter` objects to the " +"page." +msgstr "PDF 전용: 하나 이상의 :ref:`Textwriter` 객체의 텍스트를 페이지에 작성합니다." + +#: ../../page.rst:722 f649e20d39734681ad8c9588059f42ec +msgid "" +"where to place the text. If omitted, the rectangle union of the text " +"writers is used." +msgstr "텍스트를 배치할 위치. 생략하면 텍스트 작성기의 사각형 합집합이 사용됩니다." + +#: ../../page.rst:723 a62f67512f7641b1b02ab65e2ef0843b +msgid "" +"a non-empty tuple / list of :ref:`TextWriter` objects or a single " +":ref:`TextWriter`." +msgstr ":ref:`TextWriter` 객체의 비어 있지 않은 튜플/리스트 또는 단일 :ref:`TextWriter`." + +#: ../../page.rst:724 31da0f58f5974053919718f6e13dea23 +msgid "set transparency, overwrites resp. value in the text writers." +msgstr "투명도를 설정하고, 텍스트 작성기의 해당 값을 덮어씁니다." + +#: ../../page.rst:725 972504b7f4eb441ba75e2424782dd55f +msgid "set the text color, overwrites resp. value in the text writers." +msgstr "텍스트 색상을 설정하고, 텍스트 작성기의 해당 값을 덮어씁니다." + +#: ../../page.rst:726 136dae4fb943495eb982c68a28795ab5 +msgid "put the text in foreground or background." +msgstr "텍스트를 전경 또는 배경에 배치합니다." + +#: ../../page.rst:727 acb27d4360a244659bf4cc73141dd567 +msgid "maintain the aspect ratio." +msgstr "종횡비를 유지합니다." + +#: ../../page.rst:728 d181ff20c7ea4299bcd22d78f20d6ec9 +msgid "rotate the text by an arbitrary angle." +msgstr "임의의 각도로 텍스트를 회전합니다." + +#: ../../page.rst:729 5b44553f2f954d5ab51a6e3cbb9c7c13 +msgid "the :data:`xref` of an :data:`OCG` or :data:`OCMD`. (New in v1.18.4)" +msgstr ":data:`OCG` 또는 :data:`OCMD` 의 :data:`xref`. (v1.18.4에서 새로 추가됨)" + +#: ../../page.rst:731 b0f06277a3f140c2ac2f20314e571e28 +msgid "" +"Parameters *overlay, keep_proportion, rotate* and *oc* have the same " +"meaning as in :meth:`Page.show_pdf_page`." +msgstr "" +"매개변수 *overlay, keep_proportion, rotate* 및 *oc* 는 " +":meth:`Page.show_pdf_page` 와 동일한 의미를 가집니다." + +#: ../../page.rst:735 e07a5fc6945442ee887b7c73cf6c2d2e +msgid "New in v1.16.18" +msgstr "v1.16.18에서 새로 추가됨" + +#: ../../page.rst:759 8e95c840195a4c71a918d0a5e67856ae +msgid "" +"PDF only: Insert text lines starting at :data:`point_like` ``point``. See" +" :meth:`Shape.insert_text`." +msgstr "" +"PDF 전용: :data:`point_like` ``point`` 에서 시작하는 텍스트 줄을 삽입합니다. " +":meth:`Shape.insert_text` 를 참조하세요." + +#: ../../page.rst:763 ../../page.rst:792 ../../page.rst:896 ../../page.rst:921 +#: ../../page.rst:946 ../../page.rst:970 ../../page.rst:994 ../../page.rst:1019 +#: ../../page.rst:1043 ../../page.rst:1068 ../../page.rst:1092 +#: ../../page.rst:1117 ../../page.rst:1142 29cbed1adef2475eb009d3a5de422210 +#: 49f852363925416ea6c234b4c91b6218 5c73ffbadda54fb8bbc88f6430e29130 +#: 73f04a44af8c4854a3a105b737a41804 802c5bc146bb4f9391824c1c3ef39bb6 +#: 8e030f84abaf493db27e55aa2ac8cd62 97c6b58861a445f8b9d5a0e5c3a310ab +#: a74ef5cf7bf74435a6e61758194b384f dabc787b2b6541969db56d13faf4c89d +#: df67a6e9ce4048eab88324f5d7e19efe ed3b45533868494381f71199d8329d07 +#: f01049b4b200405aa3c91ce9a1a85bd2 f3b6a366e6db4a2383d8d554eadb7e9b +msgid "Changed in v1.18.4" +msgstr "v1.18.4에서 변경됨" + +#: ../../page.rst:788 4a878df36e7743f9b6a9d9d9dc06a551 +msgid "" +"PDF only: Insert text into the specified :data:`rect_like` *rect*. See " +":meth:`Shape.insert_textbox`." +msgstr "" +"PDF 전용: 지정된 :data:`rect_like` *rect* 에 텍스트를 삽입합니다. " +":meth:`Shape.insert_textbox` 를 참조하세요." + +#: ../../page.rst:810 7a8b95a9ab4d4c769d7c458bea499710 +msgid "" +"**PDF only:** Insert text into the specified rectangle. The method has " +"similarities with methods :meth:`Page.insert_textbox` and " +":meth:`TextWriter.fill_textbox`, but is **much more powerful**. This is " +"achieved by letting a :ref:`Story` object do all the required processing." +msgstr "" +"**PDF 전용:** 지정된 사각형에 텍스트를 삽입합니다. 이 메서드는 :meth:`Page.insert_textbox` 및 " +":meth:`TextWriter.fill_textbox` 메서드와 유사하지만 **훨씬 더 강력합니다**. 이것은 " +":ref:`Story` 객체가 필요한 모든 처리를 수행하도록 하여 달성됩니다." + +#: ../../page.rst:812 a0f3fd19bdce48538475a297ca1e344e +msgid "" +"Parameter ``text`` may be a string as in the other methods. But it will " +"be **interpreted as HTML source** and may therefore also contain HTML " +"language elements -- including styling. The `css` parameter may be used " +"to pass in additional styling instructions." +msgstr "" +"매개변수 ``text`` 는 다른 메서드와 마찬가지로 문자열일 수 있습니다. 하지만 이것은 **HTML 소스로 해석** 되므로 " +"스타일링을 포함하여 HTML 언어 요소를 포함할 수도 있습니다. `css` 매개변수는 추가 스타일링 지시사항을 전달하는 데 사용할 " +"수 있습니다." + +#: ../../page.rst:814 ec504617da2d494da64dcf69cd3d1cb8 +msgid "" +"Automatic line breaks are generated at word boundaries. The \"soft " +"hyphen\" character `\"­\"` (or `­`) can be used to cause " +"hyphenation and thus may also cause line breaks. **Forced** line breaks " +"however are only achievable via the HTML tag ``
`` - ``\\n`` is " +"ignored and will be treated like a space." +msgstr "" +"자동 줄 바꿈은 단어 경계에서 생성됩니다. \"소프트 하이픈\" 문자 `\"­\"` (또는 `­`)는 하이픈을 " +"유발하고 줄 바꿈을 유발할 수도 있습니다. 그러나 **강제** 줄 바꿈은 HTML 태그 ``
`` 를 통해서만 달성할 수 " +"있습니다 - ``\\n`` 은 무시되고 공백처럼 처리됩니다." + +#: ../../page.rst:816 a923c7fb3c8d42e5b998b610488d15e0 +msgid "With this method the following can be achieved:" +msgstr "이 메서드로 다음을 달성할 수 있습니다:" + +#: ../../page.rst:818 a35f84bf7d2e49a98470b411d03e5d63 +msgid "" +"Styling effects like bold, italic, text color, text alignment, font size " +"or font switching." +msgstr "굵게, 기울임꼴, 텍스트 색상, 텍스트 정렬, 글꼴 크기 또는 글꼴 전환과 같은 스타일링 효과." + +#: ../../page.rst:819 d424a5099ce8491aa77a38a61ce5145b +msgid "" +"The text may include arbitrary languages -- **including right-to-left** " +"languages." +msgstr "텍스트는 임의의 언어를 포함할 수 있습니다 -- **오른쪽에서 왼쪽** 언어를 포함하여." + +#: ../../page.rst:820 cbe7429b65de417da4c1b1007c31de84 +msgid "" +"Scripts like `Devanagari `_ and" +" several others in Asia have a highly complex system of ligatures, where " +"two or more unicodes together yield one glyph. The Story uses the " +"software package `HarfBuzz `_ , to deal with" +" these things and produce correct output." +msgstr "" +"`Devanagari `_ 및 아시아의 여러 다른 스크립트는 두 개 이상의 유니코드가 함께 하나의 글리프를 생성하는 매우 복잡한 합자 시스템을 가지고 있습니다. Story는 이러한 것들을 처리하고 올바른 출력을 생성하기 위해 소프트웨어 패키지 `HarfBuzz `_ 를 사용합니다." + +#: ../../page.rst:821 07bf7ced92754725909626e75183a002 +msgid "" +"One can also **include images** via HTML tag `` -- the Story will " +"take care of the appropriate layout. This is an alternative option to " +"insert images, compared to :meth:`Page.insert_image`." +msgstr "" +"HTML 태그 `` 를 통해 이미지를 **포함** 할 수도 있습니다 -- Story는 적절한 레이아웃을 처리합니다. 이것은" +" :meth:`Page.insert_image` 와 비교하여 이미지를 삽입하는 대안입니다." + +#: ../../page.rst:822 983d14f0830f41c49ef37af23002df74 +msgid "" +"HTML tables (tag ``) may be included in the text and will be " +"handled appropriately." +msgstr "HTML 테이블(태그 `
`)은 텍스트에 포함될 수 있으며 적절히 처리됩니다." + +#: ../../page.rst:823 3d7e1d6ede5b46fcbec414adef81ef5b +msgid "Links are automatically generated when present." +msgstr "링크가 있으면 자동으로 생성됩니다." + +#: ../../page.rst:825 c1697502ce9447428c60c2b19a1b4d03 +msgid "If content does not fit in the rectangle, the developer has two choices:" +msgstr "콘텐츠가 사각형에 맞지 않으면 개발자는 두 가지 선택이 있습니다:" + +#: ../../page.rst:827 d5b3273332d0480eb2bfffbc196953f9 +msgid "" +"**either** only be informed about this (and accept a no-op, just like " +"with the other textbox insertion methods)," +msgstr "**또는** 이것에 대해 알림만 받습니다(다른 텍스트 상자 삽입 메서드와 마찬가지로 no-op를 수락)," + +#: ../../page.rst:828 0645d285fa9a4151bdd6d8e92881f0c7 +msgid "**or** (`scale_low=0` - the default) scale down the content until it fits." +msgstr "**또는** (`scale_low=0` - 기본값) 콘텐츠가 맞을 때까지 축소합니다." + +#: ../../page.rst:830 ee3b2989599349e79cb1c01ea70ea9cd +msgid "rectangle on page to receive the text." +msgstr "텍스트를 받을 페이지의 사각형." + +#: ../../page.rst:831 b1183b7cce24456fa0d8843b773494bf +msgid "" +"the text to be written. Can contain a mixture of plain text and HTML tags" +" with styling instructions. Alternatively, a :ref:`Story` object may be " +"specified (in which case the internal Story generation step will be " +"omitted). A Story must have been generated with all required styling and " +"Archive information." +msgstr "" +"작성할 텍스트. 일반 텍스트와 스타일링 지시사항이 있는 HTML 태그의 혼합을 포함할 수 있습니다. 또는 :ref:`Story` " +"객체를 지정할 수 있습니다(이 경우 내부 Story 생성 단계가 생략됨). Story는 필요한 모든 스타일링과 Archive 정보로" +" 생성되어야 합니다." + +#: ../../page.rst:832 7b2dc0703c9c4338984056f677d0b80b +msgid "" +"optional string containing additional CSS instructions. This parameter is" +" ignored if ``text`` is a Story." +msgstr "추가 CSS 지시사항을 포함하는 선택적 문자열. ``text`` 가 Story이면 이 매개변수는 무시됩니다." + +#: ../../page.rst:833 bc668be54dab49a29a80fbd31c6d3296 +msgid "" +"if necessary, scale down the content until it fits in the target " +"rectangle. This sets the down scaling limit. Default is 0, no limit. A " +"value of 1 means no down-scaling permitted. A value of e.g. 0.2 means " +"maximum down-scaling by 80%." +msgstr "" +"필요한 경우 콘텐츠가 대상 사각형에 맞을 때까지 축소합니다. 이것은 축소 제한을 설정합니다. 기본값은 0이며 제한이 없습니다. 값 " +"1은 축소가 허용되지 않음을 의미합니다. 예를 들어 값 0.2는 최대 80% 축소를 의미합니다." + +#: ../../page.rst:834 31c0b5f5b6d04e68a6878b526636f7eb +msgid "" +"an Archive object that points to locations where to find images or non-" +"standard fonts. If ``text`` refers to images or non-standard fonts, this " +"parameter is required. This parameter is ignored if ``text`` is a Story." +msgstr "" +"이미지나 비표준 글꼴을 찾을 위치를 가리키는 Archive 객체. ``text`` 가 이미지나 비표준 글꼴을 참조하면 이 매개변수가" +" 필요합니다. ``text`` 가 Story이면 이 매개변수는 무시됩니다." + +#: ../../page.rst:835 457ccb06bf974da594ce7e13e776e9b0 +msgid "" +"one of the values 0, 90, 180, 270. Depending on this, text will be " +"filled: - 0: top-left to bottom-right. - 90: bottom-left to top-right. -" +" 180: bottom-right to top-left. - 270: top-right to bottom-left. .. " +"image:: images/img-rotate.*" +msgstr "" + +#: ../../page.rst:835 c81c01b196444618b9998f481f5a0e1a +msgid "one of the values 0, 90, 180, 270. Depending on this, text will be filled:" +msgstr "값 0, 90, 180, 270 중 하나. 이것에 따라 텍스트가 채워집니다:" + +#: ../../page.rst:837 f9ff0f28f0f6456da66b0f0df1302527 +msgid "0: top-left to bottom-right." +msgstr "0: 왼쪽 위에서 오른쪽 아래로." + +#: ../../page.rst:838 e384b943e7f842698d77609fa3ff4b8c +msgid "90: bottom-left to top-right." +msgstr "90: 왼쪽 아래에서 오른쪽 위로." + +#: ../../page.rst:839 8cfc7f849a1e4f288352386f958938b2 +msgid "180: bottom-right to top-left." +msgstr "180: 오른쪽 아래에서 왼쪽 위로." + +#: ../../page.rst:840 e9c12cd0f43d498da3d4541d7861e582 +msgid "270: top-right to bottom-left." +msgstr "270: 오른쪽 위에서 왼쪽 아래로." + +#: ../../page.rst:844 93a83daaec8442ed8087eb65511b113f +msgid "" +"the xref of an :data:`OCG` / :data:`OCMD` or 0. Please refer to " +":meth:`Page.show_pdf_page` for details." +msgstr "" +":data:`OCG` / :data:`OCMD` 의 xref 또는 0. 자세한 내용은 " +":meth:`Page.show_pdf_page` 를 참조하세요." + +#: ../../page.rst:845 bfb65b9ea805491db0d5ed71a7027efa +msgid "" +"set the fill and stroke opacity of the content. Only values `0 <= opacity" +" < 1` are considered." +msgstr "콘텐츠의 채우기 및 획 불투명도를 설정합니다. `0 <= opacity < 1` 값만 고려됩니다." + +#: ../../page.rst:846 905bbba40c974a72a58695ec34c09162 +msgid "" +"put the text in front of other content. Please refer to " +":meth:`Page.show_pdf_page` for details." +msgstr "텍스트를 다른 콘텐츠 앞에 배치합니다. 자세한 내용은 :meth:`Page.show_pdf_page` 를 참조하세요." + +#: ../../page.rst:848 92bf9eaf5c3f4c479b4f36be5a1acd93 +msgid "" +"A tuple of floats `(spare_height, scale)`. - spare_height: The " +"(positive) height of the remaining space in `rect` below the text, or " +"-1 if we failed to fit. - scale: The scaling required; `0 < scale <= 1`. " +"Will be `scale_low` if we failed to fit." +msgstr "" + +#: ../../page.rst:848 2b0c0730afa5444fb7fda28fe1369de8 +msgid "A tuple of floats `(spare_height, scale)`." +msgstr "부동소수점 튜플 `(spare_height, scale)`." + +#: ../../page.rst:850 ce7c975eea734b7da832d65e887cc704 +msgid "" +"spare_height: The (positive) height of the remaining space in `rect` " +"below the text, or -1 if we failed to fit." +msgstr "spare_height: 텍스트 아래 `rect` 에 남은 공간의 (양수) 높이, 또는 맞추지 못하면 -1." + +#: ../../page.rst:852 816917683f904e518274eb1dd0202535 +msgid "" +"scale: The scaling required; `0 < scale <= 1`. Will be `scale_low` if we " +"failed to fit." +msgstr "scale: 필요한 스케일링; `0 < scale <= 1`. 맞추지 못하면 `scale_low` 가 됩니다." + +#: ../../page.rst:855 2559dc387f5a4f2b9b6113b9fbb64cd8 +msgid "" +"Please refer to examples in this section of the recipes: " +":ref:`RecipesText_I_c`." +msgstr "레시피의 이 섹션에 있는 예제를 참조하세요: :ref:`RecipesText_I_c`." + +#: ../../page.rst:859 ee15ed3a85e94fb59795c752df7727aa +msgid "New in v1.26.5:" +msgstr "v1.26.5에서 새로 추가됨:" + +#: ../../page.rst:861 9ebaf4785e394595b1138e09ac1db565 +msgid "do additional scaling to fit long words." +msgstr "긴 단어에 맞추기 위해 추가 스케일링을 수행합니다." + +#: ../../page.rst:863 e401bc154829432487340567f7b04879 +msgid "" +"If we succeeded and scaled down, the returned `spare_height` is now " +"generally positive instead of being fixed to zero, because the final " +"rect's height is usually not an exact multiple of the font line height." +msgstr "" +"성공하고 축소한 경우, 반환된 `spare_height` 는 이제 일반적으로 0으로 고정되는 대신 양수가 됩니다. 최종 rect의 " +"높이가 일반적으로 글꼴 줄 높이의 정확한 배수가 아니기 때문입니다." + +#: ../../page.rst:867 f3a5f741edf846059890d9018c0211fd +msgid "New in v1.23.8: rebased-only." +msgstr "v1.23.8에서 새로 추가됨: rebased-only." + +#: ../../page.rst:868 91bcebc8a0df4e6fa3bc2c96e6c50749 +msgid "New in v1.23.9: `opacity` parameter." +msgstr "v1.23.9에서 새로 추가됨: `opacity` 매개변수." + +#: ../../page.rst:873 5c2e2f42919443729264c6cf723a4a85 +msgid "**Drawing Methods**" +msgstr "**그리기 메서드**" + +#: ../../page.rst:892 c2e73d53842e437399410160042819cd +msgid "" +"PDF only: Draw a line from *p1* to *p2* (:data:`point_like` \\s). See " +":meth:`Shape.draw_line`." +msgstr "" +"PDF 전용: *p1* 에서 *p2* 로 선을 그립니다 (:data:`point_like` \\s). " +":meth:`Shape.draw_line` 참조." + +#: ../../page.rst:917 590f66dd92694e3d99c4a4c0e6eda74e +msgid "" +"PDF only: Draw a zigzag line from *p1* to *p2* (:data:`point_like` \\s). " +"See :meth:`Shape.draw_zigzag`." +msgstr "" +"PDF 전용: *p1* 에서 *p2* 로 지그재그 선을 그립니다 (:data:`point_like` \\s). " +":meth:`Shape.draw_zigzag` 참조." + +#: ../../page.rst:942 b7e2518e8f634d33abba9359ea9d5881 +msgid "" +"PDF only: Draw a squiggly (wavy, undulated) line from *p1* to *p2* " +"(:data:`point_like` \\s). See :meth:`Shape.draw_squiggle`." +msgstr "" +"PDF 전용: *p1* 에서 *p2* 로 구불구불한(물결 모양, 파형) 선을 그립니다 (:data:`point_like` \\s)." +" :meth:`Shape.draw_squiggle` 참조." + +#: ../../page.rst:966 a344352656f8495fa26bb886aa41df16 +msgid "" +"PDF only: Draw a circle around *center* (:data:`point_like`) with a " +"radius of *radius*. See :meth:`Shape.draw_circle`." +msgstr "" +"PDF 전용: 중심(:data:`point_like`)을 기준으로 반지름이 *radius* 인 원을 그립니다. " +":meth:`Shape.draw_circle` 참조." + +#: ../../page.rst:990 dc78aaf8fe8c46e0987e1e919910b04f +msgid "" +"PDF only: Draw an oval (ellipse) within the given :data:`rect_like` or " +":data:`quad_like`. See :meth:`Shape.draw_oval`." +msgstr "" +"PDF 전용: 주어진 :data:`rect_like` 또는 :data:`quad_like` 내에 타원(ellipse)을 그립니다. " +":meth:`Shape.draw_oval` 참조." + +#: ../../page.rst:1015 efe94da64f144f219b19cf68eae0b77f +msgid "" +"PDF only: Draw a circular sector, optionally connecting the arc to the " +"circle's center (like a piece of pie). See :meth:`Shape.draw_sector`." +msgstr "" +"PDF 전용: 원형 섹터를 그립니다. 선택적으로 호를 원의 중심에 연결합니다(파이 조각처럼). " +":meth:`Shape.draw_sector` 참조." + +#: ../../page.rst:1039 33f62e1f2aff415cb1313cfe79341d7a +msgid "" +"PDF only: Draw several connected lines defined by a sequence of " +":data:`point_like` \\s. See :meth:`Shape.draw_polyline`." +msgstr "" +"PDF 전용: :data:`point_like` \\s의 시퀀스로 정의된 여러 연결된 라인을 그립니다. " +":meth:`Shape.draw_polyline` 참조." + +#: ../../page.rst:1064 eaf27ae8a0584f5ab83a1175a2565ae3 +msgid "" +"PDF only: Draw a cubic Bézier curve from *p1* to *p4* with the control " +"points *p2* and *p3* (all are :data:`point_like` \\s). See " +":meth:`Shape.draw_bezier`." +msgstr "" +"PDF 전용: 제어점 *p2* 및 *p3* 를 사용하여 *p1* 에서 *p4* 까지의 3차 Bézier 곡선을 그립니다(모두 " +":data:`point_like` \\s). :meth:`Shape.draw_bezier` 참조." + +#: ../../page.rst:1088 5d0be74ed9a240548236f517e0677308 +msgid "" +"PDF only: This is a special case of *draw_bezier()*. See " +":meth:`Shape.draw_curve`." +msgstr "PDF 전용: 이것은 *draw_bezier()* 의 특수한 경우입니다. :meth:`Shape.draw_curve` 참조." + +#: ../../page.rst:1113 bf9775fdb63446508a077a79eb46fad1 +msgid "PDF only: Draw a rectangle. See :meth:`Shape.draw_rect`." +msgstr "PDF 전용: 사각형을 그립니다. :meth:`Shape.draw_rect` 참조." + +#: ../../page.rst:1118 3847474347db459e9cd9b672283c581b +msgid "Changed in v1.22.0: Added parameter *radius*." +msgstr "v1.22.0에서 변경됨: *radius* 매개변수 추가." + +#: ../../page.rst:1138 fc73cdf7d47c41f1a7e00043867127f4 +msgid "PDF only: Draw a quadrilateral. See :meth:`Shape.draw_quad`." +msgstr "PDF 전용: 사각형을 그립니다. :meth:`Shape.draw_quad` 참조." + +#: ../../page.rst:1156 ecb6c858dcbd4178a6aa41405c91adc3 +msgid "" +"PDF only: Add a new font to be used by text output methods and return its" +" :data:`xref`. If not already present in the file, the font definition " +"will be added. Supported are the built-in :data:`Base14_Fonts` and the " +"CJK fonts via **\"reserved\"** fontnames. Fonts can also be provided as a" +" file path or a memory area containing the image of a font file." +msgstr "" +"PDF 전용: 텍스트 출력 메서드에서 사용할 새 글꼴을 추가하고 :data:`xref` 를 반환합니다. 파일에 아직 없으면 글꼴 " +"정의가 추가됩니다. 내장 :data:`Base14_Fonts` 및 **\"reserved\"** 글꼴 이름을 통한 CJK 글꼴이 " +"지원됩니다. 글꼴은 파일 경로 또는 글꼴 파일 이미지를 포함하는 메모리 영역으로 제공할 수도 있습니다." + +#: ../../page.rst:1158 784ca49abb314196808838c70b6ad0cb +msgid "" +"The name by which this font shall be referenced when outputting text on " +"this page. In general, you have a \"free\" choice here (but consult the " +":ref:`AdobeManual`, page 16, section 7.3.5 for a formal description of " +"building legal PDF names). However, if it matches one of the " +":data:`Base14_Fonts` or one of the CJK fonts, *fontfile* and *fontbuffer*" +" **are ignored**. In other words, you cannot insert a font via " +"*fontfile* / *fontbuffer* and also give it a reserved *fontname*. .. " +"note:: A reserved fontname can be specified in any mixture of upper or " +"lower case and still match the right built-in font definition: fontnames " +"\"helv\", \"Helv\", \"HELV\", \"Helvetica\", etc. all lead to the same " +"font definition \"Helvetica\". But from a :ref:`Page` perspective, these " +"are **different references**. You can exploit this fact when using " +"different *encoding* variants (Latin, Greek, Cyrillic) of the same font " +"on a page." +msgstr "" + +#: ../../page.rst:1158 e853a8b934d14f3ea02398cad5e939ed +msgid "" +"The name by which this font shall be referenced when outputting text on " +"this page. In general, you have a \"free\" choice here (but consult the " +":ref:`AdobeManual`, page 16, section 7.3.5 for a formal description of " +"building legal PDF names). However, if it matches one of the " +":data:`Base14_Fonts` or one of the CJK fonts, *fontfile* and *fontbuffer*" +" **are ignored**." +msgstr "" +"이 페이지에서 텍스트를 출력할 때 이 글꼴을 참조하는 데 사용할 이름. 일반적으로 여기서는 \"자유로운\" 선택이 가능합니다(하지만" +" 유효한 PDF 이름을 만드는 것에 대한 공식 설명은 :ref:`AdobeManual`, 16페이지, 섹션 7.3.5 참조). " +"그러나 :data:`Base14_Fonts` 또는 CJK 글꼴 중 하나와 일치하면 *fontfile* 및 *fontbuffer* 는" +" **무시됩니다**." + +#: ../../page.rst:1160 cf82f15dcf404eadb21b4a1dba93ecb5 +msgid "" +"In other words, you cannot insert a font via *fontfile* / *fontbuffer* " +"and also give it a reserved *fontname*." +msgstr "" +"즉, *fontfile* / *fontbuffer* 를 통해 글꼴을 삽입하고 동시에 예약된 *fontname* 을 지정할 수 " +"없습니다." + +#: ../../page.rst:1162 e659c191992e48eb94d7f32ba3c46183 +msgid "" +"A reserved fontname can be specified in any mixture of upper or lower " +"case and still match the right built-in font definition: fontnames " +"\"helv\", \"Helv\", \"HELV\", \"Helvetica\", etc. all lead to the same " +"font definition \"Helvetica\". But from a :ref:`Page` perspective, these " +"are **different references**. You can exploit this fact when using " +"different *encoding* variants (Latin, Greek, Cyrillic) of the same font " +"on a page." +msgstr "" +"예약된 글꼴 이름은 대소문자를 혼합하여 지정할 수 있으며 여전히 올바른 내장 글꼴 정의와 일치합니다: \"helv\", " +"\"Helv\", \"HELV\", \"Helvetica\" 등의 글꼴 이름은 모두 동일한 글꼴 정의 \"Helvetica\"로 " +"이어집니다. 하지만 :ref:`Page` 관점에서 이것들은 **다른 참조** 입니다. 페이지에서 동일한 글꼴의 서로 다른 " +"*encoding* 변형(라틴어, 그리스어, 키릴 문자)을 사용할 때 이 사실을 활용할 수 있습니다." + +#: ../../page.rst:1164 ef07701a528349508e27adfd4b1b8ed5 +msgid "" +"a path to a font file. If used, *fontname* must be **different from all " +"reserved names**." +msgstr "글꼴 파일의 경로. 사용하는 경우 *fontname* 은 **모든 예약된 이름과 달라야 합니다**." + +#: ../../page.rst:1166 c56234a1c1bb47d6b53f4c450ee2baaa +msgid "" +"the memory image of a font file. If used, *fontname* must be **different " +"from all reserved names**. This parameter would typically be used with " +":attr:`Font.buffer` for fonts supported / available via :ref:`Font`." +msgstr "" +"글꼴 파일의 메모리 이미지. 사용하는 경우 *fontname* 은 **모든 예약된 이름과 달라야 합니다**. 이 매개변수는 " +"일반적으로 :ref:`Font` 를 통해 지원/사용 가능한 글꼴에 대해 :attr:`Font.buffer` 와 함께 사용됩니다." + +#: ../../page.rst:1168 c829498fc36446f98af9abf805e60b4e +msgid "" +"applicable for *fontfile* / *fontbuffer* cases only: enforce treatment as" +" a \"simple\" font, i.e. one that only uses character codes up to 255." +msgstr "" +"*fontfile* / *fontbuffer* 경우에만 적용: \"simple\" 글꼴로 처리하도록 강제합니다. 즉, 255까지의 " +"문자 코드만 사용하는 글꼴입니다." + +#: ../../page.rst:1170 c85e98b3a7994b05a04787dda7a8b07f +msgid "" +"applicable for the \"Helvetica\", \"Courier\" and \"Times\" sets of " +":data:`Base14_Fonts` only. Select one of the available encodings Latin " +"(0), Cyrillic (2) or Greek (1). Only use the default (0 = Latin) for " +"\"Symbol\" and \"ZapfDingBats\"." +msgstr "" +"\"Helvetica\", \"Courier\", \"Times\" 세트의 :data:`Base14_Fonts` 에만 적용됩니다. " +"사용 가능한 인코딩 중 하나를 선택하세요: 라틴어(0), 키릴 문자(2) 또는 그리스어(1). \"Symbol\" 및 " +"\"ZapfDingBats\"의 경우 기본값(0 = 라틴어)만 사용하세요." + +#: ../../page.rst 36550b7edee54c1188ca5609869459d7 +msgid "rytpe" +msgstr "반환 타입" + +#: ../../page.rst:1172 ../../page.rst:2186 ../../page.rst:2270 +#: ../../page.rst:2440 ../../page.rst:2447 2e2e55470cc44eadac95427335597b0d +#: 90dd8a61e3a94693983ed36666b06529 b79cd61cdba44da2aa18e06e172e512c +#: d7725f03960a46eab8731060d7c5fbd6 e566747d94314d3c95161b75011eb1b8 +msgid "int" +msgstr "" + +#: ../../page.rst:1173 5510866376644f7bbd427e5ef653fa7d +msgid "the :data:`xref` of the installed font." +msgstr "설치된 글꼴의 :data:`xref`." + +#: ../../page.rst:1175 d480db0679494d579d74b4c34d55a73a +msgid "" +"Built-in fonts will not lead to the inclusion of a font file. So the " +"resulting PDF file will remain small. However, your PDF viewer software " +"is responsible for generating an appropriate appearance -- and there " +"**exist** differences on whether or how each one of them does this. This " +"is especially true for the CJK fonts. But also Symbol and ZapfDingbats " +"are incorrectly handled in some cases. Following are the **Font Names** " +"and their correspondingly installed **Base Font** names:" +msgstr "" +"내장 글꼴은 글꼴 파일 포함을 필요로 하지 않습니다. 따라서 결과 PDF 파일은 작게 유지됩니다. 그러나 PDF 뷰어 소프트웨어는 " +"적절한 외관을 생성할 책임이 있으며, 각각이 이를 수행하는지 여부나 방법에 **차이** 가 있습니다. 이것은 특히 CJK 글꼴에 " +"해당합니다. 하지만 Symbol과 ZapfDingbats도 일부 경우에 잘못 처리됩니다. 다음은 **Font Names** 및 해당" +" 설치된 **Base Font** 이름입니다:" + +#: ../../page.rst:1177 2fc11411f26642cb8e883be2ec988af9 +msgid "**Base-14 Fonts** [#f1]_" +msgstr "**Base-14 Fonts** [#f1]_" + +#: ../../page.rst:1180 ../../page.rst:1201 2b45356e25314be8b5bd94785561fa33 +#: 53f516761abf4a47b377dc0ce82a5ad2 +msgid "**Font Name**" +msgstr "**Font Name**" + +#: ../../page.rst:1180 ../../page.rst:1201 4c08f1380f274a2995cb0532552a27ed +#: 637b903b10b743fa92e4243d3f65239e +msgid "**Installed Base Font**" +msgstr "**Installed Base Font**" + +#: ../../page.rst:1180 ../../page.rst:1201 4cff83bd3cf54493b09148347eb75b51 +#: da3707c6048645368c0956ebc887eb2f +msgid "**Comments**" +msgstr "**Comments**" + +#: ../../page.rst:1182 18293365bcfe4cea8468ce984682e74a +msgid "helv" +msgstr "" + +#: ../../page.rst:1182 55f64fae05f24262a6bb2c38fbf9628e +msgid "Helvetica" +msgstr "" + +#: ../../page.rst:1182 ../../page.rst:1186 ../../page.rst:1190 +#: 0e899653f2654c20850bbedf45d3b8b0 593ba869eceb482fb75902f9ad648d45 +#: dceffb7e5907437ba8a334b106176f45 +msgid "normal" +msgstr "" + +#: ../../page.rst:1183 1c5cb11c1c474c6f8f4d043b8dd09291 +msgid "heit" +msgstr "" + +#: ../../page.rst:1183 aa164b95b2d4400f80f650354746f770 +msgid "Helvetica-Oblique" +msgstr "" + +#: ../../page.rst:1183 ../../page.rst:1187 ../../page.rst:1191 +#: 2fdc4b72443d48bf81c8b63240b714d6 d23ef9bf70e742a6bb3230e917321082 +#: ff6f502342704e1b86371e6a7d3aa4c2 +msgid "italic" +msgstr "" + +#: ../../page.rst:1184 8f49bb24a40b4de387dfb0b043baaf9b +msgid "hebo" +msgstr "" + +#: ../../page.rst:1184 7cbf4e7da59a4718b322603212ee1d57 +msgid "Helvetica-Bold" +msgstr "" + +#: ../../page.rst:1184 ../../page.rst:1188 ../../page.rst:1192 +#: 838ff8b719074bcb9aa6e14ec2895b7a 8c9e2fd138844d85b496e9183c9065a6 +#: 97006eb599164f1a9a2873d2c0af75ad +msgid "bold" +msgstr "" + +#: ../../page.rst:1185 0c8b5e39b8d843b3954ce0722e56244d +msgid "hebi" +msgstr "" + +#: ../../page.rst:1185 984cc215aa174fabba3896c4cc3cd988 +msgid "Helvetica-BoldOblique" +msgstr "" + +#: ../../page.rst:1185 ../../page.rst:1189 ../../page.rst:1193 +#: 0bb7be12571e43d48afe5bbd824fbd86 580462e857cc4ae08f5a44c62d007b2f +#: 6a92795b28d64e4fbb8e44e487e61ae7 +msgid "bold-italic" +msgstr "" + +#: ../../page.rst:1186 5303cf0daa7848a6ac6afdbaa4daef00 +msgid "cour" +msgstr "" + +#: ../../page.rst:1186 ccedc4fb0a5744b99f8c423452738f7f +msgid "Courier" +msgstr "" + +#: ../../page.rst:1187 16e14eccc0da475e9726a70633179cd5 +msgid "coit" +msgstr "" + +#: ../../page.rst:1187 c98264eab09d44468c0b91851cc4c4a8 +msgid "Courier-Oblique" +msgstr "" + +#: ../../page.rst:1188 e64194c194364645ade04f15f1ef62a7 +msgid "cobo" +msgstr "" + +#: ../../page.rst:1188 e55b1cd2b40543ab9c54d97ade2b9b75 +msgid "Courier-Bold" +msgstr "" + +#: ../../page.rst:1189 1aca6ab6b76a4aed908832e8d0fa1571 +msgid "cobi" +msgstr "" + +#: ../../page.rst:1189 29904bdcfa1e406190e7bea97386c29c +msgid "Courier-BoldOblique" +msgstr "" + +#: ../../page.rst:1190 8f6db99bec2c453da271d5f2c815f825 +msgid "tiro" +msgstr "" + +#: ../../page.rst:1190 9743271d2a5c46cfb39f130399e1b959 +msgid "Times-Roman" +msgstr "" + +#: ../../page.rst:1191 c8538ccd9183467e9b13a1dd70171f26 +msgid "tiit" +msgstr "" + +#: ../../page.rst:1191 6c5eff126dfa4f07b32035767abd3a3a +msgid "Times-Italic" +msgstr "" + +#: ../../page.rst:1192 12f1f169bc8d424482ed52c8e0f5c79e +msgid "tibo" +msgstr "" + +#: ../../page.rst:1192 ab0221cc28944b99b07d7d60aaedfd69 +msgid "Times-Bold" +msgstr "" + +#: ../../page.rst:1193 69bb30b66c774e3e93d7a0849f590e51 +msgid "tibi" +msgstr "" + +#: ../../page.rst:1193 e49be3741ac148ee8b2e7fc41200329f +msgid "Times-BoldItalic" +msgstr "" + +#: ../../page.rst:1194 f9cce506526e4e5a94056122c567803f +msgid "symb" +msgstr "" + +#: ../../page.rst:1194 24960e62fc5749b0bc2e3bcc9d141d70 +msgid "Symbol" +msgstr "" + +#: ../../page.rst:1194 ../../page.rst:1195 56a30bd5d1c64f6baa60b7582a72264a +#: d7f4778c5af3488f8abb49d03780112c +msgid "[#f3]_" +msgstr "" + +#: ../../page.rst:1195 58d2bbe78bd54b628e30622e27019a91 +msgid "zadb" +msgstr "" + +#: ../../page.rst:1195 d320a00b7b2747d4a1b212fbd9ed5119 +msgid "ZapfDingbats" +msgstr "" + +#: ../../page.rst:1198 74a791ec4c884dc9adc83e26d1751c2b +msgid "**CJK Fonts** [#f2]_ (China, Japan, Korea)" +msgstr "**CJK Fonts** [#f2]_ (중국, 일본, 한국)" + +#: ../../page.rst:1203 068dbb7a377f4e5faf6e4aa1b3ce3676 +msgid "china-s" +msgstr "" + +#: ../../page.rst:1203 4db5b0c4dc68430cbc0ffcd7a97a70dd +msgid "Heiti" +msgstr "" + +#: ../../page.rst:1203 9357308deba14c3385c9d72a034f7880 +msgid "simplified Chinese" +msgstr "간체 중국어" + +#: ../../page.rst:1204 6ab7fb2c07cd4c439f9453d2d4af5902 +msgid "china-ss" +msgstr "" + +#: ../../page.rst:1204 13f223fbbe2045eebb63e28239948a77 +msgid "Song" +msgstr "" + +#: ../../page.rst:1204 cd8e8871140d428a9c83c9322ab1b320 +msgid "simplified Chinese (serif)" +msgstr "간체 중국어 (세리프)" + +#: ../../page.rst:1205 03880884fd8b4985b9439d42e3671fc1 +msgid "china-t" +msgstr "" + +#: ../../page.rst:1205 f39bfbec06864f53a9321d89ed47c76a +msgid "Fangti" +msgstr "" + +#: ../../page.rst:1205 ea0b2ee888694862a655a28eb8dccee6 +msgid "traditional Chinese" +msgstr "번체 중국어" + +#: ../../page.rst:1206 b584de518de04581865eff60a3069d72 +msgid "china-ts" +msgstr "" + +#: ../../page.rst:1206 14094a25049b4446b25d31d2a6ace697 +msgid "Ming" +msgstr "" + +#: ../../page.rst:1206 2c421d836ecb4174ad42a9ccef0eb1a7 +msgid "traditional Chinese (serif)" +msgstr "번체 중국어 (세리프)" + +#: ../../page.rst:1207 e9b2a65d815447e6a82eab64d9891634 +msgid "japan" +msgstr "" + +#: ../../page.rst:1207 b0ff2c611e0b4d709055dae4e541480f +msgid "Gothic" +msgstr "" + +#: ../../page.rst:1207 d76896751b73458a8c326ad9eded2f3f +msgid "Japanese" +msgstr "일본어" + +#: ../../page.rst:1208 b9a20234dcc44c96ba614f99a25c1f9f +msgid "japan-s" +msgstr "" + +#: ../../page.rst:1208 c8bdf8c39ecf43b89c45842d51668900 +msgid "Mincho" +msgstr "" + +#: ../../page.rst:1208 988a1e7ab9cc40e0979ad2d236e4c279 +msgid "Japanese (serif)" +msgstr "일본어 (세리프)" + +#: ../../page.rst:1209 6b69e6244f8549d29911f61d1c8b46bb +msgid "korea" +msgstr "" + +#: ../../page.rst:1209 dbf67a34442c49dda05b93aca301dd1e +msgid "Dotum" +msgstr "" + +#: ../../page.rst:1209 488a6626d802450a99c002882eec0366 +msgid "Korean" +msgstr "한국어" + +#: ../../page.rst:1210 3ca620da7a6344078a50bdbb4a038045 +msgid "korea-s" +msgstr "" + +#: ../../page.rst:1210 6d3a35431e6b4be786d3be8f9ceeaf20 +msgid "Batang" +msgstr "" + +#: ../../page.rst:1210 fb704da9b28f473ea4a3f3e2db5c888e +msgid "Korean (serif)" +msgstr "한국어 (세리프)" + +#: ../../page.rst:1226 c67586c85e2a449fae83d95b4d75cf2f +msgid "" +"PDF only: Put an image inside the given rectangle. The image may already " +"exist in the PDF or be taken from a pixmap, a file, or a memory area." +msgstr "" +"PDF 전용: 주어진 사각형 내에 이미지를 배치합니다. 이미지는 이미 PDF에 존재하거나 픽스맵, 파일 또는 메모리 영역에서 가져올" +" 수 있습니다." + +#: ../../page.rst:1229 04e5d29ccbeb4e709039ad427ff40069 +msgid "where to put the image. Must be finite and not empty." +msgstr "이미지를 배치할 위치. 유한하고 비어 있지 않아야 합니다." + +#: ../../page.rst:1230 d72696dae884419390fab43b03412f3b +msgid "deprecated and ignored." +msgstr "더 이상 사용되지 않으며 무시됩니다." + +#: ../../page.rst:1231 9d5780a4200f4ee48da1f4c6c9f4161b +msgid "" +"name of an image file (all formats supported by MuPDF -- see " +":ref:`ImageFiles`)." +msgstr "이미지 파일 이름(MuPDF에서 지원하는 모든 형식 -- :ref:`ImageFiles` 참조)." + +#: ../../page.rst:1235 85e7a2bc15744184be453270c69da4b4 +msgid "maintain the aspect ratio of the image." +msgstr "이미지의 종횡비를 유지합니다." + +#: ../../page.rst:1237 8643882ac247408698bcde17b0a3e2a1 +msgid "" +"image in memory -- to be used as image mask (alpha values) for the base " +"image. When specified, the base image must be provided as a filename or a" +" stream -- and must not be an image that already has a mask." +msgstr "" +"메모리의 이미지 -- 기본 이미지의 이미지 마스크(알파 값)로 사용됩니다. 지정된 경우 기본 이미지는 파일 이름 또는 스트림으로 " +"제공되어야 하며, 이미 마스크가 있는 이미지가 아니어야 합니다." + +#: ../../page.rst:1241 e61845a265de4e0f89f8353d7b1bb062 +msgid "" +"(:data:`xref`) make image visibility dependent on this :data:`OCG` or " +":data:`OCMD`. Ignored after the first of multiple insertions. The " +"property is stored with the generated PDF image object and therefore " +"controls the image's visibility throughout the PDF." +msgstr "" +"(:data:`xref`) 이미지 가시성을 이 :data:`OCG` 또는 :data:`OCMD` 에 종속시킵니다. 여러 번 삽입 시" +" 첫 번째 이후에는 무시됩니다. 이 속성은 생성된 PDF 이미지 객체와 함께 저장되므로 PDF 전체에서 이미지 가시성을 제어합니다." + +#: ../../page.rst:1246 c4a6133751b74f3399ef5608f0582302 +msgid "see :ref:`CommonParms`." +msgstr ":ref:`CommonParms` 참조." + +#: ../../page.rst:1247 0d9ca43ecaa7497f8c778182f0bba3ee +msgid "a pixmap containing the image." +msgstr "이미지를 포함하는 픽스맵." + +#: ../../page.rst:1248 94d006c7929d472fa1526111ad2ec5f6 +msgid "" +"rotate the image. Must be an integer multiple of 90 degrees. Positive " +"values rotate anti-clockwise. If you need a rotation by an arbitrary " +"angle, consider converting the image to a PDF " +"(:meth:`Document.convert_to_pdf`) first and then use " +":meth:`Page.show_pdf_page` instead." +msgstr "" +"이미지를 회전시킵니다. 90도의 정수 배여야 합니다. 양수 값은 반시계 방향으로 회전합니다. 임의의 각도로 회전이 필요한 경우 먼저" +" 이미지를 PDF로 변환(:meth:`Document.convert_to_pdf`)한 다음 " +":meth:`Page.show_pdf_page` 를 사용하는 것을 고려하세요." + +#: ../../page.rst:1255 a582d71169ef4cd4a5eb4911e45a312e +msgid "image in memory (all formats supported by MuPDF -- see :ref:`ImageFiles`)." +msgstr "메모리의 이미지(MuPDF에서 지원하는 모든 형식 -- :ref:`ImageFiles` 참조)." + +#: ../../page.rst:1258 cef8b29899b44e368609cdbe39ff4247 +msgid "" +"the :data:`xref` of an image already present in the PDF. If given, " +"parameters `filename`, `pixmap`, `stream`, `alpha` and `mask` are " +"ignored. The page will simply receive a reference to the existing image." +msgstr "" +"PDF에 이미 존재하는 이미지의 :data:`xref`. 주어진 경우 `filename`, `pixmap`, `stream`, " +"`alpha` 및 `mask` 매개변수는 무시됩니다. 페이지는 기존 이미지에 대한 참조만 받습니다." + +#: ../../page.rst:1266 8a294a1cb1c14a9b9034df80278ccf95 +msgid "" +"The `xref` of the embedded image. This can be used as the `xref` argument" +" for very significant performance boosts, if the image is inserted again." +msgstr "삽입된 이미지의 `xref`. 이미지를 다시 삽입하는 경우 `xref` 인수로 사용하면 성능이 크게 향상될 수 있습니다." + +#: ../../page.rst:1271 429d172dcd0e4214a6c208e57d4e3afb +msgid "This example puts the same image on every page of a document::" +msgstr "이 예제는 문서의 모든 페이지에 동일한 이미지를 배치합니다::" + +#: ../../page.rst:1286 b2d4bb04c80047959353332f0b2e0ac6 +msgid "" +"The method detects multiple insertions of the same image (like in the " +"above example) and will store its data only on the first execution. This" +" is even true (although less performant), if using the default `xref=0`." +msgstr "" +"이 메서드는 동일한 이미지의 여러 번 삽입(위 예제와 같이)을 감지하고 첫 번째 실행 시에만 데이터를 저장합니다. 기본값 " +"`xref=0` 을 사용하는 경우에도 이것은 사실입니다(성능은 낮지만)." + +#: ../../page.rst:1291 f1202c94bfe64affa714aac1ef466862 +msgid "" +"The method cannot detect if the same image had already been part of the " +"file before opening it." +msgstr "이 메서드는 파일을 열기 전에 동일한 이미지가 이미 파일의 일부였는지 감지할 수 없습니다." + +#: ../../page.rst:1295 4b883662d2fc4a8ca0bdc17d835f9d84 +msgid "" +"You can use this method to provide a background or foreground image for " +"the page, like a copyright or a watermark. Please remember, that " +"watermarks require a transparent image if put in foreground ..." +msgstr "" +"이 메서드를 사용하여 저작권 표시나 워터마크와 같은 페이지의 배경 또는 전경 이미지를 제공할 수 있습니다. 워터마크는 전경에 " +"배치하는 경우 투명한 이미지가 필요하다는 것을 기억하세요..." + +#: ../../page.rst:1300 65d8b02c83cc4c1db2dd4c6707b37732 +msgid "" +"The image may be inserted uncompressed, e.g. if a `Pixmap` is used or if " +"the image has an alpha channel. Therefore, consider using `deflate=True` " +"when saving the file. In addition, there are ways to control the image " +"size -- even if transparency comes into play. Have a look at " +":ref:`RecipesImages_O`." +msgstr "" +"이미지는 압축되지 않은 상태로 삽입될 수 있습니다(예: `Pixmap` 이 사용되거나 이미지에 알파 채널이 있는 경우). 따라서 " +"파일을 저장할 때 `deflate=True` 를 사용하는 것을 고려하세요. 또한 투명도가 관련된 경우에도 이미지 크기를 제어하는 " +"방법이 있습니다. :ref:`RecipesImages_O` 를 참조하세요." + +#: ../../page.rst:1307 605df42da17b4553aa6788fa75e32bd0 +msgid "" +"The image is stored in the PDF at its original quality level. This may be" +" much better than what you need for your display. Consider **decreasing " +"the image size** before insertion -- e.g. by using the pixmap option and " +"then shrinking it or scaling it down (see :ref:`Pixmap` chapter). The PIL" +" method `Image.thumbnail()` can also be used for that purpose. The file " +"size savings can be very significant." +msgstr "" +"이미지는 원본 품질 수준으로 PDF에 저장됩니다. 이것은 디스플레이에 필요한 것보다 훨씬 좋을 수 있습니다. 삽입 전에 **이미지 " +"크기를 줄이는** 것을 고려하세요 -- 예를 들어 픽스맵 옵션을 사용한 다음 축소하거나 크기를 줄입니다(:ref:`Pixmap` 장" +" 참조). PIL 메서드 `Image.thumbnail()` 도 이 목적에 사용할 수 있습니다. 파일 크기 절감이 매우 클 수 " +"있습니다." + +#: ../../page.rst:1316 17544a4536244b86b695e7a3aa360e86 +msgid "" +"Another efficient way to display the same image on multiple pages is " +"another method: :meth:`show_pdf_page`. Consult " +":meth:`Document.convert_to_pdf` for how to obtain intermediary PDFs " +"usable for that method." +msgstr "" +"여러 페이지에 동일한 이미지를 표시하는 또 다른 효율적인 방법은 다른 메서드입니다: :meth:`show_pdf_page`. 해당 " +"메서드에 사용할 수 있는 중간 PDF를 얻는 방법은 :meth:`Document.convert_to_pdf` 를 참조하세요." + +#: ../../page.rst:1323 8239152d8a2948ae969d5a26895b0f88 +msgid "Changed in v1.14.1: By default, the image keeps its aspect ratio." +msgstr "v1.14.1에서 변경됨: 기본적으로 이미지는 종횡비를 유지합니다." + +#: ../../page.rst:1324 cd485cd6ed0447658b17b7b742fb26d1 +msgid "Changed in v1.14.11: Added args `keep_proportion`, `rotate`." +msgstr "v1.14.11에서 변경됨: `keep_proportion`, `rotate` 인수 추가." + +#: ../../page.rst:1325 2001b89cf3134a449792eb3d2c50fe8e +msgid "Changed in v1.14.13:" +msgstr "v1.14.13에서 변경됨:" + +#: ../../page.rst:1328 557eff2950f84c5295ea861bd576884f +msgid "" +"The image is now always placed **centered** in the rectangle, i.e. the " +"centers of image and rectangle are equal." +msgstr "이미지는 이제 항상 사각형 내에서 **중앙** 에 배치됩니다. 즉, 이미지와 사각형의 중심이 같습니다." + +#: ../../page.rst:1330 bf6a4645943d4c91aa882f357fb84ad0 +msgid "Added support for `stream` as `io.BytesIO`." +msgstr "`stream` 을 `io.BytesIO` 로 지원 추가." + +#: ../../page.rst:1332 98bae562bc734a7eae573e415c8f54c8 +msgid "" +"Changed in v1.17.6: Insertion rectangle no longer needs to have a non-" +"empty intersection with the page's :attr:`Page.cropbox` [#f5]_." +msgstr "" +"v1.17.6에서 변경됨: 삽입 사각형이 더 이상 페이지의 :attr:`Page.cropbox` [#f5]_와 비어 있지 않은 " +"교집합을 가질 필요가 없습니다." + +#: ../../page.rst:1335 89abd8465cd5417b8ee798a837a8650e +msgid "Changed in v1.18.1: Added `mask` arg." +msgstr "v1.18.1에서 변경됨: `mask` 인수 추가." + +#: ../../page.rst:1336 a59cc5282da348c79b5b88c040e4b39a +msgid "Changed in v1.18.3: Added `oc` arg." +msgstr "v1.18.3에서 변경됨: `oc` 인수 추가." + +#: ../../page.rst:1337 d407eb13d420415686a640bb59ed49aa +msgid "Changed in v1.18.13:" +msgstr "v1.18.13에서 변경됨:" + +#: ../../page.rst:1339 7355cd865e4d497399a73cbf63cca7fe +msgid "Allow providing the image as the xref of an existing one." +msgstr "기존 이미지의 xref로 이미지를 제공할 수 있도록 허용." + +#: ../../page.rst:1340 126a0f9d15384b44bc73f25f7d23e3f1 +msgid "Added `xref` arg." +msgstr "`xref` 인수 추가." + +#: ../../page.rst:1341 4baadf25f03c43dfa268278c9ed4fd2b +msgid "Return `xref` of stored image." +msgstr "저장된 이미지의 `xref` 반환." + +#: ../../page.rst:1343 5bd9b05e55c149d79fce515dbf613f38 +msgid "Changed in v1.19.3: deprecate and ignore `alpha` arg." +msgstr "v1.19.3에서 변경됨: `alpha` 인수를 더 이상 사용하지 않고 무시합니다." + +#: ../../page.rst:1356 fa99710cc2c94c609e67a7f6c95dba3c +msgid "Replace the image at xref with another one." +msgstr "xref의 이미지를 다른 이미지로 교체합니다." + +#: ../../page.rst:1358 ../../page.rst:1383 b807b4221b3a49ad8d260a6f2acf20df +#: d10f6e058725472db2c1c7b4026673f0 +msgid "the :data:`xref` of the image." +msgstr "이미지의 :data:`xref`." + +#: ../../page.rst:1359 5ed1e953dc324bf58e10b87858d7a47f +msgid "the filename of the new image." +msgstr "새 이미지의 파일 이름." + +#: ../../page.rst:1360 d1b533c8c050499893bb4d123651938b +msgid "the :ref:`Pixmap` of the new image." +msgstr "새 이미지의 :ref:`Pixmap`." + +#: ../../page.rst:1361 d0457bd767a3410c92a383c91ebcbedd +msgid "the memory area containing the new image." +msgstr "새 이미지를 포함하는 메모리 영역." + +#: ../../page.rst:1363 d32714ecc04241a9a4268fac123fb364 +msgid "" +"Arguments `filename`, `pixmap`, `stream` have the same meaning as in " +":meth:`Page.insert_image`, especially exactly one of these must be " +"provided." +msgstr "" +"인수 `filename`, `pixmap`, `stream` 은 :meth:`Page.insert_image` 와 동일한 의미이며," +" 특히 이 중 정확히 하나를 제공해야 합니다." + +#: ../../page.rst:1365 c4946fe5d64d4ac0b4f5b131d9267fc6 +msgid "" +"This is a **global replacement:** the new image will also be shown " +"wherever the old one has been displayed throughout the file." +msgstr "이것은 **전역 교체** 입니다: 새 이미지는 파일 전체에서 이전 이미지가 표시된 모든 위치에 표시됩니다." + +#: ../../page.rst:1367 9d59a1496ca54e0dbed9f1249b189632 +msgid "" +"This method mainly exists for technical purposes. Typical uses include " +"replacing large images by smaller versions, like a lower resolution, " +"graylevel instead of colored, etc., or changing transparency." +msgstr "" +"이 메서드는 주로 기술적 목적으로 존재합니다. 일반적인 사용 사례에는 낮은 해상도, 컬러 대신 그레이스케일 등과 같은 더 작은 " +"버전으로 큰 이미지를 교체하거나 투명도를 변경하는 것이 포함됩니다." + +#: ../../page.rst:1371 ../../page.rst:1395 8370d57607d948e69e595ebac5f3c631 +#: d876451ff8ad4817ba1b232c6e659a5b +msgid "New in v1.21.0" +msgstr "*v1.21.0의 새로운 기능*" + +#: ../../page.rst:1381 b276840a105941439de2b273ddff8084 +msgid "" +"Delete the image at xref. This is slightly misleading: actually the image" +" is being replaced with a small transparent :ref:`Pixmap` using above " +":meth:`Page.replace_image`. The visible effect however is equivalent." +msgstr "" +"xref의 이미지를 삭제합니다. 이것은 약간 오해의 소지가 있습니다: 실제로는 위의 :meth:`Page.replace_image`" +" 를 사용하여 작은 투명한 :ref:`Pixmap` 으로 교체됩니다. 그러나 시각적 효과는 동일합니다." + +#: ../../page.rst:1385 2a45f7a3dad649239d2434094e3c5898 +msgid "" +"This is a **global replacement:** the image will disappear wherever the " +"old one has been displayed throughout the file." +msgstr "이것은 **전역 교체** 입니다: 이미지는 파일 전체에서 이전 이미지가 표시된 모든 위치에서 사라집니다." + +#: ../../page.rst:1387 ae3478603d3944368de35ac28c9151a8 +msgid "" +"If you inspect / extract a page's images by methods like " +":meth:`Page.get_images`, :meth:`Page.get_image_info` or " +":meth:`Page.get_text`, the replacing \"dummy\" image will be detected " +"like so `(45, 47, 1, 1, 8, 'DeviceGray', '', 'Im1', 'FlateDecode')` and " +"also seem to \"cover\" the same boundary box on the page." +msgstr "" +":meth:`Page.get_images`, :meth:`Page.get_image_info` 또는 " +":meth:`Page.get_text` 와 같은 메서드로 페이지의 이미지를 검사/추출하는 경우, 교체된 \"dummy\" 이미지는 " +"`(45, 47, 1, 1, 8, 'DeviceGray', '', 'Im1', 'FlateDecode')` 와 같이 감지되며 " +"페이지에서 동일한 경계 상자를 \"덮는\" 것처럼 보입니다." + +#: ../../page.rst:1418 3484beb579b9420090f7e98d9ea4b47c +msgid "" +"Retrieves the content of a page in a variety of formats. Depending on the" +" ``flags`` value, this may include text, images and several other object " +"types. The method is a wrapper for multiple :ref:`TextPage` methods by " +"choosing the output option `opt` as follows:" +msgstr "" +"다양한 형식으로 페이지의 콘텐츠를 검색합니다. ``flags`` 값에 따라 텍스트, 이미지 및 기타 여러 객체 타입이 포함될 수 " +"있습니다. 이 메서드는 출력 옵션 `opt` 를 다음과 같이 선택하여 여러 :ref:`TextPage` 메서드에 대한 래퍼입니다:" + +#: ../../page.rst:1420 c3957a9f0e79439992d9d6615f11fe40 +msgid "" +"\"text\" -- :meth:`TextPage.extractTEXT`, default. Always includes **text" +" only.**" +msgstr "\"text\" -- :meth:`TextPage.extractTEXT`, 기본값. 항상 **텍스트만** 포함합니다." + +#: ../../page.rst:1421 c1b7076659a94128a73a82d593aaa4d3 +msgid "" +"\"blocks\" -- :meth:`TextPage.extractBLOCKS`. Includes text and **may** " +"include image meta information." +msgstr "" +"\"blocks\" -- :meth:`TextPage.extractBLOCKS`. 텍스트를 포함하며 **이미지 메타 정보를 포함할 " +"수 있습니다**." + +#: ../../page.rst:1422 2da3939e1d7c472e818a36ce516eff17 +msgid "\"words\" -- :meth:`TextPage.extractWORDS`. Always includes **text only.**" +msgstr "\"words\" -- :meth:`TextPage.extractWORDS`. 항상 **텍스트만** 포함합니다." + +#: ../../page.rst:1423 db922a0f8df44faca069430e7f5b192d +msgid "\"html\" -- :meth:`TextPage.extractHTML`. May include text and images." +msgstr "\"html\" -- :meth:`TextPage.extractHTML`. 텍스트와 이미지를 포함할 수 있습니다." + +#: ../../page.rst:1424 c4332759c6c5457da53be98773162edc +msgid "\"xhtml\" -- :meth:`TextPage.extractXHTML`. May include text and images." +msgstr "\"xhtml\" -- :meth:`TextPage.extractXHTML`. 텍스트와 이미지를 포함할 수 있습니다." + +#: ../../page.rst:1425 820d47e90f8e41ebae909a741e197004 +msgid "\"xml\" -- :meth:`TextPage.extractXML`. Always includes **text only.**" +msgstr "\"xml\" -- :meth:`TextPage.extractXML`. 항상 **텍스트만** 포함합니다." + +#: ../../page.rst:1426 dd6ad63d5d2944349be005282a9132c9 +msgid "\"dict\" -- :meth:`TextPage.extractDICT`. May include text and images." +msgstr "\"dict\" -- :meth:`TextPage.extractDICT`. 텍스트와 이미지를 포함할 수 있습니다." + +#: ../../page.rst:1427 71fcb8dc2d554939b52630ee6f8995a8 +msgid "\"json\" -- :meth:`TextPage.extractJSON`. May include text and images." +msgstr "\"json\" -- :meth:`TextPage.extractJSON`. 텍스트와 이미지를 포함할 수 있습니다." + +#: ../../page.rst:1428 ea90fa3efb484e1cb7a8268f72c57bdb +msgid "" +"\"rawdict\" -- :meth:`TextPage.extractRAWDICT`. May include text and " +"images." +msgstr "\"rawdict\" -- :meth:`TextPage.extractRAWDICT`. 텍스트와 이미지를 포함할 수 있습니다." + +#: ../../page.rst:1429 6fbdec11ab834609a97b7105008227b8 +msgid "" +"\"rawjson\" -- :meth:`TextPage.extractRAWJSON`. May include text and " +"images." +msgstr "\"rawjson\" -- :meth:`TextPage.extractRAWJSON`. 텍스트와 이미지를 포함할 수 있습니다." + +#: ../../page.rst:1431 fb947bb8e7d0457c9db932169a26e3e3 +msgid "" +"A string indicating the requested format, one of the above. A mixture of " +"upper and lower case is supported. If misspelled, option \"text\" is " +"silently assumed." +msgstr "" +"요청된 형식을 나타내는 문자열, 위 중 하나. 대소문자 혼합이 지원됩니다. 철자가 잘못된 경우 옵션 \"text\"가 조용히 " +"가정됩니다." + +#: ../../page.rst:1433 1bd53244773c4a5dadef1ff0bab3eee1 +msgid "" +"restrict the extraction to this rectangle. If ``None`` (default), the " +"visible part of the page is taken. Any content (text, images) that is " +"**not fully contained** in ``clip`` will be completely omitted. To avoid " +"clipping altogether use ``clip=pymupdf.INFINITE_RECT()``. Only then the " +"extraction will contain all items. This parameter has **no effect** on " +"options \"html\", \"xhtml\" and \"xml\"." +msgstr "" +"추출을 이 사각형으로 제한합니다. ``None`` (기본값)인 경우 페이지의 보이는 부분이 사용됩니다. ``clip`` 에 **완전히" +" 포함되지 않은** 모든 콘텐츠(텍스트, 이미지)는 완전히 생략됩니다. 클리핑을 완전히 피하려면 " +"``clip=pymupdf.INFINITE_RECT()`` 를 사용하세요. 그럴 때만 추출에 모든 항목이 포함됩니다. 이 매개변수는" +" 옵션 \"html\", \"xhtml\", \"xml\"에 **효과가 없습니다**." + +#: ../../page.rst:1435 f73603f823f4483c8d30d0a89f7572f8 +msgid "" +"indicator bits to control whether to include images or how text should be" +" handled with respect to white spaces and :data:`ligatures`. See " +":ref:`TextPreserve` for available indicators and " +":ref:`text_extraction_flags` for default settings. (New in v1.16.2)" +msgstr "" +"이미지를 포함할지 여부 또는 공백 및 :data:`ligatures` 에 대해 텍스트를 처리하는 방법을 제어하는 표시기 비트. 사용" +" 가능한 표시기는 :ref:`TextPreserve` 를 참조하고 기본 설정은 :ref:`text_extraction_flags` " +"를 참조하세요. (v1.16.2의 새로운 기능)" + +#: ../../page.rst:1437 c561e7ef134f498793cc90393da4d1c6 +msgid "" +"use a previously created :ref:`TextPage`. This reduces execution time " +"**very significantly:** by more than 50% and up to 95%, depending on the " +"extraction option. If specified, the 'flags' and 'clip' arguments are " +"ignored, because they are textpage-only properties. If omitted, a new, " +"temporary textpage will be created." +msgstr "" +"이전에 생성된 :ref:`TextPage` 를 사용합니다. 이것은 실행 시간을 **매우 크게** 줄입니다: 추출 옵션에 따라 50%" +" 이상 최대 95%까지. 지정된 경우 'flags' 및 'clip' 인수는 무시됩니다. 이는 textpage 전용 속성이기 " +"때문입니다. 생략하면 새로운 임시 textpage가 생성됩니다." + +#: ../../page.rst:1439 f887e407e2af4318822e05c0eff94bc2 +msgid "" +"sort the output by vertical, then horizontal coordinates. In many cases, " +"this should suffice to generate a \"natural\" reading order. Has no " +"effect on (X)HTML and XML. For options \"blocks\", \"dict\", \"json\", " +"\"rawdict\", \"rawjson\", sorting happens by coordinates `(y1, x0)` of " +"the respective block bbox. For options \"words\" and \"text\", the text " +"lines are completely re-synthesized to follow the reading sequence and " +"appearance in the document -- which even establishes the original layout " +"to some extent." +msgstr "" +"세로 좌표, 그 다음 가로 좌표로 출력을 정렬합니다. 많은 경우 이것은 \"자연스러운\" 읽기 순서를 생성하는 데 충분해야 합니다." +" (X)HTML 및 XML에는 효과가 없습니다. 옵션 \"blocks\", \"dict\", \"json\", " +"\"rawdict\", \"rawjson\"의 경우 각 블록 bbox의 좌표 `(y1, x0)` 로 정렬이 수행됩니다. 옵션 " +"\"words\" 및 \"text\"의 경우 텍스트 라인은 읽기 순서와 문서의 모양을 따르도록 완전히 재구성됩니다 -- 이것은 어느" +" 정도 원래 레이아웃을 설정합니다." + +#: ../../page.rst:1441 95a7095bdcfb4738b0dfd00c84103152 +msgid "" +"use these characters as *additional* word separators with the \"words\" " +"output option (ignored otherwise). By default, all white spaces " +"(including non-breaking space `0xA0`) indicate start and end of a word. " +"Now you can specify more characters causing this. For instance, the " +"default will return `\"john.doe@outlook.com\"` as **one** word. If you " +"specify `delimiters=\"@.\"` then the **four** words `\"john\"`, " +"`\"doe\"`, `\"outlook\"`, `\"com\"` will be returned. Other possible uses" +" include ignoring punctuation characters `delimiters=string.punctuation`." +" The \"word\" strings will not contain any delimiting character. (New in " +"v1.23.5)" +msgstr "" +"\"words\" 출력 옵션과 함께 이러한 문자를 *추가* 단어 구분자로 사용합니다(그렇지 않으면 무시됨). 기본적으로 모든 " +"공백(줄바꿈 없는 공백 `0xA0` 포함)은 단어의 시작과 끝을 나타냅니다. 이제 이것을 유발하는 더 많은 문자를 지정할 수 " +"있습니다. 예를 들어 기본값은 `\"john.doe@outlook.com\"` 을 **하나의** 단어로 반환합니다. " +"`delimiters=\"@.\"` 를 지정하면 **네 개의** 단어 `\"john\"`, `\"doe\"`, " +"`\"outlook\"`, `\"com\"` 이 반환됩니다. 다른 가능한 사용 사례에는 구두점 문자 무시 " +"`delimiters=string.punctuation` 가 포함됩니다. \"word\" 문자열은 구분 문자를 포함하지 않습니다. " +"(v1.23.5의 새로운 기능)" + +#: ../../page.rst:1443 8a3314318f1347968fec4dd7e161108f +msgid "*str, list, dict*" +msgstr "*str, list, dict*" + +#: ../../page.rst:1444 2fda8f36df9a4f43b757eb6b210d6ab2 +msgid "" +"The page's content as a string, a list or a dictionary. Refer to the " +"corresponding :ref:`TextPage` method for details." +msgstr "문자열, 리스트 또는 딕셔너리로 된 페이지의 콘텐츠. 자세한 내용은 해당 :ref:`TextPage` 메서드를 참조하세요." + +#: ../../page.rst:1448 87cab378dbb54d2bb87074cf1903d401 +msgid "" +"You can use this method as a **document conversion tool** from :ref:`any " +"supported document type` to one of TEXT, HTML, " +"XHTML or XML documents." +msgstr "" +"이 메서드를 :ref:`지원되는 모든 문서 타입` 에서 TEXT, HTML, XHTML 또는" +" XML 문서 중 하나로 변환하는 **문서 변환 도구**로 사용할 수 있습니다." + +#: ../../page.rst:1449 e2531f96ce69494d982a5c574b459396 +msgid "" +"The inclusion of text via the *clip* parameter is decided on a by-" +"character level: a character becomes part of the output, if its bbox is " +"contained in `clip`. This **deviates** from the algorithm used in " +"redaction annotations: a character will be **removed if its bbox " +"intersects** any redaction annotation." +msgstr "" +"*clip* 매개변수를 통한 텍스트 포함은 문자 단위로 결정됩니다: 문자의 bbox가 `clip` 에 포함되면 출력의 일부가 " +"됩니다. 이것은 삭제 주석에 사용되는 알고리즘과 **다릅니다**: 문자의 bbox가 삭제 주석과 **교차하면 제거됩니다**." + +#: ../../page.rst:1453 1b5b49c1fa4c45508811e8eebee7a190 +msgid "Changed in v1.19.0: added `textpage` parameter" +msgstr "v1.19.0에서 변경됨: `textpage` 매개변수 추가" + +#: ../../page.rst:1454 4bffb71bcae845ccbf0a78d24102fcea +msgid "Changed in v1.19.1: added `sort` parameter" +msgstr "v1.19.1에서 변경됨: `sort` 매개변수 추가" + +#: ../../page.rst:1455 6f58853b7eb84463a9e605cd638cc751 +msgid "" +"Changed in v1.19.6: added new constants for defining default flags per " +"method." +msgstr "v1.19.6에서 변경됨: 메서드별 기본 플래그를 정의하는 새로운 상수 추가" + +#: ../../page.rst:1456 0d1821e110d644faa8f8986a696207e8 +msgid "Changed in v1.23.5: added `delimiters` parameter" +msgstr "v1.23.5에서 변경됨: `delimiters` 매개변수 추가" + +#: ../../page.rst:1457 b58734a4980841f7a1c1d465c26b3c9b +msgid "" +"Changed in v1.24.11: changed the effect of `sort_True` for \"text\" and " +"\"words\" to closely follow natural reading sequence." +msgstr "" +"v1.24.11에서 변경됨: \"text\" 및 \"words\"에 대한 `sort_True` 의 효과를 자연스러운 읽기 순서를 " +"밀접하게 따르도록 변경." + +#: ../../page.rst:1467 8c1c27d5f5854a5994c1d79f6640c6de +msgid "Retrieve the text contained in a rectangle." +msgstr "사각형에 포함된 텍스트를 검색합니다." + +#: ../../page.rst:1469 d4911798adf84f2e912f80ea9d7c1fbc +msgid "rect-like." +msgstr "사각형과 유사한." + +#: ../../page.rst:1470 5f6e40c71fb64050acab8309f49fc2b6 +msgid "" +"a :ref:`TextPage` to use. If omitted, a new, temporary textpage will be " +"created." +msgstr "사용할 :ref:`TextPage`. 생략하면 새로운 임시 textpage가 생성됩니다." + +#: ../../page.rst:1472 b5d117f42415497f85e0315decf882bf +msgid "" +"a string with interspersed linebreaks where necessary. It is based on " +"dedicated code (changed in v1.19.0). A typical use is checking the result" +" of :meth:`Page.search_for`: >>> rl = page.search_for(\"currency:\") >>>" +" page.get_textbox(rl[0]) 'Currency:' >>>" +msgstr "" + +#: ../../page.rst:1472 aba080f6928a47bca88bf15e82859c44 +msgid "" +"a string with interspersed linebreaks where necessary. It is based on " +"dedicated code (changed in v1.19.0). A typical use is checking the result" +" of :meth:`Page.search_for`:" +msgstr "" +"필요한 경우 줄바꿈이 삽입된 문자열. 전용 코드를 기반으로 합니다(v1.19.0에서 변경됨). 일반적인 사용 사례는 " +":meth:`Page.search_for` 의 결과를 확인하는 것입니다:" + +#: ../../page.rst:1481 1e92c2a6e6f64f00b15bff149f248e54 +msgid "New in v1.17.7" +msgstr "*v1.17.7의 새로운 기능*" + +#: ../../page.rst:1482 4c2cd3bfa050492fbbcfddb097f00283 +msgid "Changed in v1.19.0: add `textpage` parameter" +msgstr "v1.19.0에서 변경됨: `textpage` 매개변수 추가" + +#: ../../page.rst:1493 552c575ac4154ab99a2685db626069af +msgid "Create a :ref:`TextPage` for the page." +msgstr "페이지에 대한 :ref:`TextPage` 생성." + +#: ../../page.rst:1495 72d281381ba448d2a9296634e86b332f +msgid "" +"indicator bits controlling the content available for subsequent text " +"extractions and searches -- see the parameter of :meth:`Page.get_text`." +msgstr "" +"후속 텍스트 추출 및 검색에 사용 가능한 콘텐츠를 제어하는 표시기 비트 -- :meth:`Page.get_text` 의 매개변수 " +"참조." + +#: ../../page.rst:1497 8e6348dea3124d21ab5c024e64c7b109 +msgid "restrict extracted text to this area. (New in v1.17.7)" +msgstr "추출된 텍스트를 이 영역으로 제한합니다. (v1.17.7의 새로운 기능)" + +#: ../../page.rst:1499 a633ba5141524989bc3d06428d2217f4 +msgid ":ref:`TextPage`" +msgstr ":ref:`TextPage`" + +#: ../../page.rst:1503 e83f608779fa4b60a3a81132844375ef +msgid "New in v1.16.5" +msgstr "*v1.16.5의 새로운 기능*" + +#: ../../page.rst:1504 808f46c3859f4dcc927e0b0b14281327 +msgid "Changed in v1.17.7: introduced `clip` parameter." +msgstr "v1.17.7에서 변경됨: `clip` 매개변수 도입." + +#: ../../page.rst:1518 c70224150c4f475c99d903492862e1bf +msgid "" +"**Optical Character Recognition** (**OCR**) technology can be used to " +"extract text data for documents where text is in a raster image format " +"throughout the page. Use this method to **OCR** a page for text " +"extraction." +msgstr "" +"**Optical Character Recognition** (**OCR**) 기술은 페이지 전체에서 텍스트가 래스터 이미지 형식인" +" 문서의 텍스트 데이터를 추출하는 데 사용할 수 있습니다. 텍스트 추출을 위해 페이지를 **OCR** 하려면 이 메서드를 사용하세요." + +#: ../../page.rst:1520 b7f86ebe9de0435e82db8aa8bc9af4c0 +msgid "" +"This method returns a :ref:`TextPage` for the page that includes OCRed " +"text. MuPDF will invoke Tesseract-OCR if this method is used. Otherwise " +"this is a normal :ref:`TextPage` object." +msgstr "" +"이 메서드는 OCR된 텍스트를 포함하는 페이지에 대한 :ref:`TextPage` 를 반환합니다. 이 메서드가 사용되면 MuPDF가" +" Tesseract-OCR을 호출합니다. 그렇지 않으면 이것은 일반 :ref:`TextPage` 객체입니다." + +#: ../../page.rst:1522 1197bedcf2f24b6fa0d282e2118a8337 +msgid "" +"indicator bits controlling the content available for subsequent test " +"extractions and searches -- see the parameter of :meth:`Page.get_text`." +msgstr "" +"후속 테스트 추출 및 검색에 사용 가능한 콘텐츠를 제어하는 표시기 비트 -- :meth:`Page.get_text` 의 매개변수 " +"참조." + +#: ../../page.rst:1523 53262d05af364b3da0927c53aa377bac +msgid "" +"the expected language(s). Use \"+\"-separated values if multiple " +"languages are expected, \"eng+spa\" for English and Spanish." +msgstr "예상되는 언어. 여러 언어가 예상되는 경우 \"+\"로 구분된 값을 사용하세요. 영어와 스페인어의 경우 \"eng+spa\"." + +#: ../../page.rst:1524 5f0307e724b8447bb42be06da94e312a +msgid "" +"the desired resolution in dots per inch. Influences recognition quality " +"(and execution time)." +msgstr "인치당 도트 단위의 원하는 해상도. 인식 품질(및 실행 시간)에 영향을 줍니다." + +#: ../../page.rst:1525 fe347ff9506f4484a86d5a50d85ca327 +msgid "whether to OCR the full page, or just the displayed images." +msgstr "전체 페이지를 OCR할지, 아니면 표시된 이미지만 OCR할지 여부." + +#: ../../page.rst:1526 48120db50bd44e0cae9dc87701c03cf8 +msgid "" +"The name of Tesseract's language support folder `tessdata`. If omitted, " +"this information must be present as environment variable " +"`TESSDATA_PREFIX`. Can be determined by function :meth:`get_tessdata`." +msgstr "" +"Tesseract의 언어 지원 폴더 `tessdata` 의 이름. 생략하면 이 정보는 환경 변수 `TESSDATA_PREFIX` 로" +" 제공되어야 합니다. 함수 :meth:`get_tessdata` 로 확인할 수 있습니다." + +#: ../../page.rst:1528 744d4ab2cad04b2b9d6dc62ee518bac5 +msgid "" +"This method does **not** support a clip parameter -- OCR will always " +"happen for the complete page rectangle." +msgstr "이 메서드는 clip 매개변수를 **지원하지 않습니다** -- OCR은 항상 전체 페이지 사각형에 대해 수행됩니다." + +#: ../../page.rst:1530 b027240195914e2f9485d94002565eeb +msgid "" +"a :ref:`TextPage`. Execution may be significantly longer than " +":meth:`Page.get_textpage`. For a full page OCR, **all text** will have " +"the font \"GlyphlessFont\" from Tesseract. In case of partial OCR, normal" +" text will keep its properties, and only text coming from images will " +"have the GlyphlessFont. .. note:: **OCRed text is only available** " +"to PyMuPDF's text extractions and searches if their `textpage` parameter " +"specifies the output of this method. `This Jupyter notebook " +"`_ walks through an example for using OCR " +"textpages." +msgstr "" + +#: ../../page.rst:1532 8596df79de844fbf890ad989700cdbf8 +msgid "" +"a :ref:`TextPage`. Execution may be significantly longer than " +":meth:`Page.get_textpage`." +msgstr ":ref:`TextPage`. 실행 시간이 :meth:`Page.get_textpage` 보다 훨씬 길 수 있습니다." + +#: ../../page.rst:1534 02474ff2d6f9486199e495d259a676f5 +msgid "" +"For a full page OCR, **all text** will have the font \"GlyphlessFont\" " +"from Tesseract. In case of partial OCR, normal text will keep its " +"properties, and only text coming from images will have the GlyphlessFont." +msgstr "" +"전체 페이지 OCR의 경우 **모든 텍스트** 는 Tesseract의 \"GlyphlessFont\" 글꼴을 가집니다. 부분 OCR의" +" 경우 일반 텍스트는 속성을 유지하고 이미지에서 나온 텍스트만 GlyphlessFont를 가집니다." + +#: ../../page.rst:1538 c8b06f1ce9c541c0a7dafa1b5983861d +msgid "" +"**OCRed text is only available** to PyMuPDF's text extractions and " +"searches if their `textpage` parameter specifies the output of this " +"method." +msgstr "" +"**OCR된 텍스트는** `textpage` 매개변수가 이 메서드의 출력을 지정하는 경우에만 PyMuPDF의 텍스트 추출 및 검색에" +" **사용할 수 있습니다**." + +#: ../../page.rst:1540 18093ba01d0e4191a8c741c78d6df301 +msgid "" +"`This Jupyter notebook `_ walks " +"through an example for using OCR textpages." +msgstr "" +"`이 Jupyter notebook `_ 은 OCR " +"textpage 사용 예제를 안내합니다." + +#: ../../page.rst:1544 f40b2fa4b48d4c1d9f4b65fb126edcee +msgid "New in v.1.19.0" +msgstr "*v.1.19.0의 새로운 기능*" + +#: ../../page.rst:1545 858d61e097fa41d98f177be970cba353 +msgid "Changed in v1.19.1: support full and partial OCRing a page." +msgstr "v1.19.1에서 변경됨: 전체 및 부분 페이지 OCR 지원." + +#: ../../page.rst:1552 c7e3ee200beb4ebd990f650366aad171 +msgid "" +"Return the vector graphics of the page. These are instructions which draw" +" lines, rectangles, quadruples or curves, including properties like " +"colors, transparency, line width and dashing, etc. Alternative terms are " +"\"line art\" and \"drawings\"." +msgstr "" +"페이지의 벡터 그래픽을 반환합니다. 이것들은 색상, 투명도, 선 너비 및 파선 등의 속성을 포함하여 선, 사각형, 쿼드 또는 곡선을" +" 그리는 명령입니다. 대체 용어는 \"line art\" 및 \"drawings\"입니다." + +#: ../../page.rst:1554 e64e409f6b2e4e45967c8c6aac0bad56 +msgid "" +"a list of dictionaries. Each dictionary item contains one or more single " +"draw commands belonging together: they have the same properties (colors, " +"dashing, etc.). This is called a **\"path\"** in PDF, so we adopted that " +"name here, but the method **works for all document types**." +msgstr "" +"딕셔너리 목록. 각 딕셔너리 항목은 함께 속하는 하나 이상의 단일 그리기 명령을 포함합니다: 동일한 속성(색상, 파선 등)을 " +"가집니다. 이것은 PDF에서 **\"path\"** 라고 하므로 여기서도 그 이름을 채택했지만, 이 메서드는 **모든 문서 타입에 " +"작동합니다**." + +#: ../../page.rst:1556 c64685bdd45f4d6bb1cc4ff4068e57b8 +msgid "" +"The path dictionary for fill, stroke and fill-stroke paths has been " +"designed to be compatible with class :ref:`Shape`. There are the " +"following keys:" +msgstr "" +"채우기, 스트로크 및 채우기-스트로크 경로에 대한 경로 딕셔너리는 :ref:`Shape` 클래스와 호환되도록 설계되었습니다. 다음 " +"키가 있습니다:" + +#: ../../page.rst:1559 ../../page.rst:1624 ../../page.rst:1639 +#: b7acf7d868cf4e919562977891f0e0a8 ece6a68246ce4a1e8d4c47faf351884a +#: fba538fc79d041b7a5a06d8e27da9bb0 +msgid "Key" +msgstr "Key" + +#: ../../page.rst:1559 ../../page.rst:1624 ../../page.rst:1639 +#: 79c927222a1d4571bdb27f8d8e581798 e6dd0c648ea44198b141fa2c5ec474b3 +#: f767d8e05516491292593328f8697ddf +msgid "Value" +msgstr "Value" + +#: ../../page.rst:1561 ../../page.rst:1626 4c9594dfce96479da55c6061fda83ef6 +#: 843fb4f69f1d49b595bddd522a49b6c4 +msgid "closePath" +msgstr "closePath" + +#: ../../page.rst:1561 ../../page.rst:1568 0bb5485c5b154e28a2a94e0c49a7ab0a +#: c7cccba55c234feaa7691155b39634d6 +msgid "Same as the parameter in :ref:`Shape`." +msgstr ":ref:`Shape` 의 매개변수와 동일합니다." + +#: ../../page.rst:1562 cd6c9da5bb2e48648ab4f4b6d71a6c41 +msgid "color" +msgstr "color" + +#: ../../page.rst:1562 c5737caae9ff469ab4ba20ae07489a50 +msgid "Stroke color (see :ref:`Shape`)." +msgstr "스트로크 색상(:ref:`Shape` 참조)." + +#: ../../page.rst:1563 28e58c7532c748e1adb3c0d297b18557 +msgid "dashes" +msgstr "dashes" + +#: ../../page.rst:1563 6cb1db9ecb934543b995bd0c188dfa03 +msgid "Dashed line specification (see :ref:`Shape`)." +msgstr "파선 지정(:ref:`Shape` 참조)." + +#: ../../page.rst:1564 ../../page.rst:1627 706378ca44324162b50fc91701ee84f7 +#: e9ee905de99e4ddd970116c9fa0fad74 +msgid "even_odd" +msgstr "even_odd" + +#: ../../page.rst:1564 eb35285c61bf47c585d1b5dee58e4c02 +msgid "Fill colors of area overlaps -- same as the parameter in :ref:`Shape`." +msgstr "영역 겹침의 채우기 색상 -- :ref:`Shape` 의 매개변수와 동일합니다." + +#: ../../page.rst:1565 99a00de114ab446aa9a7156f94788754 +msgid "fill" +msgstr "fill" + +#: ../../page.rst:1565 6541ce13a5374cbdb67442b03c85f36d +msgid "Fill color (see :ref:`Shape`)." +msgstr "채우기 색상(:ref:`Shape` 참조)." + +#: ../../page.rst:1566 ../../page.rst:1628 19eb2a71eece4c209ac6cce431b7d19a +#: 704c355822ab4ee48ccde125a6d2b184 +msgid "items" +msgstr "items" + +#: ../../page.rst:1566 101403480b8b4fc5af798c80802bb355 +msgid "List of draw commands: lines, rectangles, quads or curves." +msgstr "그리기 명령 목록: 선, 사각형, 쿼드 또는 곡선." + +#: ../../page.rst:1567 4f48840dea424d8aab46a9fb1644b9e4 +msgid "lineCap" +msgstr "lineCap" + +#: ../../page.rst:1567 fb95c6cfd6f243fa8a9b9dc0a63b09e0 +msgid "Number 3-tuple, use its max value on output with :ref:`Shape`." +msgstr "숫자 3-튜플, :ref:`Shape` 와 함께 출력에서 최대값을 사용합니다." + +#: ../../page.rst:1568 acf3d1a551de4b9590f034eeb2ad8061 +msgid "lineJoin" +msgstr "lineJoin" + +#: ../../page.rst:1569 ecb4b729c6f84a02ace66afe9859c83a +msgid "fill_opacity" +msgstr "fill_opacity" + +#: ../../page.rst:1569 6460170cd1cd493f9d8ad754e5297c40 +msgid "fill color transparency (see :ref:`Shape`). (New in v1.18.17)" +msgstr "채우기 색상 투명도(:ref:`Shape` 참조). (v1.18.17의 새로운 기능)" + +#: ../../page.rst:1570 8546e57d8a2c43abb8a56d1bd331730d +msgid "stroke_opacity" +msgstr "stroke_opacity" + +#: ../../page.rst:1570 0ff66e45b59f416f99cb0024bb1b4eac +msgid "stroke color transparency (see :ref:`Shape`). (New in v1.18.17)" +msgstr "스트로크 색상 투명도(:ref:`Shape` 참조). (v1.18.17의 새로운 기능)" + +#: ../../page.rst:1571 ../../page.rst:1629 ../../page.rst:1641 +#: 32f0c4257df14fbb958c30e8bb8f68ce 500b3e541eb346279410ebffce76e99d +#: 5c7836fd4fe34492864c89d3aef88790 +msgid "rect" +msgstr "rect" + +#: ../../page.rst:1571 f5c0b4887e6c4e228c4d85da9010cecc +msgid "Page area covered by this path. Information only." +msgstr "이 경로가 덮는 페이지 영역. 정보 전용." + +#: ../../page.rst:1572 ../../page.rst:1630 ../../page.rst:1642 +#: 82477c93961a4598b9ea0b648398124b 9dfc21d0511d4abbb95020a4c71d2271 +#: bf797b35be6e474ba09ca35ab1b39d05 +msgid "layer" +msgstr "layer" + +#: ../../page.rst:1572 867c9e86f09a436ba115aef39ad31ab0 +msgid "name of applicable Optional Content Group. (New in v1.22.0)" +msgstr "적용 가능한 Optional Content Group의 이름. (v1.22.0의 새로운 기능)" + +#: ../../page.rst:1573 ../../page.rst:1631 ../../page.rst:1643 +#: 6e87d742adac4eeba4b6ddd2e8c5532b ce3a5ce2557648dba228a50d2558c061 +#: d0c7e717c97f47cba2ae7c8e2e5af826 +msgid "level" +msgstr "level" + +#: ../../page.rst:1573 aa84b0143529449f8c76b7f0a885b57f +msgid "the hierarchy level if `extended=True`. (New in v1.22.0)" +msgstr "`extended=True` 인 경우 계층 수준. (v1.22.0의 새로운 기능)" + +#: ../../page.rst:1574 8fc72f3067ca49c4b5b8ec07b54be1c4 +msgid "seqno" +msgstr "seqno" + +#: ../../page.rst:1574 894fd6dd16084fbcb60d629693392547 +msgid "command number when building page appearance. (New in v1.19.0)" +msgstr "페이지 외관을 구축할 때의 명령 번호. (v1.19.0의 새로운 기능)" + +#: ../../page.rst ../../page.rst:1575 ../../page.rst:1633 ../../page.rst:1648 +#: 1fcf757d5dc541d5b3c245d404f73971 20beaee05d194b39b0960d58cecaa93d +#: 20d5bfd89a42452389d2b3de105004ed 289aced190834f9aa3f7297df81e881e +#: 2ecf513d3d1d4620a6bd5e1704cfae53 313cd7811c254a20b0514620e173e142 +#: 3b4a71bc2b6148d8be69dc3c70b28e8b 3e570725d89c40db969ad8ebd9bb872d +#: 42f7acc537fe442c890faba8fd0a5500 44a6bae233764069898e0a55d210a796 +#: 4cfc1480829f48caa473096b2001366c 51a13afa13134b1e814761ce1621369f +#: 5568b527ff7e45e8b2f583d5f9316d40 59049d73b92545138bdab078af040e1b +#: 5abe8e3967544950afd9cd7f69e59e37 5f1f0d672a014ca0b2ed58406a5d4302 +#: 5fe9177dd10c4af5ac4fd6d2875144fa 6c479020153047cdbcec75b1f3d90cf2 +#: 7379336f93474e5499eb57d5b9be1b13 886f1301616a47c2a6710633e38e37c2 +#: 89f932d46f3d4b3995682f63b4da6de7 8f9fc672a9bd4fcda41795c11dbb497d +#: 9112052403704fe3b81a0bf9fef5dab2 9921eb0cfe194c5a86ec7378a612c5e6 +#: 9a2c7607c85348538a85de2db7812879 9a4cfd70928c496f95f0f44eb37acc97 +#: 9bdb2311c124404fae2717faeaa735c7 9fd560313114481fade1548731517884 +#: bc324c734eb1402894e706a42a4c5800 bea09940c9364903ae6b2360dc99567a +#: bf3f44de2eaa416d883bdb5f1fa99d8f fc0d5d5d24f04d50b0e0e7baa40516ce +#: fcb92524976849ef90a307fcfe9bd81f +msgid "type" +msgstr "type" + +#: ../../page.rst:1575 663d54e871934888839844320dc3fdc3 +msgid "type of this path. (New in v1.18.17)" +msgstr "이 경로의 타입. (v1.18.17의 새로운 기능)" + +#: ../../page.rst:1576 ../../page.rst:1719 768f3fc5fb3346bca72ce0b3e0e4a400 +#: abba61c9f8ec49aca51e36f10c201119 +msgid "width" +msgstr "width" + +#: ../../page.rst:1576 2347d6fa83164607b86cd8a23552840b +msgid "Stroke line width. (see :ref:`Shape`)." +msgstr "스트로크 선 너비. (:ref:`Shape` 참조)." + +#: ../../page.rst:1579 0e51042f7f9649dca6e5ca7c2cde0605 +msgid "" +"Key `\"opacity\"` has been replaced by the new keys `\"fill_opacity\"` " +"and `\"stroke_opacity\"`. This is now compatible with the corresponding " +"parameters of :meth:`Shape.finish`. (Changed in v1.18.17)" +msgstr "" +"키 `\"opacity\"` 는 새로운 키 `\"fill_opacity\"` 및 `\"stroke_opacity\"` 로 " +"대체되었습니다. 이것은 이제 :meth:`Shape.finish` 의 해당 매개변수와 호환됩니다. (v1.18.17에서 변경됨)" + +#: ../../page.rst:1582 8609140c98474ef3abd9a14ace738246 +msgid "" +"For paths other than groups or clips, key `\"type\"` takes one of the " +"following values:" +msgstr "그룹 또는 클립이 아닌 경로의 경우 키 `\"type\"` 은 다음 값 중 하나를 가집니다:" + +#: ../../page.rst:1584 cf5d23e35b004933ad6ecf65c9afd033 +msgid "" +"**\"f\"** -- this is a *fill-only* path. Only key-values relevant for " +"this operation have a meaning, not applicable ones are present with a " +"value of ``None``: `\"color\"`, `\"lineCap\"`, `\"lineJoin\"`, " +"`\"width\"`, `\"closePath\"`, `\"dashes\"` and should be ignored." +msgstr "" +"**\"f\"** -- 이것은 *채우기 전용* 경로입니다. 이 작업과 관련된 키-값만 의미가 있으며, 적용할 수 없는 항목은 " +"``None`` 값으로 존재합니다: `\"color\"`, `\"lineCap\"`, `\"lineJoin\"`, " +"`\"width\"`, `\"closePath\"`, `\"dashes\"` 이며 무시해야 합니다." + +#: ../../page.rst:1585 9c71c83b86054b5bbbd736289eb7042d +msgid "" +"**\"s\"** -- this is a *stroke-only* path. Similar to previous, key " +"`\"fill\"` is present with value ``None``." +msgstr "" +"**\"s\"** -- 이것은 *스트로크 전용* 경로입니다. 이전과 유사하게 키 `\"fill\"` 은 ``None`` 값으로 " +"존재합니다." + +#: ../../page.rst:1586 097c57e6361e4b2988f97f7007ed0569 +msgid "" +"**\"fs\"** -- this is a path performing combined *fill* and *stroke* " +"operations." +msgstr "**\"fs\"** -- 이것은 결합된 *채우기* 및 *스트로크* 작업을 수행하는 경로입니다." + +#: ../../page.rst:1588 6c78504d072b453d9fd91f2f1a82caec +msgid "Each item in `path[\"items\"]` is one of the following:" +msgstr "`path[\"items\"]` 의 각 항목은 다음 중 하나입니다:" + +#: ../../page.rst:1590 56e18decb23a451494b4e90318ae5b7e +msgid "`(\"l\", p1, p2)` - a line from p1 to p2 (:ref:`Point` objects)." +msgstr "`(\"l\", p1, p2)` - p1에서 p2로의 선(:ref:`Point` 객체)." + +#: ../../page.rst:1591 26a9972343024dccba36c7e3cd84fcc7 +msgid "" +"`(\"c\", p1, p2, p3, p4)` - cubic Bézier curve **from p1 to p4** (p2 and " +"p3 are the control points). All objects are of type :ref:`Point`." +msgstr "" +"`(\"c\", p1, p2, p3, p4)` - **p1에서 p4로의** 3차 Bézier 곡선(p2 및 p3는 제어점). 모든 " +"객체는 :ref:`Point` 타입입니다." + +#: ../../page.rst:1592 cdb458944b544837b6fddaef13bf8c3a +msgid "" +"`(\"re\", rect, orientation)` - a :ref:`Rect`. Multiple rectangles within" +" the same path are now detected (changed in v1.18.17). Integer " +"`orientation` is 1 resp. -1 indicating whether the enclosed area is " +"rotated left (1 = anti-clockwise), or resp. right [#f7]_ (changed in " +"v1.19.2)." +msgstr "" +"`(\"re\", rect, orientation)` - :ref:`Rect`. 동일한 경로 내의 여러 사각형이 이제 " +"감지됩니다(v1.18.17에서 변경됨). 정수 `orientation` 은 1 또는 -1로, 둘러싸인 영역이 왼쪽으로 회전(1 = " +"반시계 방향) 또는 오른쪽으로 회전하는지 나타냅니다 [#f7]_ (v1.19.2에서 변경됨)." + +#: ../../page.rst:1593 9c1e4bcf66af446ab5d2a70eff677956 +msgid "" +"`(\"qu\", quad)` - a :ref:`Quad`. 3 or 4 consecutive lines are detected " +"to actually represent a :ref:`Quad` (changed in v1.19.2:). (New in " +"v1.18.17)" +msgstr "" +"`(\"qu\", quad)` - :ref:`Quad`. 3개 또는 4개의 연속 선이 실제로 :ref:`Quad` 를 나타내는 " +"것으로 감지됩니다(v1.19.2에서 변경됨). (v1.18.17의 새로운 기능)" + +#: ../../page.rst:1597 d845d91d1f81456fb5e9d7652704f931 +msgid "" +"Using class :ref:`Shape`, you should be able to recreate the original " +"drawings on a separate (PDF) page with high fidelity under normal, not " +"too sophisticated circumstances. Please see the following comments on " +"restrictions. A coding draft can be found in :ref:`How to Extract " +"Drawings `." +msgstr "" +":ref:`Shape` 클래스를 사용하면 일반적이고 너무 복잡하지 않은 상황에서 별도의 (PDF) 페이지에서 원본 그림을 높은 " +"충실도로 재현할 수 있어야 합니다. 제한 사항에 대한 다음 주석을 참조하세요. 코딩 초안은 :ref:`How to Extract " +"Drawings ` 에서 찾을 수 있습니다." + +#: ../../page.rst:1599 131db0437b06494f8659f8d73a40a8c9 +msgid "" +"Specifying `extended=True` significantly alters the output. Most " +"importantly, new dictionary types are present: \"clip\" and \"group\". " +"All paths will now be organized in a hierarchic structure which is " +"encoded by the new integer key \"level\", the hierarchy level. Each group" +" or clip establishes a new hierarchy, which applies to all subsequent " +"paths having a *larger* level value. (New in v1.22.0)" +msgstr "" +"`extended=True` 를 지정하면 출력이 크게 변경됩니다. 가장 중요한 것은 새로운 딕셔너리 타입 \"clip\" 및 " +"\"group\"이 존재한다는 것입니다. 모든 경로는 이제 계층 수준인 새로운 정수 키 \"level\"로 인코딩된 계층 구조로 " +"구성됩니다. 각 그룹 또는 클립은 *더 큰* level 값을 가진 모든 후속 경로에 적용되는 새로운 계층을 설정합니다. " +"(v1.22.0의 새로운 기능)" + +#: ../../page.rst:1601 a847cd281b91455c956e6fe1153f9c9c +msgid "" +"Any path with a smaller level value than its predecessor will end the " +"scope of (at least) the preceding hierarchy level. A \"clip\" path with " +"the same level as the preceding clip will end the scope of that clip. " +"Same is true for groups. This is best explained by an example::" +msgstr "" +"이전 항목보다 작은 level 값을 가진 경로는 (최소한) 이전 계층 수준의 범위를 종료합니다. 이전 클립과 동일한 level을 " +"가진 \"clip\" 경로는 해당 클립의 범위를 종료합니다. 그룹에도 동일하게 적용됩니다. 이것은 예제로 가장 잘 설명됩니다::" + +#: ../../page.rst:1617 1aa3c13c698047e4af893cc4e640e9b4 +msgid "" +"The clip in line 0 applies to line including line 7. Group in line 2 " +"applies to lines 3 to 5, clip in line 3 only applies to line 4." +msgstr "" +"라인 0의 클립은 라인 7을 포함한 라인에 적용됩니다. 라인 2의 그룹은 라인 3부터 5까지에 적용되고, 라인 3의 클립은 라인 " +"4에만 적용됩니다." + +#: ../../page.rst:1619 f2517520385341e8a656b8fbb2657ae6 +msgid "" +"\"stroke\" in line 4 is under control of \"group\" in line 2 and \"clip\"" +" in line 3 (which in turn is a subset of line 0 clip)." +msgstr "" +"라인 4의 \"stroke\"는 라인 2의 \"group\"과 라인 3의 \"clip\"(차례로 라인 0 클립의 하위 집합)의 제어" +" 하에 있습니다." + +#: ../../page.rst:1621 cbf97a7250774947a89a1404e176d5c5 +msgid "" +"**\"clip\"** dictionary. Its values (most importantly \"scissor\") remain" +" valid / apply as long as following dictionaries have a **larger " +"\"level\"** value." +msgstr "" +"**\"clip\"** 딕셔너리. 후속 딕셔너리가 **더 큰 \"level\"** 값을 가진 한 그 값(가장 중요한 " +"\"scissor\")은 유효/적용됩니다." + +#: ../../page.rst:1626 ../../page.rst:1627 ../../page.rst:1628 +#: ../../page.rst:1629 ../../page.rst:1630 ../../page.rst:1631 +#: ../../page.rst:1641 ../../page.rst:1642 ../../page.rst:1643 +#: 1d3909e3e75348fa82996235f70385dd 57cdd8b09dda41a1be3654cc9daffec3 +#: 7744821b23f14be28b550932b2158f41 93007be0b3bb4f049a25aff49f06da4e +#: adda1d05909c4d118797b72d75bacab2 d6adb320f0ec4789a9418a9212a5ac3c +#: de27d4095ca643cc8e3d1a5b21d78819 ded3d9d6901d4d59817a7ef07fd5a8b3 +#: fe445f13f9734edbaa9eaffd432d9c7e +msgid "Same as in \"stroke\" or \"fill\" dictionaries" +msgstr "\"stroke\" 또는 \"fill\" 딕셔너리와 동일" + +#: ../../page.rst:1632 a56abf057dd543c49e547c92066afd44 +msgid "scissor" +msgstr "scissor" + +#: ../../page.rst:1632 31b078ca7ed643e08dd038a1d1f44a6c +msgid "the clip rectangle" +msgstr "클립 사각형" + +#: ../../page.rst:1633 555c0fc188544a68a0b9c5249e003147 +msgid "\"clip\"" +msgstr "\"clip\"" + +#: ../../page.rst:1636 1950d3a1cd754711892e66f62f30d488 +msgid "" +"\"group\" dictionary. Its values remain valid (apply) as long as " +"following dictionaries have a **larger \"level\"** value. Any dictionary " +"with an equal or lower level end this group." +msgstr "" +"\"group\" 딕셔너리. 후속 딕셔너리가 **더 큰 \"level\"** 값을 가진 한 그 값은 유효(적용)합니다. 동일하거나 " +"더 낮은 level을 가진 딕셔너리는 이 그룹을 종료합니다." + +#: ../../page.rst:1644 205fddf2363247ce8151b0d3c364035a +msgid "isolated" +msgstr "isolated" + +#: ../../page.rst:1644 4d9971e178344c82b26136d679c1ed5d +msgid "(bool) Whether this group is isolated" +msgstr "(bool) 이 그룹이 격리되었는지 여부" + +#: ../../page.rst:1645 f6ee5e635f9b474e9d1f122ce4045f11 +msgid "knockout" +msgstr "knockout" + +#: ../../page.rst:1645 32061236f29c4751935dd10ede5114c9 +msgid "(bool) Whether this is a \"Knockout Group\"" +msgstr "(bool) 이것이 \"Knockout Group\"인지 여부" + +#: ../../page.rst:1646 f9ac0094769243c595cd920e319682f7 +msgid "blendmode" +msgstr "blendmode" + +#: ../../page.rst:1646 d691ceffb0944ac1afcd60cc67f3892a +msgid "Name of the BlendMode, default is \"Normal\"" +msgstr "BlendMode의 이름, 기본값은 \"Normal\"" + +#: ../../page.rst:1647 3fb054893e63424a844e9c3d4c9c088c +msgid "opacity" +msgstr "opacity" + +#: ../../page.rst:1647 e9e6e02283ef4c8cb769e2becd44a466 +msgid "Float value in range [0, 1]." +msgstr "[0, 1] 범위의 Float 값." + +#: ../../page.rst:1648 f82a36b717e0488f991404211027f96e +msgid "\"group\"" +msgstr "\"group\"" + +#: ../../page.rst:1651 37a68dc01e0d46e6a14acafe5c1d16ef +msgid "" +"The method is based on the output of :meth:`Page.get_cdrawings` -- which " +"is much faster, but requires somewhat more attention processing its " +"output." +msgstr "" +"이 메서드는 :meth:`Page.get_cdrawings` 의 출력을 기반으로 합니다 -- 이것은 훨씬 빠르지만 출력을 처리하는 " +"데 다소 더 많은 주의가 필요합니다." + +#: ../../page.rst:1655 fc64101d9ee84ff59a3146a7a201220c +msgid "New in v1.18.0" +msgstr "*v1.18.0의 새로운 기능*" + +#: ../../page.rst:1656 c4d86369f98a403e9d867af9a58910a4 +msgid "Changed in v1.18.17" +msgstr "v1.18.17에서 변경됨" + +#: ../../page.rst:1657 486c4617151845d3876e6f5f3b2088e9 +msgid "Changed in v1.19.0: add \"seqno\" key, remove \"clippings\" key" +msgstr "v1.19.0에서 변경됨: \"seqno\" 키 추가, \"clippings\" 키 제거" + +#: ../../page.rst:1658 8bed595ac0a34c9cbbba1c5221e9bba5 +msgid "" +"Changed in v1.19.1: \"color\" / \"fill\" keys now always are either are " +"RGB tuples or `None`. This resolves issues caused by exotic colorspaces." +msgstr "" +"v1.19.1에서 변경됨: \"color\" / \"fill\" 키는 이제 항상 RGB 튜플이거나 `None` 입니다. 이것은 " +"이국적인 색 공간으로 인한 문제를 해결합니다." + +#: ../../page.rst:1659 14b87c784ae24c81b897e2234cb96159 +msgid "" +"Changed in v1.19.2: add an indicator for the *\"orientation\"* of the " +"area covered by an \"re\" item." +msgstr "v1.19.2에서 변경됨: \"re\" 항목이 덮는 영역의 *\"orientation\"* 에 대한 표시기 추가." + +#: ../../page.rst:1660 62afbaadfd244d41b02c5d43cfd713e7 +msgid "" +"Changed in v1.22.0: add new key `\"layer\"` which contains the name of " +"the Optional Content Group of the path (or `None`)." +msgstr "" +"v1.22.0에서 변경됨: 경로의 Optional Content Group 이름(또는 `None`)을 포함하는 새로운 키 " +"`\"layer\"` 추가." + +#: ../../page.rst:1661 b9a447c651b94fb3bd9cca432d23bb15 +msgid "" +"Changed in v1.22.0: add parameter `extended` to also return clipping and " +"group paths." +msgstr "v1.22.0에서 변경됨: 클리핑 및 그룹 경로도 반환하도록 `extended` 매개변수 추가." + +#: ../../page.rst:1669 3702a72bddbe4940aa9306ff4d7c30f8 +msgid "" +"Extract the vector graphics on the page. Apart from following technical " +"differences, functionally equivalent to :meth:`Page.get_drawings`, but " +"much faster:" +msgstr "" +"페이지의 벡터 그래픽을 추출합니다. 다음 기술적 차이점을 제외하고는 :meth:`Page.get_drawings` 와 기능적으로 " +"동일하지만 훨씬 빠릅니다:" + +#: ../../page.rst:1671 860f6d110f37411399848976d173538b +msgid "" +"Every path type only contains the relevant keys, e.g. a stroke path has " +"no `\"fill\"` color key. See comment in method :meth:`Page.get_drawings`." +msgstr "" +"각 경로 타입은 관련 키만 포함합니다. 예를 들어 stroke 경로에는 `\"fill\"` 색상 키가 없습니다. " +":meth:`Page.get_drawings` 메서드의 주석을 참조하세요." + +#: ../../page.rst:1672 6ca768cd73e945298dd50f23c476cc09 +msgid "" +"Coordinates are given as :data:`point_like`, :data:`rect_like` and " +":data:`quad_like` **tuples** -- not as :ref:`Point`, :ref:`Rect`, " +":ref:`Quad` objects." +msgstr "" +"좌표는 :ref:`Point`, :ref:`Rect`, :ref:`Quad` 객체가 아닌 :data:`point_like`, " +":data:`rect_like`, :data:`quad_like` **튜플** 로 제공됩니다." + +#: ../../page.rst:1674 42538119b5214715ad10ceec147d9c59 +msgid "" +"If performance is a concern, consider using this method: Compared to " +"versions earlier than 1.18.17, you should see much shorter response " +"times. We have seen pages that required 2 seconds then, now only need 200" +" ms with this method." +msgstr "" +"성능이 중요한 경우 이 메서드 사용을 고려하세요: 1.18.17 이전 버전과 비교하여 응답 시간이 훨씬 짧아집니다. 이전에 2초가 " +"걸렸던 페이지가 이 메서드로는 200ms만 필요합니다." + +#: ../../page.rst:1678 bdf91fd7b086456e9d858e5763582a3e +msgid "New in v1.18.17" +msgstr "*v1.18.17의 새로운 기능*" + +#: ../../page.rst:1679 fb1be55a4b15435884e4d3701791875b +msgid "Changed in v1.19.0: removed \"clippings\" key, added \"seqno\" key." +msgstr "v1.19.0에서 변경됨: \"clippings\" 키 제거, \"seqno\" 키 추가." + +#: ../../page.rst:1680 6807369fdc33422da5d63cc3a4bfc0d9 +msgid "Changed in v1.19.1: always generate RGB color tuples." +msgstr "v1.19.1에서 변경됨: 항상 RGB 색상 튜플 생성." + +#: ../../page.rst:1681 00e1646f78aa4bc8a41fdee57e4b747e +msgid "" +"Changed in v1.22.0: added new key `\"layer\"` which contains the name of " +"the Optional Content Group of the path (or `None`)." +msgstr "" +"v1.22.0에서 변경됨: 경로의 Optional Content Group 이름(또는 `None`)을 포함하는 새로운 키 " +"`\"layer\"` 추가." + +#: ../../page.rst:1682 3f2c083b24a94aaf9b53114c1dabadaa +msgid "" +"Changed in v1.22.0: added parameter `extended` to also return clipping " +"paths." +msgstr "v1.22.0에서 변경됨: 클리핑 경로도 반환하도록 `extended` 매개변수 추가." + +#: ../../page.rst:1689 0173b2bb8cf94466b53746921fdd8f08 +msgid "" +"PDF only: Return a list of fonts referenced by the page. Wrapper for " +":meth:`Document.get_page_fonts`." +msgstr "PDF 전용: 페이지에서 참조하는 글꼴 목록을 반환합니다. :meth:`Document.get_page_fonts` 의 래퍼입니다." + +#: ../../page.rst:1694 37f4c0b79c1d4a10b3525052d6da0dfb +msgid "" +"PDF only: Return a list of images referenced by the page. Wrapper for " +":meth:`Document.get_page_images`." +msgstr "" +"PDF 전용: 페이지에서 참조하는 이미지 목록을 반환합니다. :meth:`Document.get_page_images` 의 " +"래퍼입니다." + +#: ../../page.rst:1703 52268d5050814eeb85f48b722493807b +msgid "" +"Return a list of meta information dictionaries for all images displayed " +"by the page. This works for all document types." +msgstr "페이지에 표시된 모든 이미지에 대한 메타 정보 딕셔너리 목록을 반환합니다. 모든 문서 타입에서 작동합니다." + +#: ../../page.rst:1705 5008c3cdcdc54d49a2fe35f1cbe8e76d +msgid "" +"Compute the MD5 hashcode for each encountered image, which allows " +"identifying image duplicates. This adds the key `\"digest\"` to the " +"output, whose value is a 16 byte `bytes` object. (New in v1.18.13)" +msgstr "" +"발견된 각 이미지의 MD5 해시코드를 계산하여 이미지 중복을 식별할 수 있습니다. 이것은 출력에 키 `\"digest\"` 를 " +"추가하며, 그 값은 16바이트 `bytes` 객체입니다. (v1.18.13의 새로운 기능)" + +#: ../../page.rst:1707 ea3214183b3a4c46b58190bd2bb70da3 +msgid "" +"**PDF only.** Try to find the :data:`xref` for each image. Implies " +"`hashes=True`. Adds the `\"xref\"` key to the dictionary. If not found, " +"the value is 0, which means, the image is either \"inline\" or its xref " +"is undetectable for some reason. Please note that this option has an " +"extended response time, because the MD5 hashcode will be computed at " +"least two times for each image with an xref. (New in v1.18.13)" +msgstr "" +"**PDF 전용.** 각 이미지의 :data:`xref` 를 찾으려고 시도합니다. `hashes=True` 를 의미합니다. " +"딕셔너리에 `\"xref\"` 키를 추가합니다. 찾을 수 없으면 값은 0이며, 이는 이미지가 \"inline\"이거나 어떤 이유로 " +"xref를 감지할 수 없음을 의미합니다. xref가 있는 각 이미지에 대해 MD5 해시코드가 최소 두 번 계산되므로 이 옵션은 응답" +" 시간이 길어집니다. (v1.18.13의 새로운 기능)" + +#: ../../page.rst:1710 144394c817d34fd49b7e0f8720e7cea2 +msgid "" +"A list of dictionaries. This includes information for **exactly those** " +"images, that are shown on the page -- including *\"inline images\"*. The " +"dictionary layout is similar to that of image blocks in " +"`page.get_text(\"dict\")`. In contrast to images included in " +":meth:`Page.get_text`, image **binary content** is not loaded by this " +"method, which drastically reduces memory usage. Another difference is " +"that image detection is not restricted to the visible part of the page or" +" any ``clip`` parameter: method :meth:`Page.get_text` will only extract " +"images **fully contained** in the provided ``clip``. =============== " +"=============================================================== **Key**" +" **Value** =============== " +"=============================================================== number" +" block number (``int``) bbox image bbox on page, " +":data:`rect_like` width original image width (``int``) height" +" original image height (``int``) cs-name colorspace name" +" (``str``) colorspace colorspace.n (``int``) xres " +"resolution in x-direction (``int``) [#f10]_ yres resolution in" +" y-direction (``int``) [#f10]_ bpc bits per component " +"(``int``) size storage occupied by image (``int``) digest" +" MD5 hashcode (``bytes``), if ``hashes`` is true xref" +" image :data:`xref` or 0, if *xrefs* is true transform " +"matrix transforming image rect to bbox, :data:`matrix_like` has-mask" +" whether the image is transparent and has a mask (``bool``) " +"=============== " +"=============================================================== Multiple" +" occurrences of the same image are always reported. You can detect " +"duplicates by comparing their `digest` values." +msgstr "동일한 이미지의 여러 발생은 항상 보고됩니다. `digest` 값을 비교하여 중복을 감지할 수 있습니다." + +#: ../../page.rst:1710 1b149b16c2b34b64bda0baefddcecb55 +msgid "" +"A list of dictionaries. This includes information for **exactly those** " +"images, that are shown on the page -- including *\"inline images\"*. The " +"dictionary layout is similar to that of image blocks in " +"`page.get_text(\"dict\")`." +msgstr "" +"딕셔너리 목록. 페이지에 표시된 **정확히 그** 이미지들에 대한 정보를 포함합니다 -- *\"inline images\"* 를 " +"포함합니다. 딕셔너리 레이아웃은 `page.get_text(\"dict\")` 의 이미지 블록과 유사합니다." + +#: ../../page.rst:1712 5a27b15d2c204dab8360ff85856af7a5 +msgid "" +"In contrast to images included in :meth:`Page.get_text`, image **binary " +"content** is not loaded by this method, which drastically reduces memory " +"usage. Another difference is that image detection is not restricted to " +"the visible part of the page or any ``clip`` parameter: method " +":meth:`Page.get_text` will only extract images **fully contained** in the" +" provided ``clip``." +msgstr "" +":meth:`Page.get_text` 에 포함된 이미지와 달리 이 메서드는 이미지 **바이너리 콘텐츠**를 로드하지 않아 메모리 " +"사용량이 크게 줄어듭니다. 또 다른 차이점은 이미지 감지가 페이지의 보이는 부분이나 ``clip`` 매개변수로 제한되지 않는다는 " +"것입니다: :meth:`Page.get_text` 메서드는 제공된 ``clip`` 에 **완전히 포함된** 이미지만 추출합니다." + +#: ../../page.rst:1715 0b394a9a1cdd432781e149c3892753fd +msgid "**Key**" +msgstr "**키**" + +#: ../../page.rst:1715 fbef0bc7bd0342239e371f8a09466df1 +msgid "**Value**" +msgstr "**값**" + +#: ../../page.rst:1717 b0f3e604fffb45edb60c2725c31d2ee8 +msgid "number" +msgstr "" + +#: ../../page.rst:1717 0c9af015fefa4419821b69772c75b33e +msgid "block number (``int``)" +msgstr "블록 번호 (``int``)" + +#: ../../page.rst:1718 4f3a3d19faaf424191cfbea0cc3d3c5a +msgid "bbox" +msgstr "" + +#: ../../page.rst:1718 584a470c5b8b46c9a03d901abd20de42 +msgid "image bbox on page, :data:`rect_like`" +msgstr "페이지의 이미지 bbox, :data:`rect_like`" + +#: ../../page.rst:1719 6e03ad7f1d6545d09b272ee9b0a60e5d +msgid "original image width (``int``)" +msgstr "원본 이미지 너비 (``int``)" + +#: ../../page.rst:1720 1aa4ad67a68e4a0eb3b1fa083bf0b326 +msgid "height" +msgstr "" + +#: ../../page.rst:1720 f123e5d62ef44992981d5268e71fa568 +msgid "original image height (``int``)" +msgstr "원본 이미지 높이 (``int``)" + +#: ../../page.rst:1721 daea98d42fac49ae934ef380b1a9153e +msgid "cs-name" +msgstr "" + +#: ../../page.rst:1721 4f2bab526d8748728ececdba28117ef1 +msgid "colorspace name (``str``)" +msgstr "색 공간 이름 (``str``)" + +#: ../../page.rst:1722 8e5b4fa8b6ac4501b3d7714920a97883 +msgid "colorspace" +msgstr "" + +#: ../../page.rst:1722 28ca4c918d30488c91e6d3e9d3974ba1 +msgid "colorspace.n (``int``)" +msgstr "colorspace.n (``int``)" + +#: ../../page.rst:1723 f7bce3d563f84da19c5a1c3d651a71a1 +msgid "xres" +msgstr "" + +#: ../../page.rst:1723 c698d13249ff4c299622cbf37b33668f +msgid "resolution in x-direction (``int``) [#f10]_" +msgstr "x 방향 해상도 (``int``) [#f10]_" + +#: ../../page.rst:1724 c5e49fb54a5d4c2abd64840944490fd2 +msgid "yres" +msgstr "" + +#: ../../page.rst:1724 40ea45169c4349899787a90365f53c29 +msgid "resolution in y-direction (``int``) [#f10]_" +msgstr "y 방향 해상도 (``int``) [#f10]_" + +#: ../../page.rst:1725 8322aa0afc5e44408915f7d1a8fcfbdd +msgid "bpc" +msgstr "" + +#: ../../page.rst:1725 b139da1626704293b366bae2a66fbc56 +msgid "bits per component (``int``)" +msgstr "컴포넌트당 비트 수 (``int``)" + +#: ../../page.rst:1726 edb0973ea574451f875f61b6d70b6fdd +msgid "size" +msgstr "" + +#: ../../page.rst:1726 92b8e55576b74c20b3f763586e41392c +msgid "storage occupied by image (``int``)" +msgstr "이미지가 차지하는 저장 공간 (``int``)" + +#: ../../page.rst:1727 07c63cf3e2674d9a8879a1606ad72801 +msgid "digest" +msgstr "" + +#: ../../page.rst:1727 32f2d2022f344bf2bb7956c636e31b1c +msgid "MD5 hashcode (``bytes``), if ``hashes`` is true" +msgstr "MD5 해시코드 (``bytes``), ``hashes`` 가 true인 경우" + +#: ../../page.rst:1728 9d32331677b648f184a4f3736354bca0 +msgid "xref" +msgstr "" + +#: ../../page.rst:1728 d76fdfd8145041c1b583291078929259 +msgid "image :data:`xref` or 0, if *xrefs* is true" +msgstr "이미지 :data:`xref` 또는 0, *xrefs* 가 true인 경우" + +#: ../../page.rst:1729 1461121625d34ebfa9284f03a0e98873 +msgid "transform" +msgstr "" + +#: ../../page.rst:1729 0180d00af39a43f78b605b04aa54009c +msgid "matrix transforming image rect to bbox, :data:`matrix_like`" +msgstr "이미지 rect를 bbox로 변환하는 행렬, :data:`matrix_like`" + +#: ../../page.rst:1730 0c574adc2af64b0082e9d605d1cf94ea +msgid "has-mask" +msgstr "" + +#: ../../page.rst:1730 8d6fa2cf1c0f46b191e21be7fc3cccac +msgid "whether the image is transparent and has a mask (``bool``)" +msgstr "이미지가 투명하고 마스크가 있는지 여부 (``bool``)" + +#: ../../page.rst:1733 35794dcd87894fcdbc9d7a463e5775c0 +msgid "" +"Multiple occurrences of the same image are always reported. You can " +"detect duplicates by comparing their `digest` values." +msgstr "동일한 이미지의 여러 발생이 항상 보고됩니다. `digest` 값을 비교하여 중복을 감지할 수 있습니다." + +#: ../../page.rst:1737 1f46b5881eef4542b3f758f817cf98e0 +msgid "New in v1.18.11" +msgstr "*v1.18.11의 새로운 기능*" + +#: ../../page.rst:1738 c6046c345f124938ac809f67ec47f2ea +msgid "" +"Changed in v1.18.13: added image MD5 hashcode computation and " +":data:`xref` search." +msgstr "v1.18.13에서 변경됨: 이미지 MD5 해시코드 계산 및 :data:`xref` 검색 추가." + +#: ../../page.rst:1745 2819a626e264435b8e422de9b6396ad5 +msgid "" +"PDF only: Return a list of Form XObjects referenced by the page. Wrapper " +"for :meth:`Document.get_page_xobjects`." +msgstr "" +"PDF 전용: 페이지에서 참조하는 Form XObjects 목록을 반환합니다. " +":meth:`Document.get_page_xobjects` 의 래퍼입니다." + +#: ../../page.rst:1753 99a5532742734003b2bf616307a32998 +msgid "" +"PDF only: Return boundary boxes and transformation matrices of an " +"embedded image. This is an improved version of " +":meth:`Page.get_image_bbox` with the following differences:" +msgstr "" +"PDF 전용: 삽입된 이미지의 경계 상자와 변환 행렬을 반환합니다. 다음 차이점이 있는 " +":meth:`Page.get_image_bbox` 의 개선된 버전입니다:" + +#: ../../page.rst:1755 ac2fcb7261e34635ad4c75ac12af1689 +msgid "" +"There is no restriction on **how** the image is invoked (by the page or " +"one of its Form XObjects). The result is always complete and correct." +msgstr "" +"이미지가 **어떻게** 호출되는지(페이지 또는 Form XObjects 중 하나)에 대한 제한이 없습니다. 결과는 항상 완전하고 " +"정확합니다." + +#: ../../page.rst:1756 3c14d4fb99444135be6811cc8cb07f01 +msgid "" +"The result is a list of :ref:`Rect` or (:ref:`Rect`, :ref:`Matrix`) " +"objects -- depending on *transform*. Each list item represents one " +"location of the image on the page. Multiple occurrences might not be " +"detectable by :meth:`Page.get_image_bbox`." +msgstr "" +"결과는 *transform* 에 따라 :ref:`Rect` 또는 (:ref:`Rect`, :ref:`Matrix`) 객체 " +"목록입니다. 각 목록 항목은 페이지에서 이미지의 한 위치를 나타냅니다. 여러 발생은 " +":meth:`Page.get_image_bbox` 로 감지되지 않을 수 있습니다." + +#: ../../page.rst:1757 3ce396dfb45643b3a2b577396cbfc42a +msgid "" +"The method invokes :meth:`Page.get_image_info` with `xrefs=True` and " +"therefore has a noticeably longer response time than " +":meth:`Page.get_image_bbox`." +msgstr "" +"이 메서드는 `xrefs=True` 로 :meth:`Page.get_image_info` 를 호출하므로 " +":meth:`Page.get_image_bbox` 보다 응답 시간이 현저히 깁니다." + +#: ../../page.rst:1759 104a2121204c4e679a4de6d7aebc23b6 +msgid "" +"an item of the list :meth:`Page.get_images`, or the reference **name** " +"entry of such an item (item[7]), or the image :data:`xref`." +msgstr "" +":meth:`Page.get_images` 목록의 항목, 또는 해당 항목의 참조 **이름** 항목(item[7]), 또는 이미지 " +":data:`xref`." + +#: ../../page.rst:1760 97231250d677409c8bcf7f2e5b7be63a +msgid "" +"also return the matrix used to transform the image rectangle to the bbox " +"on the page. If true, then tuples `(bbox, matrix)` are returned." +msgstr "" +"이미지 사각형을 페이지의 bbox로 변환하는 데 사용된 행렬도 반환합니다. true이면 튜플 `(bbox, matrix)` 가 " +"반환됩니다." + +#: ../../page.rst:1763 02c01da8966543a7bd985e5bfd3a23fa +msgid "" +"Boundary boxes and respective transformation matrices for each image " +"occurrence on the page. If the item is not on the page, an empty list " +"`[]` is returned." +msgstr "페이지에서 각 이미지 발생에 대한 경계 상자 및 해당 변환 행렬. 항목이 페이지에 없으면 빈 목록 `[]` 이 반환됩니다." + +#: ../../page.rst:1767 333b89c3033a4043b0372cfe8b568924 +msgid "New in v1.18.13" +msgstr "*v1.18.13의 새로운 기능*" + +#: ../../page.rst:1777 e17c11e271f84b1fa49d8f8a2bb401a4 +msgid "" +"PDF only: Return boundary box and transformation matrix of an embedded " +"image." +msgstr "PDF 전용: 삽입된 이미지의 경계 상자와 변환 행렬을 반환합니다." + +#: ../../page.rst:1779 7312ee6f43d64176b708a9703bc38617 +msgid "" +"an item of the list :meth:`Page.get_images` with *full=True* specified, " +"or the reference **name** entry of such an item, which is item[-3] (or " +"item[7] respectively)." +msgstr "" +"*full=True* 로 지정된 :meth:`Page.get_images` 목록의 항목, 또는 해당 항목의 참조 **이름** " +"항목(item[-3] 또는 각각 item[7])." + +#: ../../page.rst:1780 81977283103f4a54a537b6a7cdb91386 +msgid "" +"return the matrix used to transform the image rectangle to the bbox on " +"the page (new in v1.18.11). Default is just the bbox. If true, then a " +"tuple `(bbox, matrix)` is returned." +msgstr "" +"이미지 사각형을 페이지의 bbox로 변환하는 데 사용된 행렬을 반환합니다(v1.18.11의 새로운 기능). 기본값은 " +"bbox만입니다. true이면 튜플 `(bbox, matrix)` 가 반환됩니다." + +#: ../../page.rst:1782 4cc559e506564f04af020bd45227abbd +msgid ":ref:`Rect` or (:ref:`Rect`, :ref:`Matrix`)" +msgstr "" + +#: ../../page.rst:1783 6eb9d4bf86fc4298ba39e61874715631 +msgid "" +"the boundary box of the image -- optionally also its transformation " +"matrix." +msgstr "" + +#: ../../page.rst:1783 d317d7767fdf4baca1a1c48080281ae3 +msgid "" +"the boundary box of the image -- optionally also its transformation " +"matrix." +msgstr "이미지의 경계 상자 -- 선택적으로 변환 행렬도 포함." + +#: ../../page.rst:1787 ea294faeab98449baaa5f2d6bac06e57 +msgid "" +"(Changed in v1.16.7): If the page in fact does not display this image, an" +" infinite rectangle is returned now. In previous versions, an exception " +"was raised. Formally invalid parameters still raise exceptions." +msgstr "" +"(v1.16.7에서 변경됨): 페이지가 실제로 이 이미지를 표시하지 않는 경우 이제 무한 사각형이 반환됩니다. 이전 버전에서는 " +"예외가 발생했습니다. 형식적으로 잘못된 매개변수는 여전히 예외를 발생시킵니다." + +#: ../../page.rst:1788 6af68f0315014685ad95f51cd9f03005 +msgid "" +"(Changed in v1.17.0): Only images referenced directly by the page are " +"considered. This means that images occurring in embedded PDF pages are " +"ignored and an exception is raised." +msgstr "" +"(v1.17.0에서 변경됨): 페이지에서 직접 참조하는 이미지만 고려됩니다. 이것은 삽입된 PDF 페이지에 있는 이미지는 무시되고 " +"예외가 발생함을 의미합니다." + +#: ../../page.rst:1789 59689223bb4d404b86fed8d5c6db1aaa +msgid "" +"(Changed in v1.18.5): Removed the restriction introduced in v1.17.0: any " +"item of the page's image list may be specified." +msgstr "(v1.18.5에서 변경됨): v1.17.0에서 도입된 제한 제거: 페이지의 이미지 목록의 모든 항목을 지정할 수 있습니다." + +#: ../../page.rst:1790 2c61d167570646d493cf66b7da9b6b44 +msgid "" +"(Changed in v1.18.11): Partially re-instated a restriction: only those " +"images are considered, that are either directly referenced by the page or" +" by a Form XObject directly referenced by the page." +msgstr "" +"(v1.18.11에서 변경됨): 제한을 부분적으로 재도입: 페이지에서 직접 참조하거나 페이지에서 직접 참조하는 Form " +"XObject에서 참조하는 이미지만 고려됩니다." + +#: ../../page.rst:1791 e2997fe9aa3040cb9ee18cffaaf7f009 +msgid "" +"(Changed in v1.18.11): Optionally also return the transformation matrix " +"together with the bbox as the tuple `(bbox, transform)`." +msgstr "(v1.18.11에서 변경됨): 선택적으로 bbox와 함께 변환 행렬을 튜플 `(bbox, transform)` 로 반환합니다." + +#: ../../page.rst:1797 8cc9d1b6e96c4e90b2c12d9b92e6b283 +msgid "" +"Be aware that :meth:`Page.get_images` may contain \"dead\" entries i.e. " +"images, which the page **does not display**. This is no error, but " +"intended by the PDF creator. No exception will be raised in this case, " +"but an infinite rectangle is returned. You can avoid this from happening " +"by executing :meth:`Page.clean_contents` before this method." +msgstr "" +":meth:`Page.get_images` 가 페이지가 **표시하지 않는** 이미지인 \"dead\" 항목을 포함할 수 있음을 " +"알아두세요. 이것은 오류가 아니라 PDF 작성자의 의도입니다. 이 경우 예외가 발생하지 않지만 무한 사각형이 반환됩니다. 이 메서드" +" 전에 :meth:`Page.clean_contents` 를 실행하여 이를 방지할 수 있습니다." + +#: ../../page.rst:1798 83a69e80b429439cbdd9dd466683df78 +msgid "" +"The image's \"transformation matrix\" is defined as the matrix, for which" +" the expression `bbox / transform == pymupdf.Rect(0, 0, 1, 1)` is true, " +"lookup details here: :ref:`ImageTransformation`." +msgstr "" +"이미지의 \"변환 행렬\"은 표현식 `bbox / transform == pymupdf.Rect(0, 0, 1, 1)` 이 참인 " +"행렬로 정의됩니다. 자세한 내용은 :ref:`ImageTransformation` 을 참조하세요." + +#: ../../page.rst:1802 349415b87ba948dd997d3d87247095ac +msgid "Changed in v1.18.11: return image transformation matrix" +msgstr "v1.18.11에서 변경됨: 이미지 변환 행렬 반환" + +#: ../../page.rst:1811 89bb43ebfacf40f980640179a3aff7f6 +msgid "" +"Create an SVG image from the page. Only full page images are currently " +"supported." +msgstr "페이지에서 SVG 이미지를 생성합니다. 현재는 전체 페이지 이미지만 지원됩니다." + +#: ../../page.rst:1813 e4a43470f94740d08b51e1ba9f3a160c +msgid "a matrix, default is :ref:`Identity`." +msgstr "행렬, 기본값은 :ref:`Identity` 입니다." + +#: ../../page.rst:1814 b2f8ee55a2d84526b05eb09a944cad18 +msgid "" +"-- controls how text is represented. ``True`` outputs each character as a" +" series of elementary draw commands, which leads to a more precise text " +"display in browsers, but a **very much larger** output for text-oriented " +"pages. Display quality for ``False`` relies on the presence of the " +"referenced fonts on the current system. For missing fonts, the internet " +"browser will fall back to some default -- leading to unpleasant " +"appearances. Choose ``False`` if you want to parse the text of the SVG. " +"(New in v1.17.5)" +msgstr "" +"-- 텍스트 표현 방식을 제어합니다. ``True`` 는 각 문자를 기본 그리기 명령 시리즈로 출력하여 브라우저에서 더 정확한 " +"텍스트 표시를 제공하지만 텍스트 중심 페이지의 경우 **훨씬 더 큰** 출력을 생성합니다. ``False`` 의 표시 품질은 현재 " +"시스템에 참조된 글꼴의 존재에 의존합니다. 글꼴이 없으면 인터넷 브라우저가 일부 기본값으로 대체되어 불쾌한 외관을 유발합니다. " +"SVG의 텍스트를 구문 분석하려면 ``False`` 를 선택하세요. (v1.17.5의 새로운 기능)" + +#: ../../page.rst:1816 dbc1c9ccf13c42fcb9ce7eac13c202a9 +msgid "" +"a UTF-8 encoded string that contains the image. Because SVG has XML " +"syntax it can be saved in a text file, the standard extension is `.svg`." +" .. note:: In case of a PDF, you can circumvent the \"full page image " +"only\" restriction by modifying the page's CropBox before using the " +"method." +msgstr "" + +#: ../../page.rst:1816 dee19b2cc5804be0a5d0340c5e05cf46 +msgid "" +"a UTF-8 encoded string that contains the image. Because SVG has XML " +"syntax it can be saved in a text file, the standard extension is `.svg`." +msgstr "" +"이미지를 포함하는 UTF-8 인코딩 문자열. SVG는 XML 구문을 사용하므로 텍스트 파일로 저장할 수 있으며, 표준 확장자는 " +"`.svg` 입니다." + +#: ../../page.rst:1818 092cf93cd26a4b0b87d883e43675530d +msgid "" +"In case of a PDF, you can circumvent the \"full page image only\" " +"restriction by modifying the page's CropBox before using the method." +msgstr "PDF의 경우 메서드를 사용하기 전에 페이지의 CropBox를 수정하여 \"전체 페이지 이미지만\" 제한을 우회할 수 있습니다." + +#: ../../page.rst:1830 1f0c1497189a433ebf3ba7729b8ca199 +msgid "" +"Create a pixmap from the page. This is probably the most often used " +"method to create a :ref:`Pixmap`." +msgstr "페이지에서 픽스맵을 생성합니다. 이것은 아마도 :ref:`Pixmap` 을 생성하는 가장 자주 사용되는 메서드입니다." + +#: ../../page.rst:1832 e9365773d87b437ba06039e6f437c934 +msgid "All parameters are *keyword-only.*" +msgstr "모든 매개변수는 *키워드 전용* 입니다." + +#: ../../page.rst:1834 bbfd358ca8034538866437eaff12e0e9 +msgid "default is :ref:`Identity`." +msgstr "기본값은 :ref:`Identity` 입니다." + +#: ../../page.rst:1835 fbc68083e7894692808b9aa63a89724a +msgid "" +"desired resolution in x and y direction. If not `None`, the `\"matrix\"` " +"parameter is ignored. (New in v1.19.2)" +msgstr "" +"x 및 y 방향의 원하는 해상도. `None` 이 아니면 `\"matrix\"` 매개변수가 무시됩니다. (v1.19.2의 새로운 " +"기능)" + +#: ../../page.rst:1836 4a9e415f557241c79a1f84a5cc8cb7be +msgid "" +"The desired colorspace, one of \"GRAY\", \"RGB\" or \"CMYK\" (case " +"insensitive). Or specify a :ref:`Colorspace`, ie. one of the predefined " +"ones: :data:`csGRAY`, :data:`csRGB` or :data:`csCMYK`." +msgstr "" +"원하는 색 공간, \"GRAY\", \"RGB\" 또는 \"CMYK\" 중 하나(대소문자 구분 안 함). 또는 " +":ref:`Colorspace` 를 지정하세요. 즉, 미리 정의된 것 중 하나: :data:`csGRAY`, " +":data:`csRGB` 또는 :data:`csCMYK`." + +#: ../../page.rst:1838 cc13400f2cb743308a15fa123c832e82 +msgid "" +"restrict rendering to the intersection of this area with the page's " +"rectangle." +msgstr "이 영역과 페이지 사각형의 교집합으로 렌더링을 제한합니다." + +#: ../../page.rst:1839 2cf313f7866e4e80ab402ff06c875c12 +#, python-format +msgid "" +"whether to add an alpha channel. Always accept the default ``False`` if " +"you do not really need transparency. This will save a lot of memory (25% " +"in case of RGB ... and pixmaps are typically **large**!), and also " +"processing time. Also note an **important difference** in how the image " +"will be rendered: with ``True`` the pixmap's samples area will be pre-" +"cleared with *0x00*. This results in **transparent** areas where the page" +" is empty. With ``False`` the pixmap's samples will be pre-cleared with " +"*0xff*. This results in **white** where the page has nothing to show. " +"|history_begin| Changed in v1.14.17 The default alpha value is now " +"``False``. * Generated with *alpha=True* .. image:: images/img-" +"alpha-1.* * Generated with *alpha=False* .. image:: images/img-" +"alpha-0.* |history_end|" +msgstr "" + +#: ../../page.rst:1839 cc267dfe2643423ba3c71fc24479a19e +#, python-format +msgid "" +"whether to add an alpha channel. Always accept the default ``False`` if " +"you do not really need transparency. This will save a lot of memory (25% " +"in case of RGB ... and pixmaps are typically **large**!), and also " +"processing time. Also note an **important difference** in how the image " +"will be rendered: with ``True`` the pixmap's samples area will be pre-" +"cleared with *0x00*. This results in **transparent** areas where the page" +" is empty. With ``False`` the pixmap's samples will be pre-cleared with " +"*0xff*. This results in **white** where the page has nothing to show." +msgstr "" +"알파 채널을 추가할지 여부. 투명도가 실제로 필요하지 않으면 항상 기본값 ``False`` 를 수락하세요. 이것은 많은 " +"메모리(RGB의 경우 25% ... 그리고 픽스맵은 일반적으로 **큽니다** !)와 처리 시간을 절약합니다. 또한 이미지가 " +"렌더링되는 방식의 **중요한 차이점** 을 참고하세요: ``True`` 로 픽스맵의 샘플 영역은 *0x00* 으로 미리 지워집니다." +" 이것은 페이지가 비어 있는 곳에 **투명한** 영역을 만듭니다. ``False`` 로 픽스맵의 샘플은 *0xff* 로 미리 " +"지워집니다. 이것은 페이지에 표시할 것이 없을 때 **흰색** 을 만듭니다." + +#: ../../page.rst:1853 ca4d0cff8b1c49f59d012366959158d7 +msgid "Changed in v1.14.17" +msgstr "v1.14.17에서 변경됨" + +#: ../../page.rst:1844 4ddc731a0e3f4ed9bb960db44fcba835 +msgid "The default alpha value is now ``False``." +msgstr "기본 알파 값은 이제 ``False`` 입니다." + +#: ../../page.rst:1846 dc3ac4805cad4db386110c93785c573e +msgid "Generated with *alpha=True*" +msgstr "*alpha=True* 로 생성됨" + +#: ../../page.rst:1851 80c272dddfea433ba4a5e07661cff5c0 +msgid "Generated with *alpha=False*" +msgstr "*alpha=False* 로 생성됨" + +#: ../../page.rst:1857 3eee36d56ce44e4db1a3cf72e9875331 +msgid "" +"*(new in version 1.16.0)* whether to also render annotations or to " +"suppress them. You can create pixmaps for annotations separately." +msgstr "*(버전 1.16.0의 새로운 기능)* 주석도 렌더링할지 아니면 억제할지 여부. 주석에 대한 픽스맵을 별도로 생성할 수 있습니다." + +#: ../../page.rst:1859 a3b15c577a5c4ef3ad45e3c8fca36117 +msgid ":ref:`Pixmap`" +msgstr ":ref:`Pixmap`" + +#: ../../page.rst:1860 95a5a19a18a4444a8d23700d99f3c342 +msgid "" +"Pixmap of the page. For fine-controlling the generated image, the by far " +"most important parameter is **matrix**. E.g. you can increase or decrease" +" the image resolution by using **Matrix(xzoom, yzoom)**. If zoom > 1, you" +" will get a higher resolution: zoom=2 will double the number of pixels in" +" that direction and thus generate a 2 times larger image. Non-positive " +"values will flip horizontally, resp. vertically. Similarly, matrices also" +" let you rotate or shear, and you can combine effects via e.g. matrix " +"multiplication. See the :ref:`Matrix` section to learn more." +msgstr "" +"페이지의 픽스맵. 생성된 이미지를 세밀하게 제어하려면 가장 중요한 매개변수는 **matrix** 입니다. 예를 들어 " +"**Matrix(xzoom, yzoom)** 를 사용하여 이미지 해상도를 높이거나 낮출 수 있습니다. zoom > 1이면 더 높은 " +"해상도를 얻습니다: zoom=2는 해당 방향의 픽셀 수를 두 배로 하여 2배 큰 이미지를 생성합니다. 음수가 아닌 값은 각각 수평 " +"또는 수직으로 뒤집습니다. 마찬가지로 행렬을 사용하여 회전하거나 기울일 수 있으며, 예를 들어 행렬 곱셈을 통해 효과를 결합할 수 " +"있습니다. 자세한 내용은 :ref:`Matrix` 섹션을 참조하세요." + +#: ../../page.rst:1864 ba1441832f284645bcb0cd0256d76dad +msgid "" +"The pixmap will have *\"premultiplied\"* pixels if `alpha=True`. To learn" +" about some background, e.g. look for \"Premultiplied alpha\" `here " +"`_." +msgstr "" +"`alpha=True` 이면 픽스맵은 *\"premultiplied\"* 픽셀을 가집니다. 배경에 대한 자세한 내용은 예를 들어 " +"`여기 `_ 에서 " +"\"Premultiplied alpha\"를 찾아보세요." + +#: ../../page.rst:1866 5ca95bd389a94565be97e23e53935c11 +msgid "" +"The method will respect any page rotation and will not exceed the " +"intersection of `clip` and :attr:`Page.cropbox`. If you need the page's " +"mediabox (and if this is a different rectangle), you can use a snippet " +"like the following to achieve this::" +msgstr "" +"이 메서드는 모든 페이지 회전을 존중하며 `clip` 과 :attr:`Page.cropbox` 의 교집합을 초과하지 않습니다. " +"페이지의 mediabox가 필요한 경우(그리고 이것이 다른 사각형인 경우) 다음과 같은 스니펫을 사용하여 이를 달성할 수 " +"있습니다::" + +#: ../../page.rst:1884 b9a7af8fd114451789f6475d6d413ca8 +msgid "Changed in v1.19.2: added support of parameter dpi." +msgstr "v1.19.2에서 변경됨: dpi 매개변수 지원 추가." + +#: ../../page.rst:1892 d38e45c9eb4d45188627dee99647e6b5 +msgid "" +"PDF only: return a list of the names of annotations, widgets and links. " +"Technically, these are the */NM* values of every PDF object found in the " +"page's */Annots* array." +msgstr "" +"PDF 전용: 주석, 위젯 및 링크의 이름 목록을 반환합니다. 기술적으로 이것들은 페이지의 */Annots* 배열에서 찾은 모든 " +"PDF 객체의 */NM* 값입니다." + +#: ../../page.rst:1898 4c2d49dd3d9b4a57ba7cd7543d83679a +msgid "New in v1.16.10" +msgstr "v1.16.10의 새로운 기능" + +#: ../../page.rst:1905 43b0e664a184459f8f46ced9df2e4d67 +msgid "" +"PDF only: return a list of the :data:`xref` numbers of annotations, " +"widgets and links -- technically of all entries found in the page's " +"*/Annots* array." +msgstr "" +"PDF 전용: 주석, 위젯 및 링크의 :data:`xref` 번호 목록을 반환합니다 -- 기술적으로 페이지의 */Annots* " +"배열에서 찾은 모든 항목입니다." + +#: ../../page.rst:1908 2589ec16e1d545bc804053c44f660fd6 +msgid "" +"a list of items *(xref, type)* where type is the annotation type. Use the" +" type to tell apart links, fields and annotations, see " +":ref:`AnnotationTypes`." +msgstr "" +"항목 *(xref, type)* 의 목록으로, type은 주석 타입입니다. 타입을 사용하여 링크, 필드 및 주석을 구분하세요. " +":ref:`AnnotationTypes` 참조." + +#: ../../page.rst:1912 ../../page.rst:1930 265a6dff70594e58bc37576ebd86d1c4 +#: ea22dac92d4e4deba79fc23ace95019a +msgid "New in v1.17.1" +msgstr "v1.17.1의 새로운 기능" + +#: ../../page.rst:1919 b8c4c4f249b24a629d3b0554f81f71c8 +msgid "" +"PDF only: return the annotation identified by *ident*. This may be its " +"unique name (PDF `/NM` key), or its :data:`xref`." +msgstr "" +"PDF 전용: *ident* 로 식별된 주석을 반환합니다. 이것은 고유 이름(PDF `/NM` 키) 또는 :data:`xref` 일" +" 수 있습니다." + +#: ../../page.rst:1921 99d103647d654aa99112b1f2df5fd5e1 +msgid "the annotation name or xref." +msgstr "주석 이름 또는 xref." + +#: ../../page.rst:1924 308e3cdaa90a43228e0fff6141198c14 +msgid "the annotation or ``None``." +msgstr "주석 또는 ``None``." + +#: ../../page.rst:1926 44c7aaf1a962484ab7df2f56b74b4bf1 +msgid "" +"Methods :meth:`Page.annot_names`, :meth:`Page.annot_xrefs` provide lists " +"of names or xrefs, respectively, from where an item may be picked and " +"loaded via this method." +msgstr "" +":meth:`Page.annot_names`, :meth:`Page.annot_xrefs` 메서드는 각각 이름 또는 xref 목록을" +" 제공하며, 여기서 항목을 선택하여 이 메서드를 통해 로드할 수 있습니다." + +#: ../../page.rst:1936 fd10fefbee7c437f8c7b6cf0f981510a +msgid "PDF only: return the field identified by :data:`xref`." +msgstr "PDF 전용: :data:`xref` 로 식별된 필드를 반환합니다." + +#: ../../page.rst:1938 58524de2ecc046d59b68a2c709c3271a +msgid "the field's xref." +msgstr "필드의 xref." + +#: ../../page.rst:1941 381b8423209541b7a3d58b8a6ec5db9f +msgid "the field or ``None``." +msgstr "필드 또는 ``None``." + +#: ../../page.rst:1943 4063b13ef0374b37b8d55e04944132ff +msgid "" +"This is similar to the analogous method :meth:`Page.load_annot` -- except" +" that here only the xref is supported as identifier." +msgstr "" +"이것은 유사한 메서드 :meth:`Page.load_annot` 와 유사합니다 -- 여기서는 xref만 식별자로 지원된다는 점을 " +"제외하고." + +#: ../../page.rst:1947 0438cdbc2ea6414c95089b9e09c4ceb9 +msgid "New in v1.19.6" +msgstr "v1.19.6의 새로운 기능" + +#: ../../page.rst:1953 b6f74196aeee4aacb3f2fd74011a5976 +msgid "Return the first link on a page. Synonym of property :attr:`first_link`." +msgstr "페이지의 첫 번째 링크를 반환합니다. 속성 :attr:`first_link` 의 동의어입니다." + +#: ../../page.rst:1955 ../../page.rst:2252 62cca066e58a4a0ab79f7377e948f7c3 +#: d31c53af7516446089fd6f651872dcff +msgid ":ref:`Link`" +msgstr ":ref:`Link`" + +#: ../../page.rst:1956 4fb357ed0a6846cda5965057b49118d2 +msgid "first link on the page (or ``None``)." +msgstr "페이지의 첫 번째 링크(또는 ``None``)." + +#: ../../page.rst:1963 6e189460d0b4477dbf6f24a618d34e32 +msgid "PDF only: Set the rotation of the page." +msgstr "PDF 전용: 페이지의 회전을 설정합니다." + +#: ../../page.rst:1965 b1f53a50a11149e5b93cd14e3b018bb8 +msgid "" +"An integer specifying the required rotation in degrees. Must be an " +"integer multiple of 90. Values will be converted to one of 0, 90, 180, " +"270." +msgstr "필요한 회전을 도 단위로 지정하는 정수. 90의 정수 배수여야 합니다. 값은 0, 90, 180, 270 중 하나로 변환됩니다." + +#: ../../page.rst:1969 652124939d40408f83082ee8d73b98f6 +msgid "PDF only: Change the colorspace components of all objects on page." +msgstr "PDF 전용: 페이지의 모든 객체의 색 공간 컴포넌트를 변경합니다." + +#: ../../page.rst:1971 4bb3cbbc9e6a4173bba15172194856ef +msgid "" +"The desired count of color components. Must be one of 1, 3 or 4, which " +"results in color spaces DeviceGray, DeviceRGB or DeviceCMYK respectively." +" The method affects text, images and vector graphics. For instance, with " +"the default value 1, a page will be converted to grayscale. If a page is " +"already grayscale, the method will not cause visible changes -- " +"independent of the value of ``components``." +msgstr "" +"원하는 색상 컴포넌트 수. 1, 3 또는 4 중 하나여야 하며, 각각 색 공간 DeviceGray, DeviceRGB 또는 " +"DeviceCMYK를 생성합니다. 이 메서드는 텍스트, 이미지 및 벡터 그래픽에 영향을 줍니다. 예를 들어, 기본값 1을 사용하면 " +"페이지가 그레이스케일로 변환됩니다. 페이지가 이미 그레이스케일인 경우 이 메서드는 ``components`` 값과 관계없이 눈에 " +"보이는 변경을 일으키지 않습니다." + +#: ../../page.rst:1973 483d3d2a28a64e1db8c84814f5b62553 +msgid "These changes are **permanent** and cannot be reverted." +msgstr "이러한 변경 사항은 **영구적** 이며 되돌릴 수 없습니다." + +#: ../../page.rst:1977 49b350e20d564e5ca4be60761eebd7f6 +msgid "" +"PDF only: Permanently remove page content outside the given rectangle. " +"This is similar to :meth:`Page.set_cropbox`, but the page's rectangle " +"will not be changed, only the content outside the rectangle will be " +"removed." +msgstr "" +"PDF 전용: 주어진 사각형 외부의 페이지 콘텐츠를 영구적으로 제거합니다. 이것은 :meth:`Page.set_cropbox` 와 " +"유사하지만, 페이지의 사각형은 변경되지 않고 사각형 외부의 콘텐츠만 제거됩니다." + +#: ../../page.rst:1979 bf753e463def4992b7ab3a5cba587ab6 +msgid "" +"The rectangle to clip to. Must be finite and its intersection with the " +"page must not be empty." +msgstr "클리핑할 사각형. 유한해야 하며 페이지와의 교집합이 비어 있지 않아야 합니다." + +#: ../../page.rst:1981 da1c632880b442c599ff83e02a1fee53 +msgid "" +"The method works best for text: All text on the page will be removed " +"(decided by single character) that has no intersection with the " +"rectangle. For vector graphics, the method will remove all paths that " +"have no intersection with the rectangle. For images, the method will " +"remove all images that have no intersection with the rectangle. Vectors " +"and images **having** an intersection with the rectangle, will be kept in" +" their entirety." +msgstr "" +"이 메서드는 텍스트에 가장 잘 작동합니다: 사각형과 교집합이 없는 페이지의 모든 텍스트가 제거됩니다(단일 문자로 결정). 벡터 " +"그래픽의 경우 이 메서드는 사각형과 교집합이 없는 모든 경로를 제거합니다. 이미지의 경우 이 메서드는 사각형과 교집합이 없는 모든 " +"이미지를 제거합니다. 사각형과 **교집합이 있는** 벡터 및 이미지는 전체가 유지됩니다." + +#: ../../page.rst:1983 ebdf3ebf7ffa4ae5897bfc0c9e729577 +msgid "" +"The method roughly has the same effect as if four redactions had been " +"applied that cover the rectangle's outside." +msgstr "이 메서드는 사각형 외부를 덮는 네 개의 교정이 적용된 것과 거의 동일한 효과를 가집니다." + +#: ../../page.rst:1985 5834a8e7d537400cb60453c1d4852b9a +msgid "New in v1.26.4." +msgstr "v1.26.4의 새로운 기능." + +#: ../../page.rst:1989 0cee26002f6742f798ab8e2f8ded9df9 +msgid "" +"PDF only: Set page rotation to 0 while maintaining appearance and page " +"content." +msgstr "PDF 전용: 외관과 페이지 콘텐츠를 유지하면서 페이지 회전을 0으로 설정합니다." + +#: ../../page.rst:1991 1239f6e2692a4bd99008c859cfdc9938 +msgid "" +"The inverted matrix used to achieve this change. If the page was not " +"rotated (rotation 0), :ref:`Identity` is returned. The method " +"automatically recomputes the rectangles of any annotations, links and " +"widgets present on the page. This method may come in handy when e.g. " +"used with :meth:`Page.show_pdf_page`." +msgstr "" + +#: ../../page.rst:1991 6382757f31774362bd5db92ac43822e7 +msgid "" +"The inverted matrix used to achieve this change. If the page was not " +"rotated (rotation 0), :ref:`Identity` is returned. The method " +"automatically recomputes the rectangles of any annotations, links and " +"widgets present on the page." +msgstr "" +"이 변경을 달성하는 데 사용된 역행렬. 페이지가 회전되지 않은 경우(회전 0), :ref:`Identity` 가 반환됩니다. 이 " +"메서드는 페이지에 있는 모든 주석, 링크 및 위젯의 사각형을 자동으로 다시 계산합니다." + +#: ../../page.rst:1993 1325f276d0764aac8a21e6d99585710b +msgid "" +"This method may come in handy when e.g. used with " +":meth:`Page.show_pdf_page`." +msgstr "이 메서드는 예를 들어 :meth:`Page.show_pdf_page` 와 함께 사용할 때 유용할 수 있습니다." + +#: ../../page.rst:2003 8dc74477058c480eb73af8efa28193fc +msgid "" +"PDF only: Display a page of another PDF. This is similar to " +":meth:`Page.insert_image` but the source page will appear like a copy of " +"itself and will not be rasterized. This is a multi-purpose method. For " +"example, you can use it to:" +msgstr "" +"PDF 전용: 다른 PDF의 페이지를 표시합니다. 이것은 :meth:`Page.insert_image` 와 유사하지만 소스 페이지는" +" 자체의 복사본처럼 나타나며 래스터화되지 않습니다. 이것은 다목적 메서드입니다. 예를 들어, 다음에 사용할 수 있습니다:" + +#: ../../page.rst:2005 354740c7f18a43a986458b228303b6d6 +msgid "" +"create \"n-up\" versions of existing PDF files, combining several input " +"pages into **one output page** (see example `combine.py " +"`_)," +msgstr "" +"기존 PDF 파일의 \"n-up\" 버전 생성, 여러 입력 페이지를 **하나의 출력 페이지** 로 결합(예제 `combine.py " +"`_ 참조)," + +#: ../../page.rst:2006 783780442f794f0cb6359372ce4d1fb5 +msgid "" +"create \"posterized\" PDF files, i.e. every input page is split up in " +"parts which each create a separate output page (see `posterize.py " +"`_)," +msgstr "" +"\"포스터화된\" PDF 파일 생성, 즉 모든 입력 페이지가 여러 부분으로 분할되어 각각 별도의 출력 페이지를 생성(예제 " +"`posterize.py `_ 참조)," + +#: ../../page.rst:2007 cf10ad7db3454757a6226b1377e0f6b6 +msgid "" +"include PDF-based vector images like company logos, watermarks, etc., see" +" `svg-logo.py `_, which puts an SVG-based " +"logo on each page." +msgstr "" +"회사 로고, 워터마크 등과 같은 PDF 기반 벡터 이미지 포함, 각 페이지에 SVG 기반 로고를 배치하는 `svg-logo.py " +"`_ 참조." + +#: ../../page.rst:2009 33c0c00be5d74048bed44c2ebe78831d +msgid "" +"where to place the image on current page. Must be finite and its " +"intersection with the page must not be empty." +msgstr "현재 페이지에 이미지를 배치할 위치. 유한해야 하며 페이지와의 교집합이 비어 있지 않아야 합니다." + +#: ../../page.rst:2010 71c6cc3da72244c483db1f62fe33d794 +msgid "" +"source PDF document containing the page. Must be a different document " +"object, but may be the same file." +msgstr "페이지를 포함하는 소스 PDF 문서. 다른 문서 객체여야 하지만 동일한 파일일 수 있습니다." + +#: ../../page.rst:2013 adf70c9bce3a4133b9ffdde0c8e97b40 +msgid "page number (0-based, in `-∞ < pno < docsrc.page_count`) to be shown." +msgstr "표시할 페이지 번호(0 기반, `-∞ < pno < docsrc.page_count`)." + +#: ../../page.rst:2015 d14eefd61c384956a207b09f9ad3c383 +msgid "" +"whether to maintain the width-height-ratio (default). If false, all 4 " +"corners are always positioned on the border of the target rectangle -- " +"whatever the rotation value. In general, this will deliver distorted and " +"/or non-rectangular images." +msgstr "" +"너비-높이 비율을 유지할지 여부(기본값). false이면 회전 값과 관계없이 4개의 모서리가 모두 대상 사각형의 경계에 배치됩니다." +" 일반적으로 이것은 왜곡되고/또는 비사각형 이미지를 제공합니다." + +#: ../../page.rst:2017 aa72d9ab8817411da2f050b7e23bcde4 +msgid "put image in foreground (default) or background." +msgstr "이미지를 전경(기본값) 또는 배경에 배치합니다." + +#: ../../page.rst:2019 eeb052672cb248acaaffb0046bf42971 +msgid "" +"(:data:`xref`) make visibility dependent on this :data:`OCG` / " +":data:`OCMD` (which must be defined in the target PDF) [#f9]_. (New in " +"v1.18.3)" +msgstr "" +"(:data:`xref`) 이 :data:`OCG` / :data:`OCMD` 에 따라 가시성을 설정합니다(대상 PDF에 정의되어 " +"있어야 함) [#f9]_. (v1.18.3의 새로운 기능)" + +#: ../../page.rst:2020 96f5420198ff41f89a8c3094e8910629 +msgid "" +"show the source rectangle rotated by some angle. Any angle is supported " +"(changed in v1.14.11). (New in v1.14.10)" +msgstr "" +"소스 사각형을 특정 각도로 회전하여 표시합니다. 모든 각도가 지원됩니다(v1.14.11에서 변경됨). (v1.14.10의 새로운 " +"기능)" + +#: ../../page.rst:2022 d52ff41f1cd14e97a0c6a6dad3d809dd +msgid "" +"choose which part of the source page to show. Default is the full page, " +"else must be finite and its intersection with the source page must not be" +" empty." +msgstr "" +"소스 페이지의 어느 부분을 표시할지 선택합니다. 기본값은 전체 페이지이며, 그렇지 않으면 유한해야 하며 소스 페이지와의 교집합이 " +"비어 있지 않아야 합니다." + +#: ../../page.rst:2024 3aef8119e20e4ffa8d394518498d43af +msgid "" +"In contrast to method :meth:`Document.insert_pdf`, this method does not " +"copy annotations, widgets or links, so these objects are not included in " +"the target [#f6]_. But all its **other resources (text, images, fonts, " +"etc.)** will be imported into the current PDF. They will therefore appear" +" in text extractions and in :meth:`get_fonts` and :meth:`get_images` " +"lists -- even if they are not contained in the visible area given by " +"*clip*." +msgstr "" +":meth:`Document.insert_pdf` 메서드와 달리 이 메서드는 주석, 위젯 또는 링크를 복사하지 않으므로 이러한 " +"객체는 대상에 포함되지 않습니다 [#f6]_. 하지만 모든 **기타 리소스(텍스트, 이미지, 글꼴 등)** 는 현재 PDF로 " +"가져옵니다. 따라서 *clip* 으로 지정된 보이는 영역에 포함되지 않더라도 텍스트 추출 및 :meth:`get_fonts` 및 " +":meth:`get_images` 목록에 나타납니다." + +#: ../../page.rst:2026 5fba7277847b4bc793310bd2e3feece9 +msgid "Example: Show the same source page, rotated by 90 and by -90 degrees:" +msgstr "예제: 동일한 소스 페이지를 90도 및 -90도로 회전하여 표시:" + +#: ../../page.rst:2048 073d99851b794037a8e8f80aed9a6844 +msgid "" +"Changed in v1.14.11: Parameter *reuse_xref* has been deprecated. Position" +" the source rectangle centered in target rectangle. Any rotation angle is" +" now supported." +msgstr "" +"v1.14.11에서 변경됨: 매개변수 *reuse_xref* 가 더 이상 사용되지 않습니다. 소스 사각형을 대상 사각형의 중앙에 " +"배치합니다. 이제 모든 회전 각도가 지원됩니다." + +#: ../../page.rst:2049 5c783c076ae74e24ac1476998953fa6e +msgid "Changed in v1.18.3: New parameter `oc`." +msgstr "v1.18.3에서 변경됨: 새로운 매개변수 `oc`." + +#: ../../page.rst:2055 0e3799b8dc0a45ee9cc3f0fa9ed0c555 +msgid "PDF only: Create a new :ref:`Shape` object for the page." +msgstr "PDF 전용: 페이지에 대한 새로운 :ref:`Shape` 객체를 생성합니다." + +#: ../../page.rst:2057 1836989d75f0407e86fc7a982cdc99f3 +msgid ":ref:`Shape`" +msgstr ":ref:`Shape`" + +#: ../../page.rst:2058 846397e4abdf4c3b8e63573909076603 +msgid "a new :ref:`Shape` to use for compound drawings. See description there." +msgstr "복합 그림에 사용할 새로운 :ref:`Shape`. 설명을 참조하세요." + +#: ../../page.rst:2069 582bc47d92404cacb9f37e4455d4e925 +msgid "Search for *needle* on a page. Wrapper for :meth:`TextPage.search`." +msgstr "페이지에서 *needle* 을 검색합니다. :meth:`TextPage.search` 의 래퍼입니다." + +#: ../../page.rst:2071 8f30cc4067374cefb36176bc93c7b187 +msgid "" +"Text to search for. May contain spaces. Upper / lower case is ignored, " +"but only works for ASCII characters: For example, \"COMPÉTENCES\" will " +"not be found if needle is \"compétences\" -- \"compÉtences\" however " +"will. Similar is true for German umlauts and the like." +msgstr "" +"검색할 텍스트. 공백을 포함할 수 있습니다. 대소문자는 무시되지만 ASCII 문자에만 작동합니다: 예를 들어, " +"\"COMPÉTENCES\" 는 needle이 \"compétences\" 인 경우 찾을 수 없습니다 -- 하지만 " +"\"compÉtences\" 는 찾을 수 있습니다. 독일어 움라우트 등도 마찬가지입니다." + +#: ../../page.rst:2072 be9d1f75e4d94af6afd2298e0fcb0d1a +msgid "only search within this area. (New in v1.18.2)" +msgstr "이 영역 내에서만 검색합니다. (v1.18.2의 새로운 기능)" + +#: ../../page.rst:2073 b4532cd56fb245689ebfe2ad1520d06f +msgid "Return object type :ref:`Quad` instead of :ref:`Rect`." +msgstr ":ref:`Rect` 대신 :ref:`Quad` 객체 타입을 반환합니다." + +#: ../../page.rst:2074 fba71b85626a46759cf1e3a4ca5991f5 +msgid "" +"Control the data extracted by the underlying :ref:`TextPage`. By default," +" ligatures and white spaces are kept, and hyphenation [#f8]_ is detected." +msgstr "" +"기본 :ref:`TextPage` 에 의해 추출된 데이터를 제어합니다. 기본적으로 합자와 공백이 유지되며 하이픈 연결 [#f8]_ " +"이 감지됩니다." + +#: ../../page.rst:2075 411c63769a4848319b2cf5c0a356fe7a +msgid "" +"use a previously created :ref:`TextPage`. This reduces execution time " +"**significantly.** If specified, the 'flags' and 'clip' arguments are " +"ignored. If omitted, a temporary textpage will be created. (New in " +"v1.19.0)" +msgstr "" +"이전에 생성된 :ref:`TextPage` 를 사용합니다. 이것은 실행 시간을 **크게** 줄입니다. 지정하면 'flags' 및 " +"'clip' 인수는 무시됩니다. 생략하면 임시 textpage가 생성됩니다. (v1.19.0의 새로운 기능)" + +#: ../../page.rst:2079 720c33ce38fd4b22963ec128ce4a00bb +msgid "" +"A list of :ref:`Rect` or :ref:`Quad` objects, each of which -- " +"**normally!** -- surrounds one occurrence of *needle*. **However:** if " +"parts of *needle* occur on more than one line, then a separate item is " +"generated for each these parts. So, if `needle = \"search string\"`, two " +"rectangles may be generated. |history_begin| Changes in v1.18.2: * " +"There no longer is a limit on the list length (removal of the `hit_max` " +"parameter). * If a word is **hyphenated** at a line break, it will still " +"be found. E.g. the needle \"method\" will be found even if hyphenated as " +"\"meth-od\" at a line break, and two rectangles will be returned: one " +"surrounding \"meth\" (without the hyphen) and another one surrounding " +"\"od\". |history_end|" +msgstr "" + +#: ../../page.rst:2081 f8d208e58858471b8f92953db79f51c3 +msgid "" +"A list of :ref:`Rect` or :ref:`Quad` objects, each of which -- " +"**normally!** -- surrounds one occurrence of *needle*. **However:** if " +"parts of *needle* occur on more than one line, then a separate item is " +"generated for each these parts. So, if `needle = \"search string\"`, two " +"rectangles may be generated." +msgstr "" +":ref:`Rect` 또는 :ref:`Quad` 객체의 목록으로, 각각은 -- **일반적으로!** -- *needle* 의 한 " +"발생을 둘러쌉니다. **하지만:** *needle* 의 일부가 여러 줄에 나타나면 각 부분에 대해 별도의 항목이 생성됩니다. 따라서" +" `needle = \"search string\"` 인 경우 두 개의 사각형이 생성될 수 있습니다." + +#: ../../page.rst:2085 dbb74981c75a4e0fad63c8a853f37af2 +msgid "Changes in v1.18.2:" +msgstr "v1.18.2의 변경 사항:" + +#: ../../page.rst:2087 fe75a9fa204c408d9bec7cc0681e818b +msgid "" +"There no longer is a limit on the list length (removal of the `hit_max` " +"parameter)." +msgstr "목록 길이에 더 이상 제한이 없습니다(`hit_max` 매개변수 제거)." + +#: ../../page.rst:2088 31766ebe188f4ee1ae221104e2508841 +msgid "" +"If a word is **hyphenated** at a line break, it will still be found. E.g." +" the needle \"method\" will be found even if hyphenated as \"meth-od\" at" +" a line break, and two rectangles will be returned: one surrounding " +"\"meth\" (without the hyphen) and another one surrounding \"od\"." +msgstr "" +"단어가 줄바꿈에서 **하이픈으로 연결** 되어 있어도 여전히 찾을 수 있습니다. 예를 들어, needle \"method\" 는 " +"줄바꿈에서 \"meth-od\" 로 하이픈 연결되어 있어도 찾을 수 있으며, 두 개의 사각형이 반환됩니다: 하나는 \"meth\" " +"(하이픈 없이)를 둘러싸고 다른 하나는 \"od\" 를 둘러쌉니다." + +#: ../../page.rst:2092 77b9f7f5f65e44048049b365e391fb62 +msgid "" +"The method supports multi-line text marker annotations: you can use the " +"full returned list as **one single** parameter for creating the " +"annotation." +msgstr "" +"이 메서드는 다중 줄 텍스트 마커 주석을 지원합니다: 반환된 전체 목록을 주석을 생성하기 위한 **단일** 매개변수로 사용할 수 " +"있습니다." + +#: ../../page.rst:2096 57554cf44857462a93fa6f8911265cf5 +msgid "" +"There is a tricky aspect: the search logic regards **contiguous multiple " +"occurrences** of *needle* as one: assuming *needle* is \"abc\", and the " +"page contains \"abc\" and \"abcabc\", then only **two** rectangles will " +"be returned, one for \"abc\", and a second one for \"abcabc\"." +msgstr "" +"까다로운 측면이 있습니다: 검색 로직은 *needle* 의 **연속된 여러 발생** 을 하나로 간주합니다: *needle* 이 " +"\"abc\" 이고 페이지에 \"abc\" 와 \"abcabc\" 가 포함된 경우, **두 개의** 사각형만 반환됩니다. 하나는 " +"\"abc\" 에 대한 것이고 두 번째는 \"abcabc\" 에 대한 것입니다." + +#: ../../page.rst:2097 abecd36837344b119db60f93d69e4ab5 +msgid "" +"You can always use :meth:`Page.get_textbox` to check what text actually " +"is being surrounded by each rectangle." +msgstr ":meth:`Page.get_textbox` 를 사용하여 각 사각형이 실제로 어떤 텍스트를 둘러싸고 있는지 확인할 수 있습니다." + +#: ../../page.rst:2099 ae4dd62d990f45049a3d1efab5f6aad6 +msgid "" +"A feature repeatedly asked for is supporting **regular expressions** when" +" specifying the `\"needle\"` string: **There is no way to do this.** If " +"you need something in that direction, first extract text in the desired " +"format and then subselect the result by matching with some regex pattern." +" Here is an example for matching words::" +msgstr "" +"반복적으로 요청된 기능은 `\"needle\"` 문자열을 지정할 때 **정규 표현식** 을 지원하는 것입니다: **이것을 수행할 " +"방법이 없습니다.** 그런 방향이 필요하다면, 먼저 원하는 형식으로 텍스트를 추출한 다음 일부 정규식 패턴과 일치시켜 결과를 하위 " +"선택하세요. 단어를 일치시키는 예제는 다음과 같습니다::" + +#: ../../page.rst:2105 6d2d34e353264e1ca0fc568527af9a70 +msgid "" +"The `matches` list will contain the words matching the given pattern. In " +"the same way you can select `span[\"text\"]` from the output of " +"`page.get_text(\"dict\")`." +msgstr "" +"`matches` 목록에는 주어진 패턴과 일치하는 단어가 포함됩니다. 같은 방식으로 `page.get_text(\"dict\")` " +"의 출력에서 `span[\"text\"]` 를 선택할 수 있습니다." + +#: ../../page.rst:2109 498f8aa809b649cc87bf0051b213dcaa +msgid "" +"Changed in v1.18.2: added `clip` parameter. Remove `hit_max` parameter. " +"Add default \"dehyphenate\"." +msgstr "v1.18.2에서 변경됨: `clip` 매개변수 추가. `hit_max` 매개변수 제거. 기본값 \"dehyphenate\" 추가." + +#: ../../page.rst:2110 20246746300244b382c5d8a1c9d4126a +msgid "Changed in v1.19.0: added `textpage` parameter." +msgstr "v1.19.0에서 변경됨: `textpage` 매개변수 추가." + +#: ../../page.rst:2117 2692c3f033cf4f2f805f6a7112f70898 +msgid "" +"PDF only: Change the physical page dimension by setting :data:`mediabox` " +"in the page's object definition." +msgstr "PDF 전용: 페이지 객체 정의에서 :data:`mediabox` 를 설정하여 물리적 페이지 크기를 변경합니다." + +#: ../../page.rst:2119 a9b2bf70f6b74517aa540d6e83f7bea9 +msgid "the new :data:`mediabox` value." +msgstr "새로운 :data:`mediabox` 값." + +#: ../../page.rst:2121 7a6526b2c64d4e3a9bd927b363722d6d +msgid "" +"This method also removes the page's other (optional) rectangles " +"(:data:`cropbox`, ArtBox, TrimBox and Bleedbox) to prevent inconsistent " +"situations. This will cause those to assume their default values." +msgstr "" +"이 메서드는 일관성 없는 상황을 방지하기 위해 페이지의 다른 (선택적) 사각형(:data:`cropbox`, ArtBox, " +"TrimBox 및 Bleedbox)도 제거합니다. 이것은 그것들이 기본값을 가정하도록 합니다." + +#: ../../page.rst:2123 1ab3183f788442cb82b31ca3e697cd7d +msgid "" +"For non-empty pages this may have undesired effects, because the location" +" of all content depends on this value and will therefore change position " +"or even disappear." +msgstr "" +"비어 있지 않은 페이지의 경우 이것은 원하지 않는 효과를 가질 수 있습니다. 모든 콘텐츠의 위치가 이 값에 의존하므로 위치가 " +"변경되거나 사라질 수 있기 때문입니다." + +#: ../../page.rst:2127 2db1401ccd4e4c978f4a0b50365f8a62 +msgid "New in v1.16.13" +msgstr "v1.16.13의 새로운 기능" + +#: ../../page.rst:2128 9f33ae9d37ea49a9af0f2276c2df8490 +msgid "Changed in v1.19.4: remove all other rectangle definitions." +msgstr "v1.19.4에서 변경됨: 모든 다른 사각형 정의 제거." + +#: ../../page.rst:2135 e2267e65404e4f89b3f1d7032048a1b9 +msgid "PDF only: change the visible part of the page." +msgstr "PDF 전용: 페이지의 보이는 부분을 변경합니다." + +#: ../../page.rst:2137 26dafb91ce2c4c86b79422d5065a7ff1 +msgid "" +"the new visible area of the page. Note that this **must** be specified in" +" **unrotated coordinates**, not empty, nor infinite and be completely " +"contained in the :attr:`Page.mediabox`." +msgstr "" +"페이지의 새로운 보이는 영역. 이것은 **회전되지 않은 좌표** 로 지정되어야 하며, 비어 있지 않고 무한하지 않으며 " +":attr:`Page.mediabox` 에 완전히 포함되어야 합니다." + +#: ../../page.rst:2139 1a4ce62ae3164bf9b7d5867e0d15da9f +msgid "" +"After execution **(if the page is not rotated)**, :attr:`Page.rect` will " +"equal this rectangle, but be shifted to the top-left position (0, 0) if " +"necessary. Example session:" +msgstr "" +"실행 후 **(페이지가 회전되지 않은 경우)**, :attr:`Page.rect` 는 이 사각형과 같지만 필요하면 왼쪽 상단 위치 " +"(0, 0)로 이동합니다. 예제 세션:" + +#: ../../page.rst:2170 487d3f62d0154c43b809962cb834db02 +msgid "" +"PDF only: Set the resp. rectangle in the page object. For the meaning of " +"these objects see :ref:`AdobeManual`, page 77. Parameter and restrictions" +" are the same as for :meth:`Page.set_cropbox`." +msgstr "" +"PDF 전용: 페이지 객체에서 해당 사각형을 설정합니다. 이러한 객체의 의미는 :ref:`AdobeManual`, 77페이지를 " +"참조하세요. 매개변수와 제한 사항은 :meth:`Page.set_cropbox` 와 동일합니다." + +#: ../../page.rst:2174 84db1fa5172f42269728027e803083b4 +msgid "New in v1.19.4" +msgstr "v1.19.4의 새로운 기능" + +#: ../../page.rst:2180 f499b299e1a344c192594e6c3347536f +msgid "" +"Contains the rotation of the page in degrees (always 0 for non-PDF " +"types). This is a copy of the value in the PDF file. The PDF " +"documentation says:" +msgstr "" +"페이지의 회전을 도 단위로 포함합니다(비-PDF 타입의 경우 항상 0). 이것은 PDF 파일의 값 복사본입니다. PDF 문서에 " +"따르면:" + +#: ../../page.rst:2182 40609a90d7294c4386d6b38c137de2e7 +msgid "" +"*\"The number of degrees by which the page should be rotated clockwise " +"when displayed or printed. The value must be a multiple of 90. Default " +"value: 0.\"*" +msgstr "*\"표시되거나 인쇄될 때 페이지가 시계 방향으로 회전해야 하는 도 수. 값은 90의 배수여야 합니다. 기본값: 0.\"*" + +#: ../../page.rst:2184 ef02a9bf2df247b79809ffaceff1c539 +msgid "" +"In PyMuPDF, we make sure that this attribute is always one of 0, 90, 180 " +"or 270." +msgstr "PyMuPDF에서는 이 속성이 항상 0, 90, 180 또는 270 중 하나가 되도록 합니다." + +#: ../../page.rst:2190 217c654874984e38be9562d0c4b8b436 +msgid "" +"Contains the top-left point of the page's `/CropBox` for a PDF, otherwise" +" *Point(0, 0)*." +msgstr "PDF의 경우 페이지의 `/CropBox` 의 왼쪽 상단 점을 포함하고, 그렇지 않으면 *Point(0, 0)*." + +#: ../../page.rst:2192 ../../page.rst:2216 82507dc59ca94b3aa9846470ca6093c8 +#: db796a2e28a84eb0a59bac3ca1348f7b +msgid ":ref:`Point`" +msgstr ":ref:`Point`" + +#: ../../page.rst:2196 51b3952c0e0a4489b270e2f2b48c55fb +msgid "" +"The page's `/CropBox` for a PDF. Always the **unrotated** page rectangle " +"is returned. For a non-PDF this will always equal the page rectangle." +msgstr "" +"PDF의 경우 페이지의 `/CropBox`. 항상 **회전되지 않은** 페이지 사각형이 반환됩니다. 비-PDF의 경우 이것은 항상 " +"페이지 사각형과 같습니다." + +#: ../../page.rst:2198 33482f994ea2453f977561ad97c6e4c0 +msgid "" +"In PDF, the relationship between `/MediaBox`, `/CropBox` and page " +"rectangle may sometimes be confusing, please do lookup the glossary for " +":data:`MediaBox`." +msgstr "" +"PDF에서 `/MediaBox`, `/CropBox` 및 페이지 사각형 간의 관계는 때때로 혼란스러울 수 있으므로 " +":data:`MediaBox` 에 대한 용어집을 참조하세요." + +#: ../../page.rst:2208 79b7c13fa8f340dca2a19eb7ce19481c +msgid "" +"The page's `/ArtBox`, `/BleedBox`, `/TrimBox`, respectively. If not " +"provided, defaulting to :attr:`Page.cropbox`." +msgstr "" +"페이지의 `/ArtBox`, `/BleedBox`, `/TrimBox` 각각. 제공되지 않은 경우 " +":attr:`Page.cropbox` 로 기본값이 설정됩니다." + +#: ../../page.rst:2214 527ae95e018f4a37824ed8a2e6e720a7 +msgid "" +"Contains the width and height of the page's :attr:`Page.mediabox` for a " +"PDF, otherwise the bottom-right coordinates of :attr:`Page.rect`." +msgstr "" +"PDF의 경우 페이지의 :attr:`Page.mediabox` 의 너비와 높이를 포함하고, 그렇지 않으면 " +":attr:`Page.rect` 의 오른쪽 하단 좌표를 포함합니다." + +#: ../../page.rst:2220 df54f6f570c14da0b9f75f4d3cd19aea +msgid "The page's :data:`mediabox` for a PDF, otherwise :attr:`Page.rect`." +msgstr "PDF의 경우 페이지의 :data:`mediabox`, 그렇지 않으면 :attr:`Page.rect`." + +#: ../../page.rst:2224 58641a6d613248a5a15705b030d9f4cc +msgid "" +"For most PDF documents and for **all other document types**, `page.rect " +"== page.cropbox == page.mediabox` is true. However, for some PDFs the " +"visible page is a true subset of :data:`mediabox`. Also, if the page is " +"rotated, its `Page.rect` may not equal `Page.cropbox`. In these cases the" +" above attributes help to correctly locate page elements." +msgstr "" +"대부분의 PDF 문서와 **모든 다른 문서 타입** 의 경우 `page.rect == page.cropbox == " +"page.mediabox` 가 참입니다. 하지만 일부 PDF의 경우 보이는 페이지는 :data:`mediabox` 의 " +"진부분집합입니다. 또한 페이지가 회전된 경우 `Page.rect` 는 `Page.cropbox` 와 같지 않을 수 있습니다. 이러한" +" 경우 위의 속성은 페이지 요소를 올바르게 찾는 데 도움이 됩니다." + +#: ../../page.rst:2228 691c2b38aaf24491808a5a3aa6056d75 +msgid "" +"This matrix translates coordinates from the PDF space to the MuPDF space." +" For example, in PDF `/Rect [x0 y0 x1 y1]` the pair (x0, y0) specifies " +"the **bottom-left** point of the rectangle -- in contrast to MuPDF's " +"system, where (x0, y0) specify top-left. Multiplying the PDF coordinates " +"with this matrix will deliver the (Py-) MuPDF rectangle version. " +"Obviously, the inverse matrix will again yield the PDF rectangle." +msgstr "" +"이 행렬은 좌표를 PDF 공간에서 MuPDF 공간으로 변환합니다. 예를 들어, PDF에서 `/Rect [x0 y0 x1 y1]` 의" +" 쌍 (x0, y0)은 사각형의 **왼쪽 하단** 점을 지정합니다 -- MuPDF 시스템과 대조적으로, 여기서 (x0, y0)는 " +"왼쪽 상단을 지정합니다. PDF 좌표에 이 행렬을 곱하면 (Py-) MuPDF 사각형 버전을 제공합니다. 명백히, 역행렬은 다시 " +"PDF 사각형을 생성합니다." + +#: ../../page.rst:2230 ../../page.rst:2246 19d6b8bfeb41482fb77511189c87cadb +#: a708f233bdde4cdaa04aa4ba41af32ed +msgid ":ref:`Matrix`" +msgstr ":ref:`Matrix`" + +#: ../../page.rst:2236 619ad68a91444dbda5559a50e7b18870 +msgid "" +"These matrices may be used for dealing with rotated PDF pages. When " +"adding / inserting anything to a PDF page, the coordinates of the " +"**unrotated** page are always used. These matrices help translating " +"between the two states. Example: if a page is rotated by 90 degrees -- " +"what would then be the coordinates of the top-left Point(0, 0) of an A4 " +"page?" +msgstr "" +"이 행렬은 회전된 PDF 페이지를 처리하는 데 사용할 수 있습니다. PDF 페이지에 무언가를 추가/삽입할 때 **회전되지 않은** " +"페이지의 좌표가 항상 사용됩니다. 이 행렬은 두 상태 간의 변환을 돕습니다. 예: 페이지가 90도 회전된 경우 -- A4 페이지의 " +"왼쪽 상단 Point(0, 0)의 좌표는 무엇일까요?" + +#: ../../page.rst:2250 ddbabcc453ad4c789405db548087aed7 +msgid "Contains the first :ref:`Link` of a page (or ``None``)." +msgstr "페이지의 첫 번째 :ref:`Link` 를 포함합니다(또는 ``None``)." + +#: ../../page.rst:2256 8e9b0966949b4b89a06b7c70c1e622fc +msgid "Contains the first :ref:`Annot` of a page (or ``None``)." +msgstr "페이지의 첫 번째 :ref:`Annot` 를 포함합니다(또는 ``None``)." + +#: ../../page.rst:2262 8a8e6bd51e1b49d68dc68901f8520cc0 +msgid "Contains the first :ref:`Widget` of a page (or ``None``)." +msgstr "페이지의 첫 번째 :ref:`Widget` 를 포함합니다(또는 ``None``)." + +#: ../../page.rst:2268 f1f4e48ddb894011aaba58e324077d17 +msgid "The page number." +msgstr "페이지 번호." + +#: ../../page.rst:2274 598a6f8e2b214784be2c4567bd665784 +msgid "The owning document object." +msgstr "소유 문서 객체." + +#: ../../page.rst:2276 fc47bb5d9a384a25988d0005179384a0 +msgid ":ref:`Document`" +msgstr ":ref:`Document`" + +#: ../../page.rst:2281 903928ce2b2d4d85b69ddd0c2953a6cd +msgid "" +"Contains the rectangle of the page. Same as result of " +":meth:`Page.bound()`." +msgstr "" + +#: ../../page.rst:2287 db6b044e10064b77a399ca9bf5685897 +msgid "The page's PDF :data:`xref`. Zero if not a PDF." +msgstr "페이지의 PDF :data:`xref`. PDF가 아니면 0입니다." + +#: ../../page.rst:2296 65a9c883c60a4f44bbd31db4bb74e649 +msgid "Description of *get_links()* Entries" +msgstr "*get_links()* 엔트리 설명" + +#: ../../page.rst:2297 b1b03f14b2234cd59a58aa04d3f31962 +msgid "" +"Each entry of the :meth:`Page.get_links` list is a dictionary with the " +"following keys:" +msgstr "" +":meth:`Page.get_links` 리스트의 각 엔트리는 다음 키를 가진 딕셔너리입니다:" + +#: ../../page.rst:2299 345a52ebe41749919aa7099360b3523d +msgid "" +"*kind*: (required) an integer indicating the kind of link. This is one " +"of *LINK_NONE*, *LINK_GOTO*, *LINK_GOTOR*, *LINK_LAUNCH*, or *LINK_URI*. " +"For values and meaning of these names refer to :ref:`linkDest Kinds`." +msgstr "" +"*kind*: (필수) 링크 종류를 나타내는 정수. 이것은 *LINK_NONE*, *LINK_GOTO*, *LINK_GOTOR*, *LINK_LAUNCH* 또는 *LINK_URI* 중 하나입니다. 이러한 이름의 값과 의미는 :ref:`linkDest Kinds` 를 참조하세요." + +#: ../../page.rst:2301 8482a0ea9b60495a97834603a7ea0896 +msgid "" +"*from*: (required) a :ref:`Rect` describing the \"hot spot\" location on" +" the page's visible representation (where the cursor changes to a hand " +"image, usually)." +msgstr "" +"*from*: (필수) 페이지의 보이는 표현에서 \"핫 스팟\" 위치를 설명하는 :ref:`Rect` (일반적으로 커서가 손 이미지로 변경되는 위치)." + +#: ../../page.rst:2303 67493fe07fbb4e2b991f920c746ec961 +msgid "" +"*page*: a 0-based integer indicating the destination page. Required for " +"*LINK_GOTO* and *LINK_GOTOR*, else ignored." +msgstr "" +"*page*: 대상 페이지를 나타내는 0 기반 정수. *LINK_GOTO* 및 *LINK_GOTOR* 에 필요하며, 그렇지 않으면 무시됩니다." + +#: ../../page.rst:2305 80ba8c8c6a844419bb7b03b9b096f0cc +msgid "" +"*to*: either a *pymupdf.Point*, specifying the destination location on " +"the provided page, default is *pymupdf.Point(0, 0)*, or a symbolic " +"(indirect) name. If an indirect name is specified, *page = -1* is " +"required and the name must be defined in the PDF in order for this to " +"work. Required for *LINK_GOTO* and *LINK_GOTOR*, else ignored." +msgstr "" +"*to*: 제공된 페이지의 대상 위치를 지정하는 *pymupdf.Point* (기본값은 *pymupdf.Point(0, 0)*) 또는 기호(간접) 이름. 간접 이름이 지정되면 *page = -1* 이 필요하며 이 이름이 작동하려면 PDF에 정의되어 있어야 합니다. *LINK_GOTO* 및 *LINK_GOTOR* 에 필요하며, 그렇지 않으면 무시됩니다." + +#: ../../page.rst:2307 e3a21fa1d4b54847a47036cdb423d96f +msgid "" +"*file*: a string specifying the destination file. Required for " +"*LINK_GOTOR* and *LINK_LAUNCH*, else ignored." +msgstr "" +"*file*: 대상 파일을 지정하는 문자열. *LINK_GOTOR* 및 *LINK_LAUNCH* 에 필요하며, 그렇지 않으면 무시됩니다." + +#: ../../page.rst:2309 f1058b6ba67e46c2ad73d8fc9842241f +msgid "" +"*uri*: a string specifying the destination internet resource. Required " +"for *LINK_URI*, else ignored. You should make sure to start this string " +"with an unambiguous substring, that classifies the subtype of the URL, " +"like `\"http://\"`, `\"https://\"`, `\"file://\"`, `\"ftp://\"`, " +"`\"mailto:\"`, etc. Otherwise your browser will try to interpret the text" +" and come to unwanted / unexpected conclusions about the intended URL " +"type." +msgstr "" +"*uri*: 대상 인터넷 리소스를 지정하는 문자열. *LINK_URI* 에 필요하며, 그렇지 않으면 무시됩니다. URL의 하위 타입을 분류하는 명확한 하위 문자열로 이 문자열을 시작해야 합니다. 예: `\"http://\"`, `\"https://\"`, `\"file://\"`, `\"ftp://\"`, `\"mailto:\"` 등. 그렇지 않으면 브라우저가 텍스트를 해석하려고 시도하고 의도한 URL 타입에 대해 원하지 않거나 예상치 못한 결론에 도달할 수 있습니다." + +#: ../../page.rst:2311 fb92e47c1bcc495899578761acc32d09 +msgid "" +":data:`xref`: an integer specifying the PDF :data:`xref` of the link " +"object. Do not change this entry in any way. Required for link deletion " +"and update, otherwise ignored. For non-PDF documents, this entry contains" +" *-1*. It is also *-1* for **all** entries in the *get_links()* list, if " +"**any** of the links is not supported by MuPDF - see " +":ref:`notes_on_supporting_links`." +msgstr "" +":data:`xref`: 링크 객체의 PDF :data:`xref` 를 지정하는 정수. 이 항목을 어떤 방식으로도 변경하지 마세요. 링크 삭제 및 업데이트에 필요하며, 그렇지 않으면 무시됩니다. 비PDF 문서의 경우 이 항목은 *-1* 을 포함합니다. MuPDF에서 지원하지 않는 링크가 **하나라도** 있으면 *get_links()* 리스트의 **모든** 엔트리에 대해 *-1* 입니다 - :ref:`notes_on_supporting_links` 를 참조하세요." + +#: ../../page.rst:2316 5433fcbb259a455c9591df3957b3a3f8 +msgid "Notes on Supporting Links" +msgstr "링크 지원에 대한 참고사항" + +#: ../../page.rst:2317 7408ebdf3c5c461f90ea45dc48374e34 +msgid "" +"MuPDF's support for links has changed in **v1.10a**. These changes affect" +" link types :data:`LINK_GOTO` and :data:`LINK_GOTOR`." +msgstr "" +"MuPDF의 링크 지원이 **v1.10a** 에서 변경되었습니다. 이러한 변경 사항은 링크 타입 :data:`LINK_GOTO` 및 :data:`LINK_GOTOR` 에 영향을 줍니다." + +#: ../../page.rst:2320 64771c6af29e451a9594551d29b5f876 +msgid "" +"Reading (pertains to method *get_links()* and the *first_link* property " +"chain)" +msgstr "" +"읽기 (*get_links()* 메서드 및 *first_link* 속성 체인과 관련)" + +#: ../../page.rst:2322 d23361bc3a824ef0bdd6ab8d1998480b +msgid "" +"If MuPDF detects a link to another file, it will supply either a " +"*LINK_GOTOR* or a *LINK_LAUNCH* link kind. In case of *LINK_GOTOR* " +"destination details may either be given as page number (eventually " +"including position information), or as an indirect destination." +msgstr "" +"MuPDF가 다른 파일에 대한 링크를 감지하면 *LINK_GOTOR* 또는 *LINK_LAUNCH* 링크 종류를 제공합니다. *LINK_GOTOR* 의 경우 대상 세부 정보는 페이지 번호(최종적으로 위치 정보 포함) 또는 간접 대상으로 제공될 수 있습니다." + +#: ../../page.rst:2324 5cc576ca82454037a175c38f660477ee +msgid "" +"If an indirect destination is given, then this is indicated by *page = " +"-1*, and *link.dest.dest* will contain this name. The dictionaries in the" +" *get_links()* list will contain this information as the *to* value." +msgstr "" +"간접 대상이 제공되면 이것은 *page = -1* 로 표시되며, *link.dest.dest* 에 이 이름이 포함됩니다. *get_links()* 리스트의 딕셔너리는 이 정보를 *to* 값으로 포함합니다." + +#: ../../page.rst:2326 0a44a885ed1c4110bb98fa9f94783d3a +msgid "" +"**Internal links are always** of kind *LINK_GOTO*. If an internal link " +"specifies an indirect destination, it **will always be resolved** and the" +" resulting direct destination will be returned. Names are **never " +"returned for internal links**, and undefined destinations will cause the " +"link to be ignored." +msgstr "" +"**내부 링크는 항상** *LINK_GOTO* 종류입니다. 내부 링크가 간접 대상을 지정하면 **항상 해결** 되며 결과적인 직접 대상이 반환됩니다. 이름은 **내부 링크에 대해 절대 반환되지 않으며**, 정의되지 않은 대상은 링크가 무시되도록 합니다." + +#: ../../page.rst:2329 364ae5f61f534e0cb85fe46e668d9750 +msgid "Writing" +msgstr "작성" + +#: ../../page.rst:2331 b3e125859d70416e8b18693ae72bc7c2 +msgid "" +"PyMuPDF writes (updates, inserts) links by constructing and writing the " +"appropriate PDF object **source**. This makes it possible to specify " +"indirect destinations for *LINK_GOTOR* **and** *LINK_GOTO* link kinds " +"(pre *PDF 1.2* file formats are **not supported**)." +msgstr "" +"|PyMuPDF| 는 적절한 PDF 객체 **소스** 를 구성하고 작성하여 링크를 작성(업데이트, 삽입)합니다. 이것은 *LINK_GOTOR* **및** *LINK_GOTO* 링크 종류에 대해 간접 대상을 지정할 수 있게 합니다(*PDF 1.2* 이전 파일 형식은 **지원되지 않습니다**)." + +#: ../../page.rst:2333 e852dc9617584ee58517aec2dc16cf16 +msgid "" +"If a *LINK_GOTO* indirect destination specifies an undefined name, this " +"link can later on not be found / read again with MuPDF / PyMuPDF. Other " +"readers however **will** detect it, but flag it as erroneous." +msgstr "" +"*LINK_GOTO* 간접 대상이 정의되지 않은 이름을 지정하면 이 링크는 나중에 MuPDF / PyMuPDF 로 찾거나 다시 읽을 수 없습니다. 그러나 다른 리더는 **감지** 하지만 오류로 표시합니다." + +#: ../../page.rst:2335 3f1aee12b6824cf3b031cec169329f4a +msgid "" +"Indirect *LINK_GOTOR* destinations can in general of course not be " +"checked for validity and are therefore **always accepted**." +msgstr "" +"간접 *LINK_GOTOR* 대상은 일반적으로 유효성을 확인할 수 없으므로 **항상 수락됩니다**." + +#: ../../page.rst:2337 a64fd9e78538459790a5e2a2c922d4ef +msgid "" +"**Example: How to insert a link pointing to another page in the same " +"document**" +msgstr "" +"**예제: 동일한 문서의 다른 페이지를 가리키는 링크를 삽입하는 방법**" + +#: ../../page.rst:2339 66099395d24e4c07956dd70ca3e49b6d +msgid "" +"Determine the rectangle on the current page, where the link should be " +"placed. This may be the bbox of an image or some text." +msgstr "" +"링크가 배치될 현재 페이지의 사각형을 결정합니다. 이것은 이미지 또는 일부 텍스트의 bbox일 수 있습니다." + +#: ../../page.rst:2341 eee66e0a08254b82833fe8c4bfea4c53 +msgid "" +"Determine the target page number (\"pno\", 0-based) and a :ref:`Point` on" +" it, where the link should be directed to." +msgstr "" +"대상 페이지 번호(\"pno\", 0 기반)와 링크가 향해야 할 그 위의 :ref:`Point` 를 결정합니다." + +#: ../../page.rst:2343 11f4142d175a4fb6b17070fcf3363118 +#, python-brace-format +msgid "" +"Create a dictionary `d = {\"kind\": pymupdf.LINK_GOTO, \"page\": pno, " +"\"from\": bbox, \"to\": point}`." +msgstr "" +"딕셔너리 `d = {\"kind\": pymupdf.LINK_GOTO, \"page\": pno, \"from\": bbox, \"to\": point}` 를 생성합니다." + +#: ../../page.rst:2345 a4dcca662bf242b3a856fe37acc0d604 +msgid "Execute `page.insert_link(d)`." +msgstr "`page.insert_link(d)` 를 실행합니다." + +#: ../../page.rst:2349 0382665d56da4efb9be9ff4a73c4d746 +msgid "Homologous Methods of :ref:`Document` and :ref:`Page`" +msgstr ":ref:`Document` 및 :ref:`Page` 의 동종 메서드" + +#: ../../page.rst:2350 e4415ec94f5448acbc079d4818b17baf +msgid "" +"This is an overview of homologous methods on the :ref:`Document` and on " +"the :ref:`Page` level." +msgstr "" +"이것은 :ref:`Document` 및 :ref:`Page` 수준의 동종 메서드 개요입니다." + +#: ../../page.rst:2353 3ccac822355b4b54b940ed847bdcb0df +msgid "**Document Level**" +msgstr "**문서 수준**" + +#: ../../page.rst:2353 19b869eaaf114813a8abeb080e8aadd8 +msgid "**Page Level**" +msgstr "**페이지 수준**" + +#: ../../page.rst:2355 e34587fd22b444f19d97e569757aced3 +msgid ":meth:`Document.get_page_fonts`" +msgstr ":meth:`Document.get_page_fonts`" + +#: ../../page.rst:2356 9d5b4df7acc4415ca81db0fa50cdbc3a +msgid ":meth:`Document.get_page_images`" +msgstr ":meth:`Document.get_page_images`" + +#: ../../page.rst:2357 643565d4b5fb4159a0c4f6cb6eae52f1 +msgid ":meth:`Document.get_page_pixmap`" +msgstr ":meth:`Document.get_page_pixmap`" + +#: ../../page.rst:2358 27b5577e8ff349ec8f0978b9cb964b62 +msgid ":meth:`Document.get_page_text`" +msgstr ":meth:`Document.get_page_text`" + +#: ../../page.rst:2359 d901c33d20334d828b2167e39d71168c +msgid ":meth:`Document.search_page_for`" +msgstr ":meth:`Document.search_page_for`" + +#: ../../page.rst:2364 6719d58820ca4cbfb5fc796c06e1e36c +msgid "" +"Most document methods (left column) exist for convenience reasons, and " +"are just wrappers for: *Document[pno].*. So they **load and " +"discard the page** on each execution." +msgstr "" +"대부분의 문서 메서드(왼쪽 열)는 편의를 위해 존재하며, *Document[pno].* 의 래퍼일 뿐입니다. 따라서 각 실행마다 **페이지를 로드하고 버립니다**." + +#: ../../page.rst:2366 5ce80e9cea8e4daea36d8f585ac861c3 +msgid "" +"However, the first two methods work differently. They only need a page's " +"object definition statement - the page itself will **not** be loaded. So " +"e.g. :meth:`Page.get_fonts` is a wrapper the other way round and defined " +"as follows: `page.get_fonts` == " +"`page.parent.get_page_fonts(page.number)`." +msgstr "" +"그러나 처음 두 메서드는 다르게 작동합니다. 페이지의 객체 정의 문장만 필요하며 - 페이지 자체는 **로드되지 않습니다**. 따라서 예를 들어 :meth:`Page.get_fonts` 는 반대 방향의 래퍼이며 다음과 같이 정의됩니다: `page.get_fonts` == `page.parent.get_page_fonts(page.number)`." + +#: ../../page.rst:2369 8622914e93ee422e8ed1fb18a52b3757 +msgid "" +"When calling the :ref:`Document` equivalent methods then the page number " +"is sent through as a parameter, e.g.:" +msgstr "" +":ref:`Document` 동등 메서드를 호출할 때 페이지 번호가 매개변수로 전달됩니다, 예:" + +#: ../../page.rst:2371 6841df7218244a1dbd5c84d575bf0c61 +msgid "`Document.get_page_images(pno)` or `Document.get_page_text(pno)`" +msgstr "`Document.get_page_images(pno)` 또는 `Document.get_page_text(pno)`" + +#: ../../page.rst:2375 9f0d6803a3b34da2a35934a9f4067f2f +msgid "" +"The page number parameter, ``pno``, is a 0-based integer `-∞ < pno < " +"page_count`." +msgstr "" +"페이지 번호 매개변수 ``pno`` 는 0 기반 정수 `-∞ < pno < page_count` 입니다." + +#: ../../page.rst:2382 c7a27a60878d4c9681777a0657f5bfea +msgid "Tables and Related Classes" +msgstr "테이블 및 관련 클래스" + +#: ../../page.rst:2384 c3180e51a3bd4b778434ca0ae6c63d89 +msgid "" +"The `TableFinder` class is returned by :meth:`Page.find_tables` and has " +"related classes as follows:" +msgstr "" +"`TableFinder` 클래스는 :meth:`Page.find_tables` 에 의해 반환되며 다음과 같은 관련 클래스가 있습니다:" + +#: ../../page.rst:2389 64a011721da24744a543ab64c5a17f12 +msgid "" +"An object always returned by :meth:`Page.find_tables`. Attributes of " +"interest:" +msgstr "" +":meth:`Page.find_tables` 에 의해 항상 반환되는 객체. 관심 있는 속성:" + +#: ../../page.rst:2393 d2d360b0c7714f6eb39099281199a836 +msgid "" +"A list of :class:`Table` objects, each of which represents a table found " +"on the page. An empty list if no tables are found." +msgstr "" +":class:`Table` 객체의 리스트로, 각각 페이지에서 찾은 테이블을 나타냅니다. 테이블을 찾지 못하면 빈 리스트입니다." + +#: ../../page.rst:2397 00907877ee1e4ab88a27a827ca45fd8d +msgid "A reference to the :ref:`Page` object." +msgstr ":ref:`Page` 객체에 대한 참조." + +#: ../../page.rst:2399 ../../page.rst:2411 4b46496341814f40addafebc3415c77d +#: 6ccafe77babf49dda8f24e0fd508264d +msgid ":ref:`Page`" +msgstr ":ref:`Page`" + +#: ../../page.rst:2404 43201788a0d84d56b0b5c860766e84e2 +msgid "An object representing a table found on the page." +msgstr "페이지에서 찾은 테이블을 나타내는 객체." + +#: ../../page.rst:2409 e91dd9e61a4844e68986275924bd2cd4 +msgid "A back-reference to the owning page." +msgstr "소유 페이지에 대한 역참조." + +#: ../../page.rst:2415 820b3e94587549d5b34a3b7f1991677f +msgid "An array of `Rect` objects for each cell in the table." +msgstr "테이블의 각 셀에 대한 `Rect` 객체 배열." + +#: ../../page.rst:2417 ../../page.rst:2454 ../../page.rst:2461 +#: ../../page.rst:2498 ../../page.rst:2504 5fc25f510ea64ee1a073674ebe19775f +#: 72a07ac5bc354429ba5e23029d97a6b2 7a63d658f0414ce6a03dc5da7b6480e6 +#: bd6ad1e8c71041faa53508d47736847a d1886569c90349efbb3e43f245bb097b +msgid "list" +msgstr "list" + +#: ../../page.rst:2422 56c6a33a1012473d92478e6bf2c37fc1 +msgid "A `TableHeader` object." +msgstr "`TableHeader` 객체." + +#: ../../page.rst:2424 4469b33c46164b4db72edb980ccb08a5 +msgid "`TableHeader`" +msgstr "`TableHeader`" + +#: ../../page.rst:2429 add249adfc084030b7eee6e9fb5a5a89 +msgid "The bounding box of all cells of the table header." +msgstr "테이블 헤더의 모든 셀의 경계 상자." + +#: ../../page.rst:2438 2981f68aea22477086cc06adb314548f +msgid "Number of rows in the table." +msgstr "테이블의 행 수." + +#: ../../page.rst:2445 0d4f1e4b0c1541b9b30b52975b603789 +msgid "Number of columns in the table." +msgstr "테이블의 열 수." + +#: ../../page.rst:2452 532d63f6689e48f08800ad2c8933c45c +msgid "An array of `TableRow` objects for each row in the table." +msgstr "테이블의 각 행에 대한 `TableRow` 객체 배열." + +#: ../../page.rst:2459 deb8a6d99ed24f249ad4d0d4fb8a73b4 +msgid "Extracts table cell text data into a list." +msgstr "테이블 셀 텍스트 데이터를 리스트로 추출합니다." + +#: ../../page.rst:2465 75472d11e66d46b78b281cabdde38c94 +msgid "Extracts table data into Markdown text format." +msgstr "테이블 데이터를 Markdown 텍스트 형식으로 추출합니다." + +#: ../../page.rst:2468 468354dc37774ae7aba42d9a80c27100 +msgid "If ``True`` then markdown syntax is removed from cell content." +msgstr "``True`` 이면 셀 콘텐츠에서 markdown 구문이 제거됩니다." + +#: ../../page.rst:2469 aaa9083f16584794b6e61a2d29bfc670 +msgid "" +"If ``True`` then cell content `None` is replaced by the values above " +"(columns) or left (rows) in an effort to approximate row and columns " +"spans." +msgstr "" +"``True`` 이면 셀 콘텐츠 `None` 이 행 및 열 스팬을 근사화하기 위해 위(열) 또는 왼쪽(행)의 값으로 대체됩니다." + +#: ../../page.rst:2472 7a34d01dee7e4826a33b05a0a8bca9cc +msgid "string" +msgstr "string" + +#: ../../page.rst:2477 7562b710618a431c97aaa09d4f4b34a6 +msgid "" +"Return a `pandas DataFrame `_ " +"`DataFrame `_ " +"version of the table." +msgstr "" +"테이블의 `pandas DataFrame `_ `DataFrame `_ 버전을 반환합니다." + +#: ../../page.rst:2479 231c710e2ccf4932a300678886594ca6 +msgid "pandas DataFrame" +msgstr "pandas DataFrame" + +#: ../../page.rst:2486 d3ce63902e7f477893ea546d16ae6490 +msgid "Dedicated class for table headers." +msgstr "테이블 헤더를 위한 전용 클래스." + +#: ../../page.rst:2490 84e64f2efb644e2b821f471755bc37da +msgid "" +"The bounding box of the union of cells belonging to the table header, " +"given as a tuple (x0, y0, x1, y1). This rectangle contains all table " +"header cells." +msgstr "" +"테이블 헤더에 속하는 셀의 합집합의 경계 상자로, 튜플 (x0, y0, x1, y1)로 제공됩니다. 이 사각형은 모든 테이블 헤더 셀을 포함합니다." + +#: ../../page.rst:2496 8f36b12f2fe14dbd8d044038a58b9af6 +msgid "A list of tuples for each bbox of a column header." +msgstr "각 열 헤더의 bbox에 대한 튜플 리스트." + +#: ../../page.rst:2502 9f497b636e214ba0ab62649bdbe7787f +msgid "A list of strings with column header text." +msgstr "열 헤더 텍스트가 있는 문자열 리스트." + +#: ../../page.rst:2508 ae8dc88588404f08b28f6531661b7c8e +msgid "A boolean indicating whether the header is outside the table cells." +msgstr "헤더가 테이블 셀 밖에 있는지 여부를 나타내는 불리언." + +#: ../../page.rst:2510 d3b5a1c6519e465e89e91926ae0aea3c +msgid "`bool`" +msgstr "`bool`" + +#: ../../page.rst:2515 45925d07fc014a9a99de73f5c477ac73 +msgid "Dedicated class for table rows." +msgstr "테이블 행을 위한 전용 클래스." + +#: ../../page.rst:2522 4f1b3b275c9c4913ab0f3b3cfbbec93b +msgid "Footnotes" +msgstr "각주" + +#: ../../page.rst:2523 35b460330e4249f49081cee02ccc6687 +msgid "" +"If your existing code already uses the installed base name as a font " +"reference (as it was supported by PyMuPDF versions earlier than 1.14), " +"this will continue to work." +msgstr "" +"기존 코드가 이미 설치된 기본 이름을 폰트 참조로 사용하는 경우(1.14 이전 |PyMuPDF| 버전에서 지원되었던 것처럼), 이것은 계속 작동합니다." + +#: ../../page.rst:2525 1f07318c687247dabdd707f1eaccb7bf +msgid "" +"Not all PDF reader software (including internet browsers and office " +"software) display all of these fonts. And if they do, the difference " +"between the **serifed** and the **non-serifed** version may hardly be " +"noticeable. But serifed and non-serifed versions lead to different " +"installed base fonts, thus providing an option to be displayable with " +"your specific PDF viewer." +msgstr "" +"모든 PDF 리더 소프트웨어(인터넷 브라우저 및 오피스 소프트웨어 포함)가 이러한 모든 폰트를 표시하는 것은 아닙니다. 표시하더라도 **세리프** 및 **비세리프** 버전 간의 차이는 거의 눈에 띄지 않을 수 있습니다. 하지만 세리프 및 비세리프 버전은 다른 설치된 기본 폰트로 이어지므로 특정 PDF 뷰어에서 표시 가능한 옵션을 제공합니다." + +#: ../../page.rst:2527 d9d100e5a3b64091a183af6296efa37c +msgid "" +"Not all PDF readers display these fonts at all. Some others do, but use a" +" wrong character spacing, etc." +msgstr "" +"모든 PDF 리더가 이러한 폰트를 표시하는 것은 아닙니다. 일부는 표시하지만 잘못된 문자 간격 등을 사용합니다." + +#: ../../page.rst:2529 35028b7ef49143b4816821764f1b95cf +msgid "" +"You are generally free to choose any of the :ref:`mupdficons` you " +"consider adequate." +msgstr "" +"일반적으로 적절하다고 생각하는 :ref:`mupdficons` 중 하나를 자유롭게 선택할 수 있습니다." + +#: ../../page.rst:2531 5b91f7ee061349e9ab8627329a680560 +msgid "" +"The previous algorithm caused images to be **shrunk** to this " +"intersection. Now the image can be anywhere on :attr:`Page.mediabox`, " +"potentially being invisible or only partially visible if the cropbox " +"(representing the visible page part) is smaller." +msgstr "" +"이전 알고리즘은 이미지를 이 교차점으로 **축소** 시켰습니다. 이제 이미지는 :attr:`Page.mediabox` 의 어디에나 있을 수 있으며, cropbox(보이는 페이지 부분을 나타냄)가 더 작으면 보이지 않거나 부분적으로만 보일 수 있습니다." + +#: ../../page.rst:2533 bb430f8f65514d70b8096713c386f20f +msgid "" +"If you need to also see annotations or fields in the target page, you can" +" convert the source PDF using :meth:`Document.bake`. The underlying MuPDF" +" function of that method will convert these objects to normal page " +"content. Then use :meth:`Page.show_pdf_page` with the converted PDF page." +msgstr "" +"대상 페이지에서 주석이나 필드도 보려면 :meth:`Document.bake` 를 사용하여 소스 PDF를 변환할 수 있습니다. 해당 메서드의 기본 MuPDF 함수는 이러한 객체를 일반 페이지 콘텐츠로 변환합니다. 그런 다음 변환된 PDF 페이지와 함께 :meth:`Page.show_pdf_page` 를 사용하세요." + +#: ../../page.rst:2535 77c93b6fd9f24046b632e932a9401d83 +msgid "" +"In PDF, an area enclosed by some lines or curves can have a property " +"called \"orientation\". This is significant for switching on or off the " +"fill color of that area when there exist multiple area overlaps - see " +"discussion in method :meth:`Shape.finish` using the \"non-zero winding " +"number\" rule. While orientation of curves, quads, triangles and other " +"shapes enclosed by lines always was detectable, this has been impossible " +"for \"re\" (rectangle) items in the past. Adding the orientation " +"parameter now delivers the missing information." +msgstr "" +"PDF에서 일부 선이나 곡선으로 둘러싸인 영역은 \"orientation\"(방향)이라는 속성을 가질 수 있습니다. 이것은 여러 영역이 겹칠 때 해당 영역의 채우기 색상을 켜거나 끄는 데 중요합니다 - \"non-zero winding number\" 규칙을 사용하는 :meth:`Shape.finish` 메서드의 논의를 참조하세요. 선으로 둘러싸인 곡선, 사각형, 삼각형 및 기타 모양의 방향은 항상 감지 가능했지만, 과거에는 \"re\"(사각형) 항목에 대해 이것이 불가능했습니다. orientation 매개변수를 추가하면 이제 누락된 정보를 제공합니다." + +#: ../../page.rst:2537 5b3e04359c58461c9c342889056d8ac3 +msgid "" +"Hyphenation detection simply means that if the last character of a line " +"is \"-\", it will be assumed to be a continuation character. That " +"character will not be found by text searching with its default flag " +"setting. Please take note, that a MuPDF *line* may not always be what you" +" expect: words separated by overly large gaps (e.g. caused by text " +"justification) may constitute separate MuPDF lines. If then any of these " +"words ends with a hyphen, it will only be found by text searching if " +"hyphenation is switched off." +msgstr "" +"하이픈 감지는 단순히 줄의 마지막 문자가 \"-\"이면 연속 문자로 간주된다는 의미입니다. 해당 문자는 기본 플래그 설정으로 텍스트 검색에서 찾을 수 없습니다. MuPDF *line* 이 항상 예상하는 것과 같지 않을 수 있습니다: 과도하게 큰 간격(예: 텍스트 정당화로 인한)으로 구분된 단어는 별도의 MuPDF 줄을 구성할 수 있습니다. 그러면 이러한 단어 중 하나가 하이픈으로 끝나면 하이픈이 꺼져 있을 때만 텍스트 검색에서 찾을 수 있습니다." + +#: ../../page.rst:2539 d8f8e96dd085414a812fda2806633c43 +msgid "" +"Objects inside the source page, like images, text or drawings, are never " +"aware of whether their owning page now is under OC control inside the " +"target PDF. If source page objects are OC-controlled in the source PDF, " +"then this will not be retained on the target: they will become " +"unconditionally visible." +msgstr "" +"소스 페이지 내의 객체(이미지, 텍스트 또는 그림 등)는 소유 페이지가 대상 PDF 내에서 OC 제어 하에 있는지 여부를 절대 인식하지 않습니다. 소스 페이지 객체가 소스 PDF에서 OC 제어되는 경우 이것은 대상에서 유지되지 않습니다: 무조건 표시됩니다." + +#: ../../page.rst:2541 ce46471c609a4a6182a93a337f577978 +msgid "" +"This value is always 96, the default of the PDF interpreter. It **does " +"not reflect** the resolution of the image itself. If you need the image's" +" resolution, use the :meth:`Pixmap.xres` and :meth:`Pixmap.yres` " +"attributes of the :ref:`Pixmap` created from the image binary." +msgstr "" +"이 값은 항상 96이며 PDF 인터프리터의 기본값입니다. 이것은 **이미지 자체의 해상도를 반영하지 않습니다**. 이미지의 해상도가 필요하면 이미지 바이너리에서 생성된 :ref:`Pixmap` 의 :meth:`Pixmap.xres` 및 :meth:`Pixmap.yres` 속성을 사용하세요." + +#: ../../footer.rst:57 48ae480fd42d45a79c92e95ead866afc +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/pixmap.mo b/docs/locales/ko/LC_MESSAGES/pixmap.mo new file mode 100644 index 000000000..f1942cd69 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/pixmap.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/pixmap.po b/docs/locales/ko/LC_MESSAGES/pixmap.po new file mode 100644 index 000000000..ae436925a --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/pixmap.po @@ -0,0 +1,1826 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 77cdad9d379a4a459fb8f61a5126752b +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 32cc68ce63c240bdb7a2fdfe4d927af7 +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 db64d0baaca745e7910c08e63ef36441 +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" + +#: ../../pixmap.rst:7 e0494509a30b4c1991cc5e57de63e15b +msgid "Pixmap" +msgstr "Pixmap" + +#: ../../pixmap.rst:9 32dd6915408a408ea1d9db1812927e46 +msgid "" +"Pixmaps (\"pixel maps\") are objects at the heart of MuPDF's rendering " +"capabilities. They represent plane rectangular sets of pixels. Each pixel" +" is described by a number of bytes (\"components\") defining its color, " +"plus an optional alpha byte defining its transparency." +msgstr "픽스맵(\"pixel maps\")은 MuPDF의 렌더링 기능의 핵심 객체입니다. 평면 사각형 픽셀 집합을 나타냅니다. 각 픽셀은 색상을 정의하는 여러 바이트(\"components\")와 투명도를 정의하는 선택적 알파 바이트로 설명됩니다." + +#: ../../pixmap.rst:11 0ae7623584d34b0793a6b1689e2e9ff9 +msgid "" +"In PyMuPDF, there exist several ways to create a pixmap. Except the first" +" one, all of them are available as overloaded constructors. A pixmap can " +"be created ..." +msgstr "PyMuPDF에서는 픽스맵을 생성하는 여러 방법이 있습니다. 첫 번째를 제외하고 모두 오버로드된 생성자로 사용할 수 있습니다. 픽스맵은 다음에서 생성할 수 있습니다..." + +#: ../../pixmap.rst:13 73ba045692a74b84a13ce27f369588ef +msgid "from a document page (method :meth:`Page.get_pixmap`)" +msgstr "문서 페이지에서 (메서드 :meth:`Page.get_pixmap`)" + +#: ../../pixmap.rst:14 d9db8727d6f34c5ea67a95212b48a901 +msgid "empty, based on :ref:`Colorspace` and :ref:`IRect` information" +msgstr ":ref:`Colorspace` 및 :ref:`IRect` 정보를 기반으로 빈 픽스맵" + +#: ../../pixmap.rst:15 3bd37a5d119449b79b2df8e6183899b2 +msgid "from a file" +msgstr "파일에서" + +#: ../../pixmap.rst:16 6c2ae5d2cf9e4e9c8a85876940ac2c65 +msgid "from an in-memory image" +msgstr "메모리 내 이미지에서" + +#: ../../pixmap.rst:17 985854117e77421ab5c08305ad9a7ebc +msgid "from a memory area of plain pixels" +msgstr "일반 픽셀의 메모리 영역에서" + +#: ../../pixmap.rst:18 51817c0b224a4d79becc251812e52d59 +msgid "from an image inside a PDF document" +msgstr "PDF 문서 내의 이미지에서" + +#: ../../pixmap.rst:19 c50a8dabd5de4315af9f49bd6f4e3300 +msgid "as a copy of another pixmap" +msgstr "다른 픽스맵의 복사본으로" + +#: ../../pixmap.rst:21 a40603d11eae465f98c51d914e3f60f0 +msgid "" +"A number of image formats is supported as input for points 3. and 4. " +"above. See section :ref:`ImageFiles`." +msgstr "위의 3번과 4번 항목에 대한 입력으로 여러 이미지 형식이 지원됩니다. :ref:`ImageFiles` 섹션을 참조하세요." + +#: ../../pixmap.rst:23 3bdce298316f4c59aea2dcf926ba360d +msgid "" +"Have a look at the :ref:`FAQ` section to see some pixmap usage \"at " +"work\"." +msgstr ":ref:`FAQ` 섹션을 확인하여 픽스맵 사용 예제를 살펴보세요." + +#: ../../pixmap.rst:26 c77d9f0a0ac441569275429f77da5352 +msgid "**Method / Attribute**" +msgstr "**Method / Attribute**" + +#: ../../pixmap.rst:26 0c5aa62f906e4af38c4f3f15dbd58acb +msgid "**Short Description**" +msgstr "**Short Description**" + +#: ../../pixmap.rst:28 2202b52b548143ffb14aef4ce3088e4e +msgid ":meth:`Pixmap.clear_with`" +msgstr "" + +#: ../../pixmap.rst:28 f8c6fd586d294e3194f9966984db1cd7 +msgid "clear parts of the pixmap" +msgstr "픽스맵의 일부 지우기" + +#: ../../pixmap.rst:29 74887257fa9a4ce4bccdc2c054561ab8 +msgid ":meth:`Pixmap.color_count`" +msgstr "" + +#: ../../pixmap.rst:29 266d94deb7124050adc51b2d0925c285 +msgid "determine used colors" +msgstr "사용된 색상 확인" + +#: ../../pixmap.rst:30 6fa71e0e57754c778d2a793a2d4b5e0c +msgid ":meth:`Pixmap.color_topusage`" +msgstr "" + +#: ../../pixmap.rst:30 40a15ae449a04a5fa2c777c1ac0a6175 +msgid "determine share of most used color" +msgstr "가장 많이 사용된 색상의 비율 확인" + +#: ../../pixmap.rst:31 b915ce033980496eb00292ada4fbcca5 +msgid ":meth:`Pixmap.copy`" +msgstr "" + +#: ../../pixmap.rst:31 8e57cd2829fa414abc482e80c6d4c4d9 +msgid "copy parts of another pixmap" +msgstr "다른 픽스맵의 일부 복사" + +#: ../../pixmap.rst:32 112981a34c4348f8ad862d81cdc02514 +msgid ":meth:`Pixmap.gamma_with`" +msgstr "" + +#: ../../pixmap.rst:32 f42a9b37c4ac4000a006188d993c87e5 +msgid "apply a gamma factor to the pixmap" +msgstr "픽스맵에 감마 계수 적용" + +#: ../../pixmap.rst:33 01c950df9e2145aa8d39d7760c67ad87 +msgid ":meth:`Pixmap.invert_irect`" +msgstr "" + +#: ../../pixmap.rst:33 8fd44b50652147ff824e5fc414ff6a30 +msgid "invert the pixels of a given area" +msgstr "주어진 영역의 픽셀 반전" + +#: ../../pixmap.rst:34 516fe80e3c4a459a81a150dc6a462f8e +msgid ":meth:`Pixmap.pdfocr_save`" +msgstr "" + +#: ../../pixmap.rst:34 ../../pixmap.rst:35 67e410a8f8c842c1944b038c5708de2d +#: f38b40a1d99c4c509644c872d19b87e2 +msgid "save the pixmap as an OCRed 1-page PDF" +msgstr "픽스맵을 OCR된 1페이지 PDF로 저장" + +#: ../../pixmap.rst:35 be86eecb9ae84058896ab1db4a2fcab1 +msgid ":meth:`Pixmap.pdfocr_tobytes`" +msgstr "" + +#: ../../pixmap.rst:36 b0881e3fa8064b569e1476c50325b3d7 +msgid ":meth:`Pixmap.pil_image`" +msgstr "" + +#: ../../pixmap.rst:36 6075a73ecdcb46979d4b836f39403d5f +msgid "create a Pillow Image" +msgstr "Pillow 이미지 생성" + +#: ../../pixmap.rst:37 c71cca896c4e47509c4fa0e362fa044c +msgid ":meth:`Pixmap.pil_save`" +msgstr "" + +#: ../../pixmap.rst:37 4be536342cb047aeb0a6b64adbba1e9a +msgid "save as a Pillow Image" +msgstr "Pillow 이미지로 저장" + +#: ../../pixmap.rst:38 52b8400d5cce434b87e23399f61d2117 +msgid ":meth:`Pixmap.pil_tobytes`" +msgstr "" + +#: ../../pixmap.rst:38 bafc4631127f4561936ab5d1e6403a2d +msgid "write to `bytes` as a Pillow Image" +msgstr "Pillow 이미지로 `bytes` 에 쓰기" + +#: ../../pixmap.rst:39 4002db687ffc4feabe3a41f2274b7804 +msgid ":meth:`Pixmap.pixel`" +msgstr "" + +#: ../../pixmap.rst:39 efb78dfb56524049a7580e3a15723114 +msgid "return the value of a pixel" +msgstr "픽셀 값 반환" + +#: ../../pixmap.rst:40 e0ffa2a456944476bb6984b064566f95 +msgid ":meth:`Pixmap.save`" +msgstr "" + +#: ../../pixmap.rst:40 7f4131a6b70d41cd802f09e3f4f6f11f +msgid "save the pixmap in a variety of formats" +msgstr "다양한 형식으로 픽스맵 저장" + +#: ../../pixmap.rst:41 23956dccd6e94052aef51929b1c393dc +msgid ":meth:`Pixmap.set_alpha`" +msgstr "" + +#: ../../pixmap.rst:41 3979119c35f341c694e03dd5db7a0115 +msgid "set alpha values" +msgstr "알파 값 설정" + +#: ../../pixmap.rst:42 80aa084bf73c4f61abbf2f808d42bdcd +msgid ":meth:`Pixmap.set_dpi`" +msgstr "" + +#: ../../pixmap.rst:42 881510d8c71545b59d91fb5dac173605 +msgid "set the image resolution" +msgstr "이미지 해상도 설정" + +#: ../../pixmap.rst:43 af00886d005e4a1890d7b7789b93e7e7 +msgid ":meth:`Pixmap.set_origin`" +msgstr "" + +#: ../../pixmap.rst:43 7e6045d9838046cea1cd1fcb38a15dab +msgid "set pixmap x,y values" +msgstr "픽스맵 x, y 값 설정" + +#: ../../pixmap.rst:44 cb25eecee8af4917ab427d3cf303152f +msgid ":meth:`Pixmap.set_pixel`" +msgstr "" + +#: ../../pixmap.rst:44 23d1909be60a4b269aaec2547ae2aa05 +msgid "set color and alpha of a pixel" +msgstr "픽셀의 색상 및 알파 설정" + +#: ../../pixmap.rst:45 72b4d710dc894939936c377380bbc22e +msgid ":meth:`Pixmap.set_rect`" +msgstr "" + +#: ../../pixmap.rst:45 0f7af78460a4450da9d9108517b4d4c4 +msgid "set color and alpha of all pixels in a rectangle" +msgstr "사각형 내 모든 픽셀의 색상 및 알파 설정" + +#: ../../pixmap.rst:46 b791b993ad61409eaef1d0b360847ffc +msgid ":meth:`Pixmap.shrink`" +msgstr "" + +#: ../../pixmap.rst:46 38e21b2c7aa8493e8bb7266e1e835f69 +msgid "reduce size keeping proportions" +msgstr "비율을 유지하면서 크기 축소" + +#: ../../pixmap.rst:47 be56d7fc15e24cf2826c82badd69df56 +msgid ":meth:`Pixmap.tint_with`" +msgstr "" + +#: ../../pixmap.rst:47 d5a1e740218c41ceb31d912cae43599f +msgid "tint the pixmap" +msgstr "픽스맵에 틴트 적용" + +#: ../../pixmap.rst:48 408bd07e5e004c53845a34ccb73684f6 +msgid ":meth:`Pixmap.tobytes`" +msgstr "" + +#: ../../pixmap.rst:48 dbfd2cd88a2e40689877d688108593b5 +msgid "return a memory area in a variety of formats" +msgstr "다양한 형식으로 메모리 영역 반환" + +#: ../../pixmap.rst:49 73ad7e8e412146939a933bc554653bd9 +msgid ":meth:`Pixmap.warp`" +msgstr "" + +#: ../../pixmap.rst:49 27dcdd34ccd6434c8be2f3d0cab9f361 +msgid "return a pixmap made from a quad inside" +msgstr "내부의 quad로 만든 픽스맵 반환" + +#: ../../pixmap.rst:50 85defbb4523445e9bfc92785c42fcb0b +msgid ":attr:`Pixmap.alpha`" +msgstr "" + +#: ../../pixmap.rst:50 f9f7e74d1a854ce584726e3236d915a4 +msgid "transparency indicator" +msgstr "투명도 표시기" + +#: ../../pixmap.rst:51 fbf1760092864dcf8f5566ac85074c05 +msgid ":attr:`Pixmap.colorspace`" +msgstr "" + +#: ../../pixmap.rst:51 48b501a974724e6cadfe58ebbfebeb9a +msgid "pixmap's :ref:`Colorspace`" +msgstr "픽스맵의 :ref:`Colorspace`" + +#: ../../pixmap.rst:52 b766c11c9d60491bb1cd9e4c8cfd9751 +msgid ":attr:`Pixmap.digest`" +msgstr "" + +#: ../../pixmap.rst:52 3d7b532618f3451896efe2d64d4ffdfe +msgid "MD5 hashcode of the pixmap" +msgstr "픽스맵의 MD5 해시코드" + +#: ../../pixmap.rst:53 76675540ad27482bada64b6a598d25f9 +msgid ":attr:`Pixmap.height`" +msgstr "" + +#: ../../pixmap.rst:53 3c22531079e34fa79dddc4e586d958e6 +msgid "pixmap height" +msgstr "픽스맵 높이" + +#: ../../pixmap.rst:54 9182d024c67b490b9fe7855b4f5715d0 +msgid ":attr:`Pixmap.interpolate`" +msgstr "" + +#: ../../pixmap.rst:54 3688b5e0286840669d320a95bc5a17fb +msgid "interpolation method indicator" +msgstr "보간 방법 표시기" + +#: ../../pixmap.rst:55 b7b0a90b1ba846e89b22db0ed4553281 +msgid ":attr:`Pixmap.is_monochrome`" +msgstr "" + +#: ../../pixmap.rst:55 df352c76b67546089f124cbd0e5babb1 +msgid "check if only black and white occur" +msgstr "흑백만 있는지 확인" + +#: ../../pixmap.rst:56 a17ad0a90a7d413c9fb8b1aa83257598 +msgid ":attr:`Pixmap.is_unicolor`" +msgstr "" + +#: ../../pixmap.rst:56 81dfed8a598641f6ae936549b0e7f7ba +msgid "check if only one color occurs" +msgstr "단일 색상만 있는지 확인" + +#: ../../pixmap.rst:57 abd7ff4e70754c9daef32d9525250608 +msgid ":attr:`Pixmap.irect`" +msgstr "" + +#: ../../pixmap.rst:57 2791b580e848470a814a376d6e220255 +msgid ":ref:`IRect` of the pixmap" +msgstr "픽스맵의 :ref:`IRect`" + +#: ../../pixmap.rst:58 2fec6f3a895d4409b0e482a40f200f22 +msgid ":attr:`Pixmap.n`" +msgstr "" + +#: ../../pixmap.rst:58 c7b79f65d4494cdb897cc22abe8eff21 +msgid "bytes per pixel" +msgstr "픽셀당 바이트" + +#: ../../pixmap.rst:59 743bc8e881d44773b5fcf7beffc6a3fa +msgid ":attr:`Pixmap.samples_mv`" +msgstr "" + +#: ../../pixmap.rst:59 4179ce00d1e746b295e577083af074b0 +msgid "`memoryview` of pixel area" +msgstr "픽셀 영역의 `memoryview`" + +#: ../../pixmap.rst:60 c5ff63d0faaa4137832a944521ce8069 +msgid ":attr:`Pixmap.samples_ptr`" +msgstr "" + +#: ../../pixmap.rst:60 8116e2e6a5fe470082d7fbdca4673935 +msgid "Python pointer to pixel area" +msgstr "픽셀 영역에 대한 Python 포인터" + +#: ../../pixmap.rst:61 2abc33dc84a348c6ad9b8da90c57e531 +msgid ":attr:`Pixmap.samples`" +msgstr "" + +#: ../../pixmap.rst:61 060cb94948d84088a5cf7c6d4319fea3 +msgid "`bytes` copy of pixel area" +msgstr "픽셀 영역의 `bytes` 복사본" + +#: ../../pixmap.rst:62 d41ed2ab508249d0ae96e3145e92258b +msgid ":attr:`Pixmap.size`" +msgstr "" + +#: ../../pixmap.rst:62 cfe014376f9745ea9c2ce0e7a11bb369 +msgid "pixmap's total length" +msgstr "픽스맵의 전체 길이" + +#: ../../pixmap.rst:63 34fea4631d014515b7406f2f5bb813bc +msgid ":attr:`Pixmap.stride`" +msgstr "" + +#: ../../pixmap.rst:63 5a29f36af34340aea9cba617eed85cc6 +msgid "size of one image row" +msgstr "이미지 한 행의 크기" + +#: ../../pixmap.rst:64 62ed9c389676438299a427713f0f7b08 +msgid ":attr:`Pixmap.width`" +msgstr "" + +#: ../../pixmap.rst:64 70e7618e0783483ea97302b042784152 +msgid "pixmap width" +msgstr "픽스맵 너비" + +#: ../../pixmap.rst:65 e62961e6786e48c796a2e5a23a76654f +msgid ":attr:`Pixmap.x`" +msgstr "" + +#: ../../pixmap.rst:65 4e8faa2fe6154453bf50951bfbcbfa0e +msgid "X-coordinate of top-left corner" +msgstr "왼쪽 위 모서리의 X 좌표" + +#: ../../pixmap.rst:66 d69ccf0ae1844b88aaff3eb7fbfa1973 +msgid ":attr:`Pixmap.xres`" +msgstr "" + +#: ../../pixmap.rst:66 a1ecbc77214845fea2e4c6cee89a8ce8 +msgid "resolution in X-direction" +msgstr "X 방향 해상도" + +#: ../../pixmap.rst:67 83ca1188acde43af9c9f6c742f8c9fcb +msgid ":attr:`Pixmap.y`" +msgstr "" + +#: ../../pixmap.rst:67 b0432d623ef4473aa3515de8b215d9f5 +msgid "Y-coordinate of top-left corner" +msgstr "왼쪽 위 모서리의 Y 좌표" + +#: ../../pixmap.rst:68 b704d755356e4e53903e4306cb1850d6 +msgid ":attr:`Pixmap.yres`" +msgstr "" + +#: ../../pixmap.rst:68 857aeb5083a44b1795d1ede13f95021f +msgid "resolution in Y-direction" +msgstr "Y 방향 해상도" + +#: ../../pixmap.rst:71 a006e37a45ad4ed88da3603714dc9820 +msgid "**Class API**" +msgstr "**Class API**" + +#: ../../pixmap.rst:77 046bff7f68fe47dc89b42ec79b63be49 +msgid "" +"**New empty pixmap:** Create an empty pixmap of size and origin given by " +"the rectangle. So, *irect.top_left* designates the top left corner of the" +" pixmap, and its width and height are *irect.width* resp. *irect.height*." +" Note that the image area is **not initialized** and will contain crap " +"data -- use eg. :meth:`clear_with` or :meth:`set_rect` to be sure." +msgstr "**새 빈 픽스맵:** 사각형으로 지정된 크기와 원점으로 빈 픽스맵을 생성합니다. 따라서 *irect.top_left* 는 픽스맵의 왼쪽 위 모서리를 지정하고, 너비와 높이는 각각 *irect.width* 및 *irect.height* 입니다. 이미지 영역은 **초기화되지 않으며** 쓰레기 데이터를 포함합니다 -- 예를 들어 :meth:`clear_with` 또는 :meth:`set_rect` 를 사용하여 확실히 하세요." + +#: ../../pixmap.rst 02b0fea3d9c34817aad000ad9f071590 +#: 054aba92b788492e988045fb104e4481 0eb0df83e45a406cb560af5072cdff86 +#: 2d9ab2f5c1024f7085600fc7ec9dc603 42fca49eb0844237a0b14c72c95e7dbc +#: 4c84fc0dcb054b659ed6e2dae1b27605 57542313cdbd47cc89f43d9329495cb5 +#: 610dfac6df044219bea31b4eb7ef6b47 63f20c0df7eb4be8be807f287c781d58 +#: 67a50e42c1294501bb59b8b035850481 687444f1e3dc45509b4ec2a7192c0a48 +#: 73fe0913c7364c31916311fc0cffc16e 7e25b63146fa45858f1ff6b966a16913 +#: 8b3e2416c26c445bb9979be602f6adf5 95824bfb86ff41de835e47b77393048f +#: a5c5caaf10934649be3b74635eb16787 af618a04af8e40efa6512d296a27fb9b +#: bdfbcea144bd4cfb93f787f52dfadf48 c7f77794bd054561aa08e0b18497e5bd +#: d044792ccaea48328805a0a6efd678c9 d625b8ee73b34a459873edc513b40002 +#: d81abb686bb542518846ad32bd035b5e dd1276958278455fb3ad0d1ad3b08045 +#: dd4e9e5837dc4c1eb17ec63c8681b4d4 e60d8f4e03c24b918ad9bdf22e21adb0 +#: f1bff3e4b66c4afca6ae66a014ac0fc1 f2e0f5d755134588846f75c89c28b5af +#: f8a2e37bd2ef4ca79bf827a1a3fe8e70 +msgid "Parameters" +msgstr "Parameters" + +#: ../../pixmap.rst:79 56321802a9014c348fa2d20d4294c9f2 +msgid "colorspace." +msgstr "색상 공간." + +#: ../../pixmap.rst:82 3753a76b227f496eb369ca2d40057f0c +msgid "The pixmap's position and dimension." +msgstr "픽스맵의 위치 및 크기." + +#: ../../pixmap.rst:84 0f1256f4866c4a888d73cefe035cfb17 +msgid "" +"Specifies whether transparency bytes should be included. Default is " +"``False``." +msgstr "투명도 바이트를 포함할지 여부를 지정합니다. 기본값은 ``False`` 입니다." + +#: ../../pixmap.rst:88 b9326c334f6345fdaf185501bfa27892 +msgid "" +"**Copy and set colorspace:** Copy *source* pixmap converting colorspace. " +"Any colorspace combination is possible, but source colorspace must not be" +" ``None``." +msgstr "**복사 및 색상 공간 설정:** 색상 공간을 변환하여 *source* 픽스맵을 복사합니다. 모든 색상 공간 조합이 가능하지만 소스 색상 공간은 ``None`` 이 아니어야 합니다." + +#: ../../pixmap.rst:90 97014f607fba4a5cb553297120c90034 +msgid "" +"desired **target** colorspace. This **may also be** ``None``. In this " +"case, a \"masking\" pixmap is created: its :attr:`Pixmap.samples` will " +"consist of the source's alpha bytes only." +msgstr "원하는 **대상** 색상 공간. 이것은 ``None`` 일 수도 있습니다. 이 경우 \"마스킹\" 픽스맵이 생성됩니다: :attr:`Pixmap.samples` 는 소스의 알파 바이트만으로 구성됩니다." + +#: ../../pixmap.rst:93 ../../pixmap.rst:112 36ef86e1d48d4c5a9dd2bf95b2fd7b14 +#: 52423174b9b746d2840bdc738fa82069 +msgid "the source pixmap." +msgstr "소스 픽스맵." + +#: ../../pixmap.rst:98 1df405a79ae244d1a01b677a84951540 +msgid "New in v1.18.18" +msgstr "v1.18.18에서 새로 추가됨" + +#: ../../pixmap.rst:100 dac52c1c940a488587523e971b8678bb +msgid "" +"**Copy and add image mask:** Copy *source* pixmap, add an alpha channel " +"with transparency data from a mask pixmap." +msgstr "**복사 및 이미지 마스크 추가:** *source* 픽스맵을 복사하고 마스크 픽스맵의 투명도 데이터로 알파 채널을 추가합니다." + +#: ../../pixmap.rst:102 760c74ba53044cbcbdf31aee15f90bca +msgid "pixmap without alpha channel." +msgstr "알파 채널이 없는 픽스맵." + +#: ../../pixmap.rst:105 46e5c3640fcf48d382edee1c823984e6 +msgid "a mask pixmap. Must be a graysale pixmap." +msgstr "마스크 픽스맵. 그레이스케일 픽스맵이어야 합니다." + +#: ../../pixmap.rst:110 d9ec3e84c0ea4239b426990e4164290e +msgid "" +"**Copy and scale:** Copy *source* pixmap, scaling new width and height " +"values -- the image will appear stretched or shrunk accordingly. Supports" +" partial copying. The source colorspace may be ``None``." +msgstr "**복사 및 크기 조정:** *source* 픽스맵을 복사하고 새로운 너비와 높이 값을 조정합니다 -- 이미지는 그에 따라 늘어나거나 줄어듭니다. 부분 복사를 지원합니다. 소스 색상 공간은 ``None`` 일 수 있습니다." + +#: ../../pixmap.rst:115 682ea20bf52b4efe901eaeac97e98829 +msgid "desired target width." +msgstr "원하는 대상 너비." + +#: ../../pixmap.rst:117 3bf8da6692aa4465bad88ed923353c01 +msgid "desired target height." +msgstr "원하는 대상 높이." + +#: ../../pixmap.rst:119 7aa6286551464fc79c589f402e5f4064 +msgid "restrict the resulting pixmap to this region of the **scaled** pixmap." +msgstr "결과 픽스맵을 **크기 조정된** 픽스맵의 이 영역으로 제한합니다." + +#: ../../pixmap.rst:121 3be7525712a64bad8e5cc168ff57efeb +msgid "" +"If width or height do not *represent* integers (i.e. `value.is_integer() " +"!= True`), then the resulting pixmap **will have an alpha channel**." +msgstr "너비 또는 높이가 정수를 *나타내지* 않으면(즉, `value.is_integer() != True`), 결과 픽스맵은 **알파 채널을 가집니다**." + +#: ../../pixmap.rst:125 fcd3877dc9924a5098cb10a1fec25153 +msgid "" +"**Copy and add or drop alpha:** Copy *source* and add or drop its alpha " +"channel. Identical copy if *alpha* equals *source.alpha*. If an alpha " +"channel is added, its values will be set to 255." +msgstr "**복사 및 알파 추가 또는 제거:** *source* 를 복사하고 알파 채널을 추가하거나 제거합니다. *alpha* 가 *source.alpha* 와 같으면 동일한 복사본입니다. 알파 채널이 추가되면 값은 255로 설정됩니다." + +#: ../../pixmap.rst:127 ../../pixmap.rst:305 29341e581eda460c9963b056957f0057 +#: 6755e67f1ebd4c6397a96a8387727fc0 +msgid "source pixmap." +msgstr "소스 픽스맵." + +#: ../../pixmap.rst:130 c616e3541c6f481680da4d95d038b5f5 +msgid "" +"whether the target will have an alpha channel, default and mandatory if " +"source colorspace is ``None``." +msgstr "대상이 알파 채널을 가질지 여부, 소스 색상 공간이 ``None`` 이면 기본값이며 필수입니다." + +#: ../../pixmap.rst:132 df4cef61a1c149a39965a6f332bf9f2c +msgid "" +"A typical use includes separation of color and transparency bytes in " +"separate pixmaps. Some applications require this like e.g. " +"*wx.Bitmap.FromBufferAndAlpha()* of *wxPython*:" +msgstr "일반적인 사용에는 별도의 픽스맵에서 색상 및 투명도 바이트를 분리하는 것이 포함됩니다. 일부 애플리케이션은 예를 들어 *wxPython* 의 *wx.Bitmap.FromBufferAndAlpha()* 와 같이 이를 요구합니다:" + +#: ../../pixmap.rst:142 154d69621fb94872a7ad34eae19ef7aa +msgid "" +"**From a file:** Create a pixmap from *filename*. All properties are " +"inferred from the input. The origin of the resulting pixmap is *(0, 0)*." +msgstr "**파일에서:** *filename* 에서 픽스맵을 생성합니다. 모든 속성은 입력에서 추론됩니다. 결과 픽스맵의 원점은 *(0, 0)* 입니다." + +#: ../../pixmap.rst:144 aedb335cf31242c6807afec841343b05 +msgid "Path of the image file." +msgstr "이미지 파일의 경로." + +#: ../../pixmap.rst:148 e21d860e62cb466b8dcd5c58ecd8816a +msgid "" +"**From memory:** Create a pixmap from a memory area. All properties are " +"inferred from the input. The origin of the resulting pixmap is *(0, 0)*." +msgstr "**메모리에서:** 메모리 영역에서 픽스맵을 생성합니다. 모든 속성은 입력에서 추론됩니다. 결과 픽스맵의 원점은 *(0, 0)* 입니다." + +#: ../../pixmap.rst:150 74221d3aec5f41afae36e2b37ac8dfc7 +msgid "" +"Data containing a complete, valid image. Could have been created by e.g. " +"*stream = bytearray(open('image.file', 'rb').read())*. Type *bytes* is " +"supported in **Python 3 only**, because *bytes == str* in Python 2 and " +"the method will interpret the stream as a filename. *Changed in version " +"1.14.13:* *io.BytesIO* is now also supported." +msgstr "" + +#: ../../pixmap.rst:150 e9ed395c0d8c4b56a458e072bbd347e0 +msgid "" +"Data containing a complete, valid image. Could have been created by e.g. " +"*stream = bytearray(open('image.file', 'rb').read())*. Type *bytes* is " +"supported in **Python 3 only**, because *bytes == str* in Python 2 and " +"the method will interpret the stream as a filename." +msgstr "완전하고 유효한 이미지를 포함하는 데이터. 예를 들어 *stream = bytearray(open('image.file', 'rb').read())* 로 생성되었을 수 있습니다. *bytes* 타입은 **Python 3에서만** 지원됩니다. Python 2에서는 *bytes == str* 이므로 메서드가 스트림을 파일 이름으로 해석합니다." + +#: ../../pixmap.rst:152 a162db2d5e5f46a092952a708f6e5469 +msgid "*Changed in version 1.14.13:* *io.BytesIO* is now also supported." +msgstr "*버전 1.14.13에서 변경됨:* 이제 *io.BytesIO* 도 지원됩니다." + +#: ../../pixmap.rst:157 016950d3c686415a993d228b20deed87 +msgid "" +"**From plain pixels:** Create a pixmap from *samples*. Each pixel must be" +" represented by a number of bytes as controlled by the *colorspace* and " +"*alpha* parameters. The origin of the resulting pixmap is *(0, 0)*. This " +"method is useful when raw image data are provided by some other program " +"-- see :ref:`FAQ`." +msgstr "**일반 픽셀에서:** *samples* 에서 픽스맵을 생성합니다. 각 픽셀은 *colorspace* 및 *alpha* 매개변수에 의해 제어되는 여러 바이트로 표현되어야 합니다. 결과 픽스맵의 원점은 *(0, 0)* 입니다. 이 메서드는 다른 프로그램에서 원시 이미지 데이터가 제공될 때 유용합니다 -- :ref:`FAQ` 를 참조하세요." + +#: ../../pixmap.rst:159 cda1965dbe524b2f958354d3bf86203d +msgid "Colorspace of image." +msgstr "이미지의 색상 공간." + +#: ../../pixmap.rst:162 e4ca43e6639b433195a95bc4b9cff17c +msgid "image width" +msgstr "이미지 너비" + +#: ../../pixmap.rst:164 e6bd73524bf443928467e7d153097052 +msgid "image height" +msgstr "이미지 높이" + +#: ../../pixmap.rst:166 bc04c5ee0a2f4c219321973a46ca1fec +msgid "" +"an area containing all pixels of the image. Must include alpha values if " +"specified. *Changed in version 1.14.13:* (1) *io.BytesIO* can now also " +"be used. (2) Data are now **copied** to the pixmap, so may safely be " +"deleted or become unavailable." +msgstr "" + +#: ../../pixmap.rst:166 882216b59426469ebf0fc58e1a590a22 +msgid "" +"an area containing all pixels of the image. Must include alpha values if " +"specified." +msgstr "이미지의 모든 픽셀을 포함하는 영역. 지정된 경우 알파 값을 포함해야 합니다." + +#: ../../pixmap.rst:168 94da32783c284a7c9e5cd26b1aa7aead +msgid "" +"*Changed in version 1.14.13:* (1) *io.BytesIO* can now also be used. (2) " +"Data are now **copied** to the pixmap, so may safely be deleted or become" +" unavailable." +msgstr "*버전 1.14.13에서 변경됨:* (1) 이제 *io.BytesIO* 도 사용할 수 있습니다. (2) 데이터가 이제 픽스맵에 **복사** 되므로 안전하게 삭제하거나 사용할 수 없게 만들 수 있습니다." + +#: ../../pixmap.rst:170 92e53d092aa1464db50b36eb7899219d +msgid "whether a transparency channel is included." +msgstr "투명도 채널이 포함되는지 여부." + +#: ../../pixmap.rst:174 d35de668e91d424ebf94418d892dcbd6 +msgid "" +"The following equation **must be true**: *(colorspace.n + alpha) * width " +"* height == len(samples)*." +msgstr "다음 방정식이 **참이어야 합니다**: *(colorspace.n + alpha) * width * height == len(samples)*." + +#: ../../pixmap.rst:175 1c597631a5304c869da76bb9d81e6ed9 +msgid "" +"Starting with version 1.14.13, the samples data are **copied** to the " +"pixmap." +msgstr "버전 1.14.13부터 samples 데이터가 픽스맵에 **복사** 됩니다." + +#: ../../pixmap.rst:180 5c8af01ebb9141c4b8de801dd3f3356e +msgid "" +"**From a PDF image:** Create a pixmap from an image **contained in PDF** " +"*doc* identified by its :data:`xref`. All pimap properties are set by the" +" image. Have a look at `extract-img1.py " +"`_ " +"and `extract-img2.py `_ to see how this can be used to recover all of a PDF's" +" images." +msgstr "**PDF 이미지에서:** :data:`xref` 로 식별되는 |PDF| *doc* 에 **포함된** 이미지에서 픽스맵을 생성합니다. 모든 픽스맵 속성은 이미지에 의해 설정됩니다. `extract-img1.py `_ 및 `extract-img2.py `_ 를 확인하여 이것을 사용하여 PDF의 모든 이미지를 복구하는 방법을 참조하세요." + +#: ../../pixmap.rst:182 83027e8baba3428f9138b9272d50b7c5 +msgid "an opened |PDF| document." +msgstr "열린 |PDF| 문서." + +#: ../../pixmap.rst:185 1d115e0cbe8d45c1a12b21ba961b218c +msgid "" +"the :data:`xref` of an image object. For example, you can make a list of " +"images used on a particular page with :meth:`Document.get_page_images`, " +"which also shows the :data:`xref` numbers of each image." +msgstr "이미지 객체의 :data:`xref`. 예를 들어 :meth:`Document.get_page_images` 를 사용하여 특정 페이지에서 사용된 이미지 목록을 만들 수 있으며, 이것은 각 이미지의 :data:`xref` 번호도 표시합니다." + +#: ../../pixmap.rst:189 af2a4e8f44da46f9b6b2a58073bb2cfc +msgid "Initialize the samples area." +msgstr "samples 영역을 초기화합니다." + +#: ../../pixmap.rst:191 e9fa66fe4f434c59baeea5e2c721a40d +msgid "" +"if specified, values from 0 to 255 are valid. Each color byte of each " +"pixel will be set to this value, while alpha will be set to 255 (non-" +"transparent) if present. If omitted, then all bytes (including any alpha)" +" are cleared to *0x00*." +msgstr "지정된 경우 0부터 255까지의 값이 유효합니다. 각 픽셀의 각 색상 바이트는 이 값으로 설정되고, 알파가 있으면 255(불투명)로 설정됩니다. 생략하면 모든 바이트(알파 포함)가 *0x00* 으로 지워집니다." + +#: ../../pixmap.rst:193 bb47605a216946dba119a8bf60a6dcdd +msgid "" +"the area to be cleared. Omit to clear the whole pixmap. Can only be " +"specified, if *value* is also specified." +msgstr "지울 영역. 생략하면 전체 픽스맵을 지웁니다. *value* 도 지정된 경우에만 지정할 수 있습니다." + +#: ../../pixmap.rst:197 78bf5b67f38f46178532a1e37e7ddd72 +msgid "" +"Colorize a pixmap by replacing black and / or white with colors given as " +"**sRGB integer** values. Only colorspaces :data:`CS_GRAY` and " +":data:`CS_RGB` are supported, others are ignored with a warning." +msgstr "**sRGB 정수** 값으로 주어진 색상으로 검은색 및/또는 흰색을 교체하여 픽스맵을 색칠합니다. 색상 공간 :data:`CS_GRAY` 및 :data:`CS_RGB` 만 지원되며, 다른 것은 경고와 함께 무시됩니다." + +#: ../../pixmap.rst:199 abae57d0723b4345a89b12f880d933fa +msgid "" +"If the colorspace is :data:`CS_GRAY`, the average *(red + green + " +"blue)/3* will be taken. The pixmap will be changed in place." +msgstr "색상 공간이 :data:`CS_GRAY` 인 경우 평균 *(red + green + blue)/3* 이 사용됩니다. 픽스맵은 제자리에서 변경됩니다." + +#: ../../pixmap.rst:201 04577dadbfbc43a3abbe3d997f6561ab +msgid "replace black with this value. Specifying 0x000000 makes no changes." +msgstr "검은색을 이 값으로 교체합니다. 0x000000을 지정하면 변경되지 않습니다." + +#: ../../pixmap.rst:202 43f498ae78e443a28b06bdcc72789414 +msgid "replace white with this value. Specifying 0xFFFFFF makes no changes." +msgstr "흰색을 이 값으로 교체합니다. 0xFFFFFF를 지정하면 변경되지 않습니다." + +#: ../../pixmap.rst:204 391411e29bc24c0183271fc962fc85ae +msgid "Examples:" +msgstr "Examples:" + +#: ../../pixmap.rst:206 6e89c521384c4c5bbc9619d3efe8b909 +msgid "`tint_with(0x000000, 0xFFFFFF)` is a no-op." +msgstr "`tint_with(0x000000, 0xFFFFFF)` 는 no-op입니다." + +#: ../../pixmap.rst:207 64e6d46367ef4feca63cb7fb163d6b63 +msgid "" +"`tint_with(0x00FF00, 0xFFFFFF)` changes black to green, leaves white " +"intact." +msgstr "`tint_with(0x00FF00, 0xFFFFFF)` 는 검은색을 녹색으로 변경하고 흰색은 그대로 둡니다." + +#: ../../pixmap.rst:208 8ea3f30122264c92b50ec935ec42fc3c +msgid "`tint_with(0xFF0000, 0x0000FF)` changes black to red and white to blue." +msgstr "`tint_with(0xFF0000, 0x0000FF)` 는 검은색을 빨간색으로, 흰색을 파란색으로 변경합니다." + +#: ../../pixmap.rst:213 ca2f9c12e08649b5870ae3ad64eacd72 +msgid "" +"Apply a gamma factor to a pixmap, i.e. lighten or darken it. Pixmaps with" +" colorspace ``None`` are ignored with a warning." +msgstr "픽스맵에 감마 계수를 적용합니다. 즉, 밝게 하거나 어둡게 합니다. 색상 공간이 ``None`` 인 픽스맵은 경고와 함께 무시됩니다." + +#: ../../pixmap.rst:215 f4c36ad3313f4088882a49b8ff1847ec +msgid "" +"*gamma = 1.0* does nothing, *gamma < 1.0* lightens, *gamma > 1.0* darkens" +" the image." +msgstr "*gamma = 1.0* 은 아무것도 하지 않으며, *gamma < 1.0* 은 밝게 하고, *gamma > 1.0* 은 이미지를 어둡게 합니다." + +#: ../../pixmap.rst:219 8543630bd8134fbfbad3e241950d6cea +msgid "" +"Shrink the pixmap by dividing both, its width and height by 2\\ " +":sup:``n``." +msgstr "너비와 높이를 모두 2\\ :sup:``n`` 으로 나누어 픽스맵을 축소합니다." + +#: ../../pixmap.rst:221 30c7f5ad783249949e9748a49eb7d9f9 +msgid "" +"determines the new pixmap (samples) size. For example, a value of 2 " +"divides width and height by 4 and thus results in a size of one 16\\ " +":sup:`th` of the original. Values less than 1 are ignored with a warning." +msgstr "새 픽스맵(samples) 크기를 결정합니다. 예를 들어 값 2는 너비와 높이를 4로 나누어 원본의 16\\ :sup:`분의 1` 크기로 만듭니다. 1보다 작은 값은 경고와 함께 무시됩니다." + +#: ../../pixmap.rst:223 f45f17093df4420cb6fbc619648afd22 +msgid "" +"Use this methods to reduce a pixmap's size retaining its proportion. The " +"pixmap is changed \"in place\". If you want to keep original and also " +"have more granular choices, use the resp. copy constructor above." +msgstr "이 메서드를 사용하여 비율을 유지하면서 픽스맵의 크기를 줄입니다. 픽스맵은 \"제자리에서\" 변경됩니다. 원본을 유지하고 더 세밀한 선택을 원하면 위의 해당 복사 생성자를 사용하세요." + +#: ../../pixmap.rst:227 1455e6653c744eeba403a49f543d6fab +msgid "" +"*New in version:: 1.14.5:* Return the value of the pixel at location (x, " +"y) (column, line)." +msgstr "*버전 1.14.5의 새로운 기능:* 위치 (x, y)(열, 줄)의 픽셀 값을 반환합니다." + +#: ../../pixmap.rst:229 ../../pixmap.rst:239 4665e9dd65654240abe6ee77bae37183 +#: ffb7d135ed9a41f1b4f0bfa146d6de82 +msgid "the column number of the pixel. Must be in `range(pix.width)`." +msgstr "픽셀의 열 번호. `range(pix.width)` 에 있어야 합니다." + +#: ../../pixmap.rst:230 f1efa4c149644cc680d5348ad2c2e068 +msgid "the line number of the pixel, Must be in `range(pix.height)`." +msgstr "픽셀의 줄 번호. `range(pix.height)` 에 있어야 합니다." + +#: ../../pixmap.rst 369baee8d7234ef2ab7f82e75e9111ad +#: a81a4cbd70ad4e0b8fb189a247cfcaaf b3a66cf736f24daea703147e167c320f +#: cc865d958a3d4c81b2cbd3d3f814714b d2546977b027475993b2df887c1cb6e8 +#: e81aa1c04aa6419da09b400752672904 eb0378b2f08a49a0af740a769d1a6087 +msgid "Return type" +msgstr "Return type" + +#: ../../pixmap.rst 186871c10cae496984d33e4181c189b0 +#: 24ba23b408644b24bd9aa5c5c7695c13 375a4a43a898465fa252490979e2f154 +#: 44939b8c082c4f128aecb10f802bce36 8183d07de46a4c909fc8ff25a1c13b5e +#: 82dd9565faa544cf8799ce6981d78e02 a7c02e0b9035405a9f75f61d1ef8a011 +msgid "Returns" +msgstr "Returns" + +#: ../../pixmap.rst:233 1c117c2f7320435ab28104a0c9e6b3f0 +msgid "" +"a list of color values and, potentially the alpha value. Its length and " +"content depend on the pixmap's colorspace and the presence of an alpha. " +"For RGBA pixmaps the result would e.g. be *[r, g, b, a]*. All items are " +"integers in `range(256)`." +msgstr "색상 값 및 잠재적으로 알파 값의 목록. 길이와 내용은 픽스맵의 색상 공간과 알파의 존재에 따라 다릅니다. RGBA 픽스맵의 경우 결과는 예를 들어 *[r, g, b, a]* 가 됩니다. 모든 항목은 `range(256)` 의 정수입니다." + +#: ../../pixmap.rst:237 4e3d50e363f54e7da5ab00f4aa58fec5 +msgid "" +"*New in version 1.14.7:* Manipulate the pixel at location (x, y) (column," +" line)." +msgstr "*버전 1.14.7의 새로운 기능:* 위치 (x, y)(열, 줄)의 픽셀을 조작합니다." + +#: ../../pixmap.rst:240 0dcca10c1c4c4b58b61746cd5da73f43 +msgid "the line number of the pixel. Must be in `range(pix.height)`." +msgstr "픽셀의 줄 번호. `range(pix.height)` 에 있어야 합니다." + +#: ../../pixmap.rst:241 eee0a54112754d7db4a0e21facaf19c8 +msgid "" +"the desired pixel value given as a sequence of integers in `range(256)`. " +"The length of the sequence must equal :attr:`Pixmap.n`, which includes " +"any alpha byte." +msgstr "`range(256)` 의 정수 시퀀스로 주어진 원하는 픽셀 값. 시퀀스의 길이는 알파 바이트를 포함하여 :attr:`Pixmap.n` 과 같아야 합니다." + +#: ../../pixmap.rst:245 223fcf7f54984d26a1a64657ed00a81d +msgid "*New in version 1.14.8:* Set the pixels of a rectangle to a value." +msgstr "*버전 1.14.8의 새로운 기능:* 사각형의 픽셀을 값으로 설정합니다." + +#: ../../pixmap.rst:247 95d0f97710ba444391fd993ca732bc02 +msgid "" +"the rectangle to be filled with the value. The actual area is the " +"intersection of this parameter and :attr:`Pixmap.irect`. For an empty " +"intersection (or an invalid parameter), no change will happen." +msgstr "값으로 채울 사각형. 실제 영역은 이 매개변수와 :attr:`Pixmap.irect` 의 교집합입니다. 빈 교집합(또는 잘못된 매개변수)의 경우 변경이 발생하지 않습니다." + +#: ../../pixmap.rst:248 a8fe7a3cf13a40e6a5abc4a65a481906 +msgid "" +"the desired value, given as a sequence of integers in `range(256)`. The " +"length of the sequence must equal :attr:`Pixmap.n`, which includes any " +"alpha byte." +msgstr "`range(256)` 의 정수 시퀀스로 주어진 원하는 값. 시퀀스의 길이는 알파 바이트를 포함하여 :attr:`Pixmap.n` 과 같아야 합니다." + +#: ../../pixmap.rst:251 ef594268cf964435b0f7fae7229908c8 +msgid "" +"``False`` if the rectangle was invalid or had an empty intersection with " +":attr:`Pixmap.irect`, else ``True``." +msgstr "사각형이 유효하지 않거나 :attr:`Pixmap.irect` 와 빈 교집합이 있으면 ``False``, 그렇지 않으면 ``True``." + +#: ../../pixmap.rst:255 bcf6532518a34f9c87fe6473f29b283c +msgid "" +"This method is equivalent to :meth:`Pixmap.set_pixel` executed for each " +"pixel in the rectangle, but is obviously **very much faster** if many " +"pixels are involved." +msgstr "이 메서드는 사각형의 각 픽셀에 대해 실행되는 :meth:`Pixmap.set_pixel` 과 동일하지만 많은 픽셀이 관련된 경우 **훨씬 빠릅니다**." + +#: ../../pixmap.rst:256 bc5f1b513a0f4c4fa649296505adae7c +msgid "" +"This method can be used similar to :meth:`Pixmap.clear_with` to " +"initialize a pixmap with a certain color like this: " +"*pix.set_rect(pix.irect, (255, 255, 0))* (RGB example, colors the " +"complete pixmap with yellow)." +msgstr "이 메서드는 :meth:`Pixmap.clear_with` 와 유사하게 사용하여 픽스맵을 특정 색상으로 초기화할 수 있습니다: *pix.set_rect(pix.irect, (255, 255, 0))* (RGB 예제, 전체 픽스맵을 노란색으로 칠함)." + +#: ../../pixmap.rst:260 a513c003abe849829c11fe1447ebad4c +msgid "New in v1.17.7" +msgstr "v1.17.7에서 새로 추가됨" + +#: ../../pixmap.rst:262 0b7cc0a788dd40cb8acfbdb60fc95d01 +msgid "Set the x and y values of the pixmap's top-left point." +msgstr "픽스맵의 왼쪽 위 점의 x 및 y 값을 설정합니다." + +#: ../../pixmap.rst:264 235e6e23b0b24739bc80e81e21526714 +msgid "x coordinate" +msgstr "x 좌표" + +#: ../../pixmap.rst:265 6abac422a54b4e5bb66a4859637f5a69 +msgid "y coordinate" +msgstr "y 좌표" + +#: ../../pixmap.rst:270 c5527c1032f044a2a640143d01653c61 +msgid "New in v1.16.17" +msgstr "v1.16.17에서 새로 추가됨" + +#: ../../pixmap.rst:272 f49f9e8464474d7cbf7a85f1ba506a82 +msgid "" +"Changed in v1.18.0: When saving as a PNG image, these values will be " +"stored now." +msgstr "v1.18.0에서 변경됨: PNG 이미지로 저장할 때 이 값들이 이제 저장됩니다." + +#: ../../pixmap.rst:274 a468673bcf8b49a68b788fd8ae23b5d5 +msgid "Set the resolution (dpi) in x and y direction." +msgstr "x 및 y 방향의 해상도(dpi)를 설정합니다." + +#: ../../pixmap.rst:276 0ac91572ffc64e2bba64b0279d3fc7a3 +msgid "resolution in x direction." +msgstr "x 방향 해상도." + +#: ../../pixmap.rst:277 1eb356ec57454ca9815ab72ead63956f +msgid "resolution in y direction." +msgstr "y 방향 해상도." + +#: ../../pixmap.rst:282 8623995d2c004b0ba2caf470042846f1 +msgid "Changed in v 1.18.13" +msgstr "v1.18.13에서 변경됨" + +#: ../../pixmap.rst:284 82d487067f8d4ced9ef11d081f5e4ce8 +msgid "Change the alpha values. The pixmap must have an alpha channel." +msgstr "알파 값을 변경합니다. 픽스맵은 알파 채널을 가져야 합니다." + +#: ../../pixmap.rst:286 c98fe169c19c487481ca55cd0633f3f8 +msgid "" +"the new alpha values. If provided, its length must be at least *width * " +"height*. If omitted (`None`), all alpha values are set to 255 (no " +"transparency). *Changed in version 1.14.13:* *io.BytesIO* is now also " +"accepted." +msgstr "새 알파 값. 제공된 경우 길이는 최소 *width * height* 여야 합니다. 생략(`None`)하면 모든 알파 값이 255(투명도 없음)로 설정됩니다. *버전 1.14.13에서 변경됨:* 이제 *io.BytesIO* 도 허용됩니다." + +#: ../../pixmap.rst:287 e94c3d6b68c141e2b61b6f54ab717d33 +msgid "" +"*New in v1.18.13:* whether to premultiply color components with the alpha" +" value." +msgstr "*v1.18.13의 새로운 기능:* 색상 구성 요소를 알파 값으로 사전 곱셈할지 여부." + +#: ../../pixmap.rst:288 fbe9e806927d460389c858b14d4f3644 +msgid "" +"ignore the alpha value and set this color to fully transparent. A " +"sequence of integers in `range(256)` with a length of :attr:`Pixmap.n`. " +"Default is ``None``. For example, a typical choice for RGB would be " +"`opaque=(255, 255, 255)` (white)." +msgstr "알파 값을 무시하고 이 색상을 완전히 투명하게 설정합니다. :attr:`Pixmap.n` 길이의 `range(256)` 정수 시퀀스. 기본값은 ``None`` 입니다. 예를 들어 RGB의 일반적인 선택은 `opaque=(255, 255, 255)` (흰색)입니다." + +#: ../../pixmap.rst:293 e617ef83731c4689a35511a90c29ceeb +msgid "" +"Invert the color of all pixels in :ref:`IRect` *irect*. Will have no " +"effect if colorspace is ``None``." +msgstr ":ref:`IRect` *irect* 의 모든 픽셀 색상을 반전합니다. 색상 공간이 ``None`` 이면 효과가 없습니다." + +#: ../../pixmap.rst:295 b9d38a022bef44f89d241d1964237fbb +msgid "The area to be inverted. Omit to invert everything." +msgstr "반전할 영역. 생략하면 모든 것을 반전합니다." + +#: ../../pixmap.rst:299 e764fb3df0324f5187dbb68ba9a917ba +msgid "" +"Copy the *irect* part of the *source* pixmap into the corresponding area " +"of this one. The two pixmaps may have different dimensions and can each " +"have :data:`CS_GRAY` or :data:`CS_RGB` colorspaces, but they currently " +"**must** have the same alpha property [#f2]_. The copy mechanism " +"automatically adjusts discrepancies between source and target like so:" +msgstr "*source* 픽스맵의 *irect* 부분을 이 픽스맵의 해당 영역에 복사합니다. 두 픽스맵은 다른 크기를 가질 수 있으며 각각 :data:`CS_GRAY` 또는 :data:`CS_RGB` 색상 공간을 가질 수 있지만 현재 **반드시** 동일한 알파 속성을 가져야 합니다 [#f2]_. 복사 메커니즘은 다음과 같이 소스와 대상 간의 차이를 자동으로 조정합니다:" + +#: ../../pixmap.rst:301 e270f22850b84663930783d1f33ca33c +msgid "" +"If copying from :data:`CS_GRAY` to :data:`CS_RGB`, the source gray-shade " +"value will be put into each of the three rgb component bytes. If the " +"other way round, *(r + g + b) / 3* will be taken as the gray-shade value " +"of the target." +msgstr ":data:`CS_GRAY` 에서 :data:`CS_RGB` 로 복사하는 경우, 소스 그레이 음영 값이 세 개의 RGB 구성 요소 바이트 각각에 배치됩니다. 반대의 경우, *(r + g + b) / 3* 이 대상의 그레이 음영 값으로 사용됩니다." + +#: ../../pixmap.rst:303 e29fc4caf130461db1843ba16fe4fc72 +msgid "" +"Between *irect* and the target pixmap's rectangle, an \"intersection\" is" +" calculated at first. This takes into account the rectangle coordinates " +"and the current attribute values :attr:`Pixmap.x` and :attr:`Pixmap.y` " +"(which you are free to modify for this purpose via " +":meth:`Pixmap.set_origin`). Then the corresponding data of this " +"intersection are copied. If the intersection is empty, nothing will " +"happen." +msgstr "*irect* 와 대상 픽스맵의 사각형 사이에서 먼저 \"교집합\"이 계산됩니다. 이것은 사각형 좌표와 현재 속성 값 :attr:`Pixmap.x` 및 :attr:`Pixmap.y` (이 목적을 위해 :meth:`Pixmap.set_origin` 을 통해 자유롭게 수정할 수 있음)를 고려합니다. 그런 다음 이 교집합의 해당 데이터가 복사됩니다. 교집합이 비어 있으면 아무 일도 발생하지 않습니다." + +#: ../../pixmap.rst:308 fb1b535c8adc44baa4c729c25fec3e14 +msgid "The area to be copied." +msgstr "복사할 영역." + +#: ../../pixmap.rst:310 82448c014aa543b68e66cec1b07f3d96 +msgid "" +"Example: Suppose you have two pixmaps, `pix1` and `pix2` and you want to " +"copy the lower right quarter of `pix2` to `pix1` such that it starts at " +"the top-left point of `pix1`. Use the following snippet::" +msgstr "예제: 두 개의 픽스맵 `pix1` 과 `pix2` 가 있고 `pix2` 의 오른쪽 아래 사분면을 `pix1` 의 왼쪽 위 지점에서 시작하도록 `pix1` 에 복사하려는 경우 다음 스니펫을 사용하세요::" + +#: ../../pixmap.rst:329 7fbfff308f9d4627a4a6f2fc60e1651e +msgid "" +"Changed in v1.22.0: Added **direct support of JPEG** images. Image " +"quality can be controlled via parameter \"jpg_quality\"." +msgstr "v1.22.0에서 변경됨: **JPEG 이미지 직접 지원** 이 추가되었습니다. 이미지 품질은 \"jpg_quality\" 매개변수를 통해 제어할 수 있습니다." + +#: ../../pixmap.rst:331 97bd54f9e597471292898030e2002c7a +msgid "" +"Save pixmap as an image file. Depending on the output chosen, only some " +"or all colorspaces are supported and different file extensions can be " +"chosen. Please see the table below." +msgstr "픽스맵을 이미지 파일로 저장합니다. 선택한 출력에 따라 일부 또는 모든 색상 공간이 지원되며 다른 파일 확장자를 선택할 수 있습니다. 아래 표를 참조하세요." + +#: ../../pixmap.rst:333 9cbb39acd6fd43c7b4231f63399b34d8 +msgid "" +"The file to save to. May be provided as a string, as a ``pathlib.Path`` " +"or as a Python file object. In the latter two cases, the filename is " +"taken from the resp. object. The filename's extension determines the " +"image format, which can be overruled by the output parameter." +msgstr "저장할 파일. 문자열, ``pathlib.Path`` 또는 Python 파일 객체로 제공할 수 있습니다. 후자 두 경우에는 파일 이름이 해당 객체에서 가져옵니다. 파일 이름의 확장자는 이미지 형식을 결정하며, output 매개변수로 재정의할 수 있습니다." + +#: ../../pixmap.rst:335 a8f9fb30eb6f4e129ccdb1eb4dfb2d50 +msgid "" +"The desired image format. The default is the filename's extension. If " +"both, this value and the file extension are unsupported, an exception is " +"raised. For possible values see :ref:`PixmapOutput`." +msgstr "원하는 이미지 형식. 기본값은 파일 이름의 확장자입니다. 이 값과 파일 확장자가 모두 지원되지 않으면 예외가 발생합니다. 가능한 값은 :ref:`PixmapOutput` 을 참조하세요." + +#: ../../pixmap.rst:336 ../../pixmap.rst:346 57c5e89d61b643828893b09c1506e81c +#: a4031bcffabf4809bb9b3450054f39ec +msgid "" +"The desired image quality, default 95. Only applies to JPEG images, else " +"ignored. This parameter trades quality against file size. A value of 98 " +"is close to lossless. Higher values should not lead to better quality." +msgstr "원하는 이미지 품질, 기본값 95. JPEG 이미지에만 적용되며, 그렇지 않으면 무시됩니다. 이 매개변수는 품질과 파일 크기를 교환합니다. 값 98은 무손실에 가깝습니다. 더 높은 값이 더 나은 품질로 이어지지는 않습니다." + +#: ../../pixmap.rst 31830ae4676c49a29f6eda0ec74b2cc7 +#: 35f861d76f76416f84ca4a6cfbb9ba36 9e7d20d2ebff48a5a2f12a7bb9cb207f +#: 9e8d92287683474c8894ca359bc0df3c eaa3f51d3c63445d921c804b8d264fba +msgid "Raises" +msgstr "Raises" + +#: ../../pixmap.rst:338 ../../pixmap.rst:348 74c8c07d5a4d429180ebc61a6dc88b40 +#: 888fc652cefb483cbc631acba45b2a8c +msgid "For unsupported image formats." +msgstr "지원되지 않는 이미지 형식의 경우." + +#: ../../pixmap.rst:342 3e89ee831b4744b2a7778a6f2ab7d705 +msgid "" +"New in version 1.14.5: Return the pixmap as a *bytes* memory object of " +"the specified format -- similar to :meth:`save`." +msgstr "버전 1.14.5의 새로운 기능: 지정된 형식의 *bytes* 메모리 객체로 픽스맵을 반환합니다 -- :meth:`save` 와 유사합니다." + +#: ../../pixmap.rst:343 4dff4d1183ff44f2a456ec123ddad67f +msgid "" +"Changed in v1.22.0: Added **direct JPEG support**. Image quality can be " +"influenced via new parameter \"jpg_quality\"." +msgstr "v1.22.0에서 변경됨: **직접 JPEG 지원** 이 추가되었습니다. 이미지 품질은 새로운 매개변수 \"jpg_quality\"를 통해 조정할 수 있습니다." + +#: ../../pixmap.rst:345 17d9ad6bf1cd4d0caaf174d46a29b286 +msgid "" +"The desired image format. The default is \"png\". For possible values see" +" :ref:`PixmapOutput`." +msgstr "원하는 이미지 형식. 기본값은 \"png\"입니다. 가능한 값은 :ref:`PixmapOutput` 을 참조하세요." + +#: ../../pixmap.rst:351 7a4a3392440c413b9549ddfd80aa09e8 +msgid "" +"The requested image format. The default is \"png\". For other possible " +"values see :ref:`PixmapOutput`." +msgstr "요청된 이미지 형식. 기본값은 \"png\"입니다. 다른 가능한 값은 :ref:`PixmapOutput` 을 참조하세요." + +#: ../../pixmap.rst:355 ../../pixmap.rst:370 024249ef113f468bba659314559663a8 +#: 3ebc661e655c4894a0780bd40d34f1b9 +msgid "New in v1.19.0" +msgstr "v1.19.0에서 새로 추가됨" + +#: ../../pixmap.rst:357 ../../pixmap.rst:372 98399e67142a4ab4bfa0146bb6a938e0 +#: fde150994fb44c0dac805e2d7807ae53 +msgid "Changed in v1.22.5: Support of new parameter for Tesseract's tessdata." +msgstr "v1.22.5에서 변경됨: Tesseract의 tessdata에 대한 새로운 매개변수 지원." + +#: ../../pixmap.rst:359 7e216757569f4c4ebb1b9d88f2858c00 +msgid "" +"Perform text recognition using Tesseract and save the image as a 1-page " +"PDF with an OCR text layer." +msgstr "Tesseract를 사용하여 텍스트 인식을 수행하고 이미지를 OCR 텍스트 레이어가 있는 1페이지 PDF로 저장합니다." + +#: ../../pixmap.rst:361 9e480852cca4498d8cb34f674e078760 +msgid "" +"identifies the file to save to. May be either a string or a pointer to a " +"file opened with \"wb\" (includes `io.BytesIO()` objects)." +msgstr "저장할 파일을 식별합니다. 문자열 또는 \"wb\"로 열린 파일에 대한 포인터(`io.BytesIO()` 객체 포함)일 수 있습니다." + +#: ../../pixmap.rst:362 739251505f694c69af4730ee2d8f7848 +msgid "whether to compress the resulting PDF, default is `True`." +msgstr "결과 PDF를 압축할지 여부, 기본값은 `True` 입니다." + +#: ../../pixmap.rst:363 8c1c54fe56a34bf19f07465936ed9f10 +msgid "" +"the languages occurring in the image. This must be specified in Tesseract" +" format. Default is \"eng\" for English. Use \"+\"-separated Tesseract " +"language codes for multiple languages, like \"eng+spa\" for English and " +"Spanish." +msgstr "이미지에 나타나는 언어. Tesseract 형식으로 지정해야 합니다. 기본값은 영어의 경우 \"eng\"입니다. 여러 언어의 경우 \"+\"로 구분된 Tesseract 언어 코드를 사용하세요(예: 영어와 스페인어의 경우 \"eng+spa\")." + +#: ../../pixmap.rst:364 fcca47fa76a9459cbec299e7f148dec6 +msgid "" +"folder name of Tesseract's language support. If omitted, this information" +" must be present as environment variable `TESSDATA_PREFIX`." +msgstr "Tesseract의 언어 지원 폴더 이름. 생략된 경우 이 정보는 환경 변수 `TESSDATA_PREFIX` 로 존재해야 합니다." + +#: ../../pixmap.rst:366 21a4cf67602b4076b49b985e8aa0c66b +msgid "" +"**Will fail** if Tesseract is not installed or if the environment " +"variable \"TESSDATA_PREFIX\" is not set to the `tessdata` folder name and" +" not provided as parameter." +msgstr "Tesseract가 설치되지 않았거나 환경 변수 \"TESSDATA_PREFIX\"가 `tessdata` 폴더 이름으로 설정되지 않고 매개변수로 제공되지 않으면 **실패합니다**." + +#: ../../pixmap.rst:374 32b8acd13d9f48e1bfd79ab1023be929 +msgid "" +"Perform text recognition using Tesseract and convert the image to a " +"1-page PDF with an OCR text layer. Internally invokes " +":meth:`Pixmap.pdfocr_save`." +msgstr "Tesseract를 사용하여 텍스트 인식을 수행하고 이미지를 OCR 텍스트 레이어가 있는 1페이지 PDF로 변환합니다. 내부적으로 :meth:`Pixmap.pdfocr_save` 를 호출합니다." + +#: ../../pixmap.rst:376 9e005bf6ab3440c085ee1193ba601f87 +msgid "" +"A 1-page PDF file in memory. Could be opened like " +"`doc=pymupdf.open(\"pdf\", pix.pdfocr_tobytes())`, and text extractions " +"could be performed on its `page=doc[0]`. .. note:: Another possible " +"use is insertion into some pdf. The following snippet reads the images of" +" a folder and stores them as pages in a new PDF that contain an OCR text " +"layer:: doc = pymupdf.open() for imgfile in " +"os.listdir(folder): pix = pymupdf.Pixmap(imgfile) " +"imgpdf = pymupdf.open(\"pdf\", pix.pdfocr_tobytes()) " +"doc.insert_pdf(imgpdf) pix = None imgpdf.close() " +"doc.save(\"ocr-images.pdf\")" +msgstr "" + +#: ../../pixmap.rst:376 b412ebf7d201478890ec75b641a17871 +msgid "" +"A 1-page PDF file in memory. Could be opened like " +"`doc=pymupdf.open(\"pdf\", pix.pdfocr_tobytes())`, and text extractions " +"could be performed on its `page=doc[0]`." +msgstr "메모리의 1페이지 PDF 파일. `doc=pymupdf.open(\"pdf\", pix.pdfocr_tobytes())` 와 같이 열 수 있으며, `page=doc[0]` 에서 텍스트 추출을 수행할 수 있습니다." + +#: ../../pixmap.rst:380 2cd418d767ef4149b35f4d0415d14af1 +msgid "" +"Another possible use is insertion into some pdf. The following snippet " +"reads the images of a folder and stores them as pages in a new PDF that " +"contain an OCR text layer::" +msgstr "다른 가능한 사용법은 일부 PDF에 삽입하는 것입니다. 다음 스니펫은 폴더의 이미지를 읽어 OCR 텍스트 레이어가 포함된 새 PDF의 페이지로 저장합니다::" + +#: ../../pixmap.rst:394 efc06e14189c4871827c5261c0623dfa +msgid "Create a Pillow Image from the pixmap. PIL / Pillow must be installed." +msgstr "픽스맵에서 Pillow 이미지를 생성합니다. PIL / Pillow가 설치되어 있어야 합니다." + +#: ../../pixmap.rst:396 ../../pixmap.rst:416 ../../pixmap.rst:424 +#: 3df2560f6e804a789cc70c26deec880b 8087c1edcca942f186efe9ad6be77c16 +#: 85c874d70f274112a51bc6ce56e6e197 +msgid "if Pillow is not installed." +msgstr "Pillow가 설치되지 않은 경우." + +#: ../../pixmap.rst:397 69708896f8e44f9eb5a130326ae36b80 +msgid "a ``PIL.Image`` object" +msgstr "``PIL.Image`` 객체" + +#: ../../pixmap.rst:401 3f77a2ee05134b31a570bc40ff704b87 +msgid "" +"Write the pixmap as an image file using Pillow. Use this method for " +"output unsupported by MuPDF. Examples are" +msgstr "Pillow를 사용하여 픽스맵을 이미지 파일로 씁니다. MuPDF에서 지원하지 않는 출력에 이 메서드를 사용하세요. 예는 다음과 같습니다" + +#: ../../pixmap.rst:403 8f8925fd0a1e4868840945ccf3b35017 +msgid "Formats JPX, J2K, WebP, etc." +msgstr "JPX, J2K, WebP 등의 형식." + +#: ../../pixmap.rst:404 bd17d3e24fb740469efea4743e5ffb78 +msgid "Storing EXIF information." +msgstr "EXIF 정보 저장." + +#: ../../pixmap.rst:405 d7d0bc56bfcb4f179b7f00d2ad59c255 +msgid "" +"If you do not provide dpi information, the values *xres*, *yres* stored " +"with the pixmap are automatically used." +msgstr "dpi 정보를 제공하지 않으면 픽스맵에 저장된 *xres*, *yres* 값이 자동으로 사용됩니다." + +#: ../../pixmap.rst:407 20bf1e69dd5147b9a108ab328fe2657e +msgid "" +"A simple example: `pix.pil_save(\"some.webp\", optimize=True, dpi=(150, " +"150))`." +msgstr "간단한 예제: `pix.pil_save(\"some.webp\", optimize=True, dpi=(150, 150))`." + +#: ../../pixmap.rst:409 71799e7c62324bbea016ae30eafbc021 +msgid "" +"If the pixmap's colorspace is RGB with transparency, the alpha values may" +" or may not already be multiplied into the color components " +"ref/green/blue (called \"premultiplied\"). To enforce undoing " +"premultiplication, set this parameter to `True`. To learn about some " +"background, e.g. look for `\"Premultiplied alpha\" on this page " +"`_." +msgstr "픽스맵의 색상 공간이 투명도가 있는 RGB인 경우, 알파 값이 이미 색상 구성 요소 빨강/녹색/파랑(소위 \"사전 곱셈\")에 곱해져 있을 수도 있고 아닐 수도 있습니다. 사전 곱셈을 취소하려면 이 매개변수를 `True` 로 설정하세요. 배경에 대한 자세한 내용은 예를 들어 이 페이지 에서 `\"Premultiplied alpha\" `_ 를 찾아보세요." + +#: ../../pixmap.rst:412 c5f67c82cc1b4a078d120281dc779a59 +msgid "For details on other parameters see the Pillow documentation." +msgstr "다른 매개변수에 대한 자세한 내용은 Pillow 문서를 참조하세요." + +#: ../../pixmap.rst:414 d3f2fde19b034f09971604debcf8e6dc +msgid "" +"Since v1.22.0, PyMuPDF supports JPEG output directly. We recommended to " +"no longer use this method for JPEG output -- for performance reasons and " +"for avoiding unnecessary external dependencies." +msgstr "v1.22.0부터 PyMuPDF는 JPEG 출력을 직접 지원합니다. 성능상의 이유와 불필요한 외부 종속성을 피하기 위해 JPEG 출력에는 이 메서드를 더 이상 사용하지 않는 것을 권장합니다." + +#: ../../pixmap.rst:420 835e9bbf2bc047f2b9657ca7741ec37e +msgid "New in v1.17.3" +msgstr "v1.17.3에서 새로 추가됨" + +#: ../../pixmap.rst:422 d0177a551753414586749bf415cf6080 +msgid "" +"Return an image as a bytes object in the specified format using Pillow. " +"For example `stream = pix.pil_tobytes(format=\"WEBP\", optimize=True, " +"dpi=(150, 150))`. Also see above. For details on other parameters see the" +" Pillow documentation." +msgstr "Pillow를 사용하여 지정된 형식의 bytes 객체로 이미지를 반환합니다. 예를 들어 `stream = pix.pil_tobytes(format=\"WEBP\", optimize=True, dpi=(150, 150))`. 위 내용도 참조하세요. 다른 매개변수에 대한 자세한 내용은 Pillow 문서를 참조하세요." + +#: ../../pixmap.rst:431 ../../pixmap.rst:466 68173364cda84dab84fa461435fdec56 +#: b156a10f58714dae92ca5c3163c24112 +msgid "New in v1.19.3" +msgstr "v1.19.3에서 새로 추가됨" + +#: ../../pixmap.rst:433 129930765e83498b8cb4362c41d7fb9a +msgid "" +"Return a new pixmap by \"warping\" the quad such that the quad corners " +"become the new pixmap's corners. The target pixmap's `irect` will be `(0," +" 0, width, height)`." +msgstr "quad를 \"왜곡\"하여 quad 모서리가 새 픽스맵의 모서리가 되도록 새 픽스맵을 반환합니다. 대상 픽스맵의 `irect` 는 `(0, 0, width, height)` 가 됩니다." + +#: ../../pixmap.rst:435 6c6e2bf54f6c4c1cbd3c172dbbfb7712 +msgid "" +"a convex quad with coordinates inside :attr:`Pixmap.irect` (including the" +" border points)." +msgstr ":attr:`Pixmap.irect` 내부(경계 점 포함)에 좌표가 있는 볼록 quad." + +#: ../../pixmap.rst:436 e9644c03761249019390c475ce09eeb9 +msgid "desired resulting width." +msgstr "원하는 결과 너비." + +#: ../../pixmap.rst:437 5af3c5ce964244d9ac8c1210ae145777 +msgid "desired resulting height." +msgstr "원하는 결과 높이." + +#: ../../pixmap.rst:438 23af53d676c943ab8270f1f4eb3e15f8 +msgid "" +"A new pixmap where the quad corners are mapped to the pixmap corners in a" +" clockwise fashion: `quad.ul -> irect.tl`, `quad.ur -> irect.tr`, etc." +msgstr "quad 모서리가 시계 방향으로 픽스맵 모서리에 매핑된 새 픽스맵: `quad.ul -> irect.tl`, `quad.ur -> irect.tr` 등." + +#: ../../pixmap.rst:439 c3fb88fba3f7447889bc2174e90ed4ed +msgid "" +":ref:`Pixmap` .. image:: images/img-warp.* :scale: 40 :align: " +"center" +msgstr "" + +#: ../../pixmap.rst:439 8eb4c765b10a4af0b07fe6d1cd7386d2 +msgid ":ref:`Pixmap`" +msgstr ":ref:`Pixmap`" + +#: ../../pixmap.rst:448 ../../pixmap.rst:505 ../../pixmap.rst:514 +#: 00c62e32e38c4d82895121b426757269 0149558efd01426095beb5bf88035b73 +#: 5c3eedb1091c4eb1af8d1010e7f2b3f0 +msgid "New in v1.19.2" +msgstr "v1.19.2에서 새로 추가됨" + +#: ../../pixmap.rst:449 b8fe5dd5d0294610a99db8d7ebd6deec +msgid "Changed in v1.19.3" +msgstr "v1.19.3에서 변경됨" + +#: ../../pixmap.rst:451 c2da2a6121594d6c8b3f4e6e7d643cee +msgid "Determine the pixmap's unique colors and their count." +msgstr "픽스맵의 고유 색상과 개수를 확인합니다." + +#: ../../pixmap.rst:453 992445f66d104d8c89ac2f8297c8e9c4 +msgid "" +"*(changed in v1.19.3)* If `True` return a dictionary of color pixels and " +"their usage count, else just the number of unique colors." +msgstr "*(v1.19.3에서 변경됨)* `True` 이면 색상 픽셀과 사용 횟수의 딕셔너리를 반환하고, 그렇지 않으면 고유 색상의 개수만 반환합니다." + +#: ../../pixmap.rst:454 db2ea4eae7a1492dad41fae7951b0160 +msgid "" +"a rectangle inside :attr:`Pixmap.irect`. If provided, only those pixels " +"are considered. This allows inspecting sub-rectangles of a given pixmap " +"directly -- instead of building sub-pixmaps." +msgstr ":attr:`Pixmap.irect` 내부의 사각형. 제공된 경우 해당 픽셀만 고려됩니다. 이를 통해 하위 픽스맵을 구축하는 대신 주어진 픽스맵의 하위 사각형을 직접 검사할 수 있습니다." + +#: ../../pixmap.rst:456 61a615b057024b7a9b6ac7fe5ff849ab +msgid "" +"either the number of colors, or a dictionary with the items `pixel: " +"count`. The pixel key is a `bytes` object of length :attr:`Pixmap.n`. .." +" note:: To recover the **tuple** of a pixel, use " +"`tuple(colors.keys()[i])` for the i-th item. * The response time " +"depends on the pixmap's samples size and may be more than a second for " +"very large pixmaps. * Where applicable, pixels with different alpha " +"values will be treated as different colors." +msgstr "" + +#: ../../pixmap.rst:456 9ad0b09ff1334369af15be4f052a2f6f +msgid "" +"either the number of colors, or a dictionary with the items `pixel: " +"count`. The pixel key is a `bytes` object of length :attr:`Pixmap.n`." +msgstr "색상 개수 또는 `pixel: count` 항목이 있는 딕셔너리. 픽셀 키는 :attr:`Pixmap.n` 길이의 `bytes` 객체입니다." + +#: ../../pixmap.rst:458 d7bdc5a53abc43d6a1041953b5c0c526 +msgid "" +"To recover the **tuple** of a pixel, use `tuple(colors.keys()[i])` for " +"the i-th item." +msgstr "픽셀의 **튜플** 을 복구하려면 i번째 항목에 대해 `tuple(colors.keys()[i])` 를 사용하세요." + +#: ../../pixmap.rst:460 260f96dbe8c04ab1a25159255b8b79a7 +msgid "" +"The response time depends on the pixmap's samples size and may be more " +"than a second for very large pixmaps." +msgstr "응답 시간은 픽스맵의 samples 크기에 따라 달라지며 매우 큰 픽스맵의 경우 1초 이상 걸릴 수 있습니다." + +#: ../../pixmap.rst:461 1b987ef794b6454eb0d9366a05344070 +msgid "" +"Where applicable, pixels with different alpha values will be treated as " +"different colors." +msgstr "해당되는 경우 다른 알파 값을 가진 픽셀은 다른 색상으로 처리됩니다." + +#: ../../pixmap.rst:468 2b6490adea534fa6a8de4eaf1edb354a +msgid "Return the most frequently used color and its relative frequency." +msgstr "가장 자주 사용되는 색상과 상대적 빈도를 반환합니다." + +#: ../../pixmap.rst:470 485c7c5b4da94258b242db7b59b19b53 +msgid "" +"A rectangle inside :attr:`Pixmap.irect`. If provided, only those pixels " +"are considered. This allows inspecting sub-rectangles of a given pixmap " +"directly -- instead of building sub-pixmaps." +msgstr ":attr:`Pixmap.irect` 내부의 사각형. 제공된 경우 해당 픽셀만 고려됩니다. 이를 통해 하위 픽스맵을 구축하는 대신 주어진 픽스맵의 하위 사각형을 직접 검사할 수 있습니다." + +#: ../../pixmap.rst:472 9110208e27134f02a9b9bcdc7700add8 +#, python-format +msgid "" +"A tuple `(ratio, pixel)` where `0 < ratio <= 1` and *pixel* is the pixel " +"value of the color. Use this to decide if the image is \"almost\" " +"unicolor: a response `(0.95, b\"\\x00\\x00\\x00\")` means that 95% of all" +" pixels are black. See an example here :ref:`RecipesImages_P`." +msgstr "`0 < ratio <= 1` 이고 *pixel* 이 색상의 픽셀 값인 튜플 `(ratio, pixel)`. 이를 사용하여 이미지가 \"거의\" 단색인지 결정하세요: 응답 `(0.95, b\"\\x00\\x00\\x00\")` 는 모든 픽셀의 95%가 검은색임을 의미합니다. 예제는 :ref:`RecipesImages_P` 를 참조하세요." + +#: ../../pixmap.rst:477 5e93c19118c44e4598fc55ffb9cd04f6 +msgid "Indicates whether the pixmap contains transparency information." +msgstr "픽스맵에 투명도 정보가 포함되어 있는지 나타냅니다." + +#: ../../pixmap.rst 09340208613f48af95d9e1d2a3ef91fa +#: 0cc2b878ea234bfe8d91795141e3924d 0ff51066858f4faaad58612b0fbd5896 +#: 163c7d4bd8d3405ca26c2650fa5d8a10 3eb04a688a904a5eaadf5d79aed68b1a +#: 4869cfa0cd314211b192a2294838c7dc 5124ac9063654c24a37926de5ab662b6 +#: 557f147c6be94fe083e8082986fa08b6 5ee3e6766dd44d2582e805125e914472 +#: 5f52d2e5c48c47d7aec0c2b7a743fd46 6124bd56d7524796b1aa3c3e18458232 +#: 7c890834a7cf4a088780dfb0e21745a8 84cbd010ada9441a9182c12bbe62059b +#: 89488e9f1e4c4e3d8c6ca9ce290016a4 8be2b06b344443289085426c1e14fa50 +#: 922e0d0d08124b5081bcbb57569a2aa8 a1b9de76b34b47f9b95c7bb1563b9e5a +#: d0c0191f32ed43c6a6857c305705698b ead0a6e9dc94433ba020dae746028076 +msgid "type" +msgstr "" + +#: ../../pixmap.rst:479 ../../pixmap.rst:509 ../../pixmap.rst:518 +#: ../../pixmap.rst:633 3d5651d764be40cca15a078b7f2531b8 +#: 694a5ede4c4c43319c089b1737fd0b9c a65782123b144e4186d43ddd5c138a97 +#: cd79fe63f067476c8342570d590c3121 +msgid "bool" +msgstr "" + +#: ../../pixmap.rst:483 98d329d87318478090434465b043c79d +msgid "" +"The MD5 hashcode (16 bytes) of the pixmap. This is a technical value used" +" for unique identifications." +msgstr "픽스맵의 MD5 해시코드(16바이트). 고유 식별에 사용되는 기술적 값입니다." + +#: ../../pixmap.rst:485 ../../pixmap.rst:537 d353d95ffd0249c9985587a89eec06f3 +#: fe9d2fb1853646c9bb567d4a448e58de +msgid "bytes" +msgstr "" + +#: ../../pixmap.rst:489 94c016ffd0e94ef8a92a913eac909cf0 +msgid "" +"The colorspace of the pixmap. This value may be ``None`` if the image is " +"to be treated as a so-called *image mask* or *stencil mask* (currently " +"happens for extracted PDF document images only)." +msgstr "픽스맵의 색상 공간. 이미지가 소위 *이미지 마스크* 또는 *스텐실 마스크* 로 처리되는 경우(현재 추출된 PDF 문서 이미지에만 적용) 이 값은 ``None`` 일 수 있습니다." + +#: ../../pixmap.rst:491 b6cfc944281042b38f313e221d8208ee +msgid ":ref:`Colorspace`" +msgstr "" + +#: ../../pixmap.rst:495 6a4abc1ca4ea41e5b98e5867969d0aea +msgid "" +"Contains the length of one row of image data in :attr:`Pixmap.samples`. " +"This is primarily used for calculation purposes. The following " +"expressions are true:" +msgstr ":attr:`Pixmap.samples` 의 이미지 데이터 한 행의 길이를 포함합니다. 주로 계산 목적으로 사용됩니다. 다음 표현식이 참입니다:" + +#: ../../pixmap.rst:497 9ef5987d2b004c03a37ac85ebe94eb90 +msgid "`len(samples) == height * stride`" +msgstr "" + +#: ../../pixmap.rst:498 ad30730142bb41048a7ad4d99adb37ff +msgid "`width * n == stride`" +msgstr "" + +#: ../../pixmap.rst:500 ../../pixmap.rst:575 ../../pixmap.rst:581 +#: ../../pixmap.rst:589 ../../pixmap.rst:597 ../../pixmap.rst:603 +#: ../../pixmap.rst:609 ../../pixmap.rst:615 ../../pixmap.rst:621 +#: ../../pixmap.rst:627 565eef89a4f1443196235c362117a790 +#: 5790752de4bc4483b7998ab835faa57f 6b853b1effba4f9fa88e23a4ae3e5bf7 +#: a40cc5c113bb4004862e82488bb6ad45 accc4d8148f54c7db1495d30f6c968f0 +#: bca3975d0f204589a21f970e856552f3 d03716e1479c4f6b823e4712bf40c8e9 +#: d2bde8f030b0409d8de6030b27ad0c95 d833bb6cf43f4a109aa43ffba391db0f +#: d8b756b8057c42329c2c1040697bad3a +msgid "int" +msgstr "" + +#: ../../pixmap.rst:507 8695567f63d74993b36963cb05639cf6 +msgid "Is `True` for a gray pixmap which only has the colors black and white." +msgstr "검은색과 흰색만 있는 그레이 픽스맵에 대해 `True` 입니다." + +#: ../../pixmap.rst:516 b44722fd47e341cb9f851ef65e077148 +msgid "" +"Is `True` if all pixels are identical (any colorspace). Where applicable," +" pixels with different alpha values will be treated as different colors." +msgstr "모든 픽셀이 동일한 경우(모든 색상 공간) `True` 입니다. 해당되는 경우 다른 알파 값을 가진 픽셀은 다른 색상으로 처리됩니다." + +#: ../../pixmap.rst:523 6f074461eb274b3388c6956012c6f942 +msgid "Contains the :ref:`IRect` of the pixmap." +msgstr "픽스맵의 :ref:`IRect` 를 포함합니다." + +#: ../../pixmap.rst:525 8f50d53afc654b528e20564902041ddb +msgid ":ref:`IRect`" +msgstr "" + +#: ../../pixmap.rst:529 3abafa8c77804d0482f902d9e46ffb92 +msgid "" +"The color and (if :attr:`Pixmap.alpha` is true) transparency values for " +"all pixels. It is an area of `width * height * n` bytes. Each n bytes " +"define one pixel. Each successive n bytes yield another pixel in scanline" +" order. Subsequent scanlines follow each other with no padding. E.g. for " +"an RGBA colorspace this means, *samples* is a sequence of bytes like " +"*..., R, G, B, A, ...*, and the four byte values R, G, B, A define one " +"pixel." +msgstr "모든 픽셀의 색상 및 (:attr:`Pixmap.alpha` 가 true인 경우) 투명도 값. `width * height * n` 바이트 영역입니다. 각 n 바이트는 하나의 픽셀을 정의합니다. 연속된 각 n 바이트는 스캔라인 순서로 또 다른 픽셀을 생성합니다. 후속 스캔라인은 패딩 없이 서로 이어집니다. 예를 들어 RGBA 색상 공간의 경우, *samples* 는 *..., R, G, B, A, ...* 와 같은 바이트 시퀀스이며, 네 개의 바이트 값 R, G, B, A가 하나의 픽셀을 정의합니다." + +#: ../../pixmap.rst:531 4d2c9332a9384bb2ac55549aea165f04 +msgid "" +"This area can be passed to other graphics libraries like PIL (Python " +"Imaging Library) to do additional processing like saving the pixmap in " +"other image formats." +msgstr "이 영역은 PIL(Python Imaging Library)과 같은 다른 그래픽 라이브러리에 전달하여 다른 이미지 형식으로 픽스맵을 저장하는 등의 추가 처리를 수행할 수 있습니다." + +#: ../../pixmap.rst:534 44ba67d25a5246c9b5c0fd86fc515d65 +msgid "" +"The underlying data is typically a **large** memory area, from which a " +"`bytes` copy is made for this attribute ... each time you access it: for " +"example an RGB-rendered letter page has a samples size of almost 1.4 MB. " +"So consider assigning a new variable to it or use the `memoryview` " +"version :attr:`Pixmap.samples_mv` (new in v1.18.17)." +msgstr "기본 데이터는 일반적으로 **큰** 메모리 영역이며, 이 속성에 접근할 때마다 `bytes` 복사본이 생성됩니다: 예를 들어 RGB로 렌더링된 레터 페이지는 samples 크기가 거의 1.4MB입니다. 따라서 새 변수에 할당하거나 `memoryview` 버전 :attr:`Pixmap.samples_mv` (v1.18.17에서 새로 추가됨)를 사용하세요." + +#: ../../pixmap.rst:535 028c2991fa3746d8ba4fcb1363e0ac36 +msgid "" +"Any changes to the underlying data are available only after accessing " +"this attribute again. This is different from using the memoryview " +"version." +msgstr "기본 데이터에 대한 모든 변경 사항은 이 속성에 다시 접근한 후에만 사용할 수 있습니다. 이것은 memoryview 버전을 사용하는 것과 다릅니다." + +#: ../../pixmap.rst:541 ../../pixmap.rst:563 6231b732cd664d9ea3f80fe04f0151c9 +#: a54baa772ece47f4b743977662b324a4 +msgid "New in v1.18.17" +msgstr "v1.18.17에서 새로 추가됨" + +#: ../../pixmap.rst:543 090480ef9ce349efab292a2a0fe883b7 +msgid "" +"Like :attr:`Pixmap.samples`, but in Python `memoryview` format. It is " +"built pointing to the memory in the pixmap -- not from a copy of it. So " +"its creation speed is independent from the pixmap size, and any changes " +"to pixels will be available immediately." +msgstr ":attr:`Pixmap.samples` 와 유사하지만 Python `memoryview` 형식입니다. 픽스맵의 메모리를 가리키도록 구축됩니다 -- 복사본이 아닙니다. 따라서 생성 속도는 픽스맵 크기와 무관하며 픽셀에 대한 모든 변경 사항이 즉시 사용 가능합니다." + +#: ../../pixmap.rst:545 93fdd4817c6d451593bce44eed03a5c1 +msgid "" +"Copies like `bytearray(pix.samples_mv)`, or `bytes(pixmap.samples_mv)` " +"are equivalent to and can be used in place of `pix.samples`." +msgstr "`bytearray(pix.samples_mv)` 또는 `bytes(pixmap.samples_mv)` 와 같은 복사본은 `pix.samples` 와 동일하며 대신 사용할 수 있습니다." + +#: ../../pixmap.rst:547 a15d8e7edd204441a7b9a76052a64fac +msgid "We also have `len(pix.samples) == len(pix.samples_mv)`." +msgstr "" + +#: ../../pixmap.rst:549 f7663a0870b54e46b8a6d53a9a5d3958 +msgid "" +"Look at this example from a 2 MB JPEG: the memoryview is **ten thousand " +"times faster**::" +msgstr "2MB JPEG의 이 예제를 보세요: memoryview가 **만 배 빠릅니다**::" + +#: ../../pixmap.rst:556 4d36f9e0a4af4491be38efa57f54faf8 +msgid "" +"After the Pixmap has been destroyed, any attempt to use the memoryview " +"will fail with ValueError." +msgstr "Pixmap이 파괴된 후 memoryview를 사용하려는 시도는 ValueError로 실패합니다." + +#: ../../pixmap.rst:559 91107ae487b14fe0b83a14f571082c55 +msgid "memoryview" +msgstr "" + +#: ../../pixmap.rst:565 d3bfaae3761a4c0eb851933ffe8701a3 +msgid "" +"Python pointer to the pixel area. This is a special integer format, which" +" can be used by supporting applications (such as PyQt) to directly " +"address the samples area and thus build their images extremely fast. For " +"example::" +msgstr "픽셀 영역에 대한 Python 포인터. 이것은 지원 애플리케이션(예: PyQt)이 samples 영역을 직접 주소 지정하여 이미지를 매우 빠르게 구축할 수 있도록 하는 특수 정수 형식입니다. 예제::" + +#: ../../pixmap.rst:570 92d9db2f39614549b2c8a9605c681e0b +msgid "" +"Both of the above lead to the same Qt image, but (2) can be **many " +"hundred times faster**, because it avoids an additional copy of the pixel" +" area." +msgstr "위의 두 가지 모두 동일한 Qt 이미지를 생성하지만 (2)는 픽셀 영역의 추가 복사를 피하기 때문에 **수백 배 빠를 수 있습니다**." + +#: ../../pixmap.rst:572 37f284851e024d87b4ae3d3f4b495885 +msgid "" +"Warning: after the Pixmap has been destroyed, the Python pointer will be " +"invalid and attempting to use it may crash the Python interpreter." +msgstr "경고: Pixmap이 파괴된 후 Python 포인터는 무효화되며 사용을 시도하면 Python 인터프리터가 충돌할 수 있습니다." + +#: ../../pixmap.rst:579 ad8485f478d04d1791c23f7e6c8cf984 +msgid "" +"Contains *len(pixmap)*. This will generally equal *len(pix.samples)* plus" +" some platform-specific value for defining other attributes of the " +"object." +msgstr "*len(pixmap)* 을 포함합니다. 이것은 일반적으로 *len(pix.samples)* 에 객체의 다른 속성을 정의하는 플랫폼별 값을 더한 것과 같습니다." + +#: ../../pixmap.rst:587 c1796fc010774081b59146b900edf924 +msgid "Width of the region in pixels." +msgstr "픽셀 단위의 영역 너비." + +#: ../../pixmap.rst:595 d21ef5432611489797b4691400ea9d15 +msgid "Height of the region in pixels." +msgstr "픽셀 단위의 영역 높이." + +#: ../../pixmap.rst:601 5f88d51c88864babb326d12c5da3c8b4 +msgid "" +"X-coordinate of top-left corner in pixels. Cannot directly be changed -- " +"use :meth:`Pixmap.set_origin`." +msgstr "픽셀 단위의 왼쪽 위 모서리 X 좌표. 직접 변경할 수 없습니다 -- :meth:`Pixmap.set_origin` 을 사용하세요." + +#: ../../pixmap.rst:607 d82f9559530f4ed3a33c06c66cd24f3c +msgid "" +"Y-coordinate of top-left corner in pixels. Cannot directly be changed -- " +"use :meth:`Pixmap.set_origin`." +msgstr "픽셀 단위의 왼쪽 위 모서리 Y 좌표. 직접 변경할 수 없습니다 -- :meth:`Pixmap.set_origin` 을 사용하세요." + +#: ../../pixmap.rst:613 26e889e8aa564bbea3553b3d55151e83 +msgid "" +"Number of components per pixel. This number depends on colorspace and " +"alpha. If colorspace is not ``None`` (stencil masks), then *Pixmap.n - " +"Pixmap.alpha == pixmap.colorspace.n* is true. If colorspace is ``None``, " +"then *n == alpha == 1*." +msgstr "픽셀당 구성 요소 수. 이 숫자는 색상 공간과 알파에 따라 다릅니다. 색상 공간이 ``None`` 이 아니면(스텐실 마스크) *Pixmap.n - Pixmap.alpha == pixmap.colorspace.n* 이 참입니다. 색상 공간이 ``None`` 이면 *n == alpha == 1* 입니다." + +#: ../../pixmap.rst:619 ddc7c2c6d915466a8673711ed573419a +msgid "" +"Horizontal resolution in dpi (dots per inch). Please also see " +":data:`resolution`. Cannot directly be changed -- use " +":meth:`Pixmap.set_dpi`." +msgstr "dpi(인치당 도트) 단위의 수평 해상도. :data:`resolution` 도 참조하세요. 직접 변경할 수 없습니다 -- :meth:`Pixmap.set_dpi` 를 사용하세요." + +#: ../../pixmap.rst:625 5952023fee854e3f82d65f1dbcc33361 +msgid "" +"Vertical resolution in dpi (dots per inch). Please also see " +":data:`resolution`. Cannot directly be changed -- use " +":meth:`Pixmap.set_dpi`." +msgstr "dpi(인치당 도트) 단위의 수직 해상도. :data:`resolution` 도 참조하세요. 직접 변경할 수 없습니다 -- :meth:`Pixmap.set_dpi` 를 사용하세요." + +#: ../../pixmap.rst:631 966a193e7ae14efe944c435e65718b73 +msgid "" +"An information-only boolean flag set to ``True`` if the image will be " +"drawn using \"linear interpolation\". If ``False`` \"nearest neighbour " +"sampling\" will be used." +msgstr "이미지가 \"선형 보간\"을 사용하여 그려지면 ``True`` 로 설정되는 정보 전용 불리언 플래그. ``False`` 이면 \"최근접 샘플링\"이 사용됩니다." + +#: ../../pixmap.rst:638 32f8505442184689838784d6630b61ca +msgid "Supported Input Image Formats" +msgstr "지원되는 입력 이미지 형식" + +#: ../../pixmap.rst:639 708fca4db2a64b96a2de83796cd396e7 +msgid "" +"The following file types are supported as **input** to construct pixmaps:" +" **BMP, JPEG, GIF, TIFF, JXR, JPX**, **PNG**, **PAM** and all of the " +"**Portable Anymap** family (**PBM, PGM, PNM, PPM**). This support is two-" +"fold:" +msgstr "다음 파일 유형은 픽스맵을 구성하기 위한 **입력** 으로 지원됩니다: **BMP, JPEG, GIF, TIFF, JXR, JPX**, **PNG**, **PAM** 및 모든 **Portable Anymap** 패밀리(**PBM, PGM, PNM, PPM**). 이 지원은 두 가지 방식입니다:" + +#: ../../pixmap.rst:641 4f4eb0bb22404ab184bf7ed8014abcc3 +msgid "" +"Directly create a pixmap with *Pixmap(filename)* or *Pixmap(byterray)*. " +"The pixmap will then have properties as determined by the image." +msgstr "*Pixmap(filename)* 또는 *Pixmap(bytearray)* 로 직접 픽스맵을 생성합니다. 픽스맵은 이미지에 의해 결정된 속성을 갖게 됩니다." + +#: ../../pixmap.rst:643 1f9a875b37444d988033c769493f20e4 +msgid "" +"Open such files with *pymupdf.open(...)*. The result will then appear as " +"a document containing one single page. Creating a pixmap of this page " +"offers all the options available in this context: apply a matrix, choose " +"colorspace and alpha, confine the pixmap to a clip area, etc." +msgstr "*pymupdf.open(...)* 로 이러한 파일을 엽니다. 결과는 단일 페이지를 포함하는 문서로 나타납니다. 이 페이지의 픽스맵을 생성하면 이 컨텍스트에서 사용 가능한 모든 옵션을 제공합니다: 행렬 적용, 색상 공간 및 알파 선택, 픽스맵을 클립 영역으로 제한 등." + +#: ../../pixmap.rst:645 b8da58f972e349c099d429016189277f +msgid "" +"**SVG images** are only supported via method 2 above, not directly as " +"pixmaps. But remember: the result of this is a **raster image** as is " +"always the case with pixmaps [#f1]_." +msgstr "**SVG 이미지** 는 위의 방법 2를 통해서만 지원되며 픽스맵으로 직접 지원되지 않습니다. 하지만 기억하세요: 이것의 결과는 픽스맵의 경우처럼 항상 **래스터 이미지** 입니다 [#f1]_." + +#: ../../pixmap.rst:650 5eb573904fb7401cb281c16fb4549f3a +msgid "Supported Output Image Formats" +msgstr "지원되는 출력 이미지 형식" + +#: ../../pixmap.rst:651 e4357173b7ec40d892ee19fcd4f3b83d +msgid "" +"A number of image **output** formats are supported. You have the option " +"to either write an image directly to a file (:meth:`Pixmap.save`), or to " +"generate a bytes object (:meth:`Pixmap.tobytes`). Both methods accept a " +"string identifying the desired format (**Format** column below). Please " +"note that not all combinations of pixmap colorspace, transparency support" +" (alpha) and image format are possible." +msgstr "다수의 이미지 **출력** 형식이 지원됩니다. 이미지를 파일에 직접 쓰기(:meth:`Pixmap.save`) 또는 bytes 객체 생성(:meth:`Pixmap.tobytes`) 중 선택할 수 있습니다. 두 메서드 모두 원하는 형식을 식별하는 문자열(아래 **Format** 열)을 허용합니다. 픽스맵 색상 공간, 투명도 지원(알파) 및 이미지 형식의 모든 조합이 가능한 것은 아닙니다." + +#: ../../pixmap.rst:654 4dbea7a06e2b4187a123a1c604d44efe +msgid "**Format**" +msgstr "" + +#: ../../pixmap.rst:654 80b26e8d30f3423393a42e35c1a19bb0 +msgid "**Colorspaces**" +msgstr "" + +#: ../../pixmap.rst:654 227b7bee485d4b79a2402f03891614ea +msgid "**alpha**" +msgstr "" + +#: ../../pixmap.rst:654 9797dfa1d6b74610af214069c4ee23d6 +msgid "**Extensions**" +msgstr "" + +#: ../../pixmap.rst:654 a635c115d504411785c1bf1a3984582a +msgid "**Description**" +msgstr "" + +#: ../../pixmap.rst:656 3f28e0c2c0e44d239075c2258795286a +msgid "jpg, jpeg" +msgstr "" + +#: ../../pixmap.rst:656 ../../pixmap.rst:657 ../../pixmap.rst:663 +#: ../../pixmap.rst:664 18832c370236476095068f372050837f +#: 3eb2a94753b44fdd9c7731ef24aef48b 4a67821c83134b4db3e4be1914c17d60 +#: c83309e3c1934fc7ae1a973ebe7d1300 +msgid "gray, rgb, cmyk" +msgstr "" + +#: ../../pixmap.rst:656 ../../pixmap.rst:658 ../../pixmap.rst:659 +#: ../../pixmap.rst:661 ../../pixmap.rst:662 ../../pixmap.rst:663 +#: 02f9cb78532645d38d5abf940e1679f8 0cdb296b3e59480f8ec76bf53ac1c17b +#: 2e0bd0a838434201878c609cff82145c 73c34c7c328f4d31af9f2258cc254f0d +#: 947c1b80c66441799e2aba09091f8adb dd93afdec02947318d933a37f2c15024 +msgid "no" +msgstr "" + +#: ../../pixmap.rst:656 600504f9efd041ffb5b69ec388b137e9 +msgid ".jpg, .jpeg" +msgstr "" + +#: ../../pixmap.rst:656 26fa6ed5043a4a66a2c7adf39eb4e0cf +msgid "Joint Photographic Experts Group" +msgstr "" + +#: ../../pixmap.rst:657 6f1f99578dd84b0b96b1fb4707aac08b +msgid "pam" +msgstr "" + +#: ../../pixmap.rst:657 ../../pixmap.rst:660 ../../pixmap.rst:664 +#: 1389030dbadc408693776ddaa02d250f db4043e33252451d9cfa830afcf4325c +#: eb6f616d9083427b85a8e817b7b3c601 +msgid "yes" +msgstr "" + +#: ../../pixmap.rst:657 2f529016f72342f3ad621590a17c2720 +msgid ".pam" +msgstr "" + +#: ../../pixmap.rst:657 e2baced162604080b59bf27d358fda6c +msgid "Portable Arbitrary Map" +msgstr "" + +#: ../../pixmap.rst:658 95a9f8727e6846bdad7d42b2756dcf5e +msgid "pbm" +msgstr "" + +#: ../../pixmap.rst:658 ../../pixmap.rst:659 ../../pixmap.rst:660 +#: ../../pixmap.rst:661 ../../pixmap.rst:662 220d5771addc47059dfafb3b7fd7a809 +#: 68fd8f934dac404f86a38dcab3bb7bc2 91f4a25b5a5148af9a8c601bdc987ee9 +#: 9d56458bd5944b7eab22abdec12c33c6 da23d0d1e79b4239bc3b878fd251ed6f +msgid "gray, rgb" +msgstr "" + +#: ../../pixmap.rst:658 10546c5955514cb99a4533ae396c259f +msgid ".pbm" +msgstr "" + +#: ../../pixmap.rst:658 3a22578bed7f479ba9f8bd94ddba617b +msgid "Portable Bitmap" +msgstr "" + +#: ../../pixmap.rst:659 12f4977253d34e7fb05ef71f9b6bb875 +msgid "pgm" +msgstr "" + +#: ../../pixmap.rst:659 34b5715a5a94481fa5410ee5467f5ae1 +msgid ".pgm" +msgstr "" + +#: ../../pixmap.rst:659 06d8a88352b54e25b36fc1dbd2289ecc +msgid "Portable Graymap" +msgstr "" + +#: ../../pixmap.rst:660 31684d0764064d42a3a8d884741e85be +msgid "png" +msgstr "" + +#: ../../pixmap.rst:660 34455c189f334f3ab56545b979560b1b +msgid ".png" +msgstr "" + +#: ../../pixmap.rst:660 682ed1780ad3421e9223fdefb0b8184c +msgid "Portable Network Graphics" +msgstr "" + +#: ../../pixmap.rst:661 f94a2f8f962f47fc9c9b1a7e2a906e11 +msgid "pnm" +msgstr "" + +#: ../../pixmap.rst:661 964f7dfd9ae844129b05d2e56342317d +msgid ".pnm" +msgstr "" + +#: ../../pixmap.rst:661 d627891286e44ad3987520c5e705f3a1 +msgid "Portable Anymap" +msgstr "" + +#: ../../pixmap.rst:662 3ada12b4d8b84c17aac44fec31492b76 +msgid "ppm" +msgstr "" + +#: ../../pixmap.rst:662 29fa1a416b3345479d3cb7258b83155e +msgid ".ppm" +msgstr "" + +#: ../../pixmap.rst:662 9045e7c717ae4d61ae56392d64c8f030 +msgid "Portable Pixmap" +msgstr "" + +#: ../../pixmap.rst:663 b528c16c8d064788976a0d977cf72a73 +msgid "ps" +msgstr "" + +#: ../../pixmap.rst:663 3d3a984cad1f4a1ba8eca7cfbc0af43f +msgid ".ps" +msgstr "" + +#: ../../pixmap.rst:663 f472a32950f140dcbd4258d41e955e95 +msgid "Adobe PostScript Image" +msgstr "" + +#: ../../pixmap.rst:664 d30993e0b1534a1da119de1e713e1fe7 +msgid "psd" +msgstr "" + +#: ../../pixmap.rst:664 c340e5edd2234429989f7c57fcbe6d4f +msgid ".psd" +msgstr "" + +#: ../../pixmap.rst:664 5ad137cb3c0c44fb8491eab0123adabe +msgid "Adobe Photoshop Document" +msgstr "" + +#: ../../pixmap.rst:668 5b70a01cdd2d49678a5104943c6ceb05 +msgid "" +"Not all image file types are supported (or at least common) on all OS " +"platforms. E.g. PAM and the Portable Anymap formats are rare or even " +"unknown on Windows." +msgstr "모든 OS 플랫폼에서 모든 이미지 파일 유형이 지원되거나 일반적이지는 않습니다. 예를 들어 PAM 및 Portable Anymap 형식은 Windows에서 드물거나 알려지지 않았습니다." + +#: ../../pixmap.rst:669 ac24d0029a85434e89d87aea3c768299 +msgid "" +"Especially pertaining to CMYK colorspaces, you can always convert a CMYK " +"pixmap to an RGB pixmap with *rgb_pix = pymupdf.Pixmap(pymupdf.csRGB, " +"cmyk_pix)* and then save that in the desired format." +msgstr "특히 CMYK 색상 공간에 대해 항상 *rgb_pix = pymupdf.Pixmap(pymupdf.csRGB, cmyk_pix)* 로 CMYK 픽스맵을 RGB 픽스맵으로 변환한 다음 원하는 형식으로 저장할 수 있습니다." + +#: ../../pixmap.rst:670 0d389b2c11cb4b7dbad0be0409dbf4dc +msgid "" +"As can be seen, MuPDF's image support range is different for input and " +"output. Among those supported both ways, PNG and JPEG are probably the " +"most popular." +msgstr "볼 수 있듯이 MuPDF의 이미지 지원 범위는 입력과 출력에 따라 다릅니다. 양쪽 모두 지원되는 것 중에서 PNG와 JPEG가 가장 인기 있을 것입니다." + +#: ../../pixmap.rst:671 78fe092f468843e984dee90661b2dbac +msgid "" +"We also recommend using \"ppm\" formats as input to tkinter's " +"*PhotoImage* method like this: *tkimg = " +"tkinter.PhotoImage(data=pix.tobytes(\"ppm\"))* (also see the tutorial). " +"This is **very** fast (**60 times** faster than PNG)." +msgstr "tkinter의 *PhotoImage* 메서드에 입력으로 \"ppm\" 형식을 사용하는 것도 권장합니다: *tkimg = tkinter.PhotoImage(data=pix.tobytes(\"ppm\"))* (튜토리얼도 참조). 이것은 **매우** 빠릅니다(PNG보다 **60배** 빠름)." + +#: ../../pixmap.rst:676 ae8dd148bf7a4c1ea2de109295f929f5 +msgid "Footnotes" +msgstr "Footnotes" + +#: ../../pixmap.rst:677 b53f5a80a69a41dea8df4b23d4e4be3d +msgid "" +"If you need a **vector image** from the SVG, you must first convert it to" +" a PDF. Try :meth:`Document.convert_to_pdf`. If this is not good enough, " +"look for other SVG-to-PDF conversion tools like the Python packages " +"`svglib `_, `CairoSVG " +"`_, `Uniconvertor " +"`_" +" or the Java solution `Apache Batik `_. " +"Have a look at our Wiki for more examples." +msgstr "SVG에서 **벡터 이미지** 가 필요한 경우 먼저 PDF로 변환해야 합니다. :meth:`Document.convert_to_pdf` 를 시도해보세요. 이것으로 충분하지 않으면 Python 패키지 `svglib `_, `CairoSVG `_, `Uniconvertor `_ 또는 Java 솔루션 `Apache Batik `_ 과 같은 다른 SVG-to-PDF 변환 도구를 찾아보세요. 더 많은 예제는 Wiki를 참조하세요." + +#: ../../pixmap.rst:679 7efc30a117974783984b2f586a774632 +msgid "" +"To also set the alpha property, add an additional step to this method by " +"dropping or adding an alpha channel to the result." +msgstr "알파 속성도 설정하려면 결과에 알파 채널을 제거하거나 추가하여 이 메서드에 추가 단계를 더하십시오." + +#: ../../footer.rst:46 e3d72edf62c54080b2839fccccec965e +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/point.mo b/docs/locales/ko/LC_MESSAGES/point.mo new file mode 100644 index 000000000..112522e36 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/point.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/point.po b/docs/locales/ko/LC_MESSAGES/point.po new file mode 100644 index 000000000..e5139bbc9 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/point.po @@ -0,0 +1,267 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 ff7f2bbd27574c06a12cfe0f8feaa292 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 a938f9fbdec343399166b697412bd381 +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 9b1b01d63ee048cba25d12397c4cbc9c +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" + +#: ../../point.rst:7 14b832da77494838a52695d7ed883865 +msgid "Point" +msgstr "Point" + +#: ../../point.rst:9 ee92bfad50f840c592179ff205c48652 +msgid "" +"*Point* represents a point in the plane, defined by its x and y " +"coordinates." +msgstr "*Point* 는 x 및 y 좌표로 정의되는 평면상의 점을 나타냅니다." + +#: ../../point.rst:12 d95d005e957741acbcc453b2978ab474 +msgid "**Attribute / Method**" +msgstr "**속성 / 메서드**" + +#: ../../point.rst:12 6cc17250feda46f3895c61daf01ae9ef +msgid "**Description**" +msgstr "**설명**" + +#: ../../point.rst:14 41c8142652234b88ac19813753d3307e +msgid ":meth:`Point.distance_to`" +msgstr ":meth:`Point.distance_to`" + +#: ../../point.rst:14 261845b5a5b24bf0b064101ff507b23b +msgid "calculate distance to point or rect" +msgstr "점 또는 사각형까지의 거리 계산" + +#: ../../point.rst:15 4aa6b4f0719c46e498b43fe18d24f3eb +msgid ":meth:`Point.norm`" +msgstr ":meth:`Point.norm`" + +#: ../../point.rst:15 bb965571d49042f990f2ce83a5b1d501 +msgid "the Euclidean norm" +msgstr "유클리드 노름" + +#: ../../point.rst:16 8fa73d7331154012aedebe7f5f583ef0 +msgid ":meth:`Point.transform`" +msgstr ":meth:`Point.transform`" + +#: ../../point.rst:16 513606c9c9c24e929a77cffeb961406c +msgid "transform point with a matrix" +msgstr "행렬로 점 변환" + +#: ../../point.rst:17 2cb5652a207046aabd4833605b0db9a7 +msgid ":attr:`Point.abs_unit`" +msgstr ":attr:`Point.abs_unit`" + +#: ../../point.rst:17 a5938582888c4a3bb9c18a1c3f20c2e8 +msgid "same as unit, but positive coordinates" +msgstr "unit과 동일하지만 좌표가 양수" + +#: ../../point.rst:18 3e5b94700abd4e9f9ee59f420160e03b +msgid ":attr:`Point.unit`" +msgstr ":attr:`Point.unit`" + +#: ../../point.rst:18 2b7bbc4e8d9b49fd90eba605096d6695 +msgid "point coordinates divided by *abs(point)*" +msgstr "*abs(point)* 로 나눈 점 좌표" + +#: ../../point.rst:19 31b75b9a5271468b91957b2b1e4f4cdc +msgid ":attr:`Point.x`" +msgstr ":attr:`Point.x`" + +#: ../../point.rst:19 62613a63800c42a9b2e4b7e25ce06a1b +msgid "the X-coordinate" +msgstr "X 좌표" + +#: ../../point.rst:20 03bda37b4f4e43d5b2c87664d47e7c88 +msgid ":attr:`Point.y`" +msgstr ":attr:`Point.y`" + +#: ../../point.rst:20 1f7a039317c9403b9eef49abcffc3c17 +msgid "the Y-coordinate" +msgstr "Y 좌표" + +#: ../../point.rst:23 226585c9d32d4bdda8ea50151987bb6f +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../point.rst:35 52e6fd50060a435cbcd1ea5ea07199d9 +msgid "Overloaded constructors." +msgstr "오버로드된 생성자." + +#: ../../point.rst:37 858213bf59564a6493343f329aa59c60 +msgid "Without parameters, *Point(0, 0)* will be created." +msgstr "매개변수 없이 *Point(0, 0)* 이 생성됩니다." + +#: ../../point.rst:39 fe4c165d5aa24d3a979783344bfd9ac0 +msgid "" +"With another point specified, a **new copy** will be created, " +"\"sequence\" is a Python sequence of 2 numbers (see " +":ref:`SequenceTypes`)." +msgstr "다른 점이 지정되면 **새 복사본** 이 생성됩니다. \"sequence\"는 2개의 숫자로 구성된 Python 시퀀스입니다(:ref:`SequenceTypes` 참조)." + +#: ../../point.rst 0eddda1bb6c54ccaa7d284736b29da50 +#: 3b9ed60226ef48f0a657c5ba46c27350 c7f85b4fbec2467896a422f72188865d +msgid "Parameters" +msgstr "매개변수" + +#: ../../point.rst:41 97152760b7ba410cb622804600ef1a35 +msgid "x coordinate of the point" +msgstr "점의 x 좌표" + +#: ../../point.rst:43 7926764c81784f70845fd05cb89d5865 +msgid "y coordinate of the point" +msgstr "점의 y 좌표" + +#: ../../point.rst:47 5c3faa24b7e144068803db83b33fe793 +msgid "" +"Calculate the distance to *x*, which may be :data:`point_like` or " +":data:`rect_like`. The distance is given in units of either pixels " +"(default), inches, centimeters or millimeters." +msgstr "*x* 까지의 거리를 계산합니다. *x* 는 :data:`point_like` 또는 :data:`rect_like` 일 수 있습니다. 거리는 픽셀(기본값), 인치, 센티미터 또는 밀리미터 단위로 제공됩니다." + +#: ../../point.rst:49 44d8777c04344d47bc4a9242808880d1 +msgid "to which to compute the distance." +msgstr "거리를 계산할 대상." + +#: ../../point.rst:51 91e44f65560e4211accb6c725eebfdd6 +msgid "the unit to be measured in. One of \"px\", \"in\", \"cm\", \"mm\"." +msgstr "측정 단위. \"px\", \"in\", \"cm\", \"mm\" 중 하나." + +#: ../../point.rst 64687f2c94ef4b5ba2750e3eb184ad05 +#: cd80063c5dc9498cbbdd25b759d31cdb +msgid "Return type" +msgstr "반환 유형" + +#: ../../point.rst a750839310d34c5d887db8268777489a +msgid "Returns" +msgstr "반환값" + +#: ../../point.rst:54 bc0f187b31f44a7181e31d08f7c53a82 +msgid "" +"the distance to *x*. If this is :data:`rect_like`, then the distance * " +"is the length of the shortest line connecting to one of the rectangle " +"sides * is calculated to the **finite version** of it * is zero if it " +"**contains** the point" +msgstr "" + +#: ../../point.rst:54 ae37d128ae1440f3bbd8ed1ea99f2152 +msgid "the distance to *x*. If this is :data:`rect_like`, then the distance" +msgstr "*x* 까지의 거리. 이것이 :data:`rect_like` 인 경우, 거리는" + +#: ../../point.rst:56 9ee6925c977945fe973ed9ab955366b2 +msgid "" +"is the length of the shortest line connecting to one of the rectangle " +"sides" +msgstr "사각형의 한 변에 연결하는 가장 짧은 선의 길이" + +#: ../../point.rst:57 3081d399626b49c987de03dbfa3d0ff5 +msgid "is calculated to the **finite version** of it" +msgstr "그것의 **유한 버전** 에 대해 계산됨" + +#: ../../point.rst:58 c71eaa596c2c423b862c9e70cb89f044 +msgid "is zero if it **contains** the point" +msgstr "점을 **포함** 하면 0" + +#: ../../point.rst:62 a6403033f7bf44a591174a022d0fdf1c +msgid "New in version 1.16.0" +msgstr "버전 1.16.0에서 새로 추가됨" + +#: ../../point.rst:64 7ece798ec8144d4692eb9a2959a40823 +msgid "" +"Return the Euclidean norm (the length) of the point as a vector. Equals " +"result of function *abs()*." +msgstr "점의 유클리드 노름(길이)을 벡터로 반환합니다. 함수 *abs()* 의 결과와 같습니다." + +#: ../../point.rst:68 f946cd0be509442bb0d77202325e2f96 +msgid "Apply a matrix to the point and replace it with the result." +msgstr "점에 행렬을 적용하고 결과로 대체합니다." + +#: ../../point.rst:70 97f1624c012a40e1b233376529f768b0 +msgid "The matrix to be applied." +msgstr "적용할 행렬." + +#: ../../point.rst:72 ../../point.rst:80 ../../point.rst:86 +#: 18880915c78345d4a3e9807be13f50b7 52b88570e26b4eb5b5d6335523021f5f +#: aab72bb00a464b30aa87b8638935ebd6 +msgid ":ref:`Point`" +msgstr ":ref:`Point`" + +#: ../../point.rst:76 348afd234c5c4c98ba5a47b9d5463fbb +msgid "" +"Result of dividing each coordinate by *norm(point)*, the distance of the " +"point to (0,0). This is a vector of length 1 pointing in the same " +"direction as the point does. Its x, resp. y values are equal to the " +"cosine, resp. sine of the angle this vector (and the point itself) has " +"with the x axis." +msgstr "각 좌표를 *norm(point)*, 점에서 (0,0)까지의 거리로 나눈 결과입니다. 이것은 점과 같은 방향을 가리키는 길이 1의 벡터입니다. x, 각각 y 값은 이 벡터(및 점 자체)가 x축과 이루는 각도의 코사인, 각각 사인과 같습니다." + +#: ../../point.rst 68c8e993f1924162940b72535b1ce094 +#: 74cca4c04a7c48d1a05b1cef455309b7 8ab750f04c354beda9b8193eb29e148a +#: c3fab6e7e5714f6cb98f51b356a62c80 +msgid "type" +msgstr "유형" + +#: ../../point.rst:84 1c2c3c05d9164c73a34b01b96b77e536 +msgid "" +"Same as :attr:`unit` above, replacing the coordinates with their absolute" +" values." +msgstr "위의 :attr:`unit` 과 동일하지만 좌표를 절댓값으로 대체합니다." + +#: ../../point.rst:90 fd219a7540914e5ea48f7ac85865752a +msgid "The x coordinate" +msgstr "x 좌표" + +#: ../../point.rst:92 ../../point.rst:98 2782c521357b46fcb493227c412705b4 +#: 7c544b58e0744796b55d935cf4074748 +msgid "float" +msgstr "float" + +#: ../../point.rst:96 49f24b3a0ef74f0c936055a979a0c047 +msgid "The y coordinate" +msgstr "y 좌표" + +#: ../../point.rst:102 89afd299e213428fb3ff2efbf34ee8cf +msgid "" +"This class adheres to the Python sequence protocol, so components can be " +"accessed via their index, too. Also refer to :ref:`SequenceTypes`." +msgstr "이 클래스는 Python 시퀀스 프로토콜을 따르므로 구성 요소는 인덱스를 통해 액세스할 수도 있습니다. :ref:`SequenceTypes` 도 참조하세요." + +#: ../../point.rst:103 211bda314be541968172253f25a72895 +msgid "" +"Rectangles can be used with arithmetic operators -- see chapter " +":ref:`Algebra`." +msgstr "사각형은 산술 연산자와 함께 사용할 수 있습니다 -- :ref:`Algebra` 장을 참조하세요." + +#: ../../footer.rst:46 065c44f95f8c488584785e74c127cd30 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/pymupdf-layout/index.mo b/docs/locales/ko/LC_MESSAGES/pymupdf-layout/index.mo new file mode 100644 index 000000000..75983983e Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/pymupdf-layout/index.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/pymupdf-layout/index.po b/docs/locales/ko/LC_MESSAGES/pymupdf-layout/index.po new file mode 100644 index 000000000..8594dd299 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/pymupdf-layout/index.po @@ -0,0 +1,474 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PyMuPDF 1.26.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-02 16:19+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ko\n" +"Language-Team: ko \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 26c7f492ac6349fe997fad9d41aabea5 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 4231d660381d4fa5b43b5d8b068e8dfa +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 8bba0218b1e445b192946cba4c548076 +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" + +#: ../../pymupdf-layout/index.rst:8 65880921881d4c9a95f25a114c1617cc +msgid "PyMuPDF Layout" +msgstr "PyMuPDF Layout" + +#: ../../pymupdf-layout/index.rst:11 26826b75387e4aadb2a29e8f577d4b8a +msgid "" +"|PyMuPDF Layout| is a lightweight layout analysis extension for |PyMuPDF|" +" that turns PDFs into clean, structured data with minimal setup. It’s " +"fast, accurate, and efficient without any GPU requirement." +msgstr "|PyMuPDF Layout| 는 |PyMuPDF| 를 위한 경량 레이아웃 분석 확장으로, 최소한의 설정으로 PDF를 깔끔하고 구조화된 데이터로 변환합니다. GPU 요구 사항 없이 빠르고 정확하며 효율적입니다." + +#: ../../pymupdf-layout/index.rst:13 20fc4e9d5eae44d58cced93202624c15 +msgid "" +"It is an optional, but recommended, addition to the |PyMuPDF| library " +"especially if you are required to more accurately extract structured data" +" with better semantic information." +msgstr "이것은 |PyMuPDF| 라이브러리에 대한 선택적이지만 권장되는 추가 기능이며, 특히 더 나은 의미 정보로 구조화된 데이터를 더 정확하게 추출해야 하는 경우에 유용합니다." + +#: ../../pymupdf-layout/index.rst:17 6cb4d2e97d464990a633d2defd97698e +msgid "Installing" +msgstr "설치" + +#: ../../pymupdf-layout/index.rst:19 85aefd1baecd485b800f2238aba711c7 +msgid "Install from |PyPI| with::" +msgstr "|PyPI| 에서 설치합니다::" + +#: ../../pymupdf-layout/index.rst:28 5e49fc1022b0491e968e6dac9a6ebd28 +msgid "Using" +msgstr "사용" + +#: ../../pymupdf-layout/index.rst:31 c4caa7b3525f461385db5339599b8e02 +msgid "" +"In nutshell, |PyMuPDF Layout| detects the layout to extract, but we need " +"|PyMuPDF4LLM| for the API interface. This provides us with options to " +"extract document content as |Markdown|, |JSON| or |TXT|." +msgstr "요약하면, |PyMuPDF Layout| 는 추출할 레이아웃을 감지하지만 API 인터페이스를 위해 |PyMuPDF4LLM| 이 필요합니다. 이것은 문서 콘텐츠를 |Markdown|, |JSON| 또는 |TXT| 로 추출하는 옵션을 제공합니다." + +#: ../../pymupdf-layout/index.rst:33 2851cd8bd3374a3c8fc60a4a0fe524e8 +msgid "" +"Let's set up the Python coding environment to get started and open a PDF " +"then we'll move on to the semantic data extraction." +msgstr "시작하기 위해 Python 코딩 환경을 설정하고 PDF를 연 다음 의미 데이터 추출로 넘어가겠습니다." + +#: ../../pymupdf-layout/index.rst:36 6a1648fb91cc454788a795ffc391432a +msgid "Register packages and open a PDF" +msgstr "패키지 등록 및 PDF 열기" + +#: ../../pymupdf-layout/index.rst:38 1ba188d096bc425abbfee2ba07430823 +msgid "First up let's import the libraries and open a sample document::" +msgstr "먼저 라이브러리를 가져오고 샘플 문서를 엽니다::" + +#: ../../pymupdf-layout/index.rst:44 d7900ddabe0644c09c53ba9fb57126b0 +msgid "" +"Note, in the above code, that |PyMuPDF Layout| must be imported as shown " +"and before importing |PyMuPDF4LLM| to activate |PyMuPDF|'s layout feature" +" and make it available to |PyMuPDF4LLM|." +msgstr "위 코드에서 |PyMuPDF Layout| 는 표시된 대로 가져와야 하며, |PyMuPDF| 의 레이아웃 기능을 활성화하고 |PyMuPDF4LLM| 에서 사용할 수 있도록 하려면 |PyMuPDF4LLM| 를 가져오기 전에 가져와야 합니다." + +#: ../../pymupdf-layout/index.rst:46 7b66dd7c7a164f99b1fd0113f2ccf699 +msgid "" +"Omitting the first line would cause execution of standard |PyMuPDF4LLM| -" +" without the layout feature!" +msgstr "첫 번째 줄을 생략하면 레이아웃 기능 없이 표준 |PyMuPDF4LLM| 이 실행됩니다!" + +#: ../../pymupdf-layout/index.rst:49 a21b9bc7b3844b0ab455c3f364a2057f +msgid "Extract the structured data" +msgstr "구조화된 데이터 추출" + +#: ../../pymupdf-layout/index.rst:51 35bc60862bb24334a75b7dc95b60156f +msgid "" +"We've activated the |PyMuPDF Layout| library and we've loaded a document," +" next let's extract the structured data. This is now like a super-charged" +" version of standard |PyMuPDF4LLM| with ``Layout`` working behind the " +"scenes combining heuristics with machine learning - for better extraction" +" results." +msgstr "|PyMuPDF Layout| 라이브러리를 활성화하고 문서를 로드했으므로, 이제 구조화된 데이터를 추출하겠습니다. 이것은 이제 휴리스틱과 머신러닝을 결합하여 배후에서 작동하는 ``Layout`` 을 가진 표준 |PyMuPDF4LLM| 의 강화된 버전과 같습니다 -- 더 나은 추출 결과를 위해." + +#: ../../pymupdf-layout/index.rst:54 8fabaa7045ea40bca50d9b6cf1904b2b +msgid "Extract as Markdown" +msgstr "Markdown 으로 추출" + +#: ../../pymupdf-layout/index.rst:62 253f86c879cd4cfda51045e1311a3cba +msgid "Extract as JSON" +msgstr "JSON 으로 추출" + +#: ../../pymupdf-layout/index.rst:70 8da4947d5b974f24803ba5ed16e8cd77 +msgid "Extract as TXT" +msgstr "TXT 로 추출" + +#: ../../pymupdf-layout/index.rst:78 5bbe37c28031413fa4f86978d66b0161 +msgid "" +"Please refer top the full :ref:`PyMuPDF4LLM API ` for " +"more." +msgstr "자세한 내용은 전체 :ref:`PyMuPDF4LLM API ` 를 참조하세요." + +#: ../../pymupdf-layout/index.rst:80 6eedc55b27574fb583b04a9b9f3e3f55 +msgid "Finally we can save the output to an external file as follows::" +msgstr "마지막으로 다음과 같이 출력을 외부 파일에 저장할 수 있습니다::" + +#: ../../pymupdf-layout/index.rst:88 9bdb3f269e1c497e91d97cdc3a687bff +msgid "Headers & Footers" +msgstr "헤더 및 푸터" + +#: ../../pymupdf-layout/index.rst:91 c239bc0bbbd64d318e6e8fdc55d1efbe +msgid "" +"Many documents will have header and footer information on each page of a " +"PDF which you may or may not want to include. This information can be " +"repetitive and simply not needed ( e.g. the same logo and document title " +"or page number information is not always really important when it comes " +"to extracting the document content )." +msgstr "많은 문서는 PDF의 각 페이지에 헤더 및 푸터 정보가 있으며, 이를 포함할 수도 있고 포함하지 않을 수도 있습니다. 이 정보는 반복적일 수 있으며 단순히 필요하지 않을 수 있습니다(예: 동일한 로고 및 문서 제목 또는 페이지 번호 정보는 문서 콘텐츠를 추출할 때 항상 중요하지 않습니다)." + +#: ../../pymupdf-layout/index.rst:93 ee2ea44ed53e4d95860be54bee8ead00 +msgid "" +"|PyMuPDF Layout| is trained in detecting these typical document elements " +"and able to omit them." +msgstr "|PyMuPDF Layout| 는 이러한 일반적인 문서 요소를 감지하도록 훈련되어 있으며 이를 생략할 수 있습니다." + +#: ../../pymupdf-layout/index.rst:95 2e53e75f3b83455ab9f885efaae230c7 +msgid "" +"So in this case we can adjust our API calls to ignore these elements as " +"follows::" +msgstr "따라서 이 경우 다음과 같이 API 호출을 조정하여 이러한 요소를 무시할 수 있습니다::" + +#: ../../pymupdf-layout/index.rst:103 fc82782444984a34ab18e40f5123faeb +msgid "" +"Please note that page ``header`` / ``footer`` exclusion is not applicable" +" to JSON output as it aims to always represent all data for the included " +"pages. Please refer to the full :ref:`PyMuPDF4LLM API ` " +"for more." +msgstr "페이지 ``header`` / ``footer`` 제외는 포함된 페이지의 모든 데이터를 항상 나타내는 것을 목표로 하므로 JSON 출력에는 적용되지 않습니다. 자세한 내용은 전체 :ref:`PyMuPDF4LLM API ` 를 참조하세요." + +#: ../../pymupdf-layout/index.rst:106 a00239ede95b43319833ba01713ce8d7 +msgid "Extending Capability" +msgstr "기능 확장" + +#: ../../pymupdf-layout/index.rst:109 f3bec49e1ee042caad2ba1f1f8d07230 +msgid "Using with Pro" +msgstr "Pro 와 함께 사용" + +#: ../../pymupdf-layout/index.rst:111 1a6a4c0ada2842d588768a849fe3c7f3 +msgid "" +"We are able to extend |PyMuPDF Layout| to work with |PyMuPDF Pro| and " +"thus increase our capability by allowing Office documents to be provided " +"as input files. In this case all we have to do is to add the import for " +"|PyMuPDF Pro| and unlock it::" +msgstr "" +"|PyMuPDF Layout| 를 |PyMuPDF Pro| 와 함께 작동하도록 확장하여 Office 문서를 입력 파일로 제공할 수 있게 하여 기능을 향상시킬 수 있습니다. 이 경우 |PyMuPDF Pro| 를 가져오고 잠금을 해제하기만 하면 됩니다::" + +#: ../../pymupdf-layout/index.rst:118 695ebd9778304b3da362108ea2e9695e +msgid "Now we can happily load Office files and convert them as follows::" +msgstr "이제 Office 파일을 로드하고 다음과 같이 변환할 수 있습니다::" + +#: ../../pymupdf-layout/index.rst:126 14fdcdcd4aab4335919c50efc4749185 +msgid "OCR support" +msgstr "OCR 지원" + +#: ../../pymupdf-layout/index.rst:128 99eb4f65329d45c7bb6eaf035c255259 +msgid "" +"The new layout-sensitive |PyMuPDF4LLM| version also evaluates whether a " +"page would benefit from applying OCR to it. If its heuristics come to " +"this conclusion, the built-in Tesseract-OCR module is automatically " +"invoked. Its results are then handled like normal page content." +msgstr "새로운 레이아웃 인식 PyMuPDF4LLM 버전은 페이지에 OCR을 적용하는 것이 유익한지도 평가합니다. 휴리스틱이 이 결론에 도달하면 내장 Tesseract-OCR 모듈이 자동으로 호출됩니다. 그 결과는 일반 페이지 콘텐츠처럼 처리됩니다." + +#: ../../pymupdf-layout/index.rst:130 cdbf9a9f1f5341cc96aaaa1a6a74434f +msgid "" +"If a page contains (roughly) no text at all, but is covered with images " +"or many character-sized vectors, a check is made using `OpenCV " +"`_ whether text is *probably* " +"detectable on the page at all. This is done to tell apart image-based " +"text from ordinary pictures (like photographs)." +msgstr "" +"페이지에 (대략적으로) 텍스트가 전혀 없지만 이미지나 많은 문자 크기의 벡터로 덮여 있는 경우, `OpenCV `_ 를 사용하여 페이지에 텍스트가 *아마도* 감지 가능한지 확인합니다. 이것은 이미지 기반 텍스트를 일반 사진(예: 사진)과 구별하기 위해 수행됩니다." + +#: ../../pymupdf-layout/index.rst:132 8c8ba1c1b2bc4875b04cc60b98293a08 +msgid "" +"If the page does contain text but too many characters are unreadable " +"(like \"�����\"), OCR is also executed, but **for the affected text areas" +" only** -- not the full page. This way, we avoid losing already existing " +"text and other content like images and vectors." +msgstr "" +"페이지에 텍스트가 포함되어 있지만 읽을 수 없는 문자가 너무 많은 경우(예: \"\"), OCR도 실행되지만 **영향을 받은 텍스트 영역에만** -- 전체 페이지가 아닙니다. 이렇게 하면 이미 존재하는 텍스트와 이미지 및 벡터와 같은 다른 콘텐츠를 잃지 않습니다." + +#: ../../pymupdf-layout/index.rst:134 225a390ebce94321a090f94ab2165c16 +msgid "" +"For these heuristics to work we need both, an existing :ref:`Tesseract " +"installation ` and the availability of `OpenCV " +"`_ in the Python environment. If" +" either is missing, no OCR is attempted at all." +msgstr "" +"이러한 휴리스틱이 작동하려면 기존 Tesseract 설치와 Python 환경에서 OpenCV의 가용성이 모두 필요합니다. 둘 중 하나라도 없으면 OCR이 전혀 시도되지 않습니다." + +#: ../../pymupdf-layout/index.rst:136 08b0b8dca54f41e4a81739a6b2fd1324 +msgid "" +"The decision tree for whether OCR is actually used or not depends on the " +"following:" +msgstr "" +"OCR이 실제로 사용되는지 여부에 대한 결정 트리는 다음에 따라 달라집니다:" + +#: ../../pymupdf-layout/index.rst:138 8cd3ca3cdb2c404eb48ad42a553220de +msgid ":ref:`PyMuPDF Layout is imported `" +msgstr ":ref:`PyMuPDF Layout이 가져와짐 `" + +#: ../../pymupdf-layout/index.rst:140 10ee5e795c7446e8b3403d85522a49cd +msgid "" +"In the :ref:`PyMuPDF4LLM API ` you have `use_ocr` " +"enabled (this is set to `True` by default)" +msgstr "" +":ref:`PyMuPDF4LLM API ` 에서 `use_ocr` 이 활성화되어 있음(기본값은 `True` 로 설정됨)" + +#: ../../pymupdf-layout/index.rst:142 a91c79870eec43b4b647375636f046ea +msgid ":ref:`Tesseract is correctly installed `" +msgstr ":ref:`Tesseract가 올바르게 설치됨 `" + +#: ../../pymupdf-layout/index.rst:144 32944c44045a42d29563e3e93a1b1d98 +msgid "" +"`OpenCV `_ is available in your " +"Python environment" +msgstr "" +"`OpenCV `_ 가 Python 환경에서 사용 가능함" + +#: ../../pymupdf-layout/index.rst:154 fddcc1ea96e64c658554704bb141490b +msgid "|PyMuPDF Layout| and |PyMuPDF4LLM| parameter caveats" +msgstr "|PyMuPDF Layout| 및 |PyMuPDF4LLM| 매개변수 주의사항" + +#: ../../pymupdf-layout/index.rst:156 b7f33df2c3974ea1bbead613286f3639 +msgid "" +"If you have imported ``pymupdf.layout``, |PyMuPDF4LLM| changes its " +"behavior in various areas quite significantly. New methods become " +"available and also some features are no longer supported. Please visit " +"`this site `_ for" +" a detailed description of the changes. That web site is being kept up to" +" date while we continue to work on improvements." +msgstr "" +"``pymupdf.layout`` 를 가져온 경우, |PyMuPDF4LLM| 는 다양한 영역에서 동작이 상당히 크게 변경됩니다. 새로운 메서드가 사용 가능해지고 일부 기능은 더 이상 지원되지 않습니다. 변경 사항에 대한 자세한 설명은 `이 사이트 `_ 를 방문하세요. 개선 작업을 계속하는 동안 해당 웹사이트는 최신 상태로 유지됩니다." + +#: ../../footer.rst:48 fcc43bbf382644f6928a40bc9aea37c1 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + +#~ msgid "" +#~ "We are able to extend |PyMuPDF " +#~ "Layout| to work with |PyMuPDF Pro| " +#~ "and thus increase our capability by " +#~ "allowing Office documents to be provided" +#~ " as input files. In this case " +#~ "all we have to do is to " +#~ "include the import for |PyMuPDF Pro| " +#~ "and unlock it before we import &" +#~ " activate |PyMuPDF Layout|::" +#~ msgstr "" + +#~ msgid "If Tesseract is not installed on your platform, no OCR is attempted." +#~ msgstr "" + +#~ msgid "PyMuPDF Layout and parameter caveats" +#~ msgstr "" + +#~ msgid "" +#~ "|PyMuPDF Layout| uses |PyMuPDF4LLM| for " +#~ "its interface. However, if you have " +#~ "imported ``Layout`` then the following " +#~ "caveats apply to the method parameters:" +#~ msgstr "" + +#~ msgid "Parameter" +#~ msgstr "" + +#~ msgid "to_markdown" +#~ msgstr "" + +#~ msgid "to_text" +#~ msgstr "" + +#~ msgid "to_json" +#~ msgstr "" + +#~ msgid "Comments" +#~ msgstr "" + +#~ msgid "doc" +#~ msgstr "" + +#~ msgid "✔️" +#~ msgstr "" + +#~ msgid "header" +#~ msgstr "" + +#~ msgid "ignored" +#~ msgstr "" + +#~ msgid "**new:** replaces ``margins``" +#~ msgstr "" + +#~ msgid "footer" +#~ msgstr "" + +#~ msgid "detect_bg_color" +#~ msgstr "" + +#~ msgid "❌" +#~ msgstr "" + +#~ msgid "dpi" +#~ msgstr "" + +#~ msgid "embed_images" +#~ msgstr "" + +#~ msgid "extract_words" +#~ msgstr "" + +#~ msgid "later" +#~ msgstr "" + +#~ msgid "postponed" +#~ msgstr "" + +#~ msgid "filename" +#~ msgstr "" + +#~ msgid "fontsize_limit" +#~ msgstr "" + +#~ msgid "obsolete" +#~ msgstr "" + +#~ msgid "force_text" +#~ msgstr "" + +#~ msgid "text in pictures is always ignored" +#~ msgstr "" + +#~ msgid "graphics_limit" +#~ msgstr "" + +#~ msgid "hdr_info" +#~ msgstr "" + +#~ msgid "ignore_alpha" +#~ msgstr "" + +#~ msgid "ignore_code" +#~ msgstr "" + +#~ msgid "ignore_graphics" +#~ msgstr "" + +#~ msgid "ignore_images" +#~ msgstr "" + +#~ msgid "image_format" +#~ msgstr "" + +#~ msgid "image_path" +#~ msgstr "" + +#~ msgid "image_size_limit" +#~ msgstr "" + +#~ msgid "margins" +#~ msgstr "" + +#~ msgid "page_chunks" +#~ msgstr "" + +#~ msgid "page_height" +#~ msgstr "" + +#~ msgid "page_separators" +#~ msgstr "" + +#~ msgid "page_width" +#~ msgstr "" + +#~ msgid "pages" +#~ msgstr "" + +#~ msgid "show_progress" +#~ msgstr "" + +#~ msgid "table_strategy" +#~ msgstr "" + +#~ msgid "use_glyphs" +#~ msgstr "" + +#~ msgid "always show �" +#~ msgstr "" + +#~ msgid "write_images" +#~ msgstr "" + +#~ msgid "" +#~ "Please note that page ``header`` / " +#~ "``footer`` exclusion is not applicable " +#~ "to JSON output as it aims to " +#~ "always represent all data for the " +#~ "included pages. Please refer top the " +#~ "full :ref:`PyMuPDF4LLM API `" +#~ " for more." +#~ msgstr "" + +#~ msgid "" +#~ "The new layout-sensitive PyMuPDF4LLM " +#~ "version also evaluates whether a page" +#~ " would benefit from applying OCR to" +#~ " it. If its heuristics come to " +#~ "this conclusion, the built-in " +#~ "Tesseract-OCR module is automatically " +#~ "invoked. Its results are then handled" +#~ " like normal page content." +#~ msgstr "" + +#~ msgid "" +#~ "If a page contains (roughly) no " +#~ "text at all, but is covered with" +#~ " images or many character-sized " +#~ "vectors, a check is made using " +#~ "`OpenCV `_ " +#~ "whether text is *probably* detectable on" +#~ " the page at all. This is done" +#~ " to tell apart image-based text " +#~ "from ordinary pictures (like photographies)." +#~ msgstr "" + +#~ msgid "" +#~ "For these heuristics to work we " +#~ "need both, an existing Tesseract " +#~ "installation and the availability of " +#~ "OpenCV in the Python environment. If " +#~ "either is missing, no OCR is " +#~ "attempted at all." +#~ msgstr "" + diff --git a/docs/locales/ko/LC_MESSAGES/pymupdf-pro/index.mo b/docs/locales/ko/LC_MESSAGES/pymupdf-pro/index.mo new file mode 100644 index 000000000..0933eb9a0 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/pymupdf-pro/index.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/pymupdf-pro/index.po b/docs/locales/ko/LC_MESSAGES/pymupdf-pro/index.po new file mode 100644 index 000000000..25d27c0b5 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/pymupdf-pro/index.po @@ -0,0 +1,258 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 ff337a9fa03e4fd6a3d7aaec4930912f +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 b9e1a76b005b46c7a35e27ac36b668dd +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 5b66ad60d8974f3fb8061286f4b23214 +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" + +#: ../../pymupdf-pro/index.rst:8 07624f1e03dd463c99bf82f95b91a35e +msgid "PyMuPDF Pro" +msgstr "PyMuPDF Pro" + +#: ../../pymupdf-pro/index.rst:11 879666c817c94726a9df9e5880d5425a +msgid "|PyMuPDF Pro| is a set of *commercial extensions* for |PyMuPDF|." +msgstr "|PyMuPDF Pro| 는 |PyMuPDF| 를 위한 *상용 확장* 세트입니다." + +#: ../../pymupdf-pro/index.rst:13 ae90e3fd121f4e04a0a9ecd747514717 +msgid "" +"Enhance |PyMuPDF| capability with **Office** document support & " +"**RAG/LLM** integrations." +msgstr "**Office** 문서 지원 및 **RAG/LLM** 통합으로 |PyMuPDF| 기능을 향상시킵니다." + +#: ../../pymupdf-pro/index.rst:15 aed2c2f793d348d8bf6eb0811eecb47a +msgid "" +"Enables Office document handling, including ``doc``, ``docx``, ``hwp``, " +"``hwpx``, ``ppt``, ``pptx``, ``xls``, ``xlsx``, and others." +msgstr "``doc``, ``docx``, ``hwp``, ``hwpx``, ``ppt``, ``pptx``, ``xls``, ``xlsx`` 등을 포함한 Office 문서 처리를 활성화합니다." + +#: ../../pymupdf-pro/index.rst:16 997a064abea1408d914a30cae0872289 +msgid "Supports text and table extraction, document conversion and more." +msgstr "텍스트 및 테이블 추출, 문서 변환 등을 지원합니다." + +#: ../../pymupdf-pro/index.rst:17 7ee872ab1d5c4992b77ebbf8c3cf149c +msgid "Includes the commercial version of |PyMuPDF4LLM|." +msgstr "|PyMuPDF4LLM| 의 상용 버전을 포함합니다." + +#: ../../pymupdf-pro/index.rst:19 83cc2a9a8a854516b90d26d2841aad02 +msgid "" +"To enquire about obtaining a commercial license, then `use this contact " +"page `_." +msgstr "상용 라이선스 취득에 대한 문의는 `이 연락처 페이지 `_ 를 사용하세요." + +#: ../../pymupdf-pro/index.rst:24 f0a9c51213864c898871ca01453557e1 +msgid "" +"A licensed version of |PyMuPDF Pro| also gives you a licensed version of " +"|PyMuPDF4LLM|. If you are interested in using the |PyMuPDF4LLM| package " +"you should install it separately." +msgstr "|PyMuPDF Pro| 의 라이선스 버전은 |PyMuPDF4LLM| 의 라이선스 버전도 제공합니다. |PyMuPDF4LLM| 패키지를 사용하려면 별도로 설치해야 합니다." + +#: ../../pymupdf-pro/index.rst:28 4a1d503fea744f4ba62d54e186f02d87 +msgid "Platform support" +msgstr "플랫폼 지원" + +#: ../../pymupdf-pro/index.rst:30 78076f4c0458474f913d726a0fb0e0bc +msgid "Available for these platforms only:" +msgstr "다음 플랫폼에서만 사용 가능:" + +#: ../../pymupdf-pro/index.rst:32 ed38f46c156840689524033bf7da829d +msgid "Windows x86_64." +msgstr "Windows x86_64." + +#: ../../pymupdf-pro/index.rst:33 259897daea654cb8a90bc8e65c6e4f76 +msgid "Linux x86_64 (glibc)." +msgstr "Linux x86_64 (glibc)." + +#: ../../pymupdf-pro/index.rst:34 1923df7caa0b4f04a3b259b4c866ba6e +msgid "MacOS x86_64." +msgstr "MacOS x86_64." + +#: ../../pymupdf-pro/index.rst:35 fd5d8bf6fc12467a826ce8202a1d2ec3 +msgid "MacOS arm64." +msgstr "MacOS arm64." + +#: ../../pymupdf-pro/index.rst:39 f2952d3e2f47435bb640b83bd15721c4 +msgid "Office file support" +msgstr "Office 파일 지원" + +#: ../../pymupdf-pro/index.rst:41 7c38d85a3c164f3a90d869b52ef96eb1 +msgid "" +"In addition to the `standard file types supported by PyMuPDF " +"`, |PyMuPDF Pro| supports:" +msgstr "`PyMuPDF 가 지원하는 표준 파일 타입 ` 외에도 |PyMuPDF Pro| 는 다음을 지원합니다:" + +#: ../../pymupdf-pro/index.rst:46 67438064f36f474186aeb4fbfb093d31 +msgid "**DOC/DOCX**" +msgstr "**DOC/DOCX**" + +#: ../../pymupdf-pro/index.rst:47 9ab995c3f8214b9ab04698d96a84b4e2 +msgid "**XLS/XLSX**" +msgstr "**XLS/XLSX**" + +#: ../../pymupdf-pro/index.rst:48 9e2c997d6ac44df79efb09f56a593cbb +msgid "**PPT/PPTX**" +msgstr "**PPT/PPTX**" + +#: ../../pymupdf-pro/index.rst:49 28e3c375094f40258eea347ffcaf5a8f +msgid "**HWP/HWPX**" +msgstr "**HWP/HWPX**" + +#: ../../pymupdf-pro/index.rst:66 9ccca49db9fb4df98d9464183c30d68c +msgid "Usage" +msgstr "사용법" + +#: ../../pymupdf-pro/index.rst:69 edd61111e81a46198c9ef49a53e782b0 +msgid "Installation" +msgstr "설치" + +#: ../../pymupdf-pro/index.rst:71 f961577e8ffd49469227db2bbdcd9bb2 +msgid "Install via pip with:" +msgstr "pip 를 통해 설치합니다:" + +#: ../../pymupdf-pro/index.rst:79 699e6bf8334b4cf8b23793ff0e45ccbf +msgid "Loading an **Office** document" +msgstr "**Office** 문서 로드" + +#: ../../pymupdf-pro/index.rst:81 08e39b8bfc514665aafb5c1aa211bcfc +msgid "" +"Import |PyMuPDF Pro| and you can then reference **Office** documents " +"directly, e.g.:" +msgstr "|PyMuPDF Pro| 를 가져오면 **Office** 문서를 직접 참조할 수 있습니다. 예:" + +#: ../../pymupdf-pro/index.rst:92 e21e201731344245a88c7e6bdd9c2dc2 +msgid "" +"All standard |PyMuPDF| functionality is exposed as expected - |PyMuPDF " +"Pro| handles the extended **Office** file types" +msgstr "모든 표준 |PyMuPDF| 기능이 예상대로 노출됩니다 - |PyMuPDF Pro| 는 확장된 **Office** 파일 타입을 처리합니다" + +#: ../../pymupdf-pro/index.rst:95 32d84f02e19a40b5bb42c1d26a81afe5 +msgid "" +"From then on you can work with document pages just as you would do " +"normally, but with respect to the `restrictions " +"`." +msgstr "그때부터 `제한 사항 ` 을 고려하여 일반적으로 수행하는 것처럼 문서 페이지로 작업할 수 있습니다." + +#: ../../pymupdf-pro/index.rst:99 36c298b59008468ab926c22842511b25 +msgid "Converting an **Office** document to |PDF|" +msgstr "**Office** 문서를 |PDF| 로 변환" + +#: ../../pymupdf-pro/index.rst:101 c01333a0e65f42d29d469ace26b3fd91 +msgid "" +"The following code snippet can convert your **Office** document to |PDF| " +"format:" +msgstr "다음 코드 조각은 **Office** 문서를 |PDF| 형식으로 변환할 수 있습니다:" + +#: ../../pymupdf-pro/index.rst:119 cd5eb6eaf8094ced89572a48282454ca +msgid "Restrictions" +msgstr "제한 사항" + +#: ../../pymupdf-pro/index.rst:122 badbfba0a2a0495290e9594585aaefc9 +msgid "" +"|PyMuPDF Pro| functionality is restricted without a license key as " +"follows:" +msgstr "라이선스 키 없이 |PyMuPDF Pro| 기능은 다음과 같이 제한됩니다:" + +#: ../../pymupdf-pro/index.rst:124 0edbc072da504add956116e21d3eebde +msgid "**Only the first 3 pages of any document will be available.**" +msgstr "**모든 문서의 처음 3페이지만 사용할 수 있습니다.**" + +#: ../../pymupdf-pro/index.rst:126 6fa9f0d4dec94b3db782dacdc632f5a0 +msgid "" +"To unlock full functionality you should `obtain a trial key " +"`_." +msgstr "전체 기능을 잠금 해제하려면 `시험 키를 받으세요 `_." + +#: ../../pymupdf-pro/index.rst:132 ff0d00debbdb4746809d8750352f10bc +msgid "Trial keys" +msgstr "시험 키" + +#: ../../pymupdf-pro/index.rst:134 e689628360fa4b4497ccbb720dd0faca +msgid "" +"To obtain a license key `please fill out the form on this page " +"`_. You will then have the trial key " +"emailled to the address you submitted." +msgstr "라이선스 키를 받으려면 `이 페이지의 양식을 작성하세요 `_. 그러면 제출한 주소로 시험 키가 이메일로 전송됩니다." + +#: ../../pymupdf-pro/index.rst:138 b4af428798424c3baae4771829727b28 +msgid "Using a key" +msgstr "키 사용" + +#: ../../pymupdf-pro/index.rst:141 6766aa2a1d144b81a15c3ad28ce403da +msgid "Initialize |PyMuPDF Pro| with a key as follows:" +msgstr "다음과 같이 키로 |PyMuPDF Pro| 를 초기화합니다:" + +#: ../../pymupdf-pro/index.rst:149 92e495f1e7934e1e83d346f56ab9833d +msgid "" +"This will allow you to evaluate the product for a limited time. If you " +"want to use |PyMuPDF Pro| after this time you should then `enquire about " +"obtaining a commercial license `_." +msgstr "이것은 제한된 시간 동안 제품을 평가할 수 있게 해줍니다. 이 시간 이후에 |PyMuPDF Pro| 를 사용하려면 `상용 라이선스 취득에 대해 문의하세요 `_." + +#: ../../pymupdf-pro/index.rst:153 a394162132a04de092aabb5d2fcbc814 +msgid "Fonts" +msgstr "글꼴" + +#: ../../pymupdf-pro/index.rst:155 8e2db8a260ac4b8597a804b55d7ab547 +msgid "" +"By default `pymupdf.pro.unlock()` searches for all installed font " +"directories." +msgstr "기본적으로 `pymupdf.pro.unlock()` 은 설치된 모든 글꼴 디렉토리를 검색합니다." + +#: ../../pymupdf-pro/index.rst:157 e0cd7217fd79445ea7e79586abad31d1 +msgid "This can be controlled with keyword-only args:" +msgstr "키워드 전용 인수로 제어할 수 있습니다:" + +#: ../../pymupdf-pro/index.rst:159 879866813ec14fd08f5b249e833e7ee7 +msgid "" +"`fontpath`: specific font directories, either as a list/tuple or " +"`os.sep`-separated string. If None (the default), we use " +"`os.environ['PYMUPDFPRO_FONT_PATH']` if set." +msgstr "`fontpath`: 특정 글꼴 디렉토리, list/tuple 또는 `os.sep` 로 구분된 문자열. None(기본값)인 경우 설정되어 있으면 `os.environ['PYMUPDFPRO_FONT_PATH']` 를 사용합니다." + +#: ../../pymupdf-pro/index.rst:161 5ca9e3934e6c4c91b603c12662c79cf6 +msgid "" +"`fontpath_auto`: Whether to append system font directories. If None (the " +"default) we use true if `os.environ['PYMUPDFPRO_FONT_PATH_AUTO']` is '1'." +" If true we append all system font directories." +msgstr "`fontpath_auto`: 시스템 글꼴 디렉토리를 추가할지 여부. None(기본값)인 경우 `os.environ['PYMUPDFPRO_FONT_PATH_AUTO']` 가 '1'이면 true를 사용합니다. true이면 모든 시스템 글꼴 디렉토리를 추가합니다." + +#: ../../pymupdf-pro/index.rst:165 5ecf267b5f8f4e68be5f69f1cbee4782 +msgid "" +"Function `pymupdf.pro.get_fontpath()` returns a tuple of all font " +"directories used by `unlock()`." +msgstr "함수 `pymupdf.pro.get_fontpath()` 는 `unlock()` 에서 사용하는 모든 글꼴 디렉토리의 튜플을 반환합니다." + +#: ../../footer.rst:46 b26519c017c744e3b52c222b2633f6ed +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/pymupdf4llm/api.mo b/docs/locales/ko/LC_MESSAGES/pymupdf4llm/api.mo new file mode 100644 index 000000000..32b77b5e5 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/pymupdf4llm/api.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/pymupdf4llm/api.po b/docs/locales/ko/LC_MESSAGES/pymupdf4llm/api.po new file mode 100644 index 000000000..8c58c5a48 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/pymupdf4llm/api.po @@ -0,0 +1,946 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2024, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PyMuPDF 1.24.10\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-02 16:19+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ja\n" +"Language-Team: ja \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 28d86985971f44c9b5c589f8ab54e80c +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 e7a5b73934cd435dbb28ac3030a6bc42 +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 92d346afb67b4f3ab88c5a1064a46694 +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" + +#: ../../pymupdf4llm/api.rst:27 4e5664b1124d48d18fd12e59b727a0bd +msgid "API" +msgstr "API" + +#: ../../pymupdf4llm/api.rst:30 e4fe663d1ee04cf7bbc808eeb9ce308b +msgid "The |PyMuPDF4LLM| API" +msgstr "|PyMuPDF4LLM| API" + +#: ../../pymupdf4llm/api.rst:35 4e2df9f8107d4db1a2347a4be75c0272 +msgid "Prints the version of the library." +msgstr "라이브러리의 버전을 출력합니다." + +#: ../../pymupdf4llm/api.rst:69 c21d1e47747e4a6eadd73614ff6f800a +msgid "" +"Reads the pages of the file and outputs the text of its pages in " +"|Markdown| format. How this should happen in detail can be influenced by " +"a number of parameters. Please note that **support for building page " +"chunks** from the |Markdown| text is supported." +msgstr "" +"파일의 페이지를 읽고 |Markdown| 형식으로 페이지 텍스트를 출력합니다. 세부 사항은 여러 매개변수로 제어할 수 있습니다. |Markdown| 텍스트에서 **페이지 청크 구축 지원** 이 지원됩니다." + +#: ../../pymupdf4llm/api.rst 13d669ad26754dc0b5dd18b71aaaa6e7 +#: 9f1452580faf4a6282a5888330a95503 9f18803cca3b49628d55a64c7a8473ee +#: b1bbc30b869d4427932592ee651344a4 c3792e58bf894b75870f21f594a83813 +#: c57820b438a34e958720773d86d8a687 +msgid "Parameters" +msgstr "매개변수" + +#: ../../pymupdf4llm/api.rst:71 ../../pymupdf4llm/api.rst:163 +#: ../../pymupdf4llm/api.rst:184 1df54be04e4d4aaeac61cce4ba98817f +#: 4632c24ae65b499e81a55a61b741ffba 835d293ddb884273a0d2f38bfd18e563 +msgid "" +"the file, to be specified either as a file path string, or as a |PyMuPDF|" +" :class:`Document` (created via `pymupdf.open`). In order to use " +"`pathlib.Path` specifications, Python file-like objects, documents in " +"memory etc. you **must** use a |PyMuPDF| :class:`Document`." +msgstr "" +"파일 경로 문자열 또는 |PyMuPDF| :class:`Document` (`pymupdf.open` 으로 생성)로 지정할 파일입니다. `pathlib.Path` 사양, Python 파일과 같은 객체, 메모리의 문서 등을 사용하려면 **반드시** |PyMuPDF| :class:`Document` 를 사용해야 합니다." + +#: ../../pymupdf4llm/api.rst:73 5b01dd3e313a4f1183943c524048c4a3 +msgid "" +"|PyMuPDFLayoutMode_Ignored| does a simple check for the general " +"background color of the pages (default is ``True``). If any text or " +"vector has this color it will be ignored. May increase detection " +"accuracy." +msgstr "" +"|PyMuPDFLayoutMode_Ignored| 페이지의 일반 배경색에 대한 간단한 확인을 수행합니다(기본값은 ``True``). 이 색상을 가진 텍스트나 벡터는 무시됩니다. 감지 정확도를 높일 수 있습니다." + +#: ../../pymupdf4llm/api.rst:75 f4d01e56b3794441a8802c4a80be94aa +msgid "" +"specify the desired image resolution in dots per inch. Relevant only if " +"`write_images=True` or `embed_images=True`. Default value is 150." +msgstr "" +"인치당 도트 수로 원하는 이미지 해상도를 지정합니다. `write_images=True` 또는 `embed_images=True` 인 경우에만 관련됩니다. 기본값은 150입니다." + +#: ../../pymupdf4llm/api.rst:77 41ff8c59beb54152b76219649e55269d +msgid "" +"|PyMuPDFLayoutMode_Valid| use :ref:`OCR capability " +"` to help analyse the page." +msgstr "" +"|PyMuPDFLayoutMode_Valid| 페이지 분석을 돕기 위해 :ref:`OCR 기능 ` 을 사용합니다." + +#: ../../pymupdf4llm/api.rst:79 d3e8adb5845748eeacc23caba37adfb9 +msgid "" +"|PyMuPDFLayoutMode_Valid| specify the desired image resolution in dots " +"per inch for applying OCR to the intermediate image of the page. Default " +"value is 400. Only relevant if the page has been determined to profit " +"from OCR (no or few text, most of the page covered by images or " +"character-like vectors, etc.). Large values may increase the OCR " +"precision but increase memory requirements and processing time. There " +"also is a risk of over-sharpening the image which may decrease OCR " +"precision. So the default value should probably be sufficiently high." +msgstr "" +"|PyMuPDFLayoutMode_Valid| 페이지의 중간 이미지에 OCR을 적용하기 위한 인치당 도트 수로 원하는 이미지 해상도를 지정합니다. 기본값은 400입니다. 페이지가 OCR로 이익을 얻을 것으로 판단된 경우(텍스트가 없거나 적고, 페이지 대부분이 이미지나 문자와 같은 벡터로 덮인 경우 등)에만 관련됩니다. 큰 값은 OCR 정밀도를 높일 수 있지만 메모리 요구 사항과 처리 시간을 증가시킵니다. 이미지를 과도하게 선명하게 만들어 OCR 정밀도를 떨어뜨릴 위험도 있습니다. 따라서 기본값은 충분히 높아야 합니다." + +#: ../../pymupdf4llm/api.rst:81 9d41bfc8dacf4906862ed59207d58a4f +msgid "" +"like `write_images`, but images will be included in the markdown text as " +"base64-encoded strings. Mutually exclusive with `write_images` and " +"ignores `image_path`. This may drastically increase the size of your " +"markdown text." +msgstr "" +"`write_images` 와 유사하지만 이미지가 base64 인코딩된 문자열로 마크다운 텍스트에 포함됩니다. `write_images` 와 상호 배타적이며 `image_path` 를 무시합니다. 마크다운 텍스트의 크기를 크게 증가시킬 수 있습니다." + +#: ../../pymupdf4llm/api.rst:83 cbd2e3785be64256b6c64d96627ce87c +msgid "" +"|PyMuPDFLayoutMode_Ignored| a value of `True` enforces `page_chunks=True`" +" and adds key \"words\" to each page dictionary. Its value is a list of " +"words as delivered by PyMuPDF's `Page` method `get_text(\"words\")`. The " +"sequence of the words in this list is the same as the extracted text." +msgstr "" +"|PyMuPDFLayoutMode_Ignored| `True` 값은 `page_chunks=True` 를 강제하고 각 페이지 딕셔너리에 \"words\" 키를 추가합니다. 그 값은 |PyMuPDF| 의 `Page` 메서드 `get_text(\"words\")` 에서 제공하는 단어 목록입니다. 이 목록의 단어 순서는 추출된 텍스트와 동일합니다." + +#: ../../pymupdf4llm/api.rst:85 a9fcde34b67b4aac85960a2058a8384d +msgid "" +"Overwrites or sets the desired image file name of written images. Useful " +"when the document is provided as a memory object (which has no inherent " +"file name)." +msgstr "" +"작성된 이미지의 원하는 이미지 파일 이름을 덮어쓰거나 설정합니다. 문서가 메모리 객체로 제공되는 경우(고유한 파일 이름이 없음)에 유용합니다." + +#: ../../pymupdf4llm/api.rst:87 445155dce88c4e488ea537ff3be59de6 +msgid "" +"|PyMuPDFLayoutMode_Ignored| limit the font size to consider for text " +"extraction. If the font size is lower than what is set then the text " +"won't be considered for extraction. Default is `3`, meaning only text " +"with a font size `>= 3` will be considered for extraction." +msgstr "" +"|PyMuPDFLayoutMode_Ignored| 텍스트 추출을 위해 고려할 폰트 크기를 제한합니다. 폰트 크기가 설정된 값보다 작으면 텍스트가 추출 대상에서 제외됩니다. 기본값은 `3` 이며, 폰트 크기가 `>= 3` 인 텍스트만 추출 대상으로 고려됩니다." + +#: ../../pymupdf4llm/api.rst:89 a09091d58eb74cb4953110f6516b8f92 +msgid "" +"|PyMuPDFLayoutMode_Valid| boolean to switch on/off page footer content. " +"This parameter controls whether to include or omit footer text from all " +"the document pages. Useful if the document has repetitive footer content " +"which doesn't add any value to the overall extraction data. Default is " +"`True` meaning that footer content will be considered." +msgstr "" +"|PyMuPDFLayoutMode_Valid| 페이지 푸터 콘텐츠를 켜거나 끄는 부울 값입니다. 이 매개변수는 모든 문서 페이지에서 푸터 텍스트를 포함할지 생략할지를 제어합니다. 문서에 반복적인 푸터 콘텐츠가 있어 전체 추출 데이터에 가치를 추가하지 않는 경우에 유용합니다. 기본값은 `True` 이며 푸터 콘텐츠가 고려됩니다." + +#: ../../pymupdf4llm/api.rst:91 18670d8b86384ed99d85b86b0328a4ca +msgid "" +"generate text output even when overlapping images / graphics. This text " +"then appears after the respective image." +msgstr "" +"이미지/그래픽과 겹치는 경우에도 텍스트 출력을 생성합니다. 이 텍스트는 해당 이미지 뒤에 나타납니다." + +#: ../../pymupdf4llm/api.rst:93 30d505740e2243e4a965d5bed923e367 +msgid "" +"|PyMuPDFLayoutMode_Ignored| use this to limit dealing with excess amounts" +" of vector graphics elements. Scientific documents, or pages simulating " +"text via graphics commands may contain tens of thousands of these " +"objects. As vector graphics are analyzed for multiple purposes, runtime " +"may quickly become intolerable. With this parameter, all vector graphics " +"will be ignored if their count exceeds the threshold." +msgstr "" +"|PyMuPDFLayoutMode_Ignored| 과도한 양의 벡터 그래픽 요소를 처리하는 것을 제한하는 데 사용합니다. 과학 문서나 그래픽 명령을 통해 텍스트를 시뮬레이션하는 페이지는 수만 개의 이러한 객체를 포함할 수 있습니다. 벡터 그래픽이 여러 목적으로 분석되므로 실행 시간이 빠르게 견딜 수 없게 될 수 있습니다. 이 매개변수를 사용하면 개수가 임계값을 초과하면 모든 벡터 그래픽이 무시됩니다." + +#: ../../pymupdf4llm/api.rst:95 f45e892b070e41909fee2c6af82edbe5 +msgid "" +"|PyMuPDFLayoutMode_Ignored| use this if you want to provide your own " +"header detection logic. This may be a callable or an object having a " +"method named `get_header_id`. It must accept a text span (a span " +"dictionary as contained in :meth:`~.extractDICT`) and a keyword parameter" +" \"page\" (which is the owning :ref:`Page ` object). It must return" +" a string \"\" or up to 6 \"#\" characters followed by 1 space. If " +"omitted (`None`), a full document scan will be performed to find the most" +" popular font sizes and derive header levels based on them. To completely" +" avoid this behavior specify `hdr_info=lambda s, page=None: \"\"` or " +"`hdr_info=False`." +msgstr "" +"|PyMuPDFLayoutMode_Ignored| 자체 헤더 감지 로직을 제공하려면 이것을 사용하세요. 이것은 호출 가능한 객체이거나 `get_header_id` 라는 메서드를 가진 객체일 수 있습니다. 텍스트 스팬(:meth:`~.extractDICT` 에 포함된 스팬 딕셔너리)과 키워드 매개변수 \"page\"(소유 :ref:`Page ` 객체)를 받아야 합니다. 빈 문자열 \"\" 또는 최대 6개의 \"#\" 문자 뒤에 공백 1개를 반환해야 합니다. 생략(`None`)하면 전체 문서 스캔을 수행하여 가장 인기 있는 폰트 크기를 찾고 이를 기반으로 헤더 수준을 파생합니다. 이 동작을 완전히 피하려면 `hdr_info=lambda s, page=None: \"\"` 또는 `hdr_info=False` 를 지정하세요." + +#: ../../pymupdf4llm/api.rst:97 a35f46ec3a53486fa48b3655d9e9c97d +msgid "" +"|PyMuPDFLayoutMode_Valid| boolean to switch on/off page header content. " +"This parameter controls whether we want to include or omit the header " +"content from all the document pages. Useful if the document has " +"repetitive header content which doesn't add any value to the overall " +"extraction data. Default is `True` meaning that header content will be " +"considered." +msgstr "" +"|PyMuPDFLayoutMode_Valid| 페이지 헤더 콘텐츠를 켜거나 끄는 부울 값입니다. 이 매개변수는 모든 문서 페이지에서 헤더 콘텐츠를 포함할지 생략할지를 제어합니다. 문서에 반복적인 헤더 콘텐츠가 있어 전체 추출 데이터에 가치를 추가하지 않는 경우에 유용합니다. 기본값은 `True` 이며 헤더 콘텐츠가 고려됩니다." + +#: ../../pymupdf4llm/api.rst:99 28b04a679d88497e96269ee7f0812e9e +msgid "" +"|PyMuPDFLayoutMode_Ignored| if ``True`` includes text even when " +"completely transparent. Default is ``False``: transparent text will be " +"ignored which usually increases detection accuracy." +msgstr "" +"|PyMuPDFLayoutMode_Ignored| ``True`` 이면 완전히 투명한 경우에도 텍스트를 포함합니다. 기본값은 ``False`` 입니다: 투명한 텍스트는 무시되며 일반적으로 감지 정확도를 높입니다." + +#: ../../pymupdf4llm/api.rst:101 36820cc6604844b2a4d5375a7cd5792f +msgid "" +"if `True` then mono-spaced text lines do not receive special formatting. " +"Code blocks will no longer be generated. This value is set to `True` if " +"`extract_words=True` is used." +msgstr "" +"`True` 이면 고정 폭 텍스트 줄이 특별한 형식을 받지 않습니다. 코드 블록이 더 이상 생성되지 않습니다. `extract_words=True` 가 사용되면 이 값은 `True` 로 설정됩니다." + +#: ../../pymupdf4llm/api.rst:103 bff188eabaf94192af91641c85c1e98d +msgid "" +"|PyMuPDFLayoutMode_Ignored| (New in v.0.0.20) Disregard vector graphics " +"on the page. This may help detecting text correctly when pages are very " +"crowded (often the case for documents representing presentation slides). " +"Also speeds up processing time. This automatically prevents table " +"detection." +msgstr "" +"|PyMuPDFLayoutMode_Ignored| (v.0.0.20에서 새로 추가됨) 페이지의 벡터 그래픽을 무시합니다. 페이지가 매우 복잡할 때(프레젠테이션 슬라이드를 나타내는 문서에서 자주 발생) 텍스트를 올바르게 감지하는 데 도움이 될 수 있습니다. 또한 처리 시간을 단축합니다. 이것은 자동으로 테이블 감지를 방지합니다." + +#: ../../pymupdf4llm/api.rst:105 056587fcf3d04ac29d30bcd3886d95f2 +msgid "" +"|PyMuPDFLayoutMode_Ignored| (New in v.0.0.20) Disregard images on the " +"page. This may help detecting text correctly when pages are very crowded " +"(often the case for documents representing presentation slides). Also " +"speeds up processing time." +msgstr "" +"|PyMuPDFLayoutMode_Ignored| (v.0.0.20에서 새로 추가됨) 페이지의 이미지를 무시합니다. 페이지가 매우 복잡할 때(프레젠테이션 슬라이드를 나타내는 문서에서 자주 발생) 텍스트를 올바르게 감지하는 데 도움이 될 수 있습니다. 또한 처리 시간을 단축합니다." + +#: ../../pymupdf4llm/api.rst:107 ecf6dcf203a643bd8e51300ae9ad0a06 +msgid "" +"specify the desired image format via its extension. Default is \"png\" " +"(portable network graphics). Another popular format may be \"jpg\". " +"Possible values are all :ref:`supported output formats " +"`." +msgstr "" +"확장자를 통해 원하는 이미지 형식을 지정합니다. 기본값은 \"png\"(portable network graphics)입니다. 다른 인기 있는 형식은 \"jpg\"일 수 있습니다. 가능한 값은 모든 :ref:`지원되는 출력 형식 ` 입니다." + +#: ../../pymupdf4llm/api.rst:109 adbd88cd1ca14c1ba5ee08b2109bce36 +msgid "" +"store images in this folder. Relevant if `write_images=True`. Default is " +"the path of the script directory." +msgstr "" +"이 폴더에 이미지를 저장합니다. `write_images=True` 인 경우 관련됩니다. 기본값은 스크립트 디렉토리의 경로입니다." + +#: ../../pymupdf4llm/api.rst:111 afeb57cfa94f4015b4e1e6c1c2e6e125 +#, python-format +msgid "" +"|PyMuPDFLayoutMode_Ignored| this must be a ``0 <= value < 1``. Images are" +" ignored if `width / page.rect.width <= image_size_limit` or `height / " +"page.rect.height <= image_size_limit`. For instance, the default value " +"0.05 means that to be considered for inclusion, an image's width and " +"height must be larger than 5% of the page's width and height, " +"respectively." +msgstr "" +"|PyMuPDFLayoutMode_Ignored| 이것은 ``0 <= value < 1`` 이어야 합니다. `width / page.rect.width <= image_size_limit` 또는 `height / page.rect.height <= image_size_limit` 이면 이미지가 무시됩니다. 예를 들어, 기본값 0.05는 포함을 고려하려면 이미지의 너비와 높이가 각각 페이지 너비와 높이의 5%보다 커야 함을 의미합니다." + +#: ../../pymupdf4llm/api.rst:113 85475d5ce25043fe947f058364b6d756 +msgid "" +"|PyMuPDFLayoutMode_Ignored| a float or a sequence of 2 or 4 floats " +"specifying page borders. Only objects inside the margins will be " +"considered for output. * `margin=f` yields `(f, f, f, f)` for `(left, " +"top, right, bottom)`. * `(top, bottom)` yields `(0, top, 0, bottom)`. * " +"To always read full pages **(default)**, use `margins=0`." +msgstr "" + +#: ../../pymupdf4llm/api.rst:113 3fb6f34f01ff47e3a66ae8c810ee06e0 +msgid "" +"|PyMuPDFLayoutMode_Ignored| a float or a sequence of 2 or 4 floats " +"specifying page borders. Only objects inside the margins will be " +"considered for output." +msgstr "" +"|PyMuPDFLayoutMode_Ignored| 페이지 여백을 지정하는 float 또는 2개 또는 4개의 float 시퀀스. 여백 내부의 객체만 출력 대상으로 고려됩니다." + +#: ../../pymupdf4llm/api.rst:115 801899e2be22416aa50f59d49696821f +msgid "`margin=f` yields `(f, f, f, f)` for `(left, top, right, bottom)`." +msgstr "`margin=f` 는 `(left, top, right, bottom)` 에 대해 `(f, f, f, f)` 를 생성합니다." + +#: ../../pymupdf4llm/api.rst:116 387562b55d82431291823c1801fd50a4 +msgid "`(top, bottom)` yields `(0, top, 0, bottom)`." +msgstr "`(top, bottom)` 는 `(0, top, 0, bottom)` 를 생성합니다." + +#: ../../pymupdf4llm/api.rst:117 cdd8cebf2e1948a0a421609fc71375f2 +msgid "To always read full pages **(default)**, use `margins=0`." +msgstr "항상 전체 페이지를 읽으려면 **(기본값)**, `margins=0` 을 사용하세요." + +#: ../../pymupdf4llm/api.rst:119 34c0664f16c740c7aca19e3a24e79e08 +msgid "" +"if `True` the output will be a list of `Document.page_count` dictionaries" +" (one per page). Each dictionary has the following structure: - " +"**\"metadata\"** - a dictionary consisting of the document's metadata " +":attr:`Document.metadata`, enriched with additional keys " +"**\"file_path\"** (the file name), **\"page_count\"** (number of pages in" +" document), and **\"page_number\"** (1-based page number). - " +"**\"toc_items\"** - a list of Table of Contents items pointing to this " +"page. Each item of this list has the format `[lvl, title, pagenumber]`, " +"where `lvl` is the hierarchy level, `title` a string and `pagenumber` as " +"a 1-based page number. - **\"tables\"** - a list of tables on this page." +" Each item is a dictionary with keys \"bbox\", \"row_count\" and " +"\"col_count\". Key \"bbox\" is a `pymupdf.Rect` in tuple format of the " +"table's position on the page. - **\"images\"** - " +"|PyMuPDFLayoutMode_EmptyList| a list of images on the page. This a copy " +"of page method :meth:`Page.get_image_info`. - **\"graphics\"** - " +"|PyMuPDFLayoutMode_EmptyList| a list of vector graphics rectangles on the" +" page. This is a list of boundary boxes of clustered vector graphics as " +"delivered by method :meth:`Page.cluster_drawings`. - **\"text\"** - page" +" content as |Markdown| text. - **\"words\"** - " +"|PyMuPDFLayoutMode_EmptyList| if `extract_words=True` was used. This is a" +" list of tuples `(x0, y0, x1, y1, \"wordstring\", bno, lno, wno)` as " +"delivered by `page.get_text(\"words\")`. The **sequence** of these tuples" +" however is the same as produced in the markdown text string and thus " +"honors multi-column text. This is also true for text in tables: words are" +" extracted in the sequence of table row cells." +msgstr "" + +#: ../../pymupdf4llm/api.rst:119 26276a827ba549e7ae6680403a0325be +msgid "" +"if `True` the output will be a list of `Document.page_count` dictionaries" +" (one per page). Each dictionary has the following structure:" +msgstr "" +"`True` 이면 출력은 `Document.page_count` 딕셔너리 목록(페이지당 하나)이 됩니다. 각 딕셔너리는 다음 구조를 가집니다:" + +#: ../../pymupdf4llm/api.rst:121 412ffcdcfd664b5a9cdca7475bb6c793 +msgid "" +"**\"metadata\"** - a dictionary consisting of the document's metadata " +":attr:`Document.metadata`, enriched with additional keys " +"**\"file_path\"** (the file name), **\"page_count\"** (number of pages in" +" document), and **\"page_number\"** (1-based page number)." +msgstr "" +"**\"metadata\"** - 문서의 메타데이터 :attr:`Document.metadata` 로 구성된 딕셔너리이며, 추가 키 **\"file_path\"** (파일 이름), **\"page_count\"** (문서의 페이지 수), **\"page_number\"** (1-기반 페이지 번호)로 보강됩니다." + +#: ../../pymupdf4llm/api.rst:123 e102e7dfa70942fabc2932205ec555ed +msgid "" +"**\"toc_items\"** - a list of Table of Contents items pointing to this " +"page. Each item of this list has the format `[lvl, title, pagenumber]`, " +"where `lvl` is the hierarchy level, `title` a string and `pagenumber` as " +"a 1-based page number." +msgstr "" +"**\"toc_items\"** - 이 페이지를 가리키는 목차 항목 목록. 이 목록의 각 항목은 `[lvl, title, pagenumber]` 형식을 가지며, 여기서 `lvl` 은 계층 수준, `title` 은 문자열, `pagenumber` 는 1-기반 페이지 번호입니다." + +#: ../../pymupdf4llm/api.rst:125 697bc1bf53f943a6a77a7e73b4ed9069 +msgid "" +"**\"tables\"** - a list of tables on this page. Each item is a dictionary" +" with keys \"bbox\", \"row_count\" and \"col_count\". Key \"bbox\" is a " +"`pymupdf.Rect` in tuple format of the table's position on the page." +msgstr "" +"**\"tables\"** - 이 페이지의 테이블 목록. 각 항목은 \"bbox\", \"row_count\", \"col_count\" 키를 가진 딕셔너리입니다. \"bbox\" 키는 페이지에서 테이블 위치의 튜플 형식인 `pymupdf.Rect` 입니다." + +#: ../../pymupdf4llm/api.rst:127 f4902a3e2743455b879b8e485c311e6e +msgid "" +"**\"images\"** - |PyMuPDFLayoutMode_EmptyList| a list of images on the " +"page. This a copy of page method :meth:`Page.get_image_info`." +msgstr "" +"**\"images\"** - |PyMuPDFLayoutMode_EmptyList| 페이지의 이미지 목록. 이것은 페이지 메서드 :meth:`Page.get_image_info` 의 복사본입니다." + +#: ../../pymupdf4llm/api.rst:129 247ba43947304db2939158ac691bb939 +msgid "" +"**\"graphics\"** - |PyMuPDFLayoutMode_EmptyList| a list of vector " +"graphics rectangles on the page. This is a list of boundary boxes of " +"clustered vector graphics as delivered by method " +":meth:`Page.cluster_drawings`." +msgstr "" +"**\"graphics\"** - |PyMuPDFLayoutMode_EmptyList| 페이지의 벡터 그래픽 사각형 목록. 이것은 메서드 :meth:`Page.cluster_drawings` 에서 제공하는 클러스터링된 벡터 그래픽의 경계 상자 목록입니다." + +#: ../../pymupdf4llm/api.rst:131 57d71d3b3a3249569cbda9768c424bda +msgid "**\"text\"** - page content as |Markdown| text." +msgstr "**\"text\"** - |Markdown| 텍스트로 된 페이지 콘텐츠." + +#: ../../pymupdf4llm/api.rst:133 5f83592243374620aa76011c7afea0ae +msgid "" +"**\"words\"** - |PyMuPDFLayoutMode_EmptyList| if `extract_words=True` was" +" used. This is a list of tuples `(x0, y0, x1, y1, \"wordstring\", bno, " +"lno, wno)` as delivered by `page.get_text(\"words\")`. The **sequence** " +"of these tuples however is the same as produced in the markdown text " +"string and thus honors multi-column text. This is also true for text in " +"tables: words are extracted in the sequence of table row cells." +msgstr "" +"**\"words\"** - |PyMuPDFLayoutMode_EmptyList| `extract_words=True` 가 사용된 경우. 이것은 `page.get_text(\"words\")` 에서 제공하는 튜플 `(x0, y0, x1, y1, \"wordstring\", bno, lno, wno)` 목록입니다. 그러나 이러한 튜플의 **순서** 는 마크다운 텍스트 문자열에서 생성된 것과 동일하므로 다중 열 텍스트를 존중합니다. 테이블의 텍스트에도 적용됩니다: 단어는 테이블 행 셀의 순서로 추출됩니다." + +#: ../../pymupdf4llm/api.rst:135 a4eb7467e30b421a95b8c99919ecbce6 +msgid "" +"specify a desired page height. For relevance see the `page_width` " +"parameter. If using the default `None`, the document will appear as one " +"large page with a width of `page_width`. Consequently in this case, no " +"markdown page separators will occur (except the final one), respectively " +"only one page chunk will be returned." +msgstr "" +"원하는 페이지 높이를 지정합니다. 관련성은 `page_width` 매개변수를 참조하세요. 기본값 `None` 을 사용하면 문서가 `page_width` 너비의 하나의 큰 페이지로 나타납니다. 결과적으로 이 경우 마크다운 페이지 구분자가 발생하지 않으며(마지막 것 제외), 각각 하나의 페이지 청크만 반환됩니다." + +#: ../../pymupdf4llm/api.rst:137 3d9536256eb44ab18b73999b0e0a94ef +msgid "" +"if ``True`` inserts a string ``--- end of page=n ---`` at the end of each" +" page output. Intended for debugging purposes. The page number is " +"0-based. The separator string is wrapped with line breaks. Default is " +"``False``." +msgstr "" +"``True`` 이면 각 페이지 출력 끝에 문자열 ``--- end of page=n ---`` 를 삽입합니다. 디버깅 목적으로 사용됩니다. 페이지 번호는 0-기반입니다. 구분자 문자열은 줄바꿈으로 감싸집니다. 기본값은 ``False`` 입니다." + +#: ../../pymupdf4llm/api.rst:139 9cb78dc09dde4bdb80163561a09b2df7 +msgid "" +"specify a desired page width. This is ignored for documents with a fixed " +"page width like PDF, XPS etc. **Reflowable** documents however, like " +"e-books, office [#f2]_ or text files have no fixed page dimensions. They " +"by default are assumed to have Letter format width (612) and an " +"**unlimited** page height. This means that the **full document is treated" +" as one large page.**" +msgstr "" +"원하는 페이지 너비를 지정합니다. PDF, XPS 등 고정 페이지 너비를 가진 문서에서는 무시됩니다. 그러나 **재배치 가능한** 문서(예: 전자책, 오피스 [#f2]_ 또는 텍스트 파일)는 고정 페이지 크기가 없습니다. 기본적으로 Letter 형식 너비(612)와 **무제한** 페이지 높이를 가진 것으로 가정됩니다. 이것은 **전체 문서가 하나의 큰 페이지로 처리됨** 을 의미합니다." + +#: ../../pymupdf4llm/api.rst:141 ../../pymupdf4llm/api.rst:171 +#: 951850c1f7ff4f798dca7dda5b985f12 d4db9adce2fe428ab58a3903b6e897f9 +msgid "" +"optional, the pages to consider for output (caution: specify 0-based page" +" numbers). If omitted (`None`) all pages are processed. Any Python " +"sequence with integer items is accepted. The sequence is sorted and " +"processed to only contain unique items." +msgstr "" +"선택 사항, 출력을 위해 고려할 페이지(주의: 0-기반 페이지 번호 지정). 생략(`None`)하면 모든 페이지가 처리됩니다. 정수 항목이 있는 모든 Python 시퀀스가 허용됩니다. 시퀀스는 정렬되고 고유 항목만 포함하도록 처리됩니다." + +#: ../../pymupdf4llm/api.rst:143 ../../pymupdf4llm/api.rst:175 +#: 56fb5c28b7784bf8b4a7d4c352ab926b 82e67bb02bfc4cf09bbf354bfaab4eae +#: 9536a5d8ab5a41c98764cbe8dda15cb9 +msgid "" +"Default is `False`. A value of `True` displays a progress bar as pages " +"are being converted. Package `tqdm `_ is " +"used if installed, otherwise the built-in text based progress bar is " +"used." +msgstr "" +"기본값은 `False` 입니다. `True` 값은 페이지가 변환되는 동안 진행 표시줄을 표시합니다. `tqdm `_ 패키지가 설치되어 있으면 사용되고, 그렇지 않으면 내장 텍스트 기반 진행 표시줄이 사용됩니다." + +#: ../../pymupdf4llm/api.rst:145 2db14405113e40179eb2edf68e69b579 +msgid "" +"|PyMuPDFLayoutMode_Ignored| see: :meth:`table detection strategy " +"`. Default is `\"lines_strict\"` which ignores " +"background colors. In some occasions, other strategies may be more " +"successful, for example `\"lines\"` which uses all vector graphics " +"objects for detection." +msgstr "" +"|PyMuPDFLayoutMode_Ignored| 참조: :meth:`테이블 감지 전략 `. 기본값은 배경색을 무시하는 `\"lines_strict\"` 입니다. 경우에 따라 다른 전략이 더 성공적일 수 있습니다. 예를 들어 모든 벡터 그래픽 객체를 감지에 사용하는 `\"lines\"` 입니다." + +#: ../../pymupdf4llm/api.rst:147 abf44d2845b94d018e86396e471a2797 +msgid "" +"|PyMuPDFLayoutMode_Ignored| (New in v.0.0.19) Default is `False`. A value" +" of `True` will use the glyph number of the characters instead of the " +"character itself if the font does not store the Unicode value." +msgstr "" +"|PyMuPDFLayoutMode_Ignored| (v.0.0.19에서 새로 추가됨) 기본값은 `False` 입니다. `True` 값은 폰트가 유니코드 값을 저장하지 않는 경우 문자 자체 대신 문자의 글리프 번호를 사용합니다." + +#: ../../pymupdf4llm/api.rst:149 dfec1fde53d145b4a723e9686dc1ad55 +msgid "" +"when encountering images or vector graphics, images will be created from " +"the respective page area and stored in the specified folder. |Markdown| " +"references will be generated pointing to these images. Any text contained" +" in these areas will not be included in the text output (but appear as " +"part of the images). Therefore, if for instance your document has text " +"written on full page images, make sure to set this parameter to `False`." +" If using :ref:`PyMuPDF Layout `, boundary boxes that " +"are classified as \"picture\" by the layout module will be treated as " +"images - independent from the mixture of text, images or vector graphics " +"they may be covering. If `force_text=True` is used, text will still be " +"extracted from these areas and included in the output after the " +"respective image reference." +msgstr "" + +#: ../../pymupdf4llm/api.rst:149 93ccd09a15134624a2ab4a2288ba6171 +msgid "" +"when encountering images or vector graphics, images will be created from " +"the respective page area and stored in the specified folder. |Markdown| " +"references will be generated pointing to these images. Any text contained" +" in these areas will not be included in the text output (but appear as " +"part of the images). Therefore, if for instance your document has text " +"written on full page images, make sure to set this parameter to `False`." +msgstr "" +"이미지나 벡터 그래픽을 만나면 해당 페이지 영역에서 이미지가 생성되어 지정된 폴더에 저장됩니다. |Markdown| 참조가 이러한 이미지를 가리키도록 생성됩니다. 이러한 영역에 포함된 텍스트는 텍스트 출력에 포함되지 않습니다(이미지의 일부로 나타남). 따라서 예를 들어 문서에 전체 페이지 이미지에 텍스트가 작성된 경우 이 매개변수를 `False` 로 설정해야 합니다." + +#: ../../pymupdf4llm/api.rst:151 250eaf1b38694043b90736d4d9a821ce +msgid "" +"If using :ref:`PyMuPDF Layout `, boundary boxes that are " +"classified as \"picture\" by the layout module will be treated as images " +"- independent from the mixture of text, images or vector graphics they " +"may be covering. If `force_text=True` is used, text will still be " +"extracted from these areas and included in the output after the " +"respective image reference." +msgstr "" +":ref:`PyMuPDF Layout ` 을 사용하는 경우 레이아웃 모듈에 의해 \"picture\"로 분류된 경계 상자는 이미지로 처리됩니다 - 덮고 있을 수 있는 텍스트, 이미지 또는 벡터 그래픽의 혼합과 무관합니다. `force_text=True` 가 사용되면 텍스트는 여전히 이러한 영역에서 추출되어 해당 이미지 참조 뒤에 출력에 포함됩니다." + +#: ../../pymupdf4llm/api.rst 0d07c67350cb436fb33e8aad838f6779 +#: 598d4d5d997b46ae9c685c56a12f8d30 6c9887cf2f934da0a3139fe4efef9133 +#: 7cd056f0a5e24e6c9cb9ef3811c9fe21 85a59fb19a314f869c001f8014cb715b +msgid "Returns" +msgstr "반환값" + +#: ../../pymupdf4llm/api.rst:153 5f63166d8164444791851b4680d313dd +msgid "" +"Either a string of the combined text of all selected document pages, or a" +" list of dictionaries if `page_chunks=True`." +msgstr "" +"선택된 모든 문서 페이지의 결합된 텍스트 문자열이거나 `page_chunks=True` 인 경우 딕셔너리 목록입니다." + +#: ../../pymupdf4llm/api.rst:159 5b52df94b00743b6a3926949923c8769 +msgid "" +"Reads the pages of the file and outputs the text of its pages in |TXT| " +"format." +msgstr "" +"파일의 페이지를 읽고 |TXT| 형식으로 페이지 텍스트를 출력합니다." + +#: ../../pymupdf4llm/api.rst:161 ../../pymupdf4llm/api.rst:182 +#: 67252eed1bc0433b86f2f7f7339cf77b b67079733cf74d7ba1d1fbbb866cb359 +msgid "" +"|PyMuPDFLayoutMode_Valid|. This method is only available with PyMuPDF " +"Layout." +msgstr "" +"|PyMuPDFLayoutMode_Valid|. 이 메서드는 PyMuPDF Layout에서만 사용할 수 있습니다." + +#: ../../pymupdf4llm/api.rst:165 d3ce63da02ea48dca75f94d50be77f12 +msgid "" +"boolean to switch on/off page header content. This parameter controls " +"whether to include or omit the header content from all the document " +"pages. Useful if the document has repetitive header content which doesn't" +" add any value to the overall extraction data. Default is `True` meaning " +"that header content will be written." +msgstr "" +"페이지 헤더 콘텐츠를 켜거나 끄는 부울 값입니다. 이 매개변수는 모든 문서 페이지에서 헤더 콘텐츠를 포함할지 생략할지를 제어합니다. 문서에 반복적인 헤더 콘텐츠가 있어 전체 추출 데이터에 가치를 추가하지 않는 경우에 유용합니다. 기본값은 `True` 이며 헤더 콘텐츠가 작성됩니다." + +#: ../../pymupdf4llm/api.rst:167 67bec0a4a60e463496475cd96362ffeb +msgid "" +"boolean to switch on/off page footer content. This parameter controls " +"whether to include or omit the footer content from all the document " +"pages. Useful if the document has repetitive footer content which doesn't" +" add any value to the overall extraction data. Default is `True` meaning " +"that footer content will be written." +msgstr "" +"페이지 푸터 콘텐츠를 켜거나 끄는 부울 값입니다. 이 매개변수는 모든 문서 페이지에서 푸터 콘텐츠를 포함할지 생략할지를 제어합니다. 문서에 반복적인 푸터 콘텐츠가 있어 전체 추출 데이터에 가치를 추가하지 않는 경우에 유용합니다. 기본값은 `True` 이며 푸터 콘텐츠가 작성됩니다." + +#: ../../pymupdf4llm/api.rst:169 fb77c695d98d4c95aa3263b6b6d780b7 +msgid "" +"if `True` then mono-spaced text lines do not receive special formatting. " +"No blocks will be written and text lines will be written continuously." +msgstr "" +"`True` 이면 고정 폭 텍스트 줄이 특별한 형식을 받지 않습니다. 블록이 작성되지 않고 텍스트 줄이 연속적으로 작성됩니다." + +#: ../../pymupdf4llm/api.rst:173 1b962ab25f1847bcbeca72a0b761b13e +msgid "" +"generate text output also when overlapping images / graphics. This text " +"then appears after the respective image reference. Images (i.e. " +"\"picture\" areas) however will not be written to the text output but " +"appear as a text line in the output like `==> picture [width x height] " +"<==`." +msgstr "" +"이미지/그래픽과 겹치는 경우에도 텍스트 출력을 생성합니다. 이 텍스트는 해당 이미지 참조 뒤에 나타납니다. 그러나 이미지(즉, \"picture\" 영역)는 텍스트 출력에 작성되지 않고 `==> picture [width x height] <==` 와 같은 텍스트 줄로 출력에 나타납니다." + +#: ../../pymupdf4llm/api.rst:180 5d81ef685e2d4f0db6010c6fe5be7a9d +msgid "" +"Parses the document and the specified pages and converts the result into " +"a |JSON|-formatted string." +msgstr "" +"문서와 지정된 페이지를 구문 분석하고 결과를 |JSON| 형식 문자열로 변환합니다." + +#: ../../pymupdf4llm/api.rst:186 4855882483854c768ca0261d1ae19f75 +msgid "" +"specify the desired image resolution in dots per inch. Default value is " +"150. Only relevant if one of the parameters `write_images=True` or " +"`embed_images=True` is used." +msgstr "" +"인치당 도트 수로 원하는 이미지 해상도를 지정합니다. 기본값은 150입니다. `write_images=True` 또는 `embed_images=True` 매개변수 중 하나가 사용된 경우에만 관련됩니다." + +#: ../../pymupdf4llm/api.rst:188 92c49b4e2541455c8fc58a215abe7ded +msgid "" +"specify the desired image format via its extension. Default is \"png\" " +"(portable network graphics). Another popular format may be \"jpg\". " +"Possible values are all :ref:`supported output formats " +"`. Only relevant if one of the parameters " +"`write_images=True` or `embed_images=True` is used." +msgstr "" +"확장자를 통해 원하는 이미지 형식을 지정합니다. 기본값은 \"png\"(portable network graphics)입니다. 다른 인기 있는 형식은 \"jpg\"일 수 있습니다. 가능한 값은 모든 :ref:`지원되는 출력 형식 ` 입니다. `write_images=True` 또는 `embed_images=True` 매개변수 중 하나가 사용된 경우에만 관련됩니다." + +#: ../../pymupdf4llm/api.rst:190 1be020ddc3ca4fbe9f5fd73c3298040b +msgid "" +"store images in this folder. Relevant if `write_images=True`. Default is " +"the path of the script directory. Page areas classified as \"picture\" " +"will be written as image files to the specified location. The image file " +"names will be of the format `{image_path}/{filename}-pagenumber-" +"image_number.{image_format}`." +msgstr "" +"이 폴더에 이미지를 저장합니다. `write_images=True` 인 경우 관련됩니다. 기본값은 스크립트 디렉토리의 경로입니다. \"picture\"로 분류된 페이지 영역은 지정된 위치에 이미지 파일로 작성됩니다. 이미지 파일 이름은 `{image_path}/{filename}-pagenumber-image_number.{image_format}` 형식입니다." + +#: ../../pymupdf4llm/api.rst:192 984764256bf04d99b89ba80370d8541c +msgid "" +"generate text output for text that is written upon areas that are " +"classified as \"picture\" by the layout module. This may be especially be" +" useful when picture content is not stored." +msgstr "" +"레이아웃 모듈에 의해 \"picture\"로 분류된 영역에 작성된 텍스트에 대한 텍스트 출력을 생성합니다. 그림 콘텐츠가 저장되지 않은 경우 특히 유용할 수 있습니다." + +#: ../../pymupdf4llm/api.rst:194 8b5e7a2ba58e4b0da1eed3140c9a2eed +msgid "display a progress bar during processing." +msgstr "처리 중 진행 표시줄을 표시합니다." + +#: ../../pymupdf4llm/api.rst:196 5a55754f73304138814f39a3895fb5db +msgid "" +"store image binaries for \"picture\" boundary boxes. Base64-encoded " +"images are included in the JSON output. Ignores `image_path` if used. " +"This may drastically increase the size of your JSON text." +msgstr "" +"\"picture\" 경계 상자에 대한 이미지 바이너리를 저장합니다. Base64 인코딩된 이미지가 JSON 출력에 포함됩니다. 사용된 경우 `image_path` 를 무시합니다. 이것은 JSON 텍스트의 크기를 크게 증가시킬 수 있습니다." + +#: ../../pymupdf4llm/api.rst:198 13a91b7cc1f04969b4e871b8c7920989 +msgid "" +"store image files \"picture\" boundary boxes.when encountering images, " +"image files will be created from the respective page area and stored in " +"the specified folder. Any text contained in these areas will still be " +"included in the text output." +msgstr "" +"\"picture\" 경계 상자에 대한 이미지 파일을 저장합니다. 이미지를 만나면 해당 페이지 영역에서 이미지 파일이 생성되어 지정된 폴더에 저장됩니다. 이러한 영역에 포함된 텍스트는 여전히 텍스트 출력에 포함됩니다." + +#: ../../pymupdf4llm/api.rst:200 dd0ddcf7925544d4b76e9734667d33f4 +msgid "" +"optional, the pages to consider for output (caution: specify 0-based page" +" numbers). If omitted (`None`) all pages are processed. Specify any valid" +" Python sequence containing integers between `0` and `page_count - 1`." +msgstr "" +"선택 사항, 출력을 위해 고려할 페이지(주의: 0-기반 페이지 번호 지정). 생략(`None`)하면 모든 페이지가 처리됩니다. `0` 과 `page_count - 1` 사이의 정수를 포함하는 유효한 Python 시퀀스를 지정하세요." + +#: ../../pymupdf4llm/api.rst:205 47988e45549446179f8420be32191824 +msgid "" +"Please see `this site " +"`_ for more " +"background and the current status of further improvements regarding usage" +" with :ref:`PyMuPDF Layout `." +msgstr "" +":ref:`PyMuPDF Layout ` 사용에 대한 추가 배경 정보 및 개선 사항의 현재 상태는 `이 사이트 `_ 를 참조하세요." + +#: ../../pymupdf4llm/api.rst:210 8bdedbb86fac4bdca76803ff7f660033 +msgid "" +"Create a `pdf_markdown_reader.PDFMarkdownReader` using the `LlamaIndex`_ " +"package. Please note that this package will **not automatically be " +"installed** when installing **pymupdf4llm**." +msgstr "" +"`LlamaIndex`_ 패키지를 사용하여 `pdf_markdown_reader.PDFMarkdownReader` 를 생성합니다. 이 패키지는 **pymupdf4llm** 설치 시 **자동으로 설치되지 않습니다**." + +#: ../../pymupdf4llm/api.rst:212 ac6f0e13b9034f77a6222df6d6f0a966 +msgid "" +"For details on the possible arguments, please consult the LlamaIndex " +"documentation [#f1]_." +msgstr "" +"가능한 인수에 대한 자세한 내용은 LlamaIndex 문서 [#f1]_ 를 참조하세요." + +#: ../../pymupdf4llm/api.rst 71aa61f2d1a446ec8dc78203d5e8258b +msgid "raises" +msgstr "발생" + +#: ../../pymupdf4llm/api.rst:214 f1a663fdbc6e4f06b71256b6a4ef2df9 +msgid "`NotImplementedError`: Please install required `LlamaIndex`_ package." +msgstr "`NotImplementedError`: 필요한 `LlamaIndex`_ 패키지를 설치하세요." + +#: ../../pymupdf4llm/api.rst:215 9c61e09aba8942e081d3fc15080f8708 +msgid "" +"a `pdf_markdown_reader.PDFMarkdownReader` and issues message " +"\"Successfully imported LlamaIndex\". Please note that this method needs " +"several seconds to execute. For details on using the markdown reader " +"please see below." +msgstr "" +"`pdf_markdown_reader.PDFMarkdownReader` 를 생성하고 \"Successfully imported LlamaIndex\" 메시지를 발행합니다. 이 메서드는 실행하는 데 몇 초가 필요합니다. 마크다운 리더 사용에 대한 자세한 내용은 아래를 참조하세요." + +#: ../../pymupdf4llm/api.rst:222 ../../pymupdf4llm/api.rst:350 +#: 59202f45ef284beea61e2fb7c2b74d47 71f2f0dd222a44589ed37b4ae0fd4ad7 +msgid "|PyMuPDFLayoutMode_Unavailable|" +msgstr "|PyMuPDFLayoutMode_Unavailable|" + +#: ../../pymupdf4llm/api.rst:227 36ad491d525c45e3923f3fd43b7ab548 +msgid "" +"Create an object which maps text font sizes to the respective number of " +"'#' characters which are used by Markdown syntax to indicate header " +"levels. The object is created by scanning the document for font size " +"\"popularity\". The most popular font size and all smaller sizes are used" +" for body text. Larger font sizes are mapped to the respective header " +"levels - which correspond to the HTML tags `

` to `

`." +msgstr "" +"텍스트 폰트 크기를 마크다운 구문에서 헤더 레벨을 나타내는 데 사용되는 '#' 문자 수에 매핑하는 객체를 생성합니다. 이 객체는 문서에서 폰트 크기 \"인기도\"를 스캔하여 생성됩니다. 가장 인기 있는 폰트 크기와 모든 작은 크기는 본문 텍스트에 사용됩니다. 더 큰 폰트 크기는 해당 헤더 레벨에 매핑됩니다 - 이는 HTML 태그 `

` 에서 `

` 에 해당합니다." + +#: ../../pymupdf4llm/api.rst:229 a5f1efbaa3ec4a3fa953b61ecb108cb5 +msgid "All font sizes are rounded to integer values." +msgstr "모든 폰트 크기는 정수 값으로 반올림됩니다." + +#: ../../pymupdf4llm/api.rst:231 060cf88a851843848a644386178dfc4f +msgid "" +"If more than 6 header levels would be required, then the largest number " +"smaller than the `
` font size is used for body text." +msgstr "" +"6개 이상의 헤더 레벨이 필요한 경우, `
` 폰트 크기보다 작은 가장 큰 숫자가 본문 텍스트에 사용됩니다." + +#: ../../pymupdf4llm/api.rst:233 4b8c52bf47c0493388a6cae3ddc6dc33 +msgid "" +"Please note that creating the object will read and inspect the text of " +"the entire document - independently of reading the document again in the " +"`to_markdown()` method subsequently. Method `to_markdown()` by default " +"**will create this object** if you do not override its `hdr_info=None` " +"parameter." +msgstr "" +"객체를 생성하면 문서 전체의 텍스트를 읽고 검사합니다 - 이후 `to_markdown()` 메서드에서 문서를 다시 읽는 것과는 무관하게. `to_markdown()` 메서드는 기본적으로 `hdr_info=None` 매개변수를 재정의하지 않으면 **이 객체를 생성합니다**." + +#: ../../pymupdf4llm/api.rst:236 8a854caf0428436bb30ff64c0e2b7b99 +msgid "" +"the file, to be specified either as a file path string, or as a |PyMuPDF|" +" Document (created via `pymupdf.open`). In order to use `pathlib.Path` " +"specifications, Python file-like objects, documents in memory etc. you " +"**must** use a |PyMuPDF| Document." +msgstr "" +"파일 경로 문자열 또는 `pymupdf.open` 을 통해 생성된 |PyMuPDF| Document로 지정할 파일입니다. `pathlib.Path` 사양, Python 파일과 같은 객체, 메모리의 문서 등을 사용하려면 **반드시** |PyMuPDF| Document를 사용해야 합니다." + +#: ../../pymupdf4llm/api.rst:238 ca89a89858a54fcbbb852141997e973c +msgid "optional, the pages to consider. If omitted all pages are processed." +msgstr "선택 사항, 고려할 페이지. 생략하면 모든 페이지가 처리됩니다." + +#: ../../pymupdf4llm/api.rst:240 28c341c4a1a546bda43c89f339be5704 +msgid "" +"the default font size limit for body text. Only used when the document " +"scan does not deliver valid information." +msgstr "" +"본문 텍스트의 기본 폰트 크기 제한. 문서 스캔이 유효한 정보를 제공하지 않을 때만 사용됩니다." + +#: ../../pymupdf4llm/api.rst:242 9f2766b2b7ca488cbd3a37553ff5694f +msgid "" +"the maximum number of header levels to be used. Valid values are in " +"`range(1, 7)`. The default is 6, which corresponds to the HTML tags " +"`

` to `

`. A smaller value will limit the number of generated " +"header levels. For instance, a value of 3 will only generate header tags " +"\"#\", \"##\" and \"###\". Body text will be assumed for all font sizes " +"smaller than the one corresponding to \"###\"." +msgstr "" +"사용할 최대 헤더 레벨 수. 유효한 값은 `range(1, 7)` 입니다. 기본값은 6이며, 이는 HTML 태그 `

` 에서 `

` 에 해당합니다. 더 작은 값은 생성되는 헤더 레벨 수를 제한합니다. 예를 들어, 값 3은 헤더 태그 \"#\", \"##\", \"###\"만 생성합니다. 본문 텍스트는 \"###\"에 해당하는 폰트 크기보다 작은 모든 폰트 크기에 대해 가정됩니다." + +#: ../../pymupdf4llm/api.rst:247 15756bee4cc048d0804e9ad2b8711c6b +msgid "" +"Return appropriate markdown header prefix. This is either \"\" or a " +"string of \"#\" characters followed by a space." +msgstr "" +"적절한 마크다운 헤더 접두사를 반환합니다. 이는 빈 문자열이거나 공백이 뒤따르는 \"#\" 문자열입니다." + +#: ../../pymupdf4llm/api.rst:249 a58b7b22952e44f6a83e6cbd4945aec1 +msgid "" +"Given a text span from a \"dict\" extraction, determine the markdown " +"header prefix string of 0 to n concatenated '#' characters." +msgstr "" +"\"dict\" 추출에서 텍스트 스팬이 주어지면, 0에서 n까지 연결된 '#' 문자의 마크다운 헤더 접두사 문자열을 결정합니다." + +#: ../../pymupdf4llm/api.rst:251 ../../pymupdf4llm/api.rst:370 +#: 7a4b3f9199c64c60855e87be06938800 937b8a8741c941fe837306b743b991d2 +msgid "" +"a dictionary containing the text span information. This is the same " +"dictionary as returned by `page.get_text(\"dict\")`." +msgstr "" +"`page.get_text(\"dict\")` 에 의해 반환되는 것과 동일한 텍스트 스팬 정보를 포함하는 딕셔너리입니다." + +#: ../../pymupdf4llm/api.rst:253 ../../pymupdf4llm/api.rst:372 +#: 3f4de965af784b5aa3bc9c1d0da99386 4fb44301f96d4a76813aaaf15f5dbf3f +msgid "" +"the owning page object. This can be used when additional information " +"needs to be extracted." +msgstr "" +"소유 페이지 객체. 추가 정보가 추출되어야 할 때 사용할 수 있습니다." + +#: ../../pymupdf4llm/api.rst:255 ../../pymupdf4llm/api.rst:374 +#: 1ada9bd96e9e481bbf098e63f0b97a34 4e537632f9824eafa6ea661c5c65813d +msgid "a string of \"#\" characters followed by a space." +msgstr "공백이 뒤따르는 \"#\" 문자열입니다." + +#: ../../pymupdf4llm/api.rst:259 e3e73fd9f50a4142a184bd4baa20c90b +msgid "" +"A dictionary mapping (integer) font sizes to Markdown header strings like" +" ``{14: '# ', 12: '## '}``. The dictionary is created by the " +":class:`IdentifyHeaders` constructor. The keys are the font sizes of the " +"text spans in the document. The values are the respective header strings." +msgstr "" +"정수 폰트 크기를 ``{14: '# ', 12: '## '}`` 와 같은 마크다운 헤더 문자열에 매핑하는 딕셔너리입니다. 이 딕셔너리는 :class:`IdentifyHeaders` 생성자에 의해 생성됩니다. 키는 문서의 텍스트 스팬 폰트 크기입니다. 값은 해당 헤더 문자열입니다." + +#: ../../pymupdf4llm/api.rst:263 c5a884c560bc48cfb1e711db69d97d70 +msgid "" +"An integer value indicating the font size limit for body text. This is " +"computed as ``min(header_id.keys()) - 1``. In the above example, " +"body_limit would be 11." +msgstr "" +"본문 텍스트의 폰트 크기 제한을 나타내는 정수 값. 이는 ``min(header_id.keys()) - 1`` 로 계산됩니다. 위 예시에서 body_limit은 11이 됩니다." + +#: ../../pymupdf4llm/api.rst:269 18f9b62b612f43cb98b8bc9395d2e91d +msgid "**How to limit header levels (example)**" +msgstr "**헤더 레벨 제한 방법 (예제)**" + +#: ../../pymupdf4llm/api.rst:271 fdcd8a88e3764fe2beb711dd0f769a93 +msgid "Limit the generated header levels to 3::" +msgstr "생성된 헤더 레벨을 3으로 제한::" + +#: ../../pymupdf4llm/api.rst:281 6922b5601f2b4e85abea7f1588a5242f +msgid "**How to provide your own header logic (example 1)**" +msgstr "**자체 헤더 로직 제공 방법 (예제 1)**" + +#: ../../pymupdf4llm/api.rst:283 0c5bbcfbc3d54e32afd708445550f723 +msgid "Provide your own function which uses pre-determined, fixed font sizes::" +msgstr "사전 결정된 고정 폰트 크기를 사용하는 자체 함수 제공::" + +#: ../../pymupdf4llm/api.rst:310 b42d96ba59d74b32b1b76a558c18107f +msgid "**How to provide your own header logic (example 2)**" +msgstr "**자체 헤더 로직 제공 방법 (예제 2)**" + +#: ../../pymupdf4llm/api.rst:312 c06eabeb42df48b0a48defe0031513fe +msgid "" +"This user function uses the document's Table of Contents -- under the " +"assumption that the bookmark text is also present as a header line on the" +" page (which certainly need not be the case!)::" +msgstr "" +"이 사용자 함수는 문서의 목차를 사용합니다 -- 북마크 텍스트가 페이지의 헤더 줄로도 존재한다는 가정 하에(반드시 그럴 필요는 없습니다!)::" + +#: ../../pymupdf4llm/api.rst:354 7b2f4631e38449c0829b1d5669205310 +msgid "" +"Create an object which uses the document's Table of Contents (TOC) to " +"determine header levels. Upon object creation, the table of contents is " +"read via the `Document.get_toc()` method. The TOC data is then used to " +"determine header levels in the `to_markdown()` method." +msgstr "" +"문서의 목차(TOC)를 사용하여 헤더 레벨을 결정하는 객체를 생성합니다. 객체 생성 시 `Document.get_toc()` 메서드를 통해 목차를 읽습니다. TOC 데이터는 `to_markdown()` 메서드에서 헤더 레벨을 결정하는 데 사용됩니다." + +#: ../../pymupdf4llm/api.rst:356 80a339f128134f47b56bdd58fb75a2e7 +msgid "" +"This is an alternative to :class:`IdentifyHeaders`. Instead of running " +"through the full document to identify font sizes, it uses the document's " +"Table Of Contents (TOC) to identify headers on pages. Like " +":class:`IdentifyHeaders`, this also is no guarantee to find headers, but " +"for well-built Table of Contents, there is a good chance for more " +"correctly identifying header lines on document pages than the font-size-" +"based approach." +msgstr "" +"이것은 :class:`IdentifyHeaders` 의 대안입니다. 전체 문서를 통해 폰트 크기를 식별하는 대신, 문서의 목차(TOC)를 사용하여 페이지의 헤더를 식별합니다. :class:`IdentifyHeaders` 와 마찬가지로, 이것도 헤더를 찾는 것을 보장하지는 않지만, 잘 구성된 목차의 경우 폰트 크기 기반 접근 방식보다 문서 페이지의 헤더 줄을 더 정확하게 식별할 가능성이 높습니다." + +#: ../../pymupdf4llm/api.rst:358 6ba9148a06a44cd0b05fab409c4283a1 +msgid "" +"It also has the advantage of being much faster than the font-size-based " +"approach, as it does not execute a full document scan or even access any " +"of the document pages." +msgstr "" +"또한 전체 문서 스캔을 실행하거나 문서 페이지에 액세스하지 않으므로 폰트 크기 기반 접근 방식보다 훨씬 빠르다는 장점이 있습니다." + +#: ../../pymupdf4llm/api.rst:360 e09d29ea50ee4cb99e1e48f14cb1d419 +msgid "" +"Examples where this approach works very well are the Adobe's files on PDF" +" documentation." +msgstr "" +"이 접근 방식이 매우 잘 작동하는 예는 Adobe의 PDF 문서 파일입니다." + +#: ../../pymupdf4llm/api.rst:362 42d005a54259451e84de46008792d588 +msgid "" +"Please note that this feature **does not read document pages** where the " +"table of contents may exist as normal standard text. It only accesses " +"data as provided by the `Document.get_toc()` method. It will not identify" +" any headers for documents where the table of contents is not available " +"as a collection of bookmarks." +msgstr "" +"이 기능은 목차가 일반 표준 텍스트로 존재할 수 있는 문서 페이지를 **읽지 않습니다**. `Document.get_toc()` 메서드에서 제공하는 데이터에만 액세스합니다. 목차가 북마크 모음으로 제공되지 않는 문서의 헤더는 식별하지 않습니다." + +#: ../../pymupdf4llm/api.rst:366 9747e3ce0895441493b43d41f4a9df78 +msgid "" +"Return appropriate markdown header prefix. This is either an empty string" +" or a string of \"#\" characters followed by a space." +msgstr "" +"적절한 마크다운 헤더 접두사를 반환합니다. 이는 빈 문자열이거나 공백이 뒤따르는 \"#\" 문자열입니다." + +#: ../../pymupdf4llm/api.rst:368 59e1904d38f140f0a477ffbb69d1dc7d +msgid "" +"Given a text span from a \"dict\" extraction variant, determine the " +"markdown header prefix string of 0 to n concatenated \"#\" characters." +msgstr "" +"\"dict\" 추출 변형에서 텍스트 스팬이 주어지면, 0에서 n까지 연결된 \"#\" 문자의 마크다운 헤더 접두사 문자열을 결정합니다." + +#: ../../pymupdf4llm/api.rst:378 4b11b54d62a94df4905acf20c2ad8471 +msgid "**How to use class TocHeaders**" +msgstr "**TocHeaders 클래스 사용 방법**" + +#: ../../pymupdf4llm/api.rst:380 95ea1015ab4c45ab9fdb488b9c270390 +msgid "" +"This is a version of previous **example 2** that uses :class:`TocHeaders`" +" for header identification::" +msgstr "" +"이것은 헤더 식별을 위해 :class:`TocHeaders` 를 사용하는 이전 **예제 2** 의 버전입니다::" + +#: ../../pymupdf4llm/api.rst:398 a4a87f3efb6d472d80ff03a5b8a23c65 +msgid "" +"This is the only method of the markdown reader you should currently use " +"to extract markdown data. Please in any case ignore methods " +"`aload_data()` and `lazy_load_data()`. Other methods like " +"`use_doc_meta()` may or may not make sense. For more information, please " +"consult the LlamaIndex documentation [#f1]_." +msgstr "" +"이것은 현재 마크다운 데이터를 추출하는 데 사용해야 하는 마크다운 리더의 유일한 메서드입니다. 어떤 경우에도 `aload_data()` 및 `lazy_load_data()` 메서드를 무시하세요. `use_doc_meta()` 와 같은 다른 메서드는 의미가 있을 수도 있고 없을 수도 있습니다. 자세한 내용은 LlamaIndex 문서 [#f1]_ 를 참조하세요." + +#: ../../pymupdf4llm/api.rst:400 df377eb2611b45ad9e06938903718a76 +msgid "Under the hood the method will execute `to_markdown()`." +msgstr "내부적으로 메서드는 `to_markdown()` 을 실행합니다." + +#: ../../pymupdf4llm/api.rst:402 afdbf4a1f22542639e7a55416dbdda7c +msgid "a list of `LlamaIndexDocument` documents - one for each page." +msgstr "`LlamaIndexDocument` 문서 목록 - 페이지당 하나씩." + +#: ../../pymupdf4llm/api.rst:406 fd268aa92d6044ef951c3f708636d48e +msgid "" +"For a list of changes, please see file `CHANGES.md " +"`_." +msgstr "" +"변경 사항 목록은 `CHANGES.md `_ 파일을 참조하세요." + +#: ../../pymupdf4llm/api.rst:409 6446df28273c490c9e143aed82d42276 +msgid "Footnotes" +msgstr "각주" + +#: ../../pymupdf4llm/api.rst:410 bbce2a3f10a44b019ed3acaa0a06e6b6 +msgid "`LlamaIndex documentation `_" +msgstr "`LlamaIndex 문서 `_" + +#: ../../pymupdf4llm/api.rst:412 c49adecd61d04edda261abe63966093d +msgid "" +"When using PyMuPDF-Pro, supported office documents are converted " +"internally into a PDF-like format. Therefore, they **will have fixed page" +" dimensions** and be no longer \"reflowable\". Consequently, the page " +"width and page height specifications will be ignored as well in these " +"cases." +msgstr "" +"PyMuPDF-Pro를 사용할 때 지원되는 오피스 문서는 내부적으로 PDF와 유사한 형식으로 변환됩니다. 따라서 **고정 페이지 크기** 를 가지며 더 이상 \"재배치 가능\"하지 않습니다. 결과적으로 이러한 경우 페이지 너비 및 페이지 높이 사양도 무시됩니다." + +#: ../../footer.rst:48 1ed68f4bf8fd45fab04f7a49fba09f0a +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 까지의 모든 버전을 다룹니다." + +#~ msgid "" +#~ "This class is not available in " +#~ "\"layout mode\", i.e. if the import " +#~ "of pymupdf4llm has happened **after** " +#~ "the statement ``import pymupdf.layout``." +#~ msgstr "" + diff --git a/docs/locales/ko/LC_MESSAGES/pymupdf4llm/index.mo b/docs/locales/ko/LC_MESSAGES/pymupdf4llm/index.mo new file mode 100644 index 000000000..450b2f131 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/pymupdf4llm/index.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/pymupdf4llm/index.po b/docs/locales/ko/LC_MESSAGES/pymupdf4llm/index.po new file mode 100644 index 000000000..442e2250f --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/pymupdf4llm/index.po @@ -0,0 +1,294 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PyMuPDF 1.26.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-02 16:19+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ko\n" +"Language-Team: ko \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 7f556c0708ab49cdbc462a525dfa7aff +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 4eb9ac713eaa4bc5a5a44191f5dec7ae +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 8c03dba2f9bc41ab84de0114382f5e82 +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" + +#: ../../pymupdf4llm/index.rst:8 96b9f29894ff49beba7a07931c5c900d +msgid "PyMuPDF4LLM" +msgstr "PyMuPDF4LLM" + +#: ../../pymupdf4llm/index.rst:10 59d6714b7f6549e0a52c173974da2135 +msgid "" +"|PyMuPDF4LLM| is aimed to make it easier to extract |PDF| content in the " +"format you need for **LLM** & **RAG** environments. It supports " +":ref:`Markdown extraction ` as well as :ref:`LlamaIndex" +" document output `." +msgstr "|PyMuPDF4LLM| 는 **LLM** 및 **RAG** 환경에 필요한 형식으로 |PDF| 콘텐츠를 더 쉽게 추출할 수 있도록 하는 것을 목표로 합니다. :ref:`Markdown 추출 ` 및 :ref:`LlamaIndex 문서 출력 ` 을 지원합니다." + +#: ../../pymupdf4llm/index.rst:12 8b36d59c925f4a0d93873eeab7e4843a +msgid "" +"When using |PyMuPDF4LLM| with PyMuPDF Layout, page layout detection will " +"be greatly improved. This is true for table detection, but also for the " +"detection of page headers and footers, footnotes, list items and text " +"paragraphs. In addition two new methods become available, `to_json()` and" +" `to_text()`." +msgstr "" +"|PyMuPDF4LLM| 를 PyMuPDF Layout과 함께 사용하면 페이지 레이아웃 감지가 크게 향상됩니다. 이것은 테이블 감지뿐만 아니라 페이지 헤더 및 푸터, 각주, 목록 항목 및 텍스트 단락의 감지에도 해당합니다. 또한 두 가지 새로운 메서드 `to_json()` 및 `to_text()` 가 사용 가능해집니다." + +#: ../../pymupdf4llm/index.rst:16 50bf080e50e64ba58e973f0addf24d73 +msgid "" +"You can extend the supported file types to also include **Office** " +"document formats (DOC/DOCX, XLS/XLSX, PPT/PPTX, HWP/HWPX) by :ref:`using " +"PyMuPDF Pro with PyMuPDF4LLM `." +msgstr ":ref:`PyMuPDF Pro와 PyMuPDF4LLM 함께 사용 ` 하여 지원되는 파일 타입을 **Office** 문서 형식(DOC/DOCX, XLS/XLSX, PPT/PPTX, HWP/HWPX)도 포함하도록 확장할 수 있습니다." + +#: ../../pymupdf4llm/index.rst:19 38428359cdaf4039b439454f5c712ec7 +msgid "Features" +msgstr "기능" + +#: ../../pymupdf4llm/index.rst:21 5f4fb197fcdd4a0ab3ac79607a78a25e +msgid "Support for multi-column pages" +msgstr "다중 열 페이지 지원" + +#: ../../pymupdf4llm/index.rst:22 7e249663241a4aacb2f9b1fcb4450393 +msgid "" +"Support for image and vector graphics extraction (and inclusion of " +"references in the MD text)" +msgstr "이미지 및 벡터 그래픽 추출 지원(MD 텍스트에 참조 포함)" + +#: ../../pymupdf4llm/index.rst:23 cf659dc9b2da48d69e7ab3d1cda7f132 +msgid "Support for page chunking output." +msgstr "페이지 청킹 출력 지원." + +#: ../../pymupdf4llm/index.rst:24 20715d6347fb42b7b485fba224287741 +msgid "" +"Direct support for output as :ref:`LlamaIndex Documents " +"`." +msgstr ":ref:`LlamaIndex 문서 ` 로 출력하는 직접 지원." + +#: ../../pymupdf4llm/index.rst:25 42fe53c6392143838058ca9b8b1684a3 +msgid "" +"When used with :ref:`PyMuPDF Layout ` : Support for plain" +" text output similar to Markdown" +msgstr "" +":ref:`PyMuPDF Layout ` 와 함께 사용할 때: Markdown과 유사한 일반 텍스트 출력 지원" + +#: ../../pymupdf4llm/index.rst:26 345e944ae1c54464a70343f8ee2b62e9 +msgid "" +"When used with :ref:`PyMuPDF Layout ` : Support for JSON " +"output" +msgstr "" +":ref:`PyMuPDF Layout ` 와 함께 사용할 때: JSON 출력 지원" + +#: ../../pymupdf4llm/index.rst:30 90f6c12aacd14b7eba944b6c1e013ed5 +msgid "Functionality" +msgstr "기능" + +#: ../../pymupdf4llm/index.rst:32 e63a722974dc41f3928dc372e66da5c0 +msgid "" +"This package converts the pages of a file to text in **Markdown** format " +"using |PyMuPDF|." +msgstr "이 패키지는 |PyMuPDF| 를 사용하여 파일의 페이지를 **Markdown** 형식의 텍스트로 변환합니다." + +#: ../../pymupdf4llm/index.rst:34 1504c800279e44568bfbbeef3eb2ba6d +msgid "" +"Standard text and tables are detected, brought in the right reading " +"sequence and then together converted to **GitHub**-compatible " +"**Markdown** text." +msgstr "표준 텍스트와 테이블이 감지되고 올바른 읽기 순서로 가져온 다음 **GitHub** 호환 **Markdown** 텍스트로 함께 변환됩니다." + +#: ../../pymupdf4llm/index.rst:36 4d3e28d4b9654f6889e99f25edeafb6f +msgid "" +"Header lines are identified via the font size and appropriately prefixed " +"with one or more `#` tags." +msgstr "헤더 줄은 글꼴 크기를 통해 식별되며 하나 이상의 `#` 태그로 적절히 접두사가 붙습니다." + +#: ../../pymupdf4llm/index.rst:38 d3dc9c01915e4fd5a47c1784eae70c00 +msgid "" +"Bold, italic, mono-spaced text and code blocks are detected and formatted" +" accordingly. Similar applies to ordered and unordered lists." +msgstr "굵게, 기울임꼴, 고정폭 텍스트 및 코드 블록이 감지되고 그에 따라 형식화됩니다. 순서 있는 목록과 순서 없는 목록에도 유사하게 적용됩니다." + +#: ../../pymupdf4llm/index.rst:40 bc9f92950b5b4c038ed82153c462a0c6 +msgid "" +"By default, all document pages are processed. If desired, a subset of " +"pages can be specified by providing a list of `0`-based page numbers." +msgstr "기본적으로 모든 문서 페이지가 처리됩니다. 원하는 경우 `0` 기반 페이지 번호 목록을 제공하여 페이지 하위 집합을 지정할 수 있습니다." + +#: ../../pymupdf4llm/index.rst:44 24714fd3cb744a908099e19f1af6ce7e +msgid "Installation" +msgstr "설치" + +#: ../../pymupdf4llm/index.rst:47 dd73904df42146e18551936620e44355 +msgid "Install the package via **pip** with:" +msgstr "**pip** 를 통해 패키지를 설치합니다:" + +#: ../../pymupdf4llm/index.rst:58 a08840e778fe46379ec9110ad3c3608a +msgid "Extracting a file as **Markdown**" +msgstr "파일을 **Markdown** 으로 추출" + +#: ../../pymupdf4llm/index.rst:60 98c0760b58c04cbeb1299faf5b79ab3f +msgid "" +"To retrieve your document content in **Markdown** simply install the " +"package and then use a couple of lines of **Python** code to get results." +msgstr "**Markdown** 형식으로 문서 콘텐츠를 검색하려면 패키지를 설치한 다음 몇 줄의 **Python** 코드를 사용하여 결과를 얻습니다." + +#: ../../pymupdf4llm/index.rst:64 6a398956ca7f4c9c9057734393a79743 +msgid "Then in your **Python** script do:" +msgstr "그런 다음 **Python** 스크립트에서 다음을 수행합니다:" + +#: ../../pymupdf4llm/index.rst:75 b227684a017d42e8b88f83ad2a3c673e +msgid "" +"Instead of the filename string as above, one can also provide a " +":ref:`PyMuPDF Document `. A second parameter may be a list of " +"`0`-based page numbers, e.g. `[0, 1]` would just select the first and " +"second pages of the document." +msgstr "위와 같이 파일명 문자열 대신 :ref:`PyMuPDF Document ` 를 제공할 수도 있습니다. 두 번째 매개변수는 `0` 기반 페이지 번호 목록일 수 있습니다. 예를 들어 `[0,1]` 은 문서의 첫 번째와 두 번째 페이지만 선택합니다." + +#: ../../pymupdf4llm/index.rst:78 a0929decafbc41cb86a00b46905219e0 +msgid "" +"If you want to store your **Markdown** file, e.g. store as a UTF8-encoded" +" file, then do:" +msgstr "**Markdown** 파일을 저장하려면(예: UTF8 인코딩 파일로 저장) 다음을 수행합니다:" + +#: ../../pymupdf4llm/index.rst:91 fe47c11343ec4d278c9f9cc524bccb86 +msgid "Extracting a file as a **LlamaIndex** document" +msgstr "파일을 **LlamaIndex** 문서로 추출" + +#: ../../pymupdf4llm/index.rst:93 6834228bb5524c319b8c3d5dbe8138d6 +msgid "" +"|PyMuPDF4LLM| supports direct conversion to a **LLamaIndex** document. A " +"document is first converted into **Markdown** format and then a " +"**LlamaIndex** document is returned as follows:" +msgstr "|PyMuPDF4LLM| 는 **LlamaIndex** 문서로 직접 변환을 지원합니다. 문서는 먼저 **Markdown** 형식으로 변환된 다음 다음과 같이 **LlamaIndex** 문서가 반환됩니다:" + +#: ../../pymupdf4llm/index.rst:107 e653025ecf1948759d96b33b7902c524 +msgid "Using with |PyMuPDF Pro|" +msgstr "|PyMuPDF Pro| 와 함께 사용" + +#: ../../pymupdf4llm/index.rst:110 9e877b4bd26d43cbaf81821091d51a1b +msgid "" +"For **Office** document support, |PyMuPDF4LLM| works seamlessly with " +"|PyMuPDF Pro|. Assuming you have :doc:`../pymupdf-pro` installed you will" +" be able to work with **Office** documents as expected:" +msgstr "**Office** 문서 지원을 위해 |PyMuPDF4LLM| 는 |PyMuPDF Pro| 와 원활하게 작동합니다. :doc:`../pymupdf-pro` 가 설치되어 있다고 가정하면 예상대로 **Office** 문서로 작업할 수 있습니다:" + +#: ../../pymupdf4llm/index.rst:121 ff1a10504dbe4b5381a2f6232a21b346 +msgid "" +"As you can see |PyMuPDF Pro| functionality will be available within the " +"|PyMuPDF4LLM| context!" +msgstr "보시다시피 |PyMuPDF Pro| 기능이 |PyMuPDF4LLM| 컨텍스트 내에서 사용 가능합니다!" + +#: ../../pymupdf4llm/index.rst:126 32a7f061e08e4a6ca0f4f3fddb070669 +msgid "API" +msgstr "API" + +#: ../../pymupdf4llm/index.rst:128 b4ebede9414d489da467192cd788038a +msgid "See :ref:`the PyMuPDF4LLM API `." +msgstr ":ref:`PyMuPDF4LLM API ` 를 참조하세요." + +#: ../../pymupdf4llm/index.rst:131 bb3e7108ffa0474c9130db24bde17039 +msgid "Further Resources" +msgstr "추가 리소스" + +#: ../../pymupdf4llm/index.rst:135 ec0ceb929e634253940d9d8b12c34e12 +msgid "Sample code" +msgstr "샘플 코드" + +#: ../../pymupdf4llm/index.rst:137 f2d41ac1c1d24d9289e6ce68bc9370de +msgid "" +"`Command line RAG Chatbot with PyMuPDF " +"`_" +msgstr "`PyMuPDF 를 사용한 명령줄 RAG 챗봇 `_" + +#: ../../pymupdf4llm/index.rst:138 bf6ddba28b86427ab7c934e3fe869608 +msgid "" +"`Example of a Browser Application using Langchain and PyMuPDF " +"`_" +msgstr "`Langchain과 PyMuPDF 를 사용한 브라우저 애플리케이션 예제 `_" + +#: ../../pymupdf4llm/index.rst:142 05f33a793ba04dbea19e7a464b4c8cd5 +msgid "Blogs" +msgstr "블로그" + +#: ../../pymupdf4llm/index.rst:144 d6c3173afe6a4dbd880c662d9a8b9e66 +msgid "" +"`RAG/LLM and PDF: Enhanced Text Extraction `_" +msgstr "`RAG/LLM 및 PDF: 향상된 텍스트 추출 `_" + +#: ../../pymupdf4llm/index.rst:145 2469a1a8ebb649b083d10e876d5b3022 +msgid "" +"`Creating a RAG Chatbot with ChatGPT and PyMuPDF " +"`_" +msgstr "`ChatGPT와 PyMuPDF 로 RAG 챗봇 만들기 `_" + +#: ../../pymupdf4llm/index.rst:146 750da7ec1111406c9f24fe09151140ae +msgid "" +"`Building a RAG Chatbot GUI with the ChatGPT API and PyMuPDF " +"`_" +msgstr "`ChatGPT API와 PyMuPDF 로 RAG 챗봇 GUI 구축 `_" + +#: ../../pymupdf4llm/index.rst:147 d820865d4e2b470b975fd95e67ec0436 +msgid "" +"`RAG/LLM and PDF: Conversion to Markdown Text with PyMuPDF " +"`_" +msgstr "`RAG/LLM 및 PDF: PyMuPDF 로 Markdown 텍스트로 변환 `_" + +#: ../../footer.rst:48 30b12247e1244acba7a2885245d87849 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + +#~ msgid "" +#~ "Instead of the filename string as " +#~ "above, one can also provide a " +#~ ":ref:`PyMuPDF Document `. A second" +#~ " parameter may be a list of " +#~ "`0`-based page numbers, e.g. `[0,1]` " +#~ "would just select the first and " +#~ "second pages of the document." +#~ msgstr "" + +#~ msgid "" +#~ "When using |PyMuPDF4LLM| with PyMuPDF-" +#~ "Layout, page layout detection will be" +#~ " greatly improved. This is true for" +#~ " table detection, but also for the" +#~ " detection of page headers and " +#~ "footers, footnotes, list items and text" +#~ " paragraphs. In addition two new " +#~ "methods become available, `to_json()` and " +#~ "`to_text()`." +#~ msgstr "" + +#~ msgid "In \"layout mode\": Support for plain text output similar to Markdown" +#~ msgstr "" + +#~ msgid "In \"layout mode\": Support for JSON output" +#~ msgstr "" + diff --git a/docs/locales/ko/LC_MESSAGES/pyodide.mo b/docs/locales/ko/LC_MESSAGES/pyodide.mo new file mode 100644 index 000000000..c5a621271 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/pyodide.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/pyodide.po b/docs/locales/ko/LC_MESSAGES/pyodide.po new file mode 100644 index 000000000..204434358 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/pyodide.po @@ -0,0 +1,168 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 9e4f1d023e4c4a2f9b1789603aba1601 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 02180e9a6b5e48f88c53ee91a688adb1 +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 c68f782efd8344ff9fbda1a7566d3151 +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" + +#: ../../pyodide.rst:4 b63880b098224734b9b2dc4c700c8ef3 +msgid "Pyodide" +msgstr "Pyodide" + +#: ../../pyodide.rst:8 ef1d306e03734c209cc1de803b563abf +msgid "Overview" +msgstr "개요" + +#: ../../pyodide.rst:11 a4f52f95cfaf4399817388f7e5cdb9c0 +msgid "" +"`Pyodide `_ is a client-side Python implementation " +"that runs in a web browser." +msgstr "`Pyodide `_ 는 웹 브라우저에서 실행되는 클라이언트 측 Python 구현입니다." + +#: ../../pyodide.rst:14 414c957de5624f6ba708ad075d3d7a63 +msgid "The Pyodide build of PyMuPDF is currently experimental." +msgstr "|PyMuPDF| 의 Pyodide 빌드는 현재 실험적입니다." + +#: ../../pyodide.rst:18 1199cc39832d45bdaa78306e41d821e5 +msgid "Building a PyMuPDF wheel for Pyodide" +msgstr "Pyodide용 |PyMuPDF| 휠 빌드" + +#: ../../pyodide.rst:20 75ac11d9769c49a1afefaeaf2e66c13e +msgid "" +"A PyMuPDF wheel for Pyodide can be built by running " +"`scripts/gh_release.py` with some environmental variable settings. This " +"is regularly tested on Github by `.github/workflows/test_pyodide.yml`." +msgstr "일부 환경 변수 설정과 함께 `scripts/gh_release.py` 를 실행하여 Pyodide용 |PyMuPDF| 휠을 빌드할 수 있습니다. 이것은 `.github/workflows/test_pyodide.yml` 에 의해 GitHub에서 정기적으로 테스트됩니다." + +#: ../../pyodide.rst:24 cf08249abe844603bd188263b0fabb48 +msgid "" +"Here is an example of this, a single Linux command (to be run with the " +"current directory set to a PyMuPDF checkout), that builds a Pyodide " +"wheel::" +msgstr "다음은 |PyMuPDF| 체크아웃으로 현재 디렉토리를 설정한 상태에서 실행할 단일 Linux 명령으로 Pyodide 휠을 빌드하는 예제입니다::" + +#: ../../pyodide.rst:33 9801c86b124048eaa3483bd780ea6964 +msgid "This does the following (all inside Python venv's):" +msgstr "다음 작업을 수행합니다 (모두 Python venv 내부에서):" + +#: ../../pyodide.rst:35 de17df8ffe044736b9751eb4efeb9640 +msgid "" +"Download (git clone and pip install) and customise a Pyodide build " +"environment." +msgstr "Pyodide 빌드 환경을 다운로드(git clone 및 pip install)하고 사용자 정의합니다." + +#: ../../pyodide.rst:36 00d95a72eea642cf9a06eea851573b78 +msgid "Download (git clone) the latest MuPDF." +msgstr "최신 |MuPDF| 를 다운로드(git clone)합니다." + +#: ../../pyodide.rst:37 25c3416cee3a43639827a6237c3a3012 +msgid "Build MuPDF and PyMuPDF in the Pyodide build environment." +msgstr "Pyodide 빌드 환경에서 |MuPDF| 와 |PyMuPDF| 를 빌드합니다." + +#: ../../pyodide.rst:38 096c442727774ebd99b66b131e42786f +msgid "Create a wheel in `dist/`." +msgstr "`dist/` 에 휠을 생성합니다." + +#: ../../pyodide.rst:40 47aca590fd0649b99cc760c1fbb7029d +msgid "" +"For more information, see the comments for functions " +"`build_pyodide_wheel()` and `pyodide_setup()` in `scripts/gh_release.py`." +msgstr "자세한 내용은 `scripts/gh_release.py` 의 함수 `build_pyodide_wheel()` 및 `pyodide_setup()` 에 대한 주석을 참조하세요." + +#: ../../pyodide.rst:45 c4fc80be31774fb2b23cda8d96a10202 +msgid "Using a Pyodide wheel" +msgstr "Pyodide 휠 사용" + +#: ../../pyodide.rst:48 108ac7eb8b964c2cbc563d9761406088 +msgid "" +"Upload the wheel (for example " +"`PyMuPDF/dist/PyMuPDF-1.24.2-cp311-cp311-emscripten_3_1_32_wasm32.whl`) " +"to a webserver which has been configured to allow Cross-origin resource " +"sharing (https://en.wikipedia.org/wiki/Cross-origin_resource_sharing)." +msgstr "휠(예: `PyMuPDF/dist/PyMuPDF-1.24.2-cp311-cp311-emscripten_3_1_32_wasm32.whl`) 을 Cross-origin resource sharing(https://en.wikipedia.org/wiki/Cross-origin_resource_sharing)을 허용하도록 구성된 웹 서버에 업로드합니다." + +#: ../../pyodide.rst:54 14b102796b7a4d779c994b61aa456eb6 +msgid "" +"The wheel can be used in a Pyodide console running in a web browser, or a" +" JupyterLite notebook running in a web browser." +msgstr "휠은 웹 브라우저에서 실행되는 Pyodide 콘솔 또는 웹 브라우저에서 실행되는 JupyterLite 노트북에서 사용할 수 있습니다." + +#: ../../pyodide.rst:57 298d17eab9bf4ac091904aa16a7b051b +msgid "To create a Pyodide console, go to:" +msgstr "Pyodide 콘솔을 만들려면 다음으로 이동하세요:" + +#: ../../pyodide.rst:59 f04d4a5529e5478090c9afdca37eab57 +msgid "https://pyodide.org/en/stable/console.html" +msgstr "https://pyodide.org/en/stable/console.html" + +#: ../../pyodide.rst:61 2ed99e58360846728a2003c28a75ccce +msgid "To create a JupyterLite notebook, go to:" +msgstr "JupyterLite 노트북을 만들려면 다음으로 이동하세요:" + +#: ../../pyodide.rst:63 87c3dae4109c4bf4ab0ea41e5f5decfd +msgid "https://jupyterlite.readthedocs.io/en/latest/_static/lab/index.html" +msgstr "https://jupyterlite.readthedocs.io/en/latest/_static/lab/index.html" + +#: ../../pyodide.rst:66 ae8220ec6a5d45e78e3c2f569bab9574 +msgid "" +"In both these cases, one can use the following code to download the wheel" +" (replace `url` with the URL of the uploaded wheel) and import it::" +msgstr "두 경우 모두 다음 코드를 사용하여 휠을 다운로드(`url` 을 업로드된 휠의 URL로 교체)하고 가져올 수 있습니다::" + +#: ../../pyodide.rst:74 89859ac6e1a347a7b279e57b128fb282 +msgid "" +"Note that `micropip.install()` does not work, because of PyMuPDF's use of" +" shared libraries." +msgstr "|PyMuPDF| 가 공유 라이브러리를 사용하기 때문에 `micropip.install()` 이 작동하지 않습니다." + +#: ../../pyodide.rst:79 4fc797af4a414bd8b824e6adf8ea5e56 +msgid "Loading a PDF document from a URL into PyMuPDF" +msgstr "URL에서 |PyMuPDF| 로 PDF 문서 로드" + +#: ../../pyodide.rst:82 df1f0a64f0ec4ac29b93e91709cbb966 +msgid "" +"Pyodide browser console does not have generic network access, so for " +"example `urllib.request.urlopen(url)` fails. But Pyodide has a built-in " +"`pyodide.http` module that uses javascript internally, which one can use " +"to download into a `bytes` instance, which can be used to create a " +"PyMuPDF `Document` instance::" +msgstr "Pyodide 브라우저 콘솔에는 일반 네트워크 액세스가 없으므로 예를 들어 `urllib.request.urlopen(url)` 이 실패합니다. 하지만 Pyodide에는 내부적으로 javascript를 사용하는 내장 `pyodide.http` 모듈이 있어, 이를 사용하여 `bytes` 인스턴스로 다운로드할 수 있으며, 이를 사용하여 |PyMuPDF| `Document` 인스턴스를 만들 수 있습니다::" + +#: ../../pyodide.rst:93 d9380bc488b14d1b863f1225ee39edfe +msgid "It looks like this only works with `https://`, not `http://`." +msgstr "이것은 `http://` 가 아닌 `https://` 에서만 작동하는 것 같습니다." + +#: ../../footer.rst:46 4640d757601c44b9a9490b7d6bff2214 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/quad.mo b/docs/locales/ko/LC_MESSAGES/quad.mo new file mode 100644 index 000000000..cf563db90 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/quad.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/quad.po b/docs/locales/ko/LC_MESSAGES/quad.po new file mode 100644 index 000000000..b99c01f13 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/quad.po @@ -0,0 +1,369 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 7ec5d7130739408fa2694ff0c2ad75d3 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 5fae259f7fcf42cbb62f1d73baa02e63 +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 0cf03cc6db804a65815e8d1e0054e12a +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" + +#: ../../quad.rst:7 aa798d4be0214b06853be544b0785b84 +msgid "Quad" +msgstr "Quad" + +#: ../../quad.rst:9 664d52df82ff48e2a329b6746b58b2b1 +msgid "" +"Represents a four-sided mathematical shape (also called \"quadrilateral\"" +" or \"tetragon\") in the plane, defined as a sequence of four " +":ref:`Point` objects ul, ur, ll, lr (conveniently called upper left, " +"upper right, lower left, lower right)." +msgstr "평면상의 사각형(또는 \"사변형\" 또는 \"사각형\"이라고도 함)을 나타내며, ul, ur, ll, lr(편의상 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래라고 함)의 4개의 :ref:`Point` 객체 시퀀스로 정의됩니다." + +#: ../../quad.rst:11 08d263b5866442108b7f33e20416a234 +msgid "" +"Quads can **be obtained** as results of text search methods " +"(:meth:`Page.search_for`), and they **are used** to define text marker " +"annotations (see e.g. :meth:`Page.add_squiggly_annot` and friends), and " +"in several draw methods (like :meth:`Page.draw_quad` / " +":meth:`Shape.draw_quad`, :meth:`Page.draw_oval`/ " +":meth:`Shape.draw_quad`)." +msgstr "Quad는 텍스트 검색 메서드(:meth:`Page.search_for`)의 결과로 **얻을 수 있으며**, 텍스트 마커 주석을 정의하는 데 **사용됩니다** (예: :meth:`Page.add_squiggly_annot` 및 관련 메서드 참조). 또한 여러 그리기 메서드(예: :meth:`Page.draw_quad` / :meth:`Shape.draw_quad`, :meth:`Page.draw_oval` / :meth:`Shape.draw_quad`)에서 사용됩니다." + +#: ../../quad.rst:15 30cb7b59b1ae4a5ea08731a41542f6bb +msgid "" +"If the corners of a rectangle are transformed with a **rotation**, " +"**scale** or **translation** :ref:`Matrix`, then the resulting quad is " +"**rectangular** (= congruent to a rectangle), i.e. all of its corners " +"again enclose angles of 90 degrees. Property :attr:`Quad.is_rectangular` " +"checks whether a quad can be thought of being the result of such an " +"operation." +msgstr "사각형의 모서리가 **회전**, **확대/축소** 또는 **이동** :ref:`Matrix` 로 변환되면 결과 quad는 **직사각형** (= 사각형과 합동)입니다. 즉, 모든 모서리가 다시 90도 각도를 이룹니다. 속성 :attr:`Quad.is_rectangular` 는 quad가 이러한 작업의 결과로 간주될 수 있는지 확인합니다." + +#: ../../quad.rst:17 3be08077e5cf46e193ba24399731c728 +msgid "" +"This is not true for all matrices: e.g. shear matrices produce " +"parallelograms, and non-invertible matrices deliver \"degenerate\" " +"tetragons like triangles or lines." +msgstr "이것은 모든 행렬에 대해 참이 아닙니다: 예를 들어, 기울이기 행렬은 평행사변형을 생성하고, 역행렬이 없는 행렬은 삼각형이나 선과 같은 \"퇴화된\" 사각형을 제공합니다." + +#: ../../quad.rst:19 223f177e5a564f43be092c227d86b112 +msgid "" +"Attribute :attr:`Quad.rect` obtains the enveloping rectangle. Vice versa," +" rectangles now have attributes :attr:`Rect.quad`, resp. " +":attr:`IRect.quad` to obtain their respective tetragon versions." +msgstr "속성 :attr:`Quad.rect` 는 둘러싸는 사각형을 얻습니다. 반대로, 사각형은 이제 속성 :attr:`Rect.quad`, 각각 :attr:`IRect.quad` 를 가지고 있어 각각의 사각형 버전을 얻을 수 있습니다." + +#: ../../quad.rst:23 3934fff4cce44ebfac69ca1f1e02500e +msgid "**Methods / Attributes**" +msgstr "**메서드 / 속성**" + +#: ../../quad.rst:23 cdb016a40be44d93a40ab88520ffa8b3 +msgid "**Short Description**" +msgstr "**간단한 설명**" + +#: ../../quad.rst:25 791c2e6dfad84f60a324d45c361eb49f +msgid ":meth:`Quad.transform`" +msgstr ":meth:`Quad.transform`" + +#: ../../quad.rst:25 b4219d71eccb4873b81cc4d2cbcb6cbb +msgid "transform with a matrix" +msgstr "행렬로 변환" + +#: ../../quad.rst:26 adeda9365d014af99747c1b84d16d245 +msgid ":meth:`Quad.morph`" +msgstr ":meth:`Quad.morph`" + +#: ../../quad.rst:26 fcecfd74d9564866958a61afa427072d +msgid "transform with a point and matrix" +msgstr "점과 행렬로 변환" + +#: ../../quad.rst:27 939ee16703a748c1b7562657da6cc054 +msgid ":attr:`Quad.ul`" +msgstr ":attr:`Quad.ul`" + +#: ../../quad.rst:27 e89af93b74ba463e80523ab573be725d +msgid "upper left point" +msgstr "왼쪽 위 점" + +#: ../../quad.rst:28 cab5b3be90554379aae89e7da8ea19e5 +msgid ":attr:`Quad.ur`" +msgstr ":attr:`Quad.ur`" + +#: ../../quad.rst:28 5f2493216d724836b99e69bb3f2c6ffd +msgid "upper right point" +msgstr "오른쪽 위 점" + +#: ../../quad.rst:29 d6e7980c18a64485b0f538f30d29d060 +msgid ":attr:`Quad.ll`" +msgstr ":attr:`Quad.ll`" + +#: ../../quad.rst:29 00ae622c1ee44e99a8dd8ddb76e02b2a +msgid "lower left point" +msgstr "왼쪽 아래 점" + +#: ../../quad.rst:30 39a814307b8d4e799ac5cab34bed4f55 +msgid ":attr:`Quad.lr`" +msgstr ":attr:`Quad.lr`" + +#: ../../quad.rst:30 880af62ca8a04aae96037daa38ab12b2 +msgid "lower right point" +msgstr "오른쪽 아래 점" + +#: ../../quad.rst:31 31a8eb5ee9dd4eaf98509da0c412ccfa +msgid ":attr:`Quad.is_convex`" +msgstr ":attr:`Quad.is_convex`" + +#: ../../quad.rst:31 c28042739b2a4b60ac6c42f30bd29401 +msgid "true if quad is a convex set" +msgstr "quad가 볼록 집합이면 true" + +#: ../../quad.rst:32 37497d0521974f6b87502804c9456f9d +msgid ":attr:`Quad.is_empty`" +msgstr ":attr:`Quad.is_empty`" + +#: ../../quad.rst:32 b051739d6773420e9d1042cf4501fe9e +msgid "true if quad is an empty set" +msgstr "quad가 빈 집합이면 true" + +#: ../../quad.rst:33 c7afddefaf7f4476977d2523faf20cbc +msgid ":attr:`Quad.is_rectangular`" +msgstr ":attr:`Quad.is_rectangular`" + +#: ../../quad.rst:33 df9d56bff733427dbe82f9bab5bba633 +msgid "true if quad is congruent to a rectangle" +msgstr "quad가 사각형과 합동이면 true" + +#: ../../quad.rst:34 bfba7ccca7e84436b2db6a654b9e7208 +msgid ":attr:`Quad.rect`" +msgstr ":attr:`Quad.rect`" + +#: ../../quad.rst:34 bcc943456152458291d460cd5fc66400 +msgid "smallest containing :ref:`Rect`" +msgstr "포함하는 가장 작은 :ref:`Rect`" + +#: ../../quad.rst:35 9d18f5ed25604421a134ad9c5338e2a8 +msgid ":attr:`Quad.width`" +msgstr ":attr:`Quad.width`" + +#: ../../quad.rst:35 3d617c28106542cf93d65cd246bb2ee6 +msgid "the longest width value" +msgstr "가장 긴 너비 값" + +#: ../../quad.rst:36 86896dcc8bb845459987fab77ae2fc7e +msgid ":attr:`Quad.height`" +msgstr ":attr:`Quad.height`" + +#: ../../quad.rst:36 b00633cc845d40ea8282c89246c89ab9 +msgid "the longest height value" +msgstr "가장 긴 높이 값" + +#: ../../quad.rst:39 963eed1326d34022aab68a6721f147e1 +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../quad.rst:51 045248fd98ef41c9a3e88a5e995d0c01 +msgid "" +"Overloaded constructors: \"ul\", \"ur\", \"ll\", \"lr\" stand for " +":data:`point_like` objects (the four corners), \"sequence\" is a Python " +"sequence with four :data:`point_like` objects." +msgstr "오버로드된 생성자: \"ul\", \"ur\", \"ll\", \"lr\"는 :data:`point_like` 객체(4개의 모서리)를 나타내며, \"sequence\"는 4개의 :data:`point_like` 객체를 가진 Python 시퀀스입니다." + +#: ../../quad.rst:53 5af6b11b5ecb4ff19bf862fa90a4a4f2 +msgid "If \"quad\" is specified, the constructor creates a **new copy** of it." +msgstr "\"quad\"가 지정되면 생성자는 그것의 **새 복사본** 을 만듭니다." + +#: ../../quad.rst:55 cea0afbfe7e446829d6109aee4dc330a +msgid "" +"Without parameters, a quad consisting of 4 copies of *Point(0, 0)* is " +"created." +msgstr "매개변수 없이 *Point(0, 0)* 의 4개 복사본으로 구성된 quad가 생성됩니다." + +#: ../../quad.rst:60 4b16d0be6f9a461f93515a13f6ac07ef +msgid "" +"Modify the quadrilateral by transforming each of its corners with a " +"matrix." +msgstr "각 모서리를 행렬로 변환하여 사각형을 수정합니다." + +#: ../../quad.rst 6ad7d5776f2748a380465099b165536d +#: fcc95d04edce488f83cc252a7323652c +msgid "Parameters" +msgstr "매개변수" + +#: ../../quad.rst:62 ../../quad.rst:69 bed48ffd731349bcb867f40fcbaf8a68 +#: fa657693f6094b69ba8adf946f1d9d4d +msgid "the matrix." +msgstr "행렬." + +#: ../../quad.rst:66 d449536aa4364cfa8d454ab5552538de +msgid "" +"*(New in version 1.17.0)* \"Morph\" the quad with a matrix-like using a " +"point-like as fixed point." +msgstr "*(버전 1.17.0에서 새로 추가됨)* 고정점으로 점과 유사한 것을 사용하여 행렬과 유사한 것으로 quad를 \"변형\"합니다." + +#: ../../quad.rst:68 1bc5f7ab62ff46dca6c4085984b1973e +msgid "the point." +msgstr "점." + +#: ../../quad.rst f004f07cfc6543989140c9a712f8318b +msgid "Returns" +msgstr "반환값" + +#: ../../quad.rst:70 2314249ac3bf4d48af9f5d0c9918f092 +msgid "a new quad (no operation if this is the infinite quad)." +msgstr "새 quad(이것이 무한 quad인 경우 작업 없음)." + +#: ../../quad.rst:75 790caa78886e4aa0a8e169a3884a528c +msgid "" +"The smallest rectangle containing the quad, represented by the blue area " +"in the following picture." +msgstr "quad를 포함하는 가장 작은 사각형으로, 다음 그림의 파란색 영역으로 표시됩니다." + +#: ../../quad.rst 23306adcb7c441c6b4a06d25179f70ff +#: 29fcd747f839470f9cd452054f5ad2c6 2f60233b58254ddc83846169e9b77814 +#: 5cb78f927dc040ebb6b41e9dbff03a48 78a7d163966f44928813bdcff435e9bd +#: 9e112f66c76f47ed990ca685b6ccb967 d08887513bee4c03877dc766e67a812e +#: da27d9920c9247c7b07901d41c25a765 e54af6598b2446f9a18abddbfb930bf4 +#: f5aba2a5d1a04f22b723d0c816c0e825 +msgid "type" +msgstr "유형" + +#: ../../quad.rst:79 7cca1627db0a4c789cb2bfbe34594522 +msgid ":ref:`Rect`" +msgstr ":ref:`Rect`" + +#: ../../quad.rst:83 db740f8e958d416fac479f484e53e7f5 +msgid "Upper left point." +msgstr "왼쪽 위 점." + +#: ../../quad.rst:85 ../../quad.rst:91 ../../quad.rst:97 ../../quad.rst:103 +#: 1c8574d31d0343ca90a64a220a722491 325b06978c6644afb11af209b53aef75 +#: 5c193b8c51574a7388be59a99ec9f306 70ea90d3bd5645b8bca7b2e0a066b329 +msgid ":ref:`Point`" +msgstr ":ref:`Point`" + +#: ../../quad.rst:89 21467c9a895c4e438d7cb0faf4be00ce +msgid "Upper right point." +msgstr "오른쪽 위 점." + +#: ../../quad.rst:95 b82ee98f3f134593b40af259336342d3 +msgid "Lower left point." +msgstr "왼쪽 아래 점." + +#: ../../quad.rst:101 da89c966391948d895f518fc03b9f064 +msgid "Lower right point." +msgstr "오른쪽 아래 점." + +#: ../../quad.rst:107 bb5e071792a14d5c9526c8dc57993167 +msgid "New in version 1.16.1" +msgstr "버전 1.16.1에서 새로 추가됨" + +#: ../../quad.rst:109 91bd8cd76c9c4afcbb037ddb9059df47 +msgid "" +"Checks if for any two points of the quad, all points on their connecting " +"line also belong to the quad." +msgstr "quad의 임의의 두 점에 대해, 연결선 위의 모든 점도 quad에 속하는지 확인합니다." + +#: ../../quad.rst:114 ../../quad.rst:120 ../../quad.rst:126 +#: 5ae88b9907fb467f84267387a790a3c5 920999ae2e69406995af71a6dae1e8a6 +#: a538f6fd994649c1a7d2009e3e9276f3 +msgid "bool" +msgstr "bool" + +#: ../../quad.rst:118 c068cc4b85364edea719e7d034e85295 +msgid "" +"True if enclosed area is zero, which means that at least three of the " +"four corners are on the same line. If this is false, the quad may still " +"be degenerate or not look like a tetragon at all (triangles, " +"parallelograms, trapezoids, ...)." +msgstr "둘러싸인 영역이 0이면 True입니다. 이는 4개의 모서리 중 최소 3개가 같은 선상에 있음을 의미합니다. 이것이 false이면 quad는 여전히 퇴화되었거나 사각형처럼 보이지 않을 수 있습니다(삼각형, 평행사변형, 사다리꼴 등)." + +#: ../../quad.rst:124 9f5e063e47c247c890c6956b98921d91 +msgid "" +"True if all corner angles are 90 degrees. This implies that the quad is " +"**convex and not empty**." +msgstr "모든 모서리 각도가 90도이면 True입니다. 이것은 quad가 **볼록하고 비어 있지 않음** 을 의미합니다." + +#: ../../quad.rst:130 71ec407d1b0f4aa4a81edef402aa24df +msgid "The maximum length of the top and the bottom side." +msgstr "위쪽과 아래쪽 변의 최대 길이." + +#: ../../quad.rst:132 ../../quad.rst:138 2ffdd79a0a92446bbaf89d3ea83f1e43 +#: e2e1c5c2ebd0423190583a8ee05f1a84 +msgid "float" +msgstr "float" + +#: ../../quad.rst:136 4c1f38db1cd34add898f6bdf1977db1a +msgid "The maximum length of the left and the right side." +msgstr "왼쪽과 오른쪽 변의 최대 길이." + +#: ../../quad.rst:141 9db22e1b205244fea68bc9fa262c3a44 +msgid "Remark" +msgstr "참고" + +#: ../../quad.rst:142 b1fa23555ac34b80a5bf47ad6ba54cb7 +msgid "" +"This class adheres to the sequence protocol, so components can be dealt " +"with via their indices, too. Also refer to :ref:`SequenceTypes`." +msgstr "이 클래스는 시퀀스 프로토콜을 따르므로 구성 요소는 인덱스를 통해 처리할 수도 있습니다. :ref:`SequenceTypes` 도 참조하세요." + +#: ../../quad.rst:145 cf59f6059ec346a4adf6477b2af26440 +msgid "Algebra and Containment Checks" +msgstr "대수 및 포함 확인" + +#: ../../quad.rst:146 d1da8ae52c66485c81bd76a086dda1ed +msgid "" +"Starting with v1.19.6, quads can be used in algebraic expressions like " +"the other geometry object -- the respective restrictions have been " +"lifted. In particular, all the following combinations of containment " +"checking are now possible:" +msgstr "v1.19.6부터 quad는 다른 기하 객체처럼 대수 표현식에서 사용할 수 있습니다 -- 해당 제한이 해제되었습니다. 특히, 다음 포함 확인 조합이 모두 가능합니다:" + +#: ../../quad.rst:148 de141e1e28bb41bab1a153f2f74dec9c +msgid "`{Point | IRect | Rect | Quad} in {IRect | Rect | Quad}`" +msgstr "`{Point | IRect | Rect | Quad} in {IRect | Rect | Quad}`" + +#: ../../quad.rst:150 7822fe7129d44ee09c76eff91fe1b539 +msgid "Please note the following interesting detail:" +msgstr "다음 흥미로운 세부 사항을 참고하세요:" + +#: ../../quad.rst:152 323318c4e76344b0a9f47f1f586de2c4 +msgid "" +"For a rectangle, only its top-left point belongs to it. Since v1.19.0, " +"rectangles are defined to be \"open\", such that its bottom and its right" +" edge do not belong to it -- including the respective corners. But for " +"quads there exists no such notion like \"openness\", so we have the " +"following somewhat surprising implication:" +msgstr "사각형의 경우, 왼쪽 위 점만 속합니다. v1.19.0부터 사각형은 \"열림\"으로 정의되어 아래쪽과 오른쪽 가장자리는 속하지 않습니다 -- 해당 모서리 포함. 하지만 quad에는 \"열림\"과 같은 개념이 없으므로 다음과 같은 다소 놀라운 함의가 있습니다:" + +#: ../../footer.rst:46 e7b27ac0bf7e4265b14be6be7b5ca967 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/rag.mo b/docs/locales/ko/LC_MESSAGES/rag.mo new file mode 100644 index 000000000..7242e2677 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/rag.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/rag.po b/docs/locales/ko/LC_MESSAGES/rag.po new file mode 100644 index 000000000..89a89b307 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/rag.po @@ -0,0 +1,191 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 9ae2958084504b3cbf245bd73a2ab2b9 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 f48bded6e5a0490fbc182596e6c86f50 +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 c3968fe2fa604ee2a68fdd576c733553 +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" + +#: ../../rag.rst:6 d9c164003dda4429a6f39b4abd473e49 +msgid "PyMuPDF, LLM & RAG" +msgstr "PyMuPDF, LLM 및 RAG" + +#: ../../rag.rst:9 f18a0f62e26e4863b32ba327cc3828fe +msgid "" +"Integrating |PyMuPDF| into your :title:`Large Language Model (LLM)` " +"framework and overall :title:`RAG (Retrieval-Augmented Generation`) " +"solution provides the fastest and most reliable way to deliver document " +"data." +msgstr "|PyMuPDF| 를 :title:`Large Language Model (LLM)` 프레임워크 및 전체 :title:`RAG (Retrieval-Augmented Generation)` 솔루션에 통합하면 문서 데이터를 제공하는 가장 빠르고 신뢰할 수 있는 방법을 제공합니다." + +#: ../../rag.rst:11 6e23dfb312db4517ab86e93891470aed +msgid "" +"There are a few well known :title:`LLM` solutions which have their own " +"interfaces with |PyMuPDF| - it is a fast growing area, so please let us " +"know if you discover any more!" +msgstr "|PyMuPDF| 와 자체 인터페이스를 가진 몇 가지 잘 알려진 :title:`LLM` 솔루션이 있습니다. 빠르게 성장하는 분야이므로 더 발견하시면 알려주세요!" + +#: ../../rag.rst:13 8de65ced808e469d9fac7bd41abaf9cf +msgid "" +"If you need to export to :title:`Markdown` or obtain a " +":title:`LlamaIndex` Document from a file:" +msgstr ":title:`Markdown` 으로 내보내거나 파일에서 :title:`LlamaIndex` 문서를 얻어야 하는 경우:" + +#: ../../rag.rst:31 0e6f773ad0c846eb81ad529f37c724ce +msgid "Integration with :title:`LangChain`" +msgstr ":title:`LangChain` 과의 통합" + +#: ../../rag.rst:33 617c7d9b690c427cb4d5f385dbaea902 +msgid "" +"It is simple to integrate directly with :title:`LangChain` by using their" +" dedicated loader as follows:" +msgstr "다음과 같이 전용 로더를 사용하여 :title:`LangChain` 과 직접 통합하는 것은 간단합니다:" + +#: ../../rag.rst:43 2b8a08a537ff4f0c9d20ccd117cca1c7 +msgid "" +"See `LangChain Using PyMuPDF " +"`_ for full details." +msgstr "자세한 내용은 `LangChain Using PyMuPDF `_ 를 참조하세요." + +#: ../../rag.rst:47 882dd97452644713ade70ec5d297ac45 +msgid "Integration with :title:`LlamaIndex`" +msgstr ":title:`LlamaIndex` 와의 통합" + +#: ../../rag.rst:50 0a3eaf04eb9c4726a40af71757d7454d +msgid "" +"Use the dedicated `PyMuPDFReader` from :title:`LlamaIndex` 🦙 to manage " +"your document loading." +msgstr ":title:`LlamaIndex` 🦙 의 전용 `PyMuPDFReader` 를 사용하여 문서 로딩을 관리하세요." + +#: ../../rag.rst:58 49e6d30976b047949da389fa02a61f6d +msgid "" +"See `Building RAG from Scratch " +"`_" +" for more." +msgstr "자세한 내용은 `Building RAG from Scratch `_ 를 참조하세요." + +#: ../../rag.rst:62 a966faf5a5914f53816c15fa2dc9cf18 +msgid "Preparing Data for Chunking" +msgstr "청킹을 위한 데이터 준비" + +#: ../../rag.rst:64 c943a32cc39448f396304fd518f9a003 +msgid "" +"Chunking (or splitting) data is essential to give context to your " +":title:`LLM` data and with :title:`Markdown` output now supported by " +"|PyMuPDF| this means that `Level 3 chunking " +"`_ is " +"supported." +msgstr "데이터 청킹(또는 분할)은 :title:`LLM` 데이터에 컨텍스트를 제공하는 데 필수적이며, |PyMuPDF| 가 이제 :title:`Markdown` 출력을 지원하므로 `Level 3 chunking `_ 이 지원됨을 의미합니다." + +#: ../../rag.rst:71 c1d64297cf6740508697a6569cd86382 +msgid "Outputting as :title:`Markdown`" +msgstr ":title:`Markdown` 으로 출력" + +#: ../../rag.rst:73 39636d4fa0cf42edb1f1e408555643f2 +msgid "" +"In order to export your document in :title:`Markdown` format you will " +"need a separate helper. Package :doc:`pymupdf4llm/index` is a high-level " +"wrapper of |PyMuPDF| functions which for each page outputs standard and " +"table text in an integrated Markdown-formatted string across all document" +" pages:" +msgstr ":title:`Markdown` 형식으로 문서를 내보내려면 별도의 헬퍼가 필요합니다. 패키지 :doc:`pymupdf4llm/index` 는 |PyMuPDF| 함수의 고수준 래퍼로, 각 페이지에 대해 모든 문서 페이지에 걸쳐 통합된 Markdown 형식 문자열로 표준 텍스트와 테이블 텍스트를 출력합니다:" + +#: ../../rag.rst:87 ab3bd85d9da04f3288b59385ab304c9a +msgid "For further information please refer to: :doc:`pymupdf4llm/index`." +msgstr "자세한 내용은 :doc:`pymupdf4llm/index` 를 참조하세요." + +#: ../../rag.rst:91 0e0368f9987d4fd6989fb56fb6001afd +msgid "How to use :title:`Markdown` output" +msgstr ":title:`Markdown` 출력 사용 방법" + +#: ../../rag.rst:93 7bbbb34419cf4138a90d6f32225fd2c0 +msgid "" +"Once you have your data in :title:`Markdown` format you are ready to " +"chunk/split it and supply it to your :title:`LLM`, for example, if this " +"is :title:`LangChain` then do the following:" +msgstr ":title:`Markdown` 형식의 데이터가 준비되면 청킹/분할하여 :title:`LLM` 에 제공할 준비가 됩니다. 예를 들어, 이것이 :title:`LangChain` 인 경우 다음을 수행하세요:" + +#: ../../rag.rst:109 e0cd08f28f6b4684b8212adaecee1134 +msgid "" +"For more see `5 Levels of Text Splitting `_" +msgstr "자세한 내용은 `5 Levels of Text Splitting `_ 를 참조하세요." + +#: ../../rag.rst:113 59da1458c9df47cf875bc76ea4b09c0f +msgid "Related Blogs" +msgstr "관련 블로그" + +#: ../../rag.rst:115 fc915048dbc24e0fbbb2afab1ec5ea4c +msgid "" +"To find out more about |PyMuPDF|, :title:`LLM` & :title:`RAG` check out " +"our blogs for implementations & tutorials." +msgstr "|PyMuPDF|, :title:`LLM` 및 :title:`RAG` 에 대한 자세한 내용은 구현 및 튜토리얼 블로그를 확인하세요." + +#: ../../rag.rst:119 0122bc55056941f1ab375130d1567c25 +msgid "Methodologies to Extract Text" +msgstr "텍스트 추출 방법론" + +#: ../../rag.rst:121 e7a6690e847f451e86a01250978a6578 +msgid "" +"`Enhanced Text Extraction `_" +msgstr "`Enhanced Text Extraction `_" + +#: ../../rag.rst:122 04321925122b427b86774ef96ad18527 +msgid "" +"`Conversion to Markdown Text with PyMuPDF `_" +msgstr "`Conversion to Markdown Text with PyMuPDF `_" + +#: ../../rag.rst:127 60562c518d964c8090b1290cd59e6a19 +msgid "Create a Chatbot to discuss your documents" +msgstr "문서를 논의하기 위한 챗봇 만들기" + +#: ../../rag.rst:129 20a7402279fa4414b283adebd82344bd +msgid "" +"`Make a simple command line Chatbot `_" +msgstr "`Make a simple command line Chatbot `_" + +#: ../../rag.rst:130 68ea640af63a45c382ba8d71fc1796ca +msgid "" +"`Make a Chatbot GUI `_" +msgstr "`Make a Chatbot GUI `_" + +#: ../../footer.rst:46 e79c14c4775649ff81f129c4ebc2dcb1 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/recipes-annotations.mo b/docs/locales/ko/LC_MESSAGES/recipes-annotations.mo new file mode 100644 index 000000000..c2ba73d9c Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/recipes-annotations.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/recipes-annotations.po b/docs/locales/ko/LC_MESSAGES/recipes-annotations.po new file mode 100644 index 000000000..b77df8184 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/recipes-annotations.po @@ -0,0 +1,123 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 e39981b2c0484073b422a752a1279263 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 a25bcd51270e4dff8f4dd98b5a7d2ea7 +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 ffd0e115b0694217a5c11e90d1c837a8 +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-annotations.rst:7 12ff591c90a64c459b910af4df023591 +msgid "Annotations" +msgstr "주석" + +#: ../../recipes-annotations.rst:12 bc44c8128be246918c791ea26fd73fee +msgid "How to Add and Modify Annotations" +msgstr "주석 추가 및 수정 방법" + +#: ../../recipes-annotations.rst:14 a59a46aeff5e4ef494d91210cfb5db2a +msgid "" +"In |PyMuPDF|, new annotations can be added via :ref:`Page` methods. Once " +"an annotation exists, it can be modified to a large extent using methods " +"of the :ref:`Annot` class." +msgstr "|PyMuPDF| 에서는 :ref:`Page` 메서드를 통해 새로운 주석을 추가할 수 있습니다. 주석이 존재하면 :ref:`Annot` 클래스의 메서드를 사용하여 대부분 수정할 수 있습니다." + +#: ../../recipes-annotations.rst:16 a3c0373aeefa401f92881e510ad0071c +msgid "" +"Annotations can **only** be inserted in |PDF| pages - other document " +"types do not support annotation insertion." +msgstr "주석은 |PDF| 페이지에만 삽입할 수 있습니다. 다른 문서 유형은 주석 삽입을 지원하지 않습니다." + +#: ../../recipes-annotations.rst:18 46c6f65e527d46acadde2b136d169470 +msgid "" +"In contrast to many other tools, initial insert of annotations happens " +"with a minimum number of properties. We leave it to the programmer to " +"e.g. set attributes like author, creation date or subject." +msgstr "다른 많은 도구와 달리, 주석의 초기 삽입은 최소한의 속성으로 수행됩니다. 예를 들어 작성자, 생성 날짜 또는 제목과 같은 속성을 설정하는 것은 프로그래머에게 맡깁니다." + +#: ../../recipes-annotations.rst:20 d729f5e88c444e6c9303c4deddaa0a97 +msgid "" +"As an overview for these capabilities, look at the following script that " +"fills a PDF page with most of the available annotations. Look in the next" +" sections for more special situations:" +msgstr "이러한 기능에 대한 개요로, 사용 가능한 대부분의 주석으로 PDF 페이지를 채우는 다음 스크립트를 참조하세요. 더 특수한 상황에 대해서는 다음 섹션을 참조하세요:" + +#: ../../recipes-annotations.rst:26 b668508bf5a2442aaea6ff355de90c9a +msgid "This script should lead to the following output:" +msgstr "이 스크립트는 다음과 같은 출력을 생성해야 합니다:" + +#: ../../recipes-annotations.rst:36 8a364e58ae174ad9b402e789c6a65d86 +msgid "How to Use FreeText" +msgstr "FreeText 사용 방법" + +#: ../../recipes-annotations.rst:37 0369d14436b04373b454e0cbe29a65b3 +msgid "" +"This script shows a couple of basic ways to deal with 'FreeText' " +"annotations:" +msgstr "이 스크립트는 'FreeText' 주석을 처리하는 몇 가지 기본 방법을 보여줍니다:" + +#: ../../recipes-annotations.rst:41 ../../recipes-annotations.rst:50 +#: 1a21cf6f40874661841ad5000a08a6fb 3ca839e69a444b2db34029d783dc79c4 +msgid "The result looks like this:" +msgstr "결과는 다음과 같습니다:" + +#: ../../recipes-annotations.rst:46 f9f8bbc9486f42ef87d4c3f349be31d1 +msgid "Here is an example for using rich text and call-out lines:" +msgstr "다음은 서식 있는 텍스트와 설명선을 사용하는 예제입니다:" + +#: ../../recipes-annotations.rst:63 cf8c08007d894233a60344bfbafb0253 +msgid "How to Use Ink Annotations" +msgstr "잉크 주석 사용 방법" + +#: ../../recipes-annotations.rst:64 c0d699327401467ca37c7e4396f3235b +msgid "" +"Ink annotations are used to contain freehand scribbling. A typical " +"example may be an image of your signature consisting of first name and " +"last name. Technically an ink annotation is implemented as a **list of " +"lists of points**. Each point list is regarded as a continuous line " +"connecting the points. Different point lists represent independent line " +"segments of the annotation." +msgstr "잉크 주석은 손으로 그린 낙서를 포함하는 데 사용됩니다. 일반적인 예로는 이름과 성으로 구성된 서명 이미지가 있을 수 있습니다. 기술적으로 잉크 주석은 **점 목록의 목록** 으로 구현됩니다. 각 점 목록은 점을 연결하는 연속 선으로 간주됩니다. 서로 다른 점 목록은 주석의 독립적인 선 세그먼트를 나타냅니다." + +#: ../../recipes-annotations.rst:66 9f3baa89959f4c559f8a04c132d4ef39 +msgid "" +"The following script creates an ink annotation with two mathematical " +"curves (sine and cosine function graphs) as line segments:" +msgstr "다음 스크립트는 두 개의 수학 곡선(사인 및 코사인 함수 그래프)을 선 세그먼트로 사용하여 잉크 주석을 생성합니다:" + +#: ../../recipes-annotations.rst:70 3f0535a897bd412ab755434fe5c5677e +msgid "This is the result:" +msgstr "결과는 다음과 같습니다:" + +#: ../../footer.rst:46 921b64bf6be94ffdbd4576b585c70ed6 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/recipes-common-issues-and-their-solutions.mo b/docs/locales/ko/LC_MESSAGES/recipes-common-issues-and-their-solutions.mo new file mode 100644 index 000000000..5d782e5ee Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/recipes-common-issues-and-their-solutions.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/recipes-common-issues-and-their-solutions.po b/docs/locales/ko/LC_MESSAGES/recipes-common-issues-and-their-solutions.po new file mode 100644 index 000000000..6a44ce06f --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/recipes-common-issues-and-their-solutions.po @@ -0,0 +1,350 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 b2d82d593c664654bc418e7afdf9e7b4 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 b78b5807c07e4a528626a4138223e8de +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 5b3592575d784e428d8d959c1aa99173 +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-common-issues-and-their-solutions.rst:7 +#: cee0b81d77af4629884ac5a2a380da5c +msgid "Common Issues and their Solutions" +msgstr "일반적인 문제 및 해결 방법" + +#: ../../recipes-common-issues-and-their-solutions.rst:10 +#: 947c39129d6446e094c38d03760b989a +msgid "How To Dynamically Clean Up Corrupt :title:`PDFs`" +msgstr "손상된 :title:`PDF` 를 동적으로 정리하는 방법" + +#: ../../recipes-common-issues-and-their-solutions.rst:12 +#: 984b7de620ae4755bdc3dd0117a5c862 +msgid "" +"This shows a potential use of |PyMuPDF| with another Python PDF library " +"(the excellent pure Python package `pdfrw " +"`_ is used here as an example)." +msgstr "이것은 다른 Python PDF 라이브러리와 함께 |PyMuPDF| 를 사용하는 잠재적 사용 사례를 보여줍니다(여기서는 우수한 순수 Python 패키지 `pdfrw `_ 를 예제로 사용합니다)." + +#: ../../recipes-common-issues-and-their-solutions.rst:14 +#: efd17fd3443d4f67899e6f4e8c9bf24e +msgid "" +"If a clean, non-corrupt / decompressed PDF is needed, one could " +"dynamically invoke PyMuPDF to recover from many problems like so::" +msgstr "깨끗하고 손상되지 않은/압축 해제된 PDF가 필요한 경우, 다음과 같이 |PyMuPDF| 를 동적으로 호출하여 많은 문제에서 복구할 수 있습니다::" + +#: ../../recipes-common-issues-and-their-solutions.rst:50 +#: 3936184480104b60b59e5f2d35b8ae89 +msgid "" +"With the command line utility *pdftk* (`available " +"`_ for Windows " +"only, but reported to also run under `Wine `_) a" +" similar result can be achieved, see `here " +"`_. " +"However, you must invoke it as a separate process via *subprocess.Popen*," +" using stdin and stdout as communication vehicles." +msgstr "명령줄 유틸리티 *pdftk* (`available `_ 는 Windows 전용이지만 `Wine `_ 에서도 실행된다고 보고됨)를 사용하여 유사한 결과를 얻을 수 있습니다. 자세한 내용은 `here `_ 를 참조하세요. 하지만 stdin과 stdout을 통신 수단으로 사용하여 *subprocess.Popen* 을 통해 별도 프로세스로 호출해야 합니다." + +#: ../../recipes-common-issues-and-their-solutions.rst:55 +#: fe7e596e66ca4a86a1fe34324a9a62b4 +msgid "How to Convert Any Document to |PDF|" +msgstr "모든 문서를 |PDF| 로 변환하는 방법" + +#: ../../recipes-common-issues-and-their-solutions.rst:57 +#: ac5c06eafcda49af9010b5dfe0e339ba +msgid "" +"Here is a script that converts any |PyMuPDF| :ref:`supported " +"document` to a |PDF|. These include XPS, EPUB, FB2," +" CBZ and image formats, including multi-page TIFF images." +msgstr "다음은 |PyMuPDF| 가 :ref:`지원하는 문서` 를 |PDF| 로 변환하는 스크립트입니다. 여기에는 XPS, EPUB, FB2, CBZ 및 다중 페이지 TIFF 이미지를 포함한 이미지 형식이 포함됩니다." + +#: ../../recipes-common-issues-and-their-solutions.rst:59 +#: 256a7ef1c5ab469695bfaa2724670908 +msgid "" +"It features maintaining any metadata, table of contents and links " +"contained in the source document::" +msgstr "소스 문서에 포함된 모든 메타데이터, 목차 및 링크를 유지하는 기능이 있습니다::" + +#: ../../recipes-common-issues-and-their-solutions.rst:131 +#: 5aee482ebb684ec799994f2a82dbfc75 +msgid "Changing Annotations: Unexpected Behaviour" +msgstr "주석 변경: 예상치 못한 동작" + +#: ../../recipes-common-issues-and-their-solutions.rst:134 +#: cc0c26247fea4639ae1751eb8901a600 +msgid "Problem" +msgstr "문제" + +#: ../../recipes-common-issues-and-their-solutions.rst:135 +#: 70437532335143b8b58a1d4c9a8568cb +msgid "There are two scenarios:" +msgstr "두 가지 시나리오가 있습니다:" + +#: ../../recipes-common-issues-and-their-solutions.rst:137 +#: 081715c0d34b4ed6b9e63c8a63a7ac2d +msgid "" +"**Updating** an annotation with PyMuPDF which was created by some other " +"software." +msgstr "다른 소프트웨어로 생성된 주석을 |PyMuPDF| 로 **업데이트** 하는 경우." + +#: ../../recipes-common-issues-and-their-solutions.rst:138 +#: c4827e1b0a8f4af4ad46ecbb0abffa2b +msgid "" +"**Creating** an annotation with PyMuPDF and later changing it with some " +"other software." +msgstr "|PyMuPDF| 로 주석을 **생성** 한 후 다른 소프트웨어로 변경하는 경우." + +#: ../../recipes-common-issues-and-their-solutions.rst:140 +#: 4237e934234748d3abf9e524336a4243 +msgid "" +"In both cases you may experience unintended changes, like a different " +"annotation icon or text font, the fill color or line dashing have " +"disappeared, line end symbols have changed their size or even have " +"disappeared too, etc." +msgstr "두 경우 모두 주석 아이콘이나 텍스트 글꼴이 다르게 표시되거나, 채우기 색상이나 선의 파선이 사라지거나, 선 끝 기호의 크기가 변경되거나 사라지는 등의 의도하지 않은 변경이 발생할 수 있습니다." + +#: ../../recipes-common-issues-and-their-solutions.rst:143 +#: ../../recipes-common-issues-and-their-solutions.rst:182 +#: ../../recipes-common-issues-and-their-solutions.rst:195 +#: 0110a2da1aa6417a956feea6fd30428c 32fb7855910549f2ad7c953701ac3c0e +#: c6624f27d1fa44b2a2f88b1c10495ca9 +msgid "Cause" +msgstr "원인" + +#: ../../recipes-common-issues-and-their-solutions.rst:144 +#: 0c44e7ae5501406d90e73396b2cfde02 +msgid "" +"Annotation maintenance is handled differently by each PDF maintenance " +"application. Some annotation types may not be supported, or not be " +"supported fully or some details may be handled in a different way than in" +" another application. **There is no standard.**" +msgstr "주석 유지 관리는 각 PDF 유지 관리 애플리케이션마다 다르게 처리됩니다. 일부 주석 유형은 지원되지 않거나 완전히 지원되지 않을 수 있으며, 일부 세부 사항은 다른 애플리케이션과 다른 방식으로 처리될 수 있습니다. **표준이 없습니다.**" + +#: ../../recipes-common-issues-and-their-solutions.rst:146 +#: 11bea0e065f94a779ec3d22653833179 +msgid "" +"Almost always a PDF application also comes with its own icons (file " +"attachments, sticky notes and stamps) and its own set of supported text " +"fonts. For example:" +msgstr "거의 항상 PDF 애플리케이션은 자체 아이콘(파일 첨부, 스티커 메모 및 스탬프)과 자체 지원 텍스트 글꼴 세트를 제공합니다. 예를 들어:" + +#: ../../recipes-common-issues-and-their-solutions.rst:148 +#: 54046db1813c480aa6d0dfaafd081e7f +msgid "" +"(Py-) MuPDF only supports these 5 basic fonts for 'FreeText' annotations:" +" Helvetica, Times-Roman, Courier, ZapfDingbats and Symbol -- no italics /" +" no bold variations. When changing a 'FreeText' annotation created by " +"some other app, its font will probably not be recognized nor accepted and" +" be replaced by Helvetica." +msgstr "(Py-) |MuPDF| 는 'FreeText' 주석에 대해 다음 5가지 기본 글꼴만 지원합니다: Helvetica, Times-Roman, Courier, ZapfDingbats 및 Symbol -- 기울임꼴/굵게 변형 없음. 다른 앱으로 생성된 'FreeText' 주석을 변경할 때 해당 글꼴은 인식되지 않거나 허용되지 않을 가능성이 높으며 Helvetica로 대체됩니다." + +#: ../../recipes-common-issues-and-their-solutions.rst:150 +#: 0616819cfbea4e98806d1310924671ec +msgid "" +"PyMuPDF supports all PDF text markers (highlight, underline, strikeout, " +"squiggly), but these types cannot be updated with Adobe Acrobat Reader." +msgstr "|PyMuPDF| 는 모든 PDF 텍스트 마커(강조, 밑줄, 취소선, 물결선)를 지원하지만, 이러한 유형은 Adobe Acrobat Reader로 업데이트할 수 없습니다." + +#: ../../recipes-common-issues-and-their-solutions.rst:152 +#: 7109456d991a465085055b08e8e3e36f +msgid "" +"In most cases there also exists limited support for line dashing which " +"causes existing dashes to be replaced by straight lines. For example:" +msgstr "대부분의 경우 선 파선에 대한 제한적인 지원이 있어 기존 파선이 직선으로 대체됩니다. 예를 들어:" + +#: ../../recipes-common-issues-and-their-solutions.rst:154 +#: 832b05a803034cb2b31a6a163b766c80 +msgid "" +"PyMuPDF fully supports all line dashing forms, while other viewers only " +"accept a limited subset." +msgstr "|PyMuPDF| 는 모든 선 파선 형식을 완전히 지원하지만, 다른 뷰어는 제한된 하위 집합만 허용합니다." + +#: ../../recipes-common-issues-and-their-solutions.rst:158 +#: 608cca13d68e48038902234a11344e7d +msgid "Solutions" +msgstr "해결 방법" + +#: ../../recipes-common-issues-and-their-solutions.rst:159 +#: f22d020f442e4ee9a04d2d148fb2e24a +msgid "Unfortunately there is not much you can do in most of these cases." +msgstr "안타깝게도 대부분의 경우 할 수 있는 일이 많지 않습니다." + +#: ../../recipes-common-issues-and-their-solutions.rst:161 +#: 31e1179fb95e4328b53c8cdba8f45e53 +msgid "Stay with the same software for **creating and changing** an annotation." +msgstr "주석을 **생성하고 변경** 할 때 동일한 소프트웨어를 사용하세요." + +#: ../../recipes-common-issues-and-their-solutions.rst:162 +#: 2c32e4727b8b4bd8ab345f1bb2dab832 +msgid "" +"When using PyMuPDF to change an \"alien\" annotation, try to **avoid** " +":meth:`Annot.update`. The following methods **can be used without it,** " +"so that the original appearance should be maintained:" +msgstr "\"외부\" 주석을 변경할 때 |PyMuPDF| 를 사용하는 경우 :meth:`Annot.update` 를 **피하세요**. 다음 메서드는 **이것 없이 사용할 수 있으며**, 원래 모양이 유지됩니다:" + +#: ../../recipes-common-issues-and-their-solutions.rst:164 +#: 5f2c568a7ab34cd6908429c03002c3b8 +msgid ":meth:`Annot.set_rect` (location changes)" +msgstr ":meth:`Annot.set_rect` (위치 변경)" + +#: ../../recipes-common-issues-and-their-solutions.rst:165 +#: f970043a80bc4905bfbc38378bef6cf7 +msgid ":meth:`Annot.set_flags` (annotation behaviour)" +msgstr ":meth:`Annot.set_flags` (주석 동작)" + +#: ../../recipes-common-issues-and-their-solutions.rst:166 +#: 89d8eeabb0864857bebb1dbd0b5837ac +msgid ":meth:`Annot.set_info` (meta information, except changes to *content*)" +msgstr ":meth:`Annot.set_info` (메타 정보, *content* 변경 제외)" + +#: ../../recipes-common-issues-and-their-solutions.rst:167 +#: 8d145d703a694245bf8816344d618fca +msgid ":meth:`Annot.set_popup` (create popup or change its rect)" +msgstr ":meth:`Annot.set_popup` (팝업 생성 또는 rect 변경)" + +#: ../../recipes-common-issues-and-their-solutions.rst:168 +#: ec8d39e7fcf1408083026bfb2854b761 +msgid "" +":meth:`Annot.set_oc` (add / remove reference to optional content " +"information)" +msgstr ":meth:`Annot.set_oc` (선택적 콘텐츠 정보에 대한 참조 추가/제거)" + +#: ../../recipes-common-issues-and-their-solutions.rst:169 +#: 6b85081690ed4886ba03d08a836e7b4e +msgid ":meth:`Annot.set_open`" +msgstr ":meth:`Annot.set_open`" + +#: ../../recipes-common-issues-and-their-solutions.rst:170 +#: 90e51807c8d44cc1861553f1df436100 +msgid ":meth:`Annot.update_file` (file attachment changes)" +msgstr ":meth:`Annot.update_file` (파일 첨부 변경)" + +#: ../../recipes-common-issues-and-their-solutions.rst:174 +#: dee4c83bcb6a49afb8cd17e74037844d +msgid "Missing or Unreadable Extracted Text" +msgstr "누락되거나 읽을 수 없는 추출된 텍스트" + +#: ../../recipes-common-issues-and-their-solutions.rst:175 +#: c1c8dec56daa4bac965e78b95eb48c58 +msgid "" +"Fairly often, text extraction does not work text as you would expect: " +"text may be missing, or may not appear in the reading sequence visible on" +" your screen, or contain garbled characters (like a ? or a \"TOFU\" " +"symbol), etc. This can be caused by a number of different problems." +msgstr "텍스트 추출이 예상대로 작동하지 않는 경우가 많습니다: 텍스트가 누락되거나 화면에 표시되는 읽기 순서에 나타나지 않거나 문자 깨짐(예: ? 또는 \"TOFU\" 기호)이 포함될 수 있습니다. 이것은 여러 다른 문제로 인해 발생할 수 있습니다." + +#: ../../recipes-common-issues-and-their-solutions.rst:178 +#: 1339e236dda1461f94aa74a5c03ef680 +msgid "Problem: no text is extracted" +msgstr "문제: 텍스트가 추출되지 않음" + +#: ../../recipes-common-issues-and-their-solutions.rst:179 +#: 10f358276c8043138089b5f17c8602a0 +msgid "" +"Your PDF viewer does display text, but you cannot select it with your " +"cursor, and text extraction delivers nothing." +msgstr "PDF 뷰어는 텍스트를 표시하지만 커서로 선택할 수 없고 텍스트 추출 결과가 없습니다." + +#: ../../recipes-common-issues-and-their-solutions.rst:183 +#: f6463d656f7d4526b79aa27ea3adcfd6 +msgid "" +"You may be looking at an image embedded in the PDF page (e.g. a scanned " +"PDF)." +msgstr "PDF 페이지에 포함된 이미지를 보고 있을 수 있습니다(예: 스캔된 PDF)." + +#: ../../recipes-common-issues-and-their-solutions.rst:184 +#: 4bda75cc75a84b058bdf9ae2b455a597 +msgid "" +"The PDF creator used no font, but **simulated** text by painting it, " +"using little lines and curves. E.g. a capital \"D\" could be painted by a" +" line \"|\" and a left-open semi-circle, an \"o\" by an ellipse, and so " +"on." +msgstr "PDF 작성자가 글꼴을 사용하지 않고 작은 선과 곡선을 사용하여 텍스트를 **시뮬레이션** 했습니다. 예를 들어 대문자 \"D\"는 선 \"|\"와 왼쪽 열린 반원으로 그려질 수 있고, \"o\"는 타원으로 그려질 수 있습니다." + +#: ../../recipes-common-issues-and-their-solutions.rst:187 +#: ../../recipes-common-issues-and-their-solutions.rst:200 +#: 4c8ffe1feebe4a46ba615d636a0cf8c7 5ba7c372d3a145a2983fe0d7161d79c0 +msgid "Solution" +msgstr "해결 방법" + +#: ../../recipes-common-issues-and-their-solutions.rst:188 +#: b4995dfcae78413486e26863052e0649 +msgid "" +"Use an OCR software like `OCRmyPDF `_" +" to insert a hidden text layer underneath the visible page. The resulting" +" PDF should behave as expected." +msgstr "`OCRmyPDF `_ 와 같은 OCR 소프트웨어를 사용하여 표시되는 페이지 아래에 숨겨진 텍스트 레이어를 삽입하세요. 결과 PDF는 예상대로 작동해야 합니다." + +#: ../../recipes-common-issues-and-their-solutions.rst:191 +#: 1288979557ce452bb405ebe625a9fe85 +msgid "Problem: unreadable text" +msgstr "문제: 읽을 수 없는 텍스트" + +#: ../../recipes-common-issues-and-their-solutions.rst:192 +#: b9738107688a468fb12503d2923c9223 +msgid "" +"Text extraction does not deliver the text in readable order, duplicates " +"some text, or is otherwise garbled." +msgstr "텍스트 추출이 읽을 수 있는 순서로 텍스트를 제공하지 않거나, 일부 텍스트가 중복되거나, 그렇지 않으면 문자 깨짐이 발생합니다." + +#: ../../recipes-common-issues-and-their-solutions.rst:196 +#: 1287dd9e37d94aae87d08382d28337b0 +msgid "" +"The single characters are readable as such (no \"\" symbols), but the " +"sequence in which the text is **coded in the file** deviates from the " +"reading order. The motivation behind may be technical or protection of " +"data against unwanted copies." +msgstr "개별 문자는 읽을 수 있지만( \"\" 기호 없음), 텍스트가 **파일에 인코딩된** 순서가 읽기 순서와 다릅니다. 그 배경에는 기술적 이유나 원치 않는 복사로부터 데이터를 보호하려는 의도가 있을 수 있습니다." + +#: ../../recipes-common-issues-and-their-solutions.rst:197 +#: f63ebf6449ee40bdaa62ce0cbe979f7b +msgid "" +"Many \"\" symbols occur, indicating MuPDF could not interpret these " +"characters. The font may indeed be unsupported by MuPDF, or the PDF " +"creator may haved used a font that displays readable text, but on purpose" +" obfuscates the originating corresponding unicode character." +msgstr "많은 \"\" 기호가 발생하여 |MuPDF| 가 이러한 문자를 해석할 수 없음을 나타냅니다. 글꼴이 실제로 |MuPDF| 에서 지원되지 않을 수 있거나, PDF 작성자가 읽을 수 있는 텍스트를 표시하지만 의도적으로 원본 해당 유니코드 문자를 난독화하는 글꼴을 사용했을 수 있습니다." + +#: ../../recipes-common-issues-and-their-solutions.rst:201 +#: 70176f300c204737999ad6e71bb79baa +msgid "Use layout preserving text extraction: `python -m fitz gettext file.pdf`." +msgstr "레이아웃을 유지하는 텍스트 추출을 사용하세요: `python -m fitz gettext file.pdf`." + +#: ../../recipes-common-issues-and-their-solutions.rst:202 +#: 4b4ceb3c473b47a9b06e9bb658885b14 +msgid "" +"If other text extraction tools also don't work, then the only solution " +"again is OCRing the page." +msgstr "다른 텍스트 추출 도구도 작동하지 않으면, 다시 유일한 해결책은 페이지를 OCR 처리하는 것입니다." + +#: ../../footer.rst:46 07c9714719d541aeb1f5ae9b443f8e23 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/recipes-drawing-and-graphics.mo b/docs/locales/ko/LC_MESSAGES/recipes-drawing-and-graphics.mo new file mode 100644 index 000000000..522780b6d Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/recipes-drawing-and-graphics.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/recipes-drawing-and-graphics.po b/docs/locales/ko/LC_MESSAGES/recipes-drawing-and-graphics.po new file mode 100644 index 000000000..66209affd --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/recipes-drawing-and-graphics.po @@ -0,0 +1,238 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 a59582325d1e4587841306a803482970 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 90e5418f2a4041ddb379751a155076c1 +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 cbdc25861a8d484890d2227e3494b661 +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-drawing-and-graphics.rst:7 dab2a6c85f334d099e76c1c25fc379f3 +msgid "Drawing and Graphics" +msgstr "그리기 및 그래픽" + +#: ../../recipes-drawing-and-graphics.rst:11 a70f821282c64602b5f57347f8a0bae4 +msgid "" +"When the terms \"Drawings\" or \"Graphics\" are mentioned here we are " +"referring to \"Vector Graphics\" or \"Line Art\"." +msgstr "여기서 \"Drawings\" 또는 \"Graphics\"라는 용어가 언급될 때는 \"벡터 그래픽\" 또는 \"선화\"를 의미합니다." + +#: ../../recipes-drawing-and-graphics.rst:13 93510784237c4c4b885dc832f8aaeb1f +msgid "Therefore please consider these terms as being synonymous!" +msgstr "따라서 이러한 용어를 동의어로 간주하세요!" + +#: ../../recipes-drawing-and-graphics.rst:16 df755690b5be464ab98f1f6014fc5132 +msgid "" +"PDF files support elementary drawing operations as part of their syntax. " +"These are **vector graphics** and include basic geometrical objects like " +"lines, curves, circles, rectangles including specifying colors." +msgstr "PDF 파일은 구문의 일부로 기본 그리기 작업을 지원합니다. 이것들은 **벡터 그래픽** 이며 선, 곡선, 원, 사각형과 같은 기본 기하학적 객체를 포함하며 색상 지정도 포함합니다." + +#: ../../recipes-drawing-and-graphics.rst:18 a7dfbdbdeeb54c68afa0bbf219b2f3ba +msgid "" +"The syntax for such operations is defined in \"A Operator Summary\" on " +"page 643 of the :ref:`AdobeManual`. Specifying these operators for a PDF " +"page happens in its :data:`contents` objects." +msgstr "이러한 작업의 구문은 :ref:`AdobeManual` 의 643페이지의 \"A Operator Summary\"에 정의되어 있습니다. PDF 페이지에 대한 이러한 연산자 지정은 해당 :data:`contents` 객체에서 수행됩니다." + +#: ../../recipes-drawing-and-graphics.rst:20 463f264141f64e68b6fbe2cd2f02fbbb +msgid "" +"|PyMuPDF| implements a large part of the available features via its " +":ref:`Shape` class, which is comparable to notions like \"canvas\" in " +"other packages (e.g. `reportlab `_)." +msgstr "|PyMuPDF| 는 :ref:`Shape` 클래스를 통해 사용 가능한 기능의 대부분을 구현하며, 이는 다른 패키지(예: `reportlab `_)의 \"canvas\"와 같은 개념과 유사합니다." + +#: ../../recipes-drawing-and-graphics.rst:22 d166a046958a49a8a28311049458c79a +msgid "" +"A shape is always created as a **child of a page**, usually with an " +"instruction like `shape = page.new_shape()`. The class defines numerous " +"methods that perform drawing operations on the page's area. For example, " +"`last_point = shape.draw_rect(rect)` draws a rectangle along the borders " +"of a suitably defined `rect = pymupdf.Rect(...)`." +msgstr "Shape는 항상 **페이지의 자식** 으로 생성되며, 일반적으로 `shape = page.new_shape()` 와 같은 명령으로 생성됩니다. 이 클래스는 페이지 영역에서 그리기 작업을 수행하는 여러 메서드를 정의합니다. 예를 들어, `last_point = shape.draw_rect(rect)` 는 적절히 정의된 `rect = pymupdf.Rect(...)` 의 경계를 따라 사각형을 그립니다." + +#: ../../recipes-drawing-and-graphics.rst:24 4b3375c816d64b008ab7d1854be54f7a +msgid "" +"The returned *last_point* **always** is the :ref:`Point` where drawing " +"operation ended (\"last point\"). Every such elementary drawing requires " +"a subsequent :meth:`Shape.finish` to \"close\" it, but there may be " +"multiple drawings which have one common ``finish()`` method." +msgstr "반환된 *last_point* 는 **항상** 그리기 작업이 끝난 :ref:`Point` (\"마지막 점\")입니다. 이러한 모든 기본 그리기는 \"닫기\"를 위해 후속 :meth:`Shape.finish` 가 필요하지만, 하나의 공통 ``finish()`` 메서드를 가진 여러 그리기가 있을 수 있습니다." + +#: ../../recipes-drawing-and-graphics.rst:26 f14edc2fb2be4ab8ba19ffdb3740738d +msgid "" +"In fact, :meth:`Shape.finish` *defines* a group of preceding draw " +"operations to form one -- potentially rather complex -- graphics object. " +"|PyMuPDF| provides several predefined graphics in `shapes_and_symbols.py " +"`_ which demonstrate " +"how this works." +msgstr "실제로 :meth:`Shape.finish` 는 앞선 그리기 작업 그룹을 하나의 잠재적으로 복잡한 그래픽 객체로 형성하도록 *정의* 합니다. |PyMuPDF| 는 이것이 어떻게 작동하는지 보여주는 `shapes_and_symbols.py `_ 에 여러 사전 정의된 그래픽을 제공합니다." + +#: ../../recipes-drawing-and-graphics.rst:28 c9bdfffa82e64c1d8431f654e9925619 +msgid "" +"If you import this script, you can also directly use its graphics as in " +"the following example::" +msgstr "이 스크립트를 가져오면 다음 예제와 같이 그래픽을 직접 사용할 수도 있습니다::" + +#: ../../recipes-drawing-and-graphics.rst:86 e4c7e6930be54525bd756ddc32d931d2 +msgid "This is the script's outcome:" +msgstr "이것은 스크립트의 결과입니다:" + +#: ../../recipes-drawing-and-graphics.rst:97 63f4873345ad4432a9dcf2f213c921ca +msgid "How to Extract Drawings" +msgstr "그리기 추출 방법" + +#: ../../recipes-drawing-and-graphics.rst:99 c269bccda59e4ce1be7bfbb7665979a2 +msgid "New in v1.18.0" +msgstr "v1.18.0의 새로운 기능" + +#: ../../recipes-drawing-and-graphics.rst:101 99437db9d3344f56937dc3ef539d724e +msgid "" +"Drawing commands (**vector graphics**) issued by a page can be extracted " +"as a list of dictionaries. Interestingly, this is possible for :ref:`all " +"supported document types` -- not just PDF: so you " +"can use it for XPS, EPUB and others as well." +msgstr "페이지에서 발행한 그리기 명령(**벡터 그래픽**)은 딕셔너리 목록으로 추출할 수 있습니다. 흥미롭게도 이것은 :ref:`모든 지원 문서 유형` 에 대해 가능합니다. PDF뿐만 아니라 XPS, EPUB 등에도 사용할 수 있습니다." + +#: ../../recipes-drawing-and-graphics.rst:103 9746769ddda943309de190bcae0ff9fe +msgid "" +"Page method, :meth:`Page.get_drawings()` accesses draw commands and " +"converts them into a list of Python dictionaries. Each dictionary -- " +"called a \"path\" -- represents a separate drawing -- it may be simple " +"like a single line, or a complex combination of lines and curves " +"representing one of the shapes of the previous section." +msgstr "페이지 메서드 :meth:`Page.get_drawings()` 는 그리기 명령에 액세스하여 Python 딕셔너리 목록으로 변환합니다. 각 딕셔너리( \"path\" 라고 함)는 별도의 그리기를 나타냅니다. 단일 선과 같이 간단할 수도 있고, 이전 섹션의 모양 중 하나를 나타내는 선과 곡선의 복잡한 조합일 수도 있습니다." + +#: ../../recipes-drawing-and-graphics.rst:105 3a7f618513034c8e9ef3833145ea41c1 +msgid "" +"The *path* dictionary has been designed such that it can easily be used " +"by the :ref:`Shape` class and its methods. Here is an example for a page " +"with one path, that draws a red-bordered yellow circle inside rectangle " +"`Rect(100, 100, 200, 200)`::" +msgstr "*path* 딕셔너리는 :ref:`Shape` 클래스와 그 메서드에서 쉽게 사용할 수 있도록 설계되었습니다. 다음은 하나의 경로를 가진 페이지의 예로, `Rect(100, 100, 200, 200)` 내부에 빨간색 테두리의 노란색 원을 그립니다::" + +#: ../../recipes-drawing-and-graphics.rst:140 0de0ff2bcd1b4aa4bc87691ca4f375c5 +msgid "" +"You need (at least) 4 Bézier curves (of 3rd order) to draw a circle with " +"acceptable precision. See this `Wikipedia article " +"`_ for some background." +msgstr "허용 가능한 정밀도로 원을 그리려면 (최소한) 4개의 3차 베지어 곡선이 필요합니다. 배경 정보는 이 `Wikipedia article `_ 를 참조하세요." + +#: ../../recipes-drawing-and-graphics.rst:143 b621ef3cc79448109301a7679857a685 +msgid "" +"The following is a code snippet which extracts the drawings of a page and" +" re-draws them on a new page::" +msgstr "다음은 페이지의 그리기를 추출하여 새 페이지에 다시 그리는 코드 스니펫입니다::" + +#: ../../recipes-drawing-and-graphics.rst:194 f4c89adbb0a8490d8e03b50a712dcc58 +msgid "" +"As can be seen, there is a high congruence level with the :ref:`Shape` " +"class. With one exception: For technical reasons `lineCap` is a tuple of " +"3 numbers here, whereas it is an integer in :ref:`Shape` (and in PDF). So" +" we simply take the maximum value of that tuple." +msgstr "보시다시피, :ref:`Shape` 클래스와 높은 일치 수준이 있습니다. 한 가지 예외가 있습니다. 기술적 이유로 여기서는 `lineCap` 이 3개의 숫자 튜플이지만, :ref:`Shape` (및 PDF)에서는 정수입니다. 따라서 해당 튜플의 최대값을 사용합니다." + +#: ../../recipes-drawing-and-graphics.rst:196 782e233251fb459883d5a1434c5a2365 +msgid "" +"Here is a comparison between input and output of an example page, created" +" by the previous script:" +msgstr "다음은 이전 스크립트로 생성된 예제 페이지의 입력과 출력 비교입니다:" + +#: ../../recipes-drawing-and-graphics.rst:201 ceca22c756464670adafb8f59a266f9f +msgid "" +"The reconstruction of graphics, like shown here, is not perfect. The " +"following aspects will not be reproduced as of this version:" +msgstr "여기에 표시된 것과 같은 그래픽 재구성은 완벽하지 않습니다. 다음 측면은 이 버전에서 재현되지 않습니다:" + +#: ../../recipes-drawing-and-graphics.rst:203 4859b04375644a9da37b4c2c286032e9 +msgid "" +"Page definitions can be complex and include instructions for not showing " +"/ hiding certain areas to keep them invisible. Things like this are " +"ignored by :meth:`Page.get_drawings` - it will always return all paths." +msgstr "페이지 정의는 복잡할 수 있으며 특정 영역을 보이지 않게 유지하기 위해 표시하지 않거나 숨기는 지시를 포함할 수 있습니다. 이러한 사항은 :meth:`Page.get_drawings` 에 의해 무시됩니다. 항상 모든 경로를 반환합니다." + +#: ../../recipes-drawing-and-graphics.rst:205 0823be3f9f0b4512b042dd4c974406ca +msgid "" +"You can use the path list to make your own lists of e.g. all lines or all" +" rectangles on the page and subselect them by criteria, like color or " +"position on the page etc." +msgstr "경로 목록을 사용하여 예를 들어 페이지의 모든 선 또는 모든 사각형 목록을 만들고 색상이나 페이지의 위치 등의 기준으로 하위 선택할 수 있습니다." + +#: ../../recipes-drawing-and-graphics.rst:210 882f949ade2d4b528fbe0a18f15aa51e +msgid "How to Delete Drawings" +msgstr "그리기 삭제 방법" + +#: ../../recipes-drawing-and-graphics.rst:212 d9a69d70bb29499381afbb9347fa3ec5 +msgid "" +"To delete drawings/vector graphics we must use a :ref:`Redaction " +"Annotation ` with the bounding box of the drawing " +"and then **add and apply** a redaction to it to delete it." +msgstr "그리기/벡터 그래픽을 삭제하려면 그리기의 경계 상자를 사용하여 :ref:`Redaction Annotation ` 을 사용한 다음 **추가하고 적용** 하여 삭제해야 합니다." + +#: ../../recipes-drawing-and-graphics.rst:215 486d33c08c624da1ba4d3f8b61cf54e2 +msgid "" +"The following code shows an example of deleting the first drawing found " +"on the page::" +msgstr "다음 코드는 페이지에서 찾은 첫 번째 그리기를 삭제하는 예제를 보여줍니다::" + +#: ../../recipes-drawing-and-graphics.rst:225 74954d428a74469bae0a628b09803ec9 +msgid "" +"See :meth:`Page.apply_redactions` for the parameter options which can be " +"sent - you are able to apply deletion options to image, drawing and text " +"objects which are bound by the annotation area." +msgstr "전송할 수 있는 매개변수 옵션은 :meth:`Page.apply_redactions` 를 참조하세요. 주석 영역에 의해 경계가 지정된 이미지, 그리기 및 텍스트 객체에 삭제 옵션을 적용할 수 있습니다." + +#: ../../recipes-drawing-and-graphics.rst:229 0e3b851a469b4f34b686a303776ff667 +msgid "How to Draw Graphics" +msgstr "그래픽 그리기 방법" + +#: ../../recipes-drawing-and-graphics.rst:231 903bdff31610401eba4df3faa0747295 +msgid "" +"Drawing graphics is as simple as calling the type of :meth:`Drawing " +"Method ` you may want. You can draw graphics directly on " +"pages or within shape objects." +msgstr "그래픽을 그리는 것은 원하는 :meth:`Drawing Method ` 유형을 호출하는 것만큼 간단합니다. 페이지에 직접 또는 shape 객체 내에서 그래픽을 그릴 수 있습니다." + +#: ../../recipes-drawing-and-graphics.rst:234 c8c7da7541804af39da538bd86a48706 +msgid "For example, to draw a circle::" +msgstr "예를 들어, 원을 그리려면::" + +#: ../../recipes-drawing-and-graphics.rst:245 a58742fee8a64d88a569cc24aa989eac +msgid "" +"The :ref:`Shape` object can be used to combine multiple drawings that " +"should receive common properties as specified by :meth:`Shape.finish`." +msgstr ":ref:`Shape` 객체는 :meth:`Shape.finish` 에서 지정한 공통 속성을 받아야 하는 여러 그리기를 결합하는 데 사용할 수 있습니다." + +#: ../../footer.rst:46 b08a651f11954075811284b1a70b5a8c +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/recipes-images.mo b/docs/locales/ko/LC_MESSAGES/recipes-images.mo new file mode 100644 index 000000000..ae8f1bc4d Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/recipes-images.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/recipes-images.po b/docs/locales/ko/LC_MESSAGES/recipes-images.po new file mode 100644 index 000000000..0bf4a2bc8 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/recipes-images.po @@ -0,0 +1,1090 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 a5170acfd12b43adbefd8dfbe853d226 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 cb2bde859c1349828bd247664168fdad +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 becd9c25862646c28f77d71822cc2c8b +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-images.rst:7 4710064fae7342178423b005970103b5 +msgid "Images" +msgstr "Images" + +#: ../../recipes-images.rst:14 4e4cf4f2971d49878a83873ab5b972f7 +msgid "How to Make Images from Document Pages" +msgstr "문서 페이지에서 이미지 만들기" + +#: ../../recipes-images.rst:16 e9a6e38305b94ba1b80f9f8c8e22ffd0 +msgid "" +"This little script will take a document filename and generate a PNG file " +"from each of its pages." +msgstr "이 작은 스크립트는 문서 파일 이름을 받아 각 페이지에서 PNG 파일을 생성합니다." + +#: ../../recipes-images.rst:18 308acb4260244cb889d8b5e5e696bc88 +msgid "The document can be any :ref:`supported type`." +msgstr "문서는 :ref:`지원되는 모든 타입` 일 수 있습니다." + +#: ../../recipes-images.rst:20 a3082189c02c48da807760245885aa8a +msgid "" +"The script works as a command line tool which expects the filename being " +"supplied as a parameter. The generated image files (1 per page) are " +"stored in the directory of the script::" +msgstr "스크립트는 매개변수로 제공된 파일 이름을 기대하는 명령줄 도구로 작동합니다. 생성된 이미지 파일(페이지당 1개)은 스크립트 디렉토리에 저장됩니다::" + +#: ../../recipes-images.rst:29 b7e5e6dd24f045f4a09c4f91b7d4fea8 +msgid "" +"The script directory will now contain PNG image files named *page-0.png*," +" *page-1.png*, etc. Pictures have the dimension of their pages with width" +" and height rounded to integers, e.g. 595 x 842 pixels for an A4 portrait" +" sized page. They will have a resolution of 96 dpi in x and y dimension " +"and have no transparency. You can change all that -- for how to do this, " +"read the next sections." +msgstr "스크립트 디렉토리에는 이제 *page-0.png*, *page-1.png* 등의 PNG 이미지 파일이 포함됩니다. 그림은 페이지의 크기를 가지며 너비와 높이는 정수로 반올림됩니다. 예를 들어 A4 세로 크기 페이지의 경우 595 x 842 픽셀입니다. x 및 y 차원에서 96 dpi의 해상도를 가지며 투명도가 없습니다. 모든 것을 변경할 수 있습니다 -- 방법은 다음 섹션을 참조하세요." + +#: ../../recipes-images.rst:37 a572d7ea36d948ea96eded0ff8001773 +msgid "How to Increase :index:`Image Resolution `" +msgstr ":index:`이미지 해상도 ` 높이는 방법" + +#: ../../recipes-images.rst:39 11a284ffaf7742f6a03127e4d1240761 +msgid "" +"The image of a document page is represented by a :ref:`Pixmap`, and the " +"simplest way to create a pixmap is via method :meth:`Page.get_pixmap`." +msgstr "문서 페이지의 이미지는 :ref:`Pixmap` 으로 표현되며, 픽스맵을 생성하는 가장 간단한 방법은 :meth:`Page.get_pixmap` 메서드를 사용하는 것입니다." + +#: ../../recipes-images.rst:41 feae2612c8c0499e90d765be25a00eac +msgid "" +"This method has many options to influence the result. The most important " +"among them is the :ref:`Matrix`, which lets you :index:`zoom`, rotate, " +"distort or mirror the outcome." +msgstr "이 메서드는 결과에 영향을 주는 많은 옵션이 있습니다. 그 중 가장 중요한 것은 :index:`확대`, 회전, 왜곡 또는 미러링을 가능하게 하는 :ref:`Matrix` 입니다." + +#: ../../recipes-images.rst:43 b12ee8c226f44cbaaa494b318449f822 +msgid "" +":meth:`Page.get_pixmap` by default will use the :ref:`Identity` matrix, " +"which does nothing." +msgstr ":meth:`Page.get_pixmap` 은 기본적으로 아무것도 하지 않는 :ref:`Identity` 행렬을 사용합니다." + +#: ../../recipes-images.rst:45 1b9e0cde360b4b86b79e4a5560753ac9 +msgid "" +"In the following, we apply a :index:`zoom factor `" +" of 2 to each dimension, which will generate an image with a four times " +"better resolution for us (and also about 4 times the size)::" +msgstr "다음에서는 각 차원에 :index:`확대 배율 ` 2를 적용하여 4배 더 나은 해상도의 이미지를 생성합니다(크기도 약 4배)::" + +#: ../../recipes-images.rst:53 4b841620223b468290813f2c76bf2f57 +msgid "" +"Since version 1.19.2 there is a more direct way to set the resolution: " +"Parameter `\"dpi\"` (dots per inch) can be used in place of `\"matrix\"`." +" To create a 300 dpi image of a page specify `pix = " +"page.get_pixmap(dpi=300)`. Apart from notation brevity, this approach has" +" the additional advantage that the **dpi value is saved with the image** " +"file -- which does not happen automatically when using the Matrix " +"notation." +msgstr "" +"버전 1.19.2부터 해상도를 설정하는 더 직접적인 방법이 있습니다: `\"dpi\"` (인치당 도트 수) 매개변수를 " +"`\"matrix\"` 대신 사용할 수 있습니다. 페이지의 300 dpi 이미지를 만들려면 `pix = " +"page.get_pixmap(dpi=300)` 을 지정하세요. 표기법의 간결함 외에도, 이 방법의 추가 장점은 **dpi 값이 이미지 " +"파일과 함께 저장된다는** 것입니다 -- Matrix 표기법을 사용할 때는 자동으로 발생하지 않습니다." + +#: ../../recipes-images.rst:61 31bbb7951f74400fb93921872432755d +msgid "How to Create :index:`Partial Pixmaps` (Clips)" +msgstr ":index:`부분 픽스맵 ` (클립) 생성 방법" + +#: ../../recipes-images.rst:62 fbadb2ef5dbd470f8a7e831854d224d8 +msgid "" +"You do not always need or want the full image of a page. This is the case" +" e.g. when you display the image in a GUI and would like to fill the " +"respective window with a zoomed part of the page." +msgstr "" +"항상 페이지의 전체 이미지가 필요하거나 원하는 것은 아닙니다. 예를 들어 GUI에서 이미지를 표시하고 해당 창을 페이지의 확대된 부분으로 " +"채우고 싶을 때가 그런 경우입니다." + +#: ../../recipes-images.rst:64 85f7bd7eb0b042c0813c26e94f741bf2 +msgid "" +"Let's assume your GUI window has room to display a full document page, " +"but you now want to fill this room with the bottom right quarter of your " +"page, thus using a four times better resolution." +msgstr "" +"GUI 창에 전체 문서 페이지를 표시할 공간이 있다고 가정하지만, 이제 이 공간을 페이지의 오른쪽 아래 사분면으로 채워 4배 더 나은 " +"해상도를 사용하고 싶다고 가정합니다." + +#: ../../recipes-images.rst:66 29dbb31ae3f94b88b955a6b089ae6df5 +msgid "" +"To achieve this, define a rectangle equal to the area you want to appear " +"in the GUI and call it \"clip\". One way of constructing rectangles in " +"PyMuPDF is by providing two diagonally opposite corners, which is what we" +" are doing here." +msgstr "" +"이를 달성하려면 GUI에 표시하려는 영역과 같은 사각형을 정의하고 \"clip\"이라고 부르세요. PyMuPDF에서 사각형을 구성하는 " +"방법 중 하나는 대각선으로 반대편에 있는 두 모서리를 제공하는 것이며, 여기서도 그렇게 합니다." + +#: ../../recipes-images.rst:79 27b90a5d3a3c45eca6798eb33e10e442 +msgid "" +"In the above we construct *clip* by specifying two diagonally opposite " +"points: the middle point *mp* of the page rectangle, and its bottom " +"right, *rect.br*." +msgstr "" +"위에서는 두 개의 대각선 반대편 점을 지정하여 *clip* 을 구성합니다: 페이지 사각형의 중간점 *mp* 와 그 오른쪽 아래 " +"*rect.br* 입니다." + +#: ../../recipes-images.rst:87 bb7f676a34c54b28a8067fefa1aacd1b +msgid "How to Zoom a Clip to a GUI Window" +msgstr "클립을 GUI 창에 맞게 확대하는 방법" + +#: ../../recipes-images.rst:88 3c061aaed37648d081263d96cee3321a +msgid "" +"Please also read the previous section. This time we want to **compute the" +" zoom factor** for a clip, such that its image best fits a given GUI " +"window. This means, that the image's width or height (or both) will equal" +" the window dimension. For the following code snippet you need to provide" +" the WIDTH and HEIGHT of your GUI's window that should receive the page's" +" clip rectangle." +msgstr "" +"이전 섹션도 읽어보세요. 이번에는 클립의 **확대 배율을 계산** 하여 이미지가 주어진 GUI 창에 가장 잘 맞도록 합니다. 즉, " +"이미지의 너비 또는 높이(또는 둘 다)가 창 크기와 같아집니다. 다음 코드 스니펫을 위해서는 페이지의 클립 사각형을 받을 GUI " +"창의 WIDTH와 HEIGHT를 제공해야 합니다." + +#: ../../recipes-images.rst:105 b3a9b91ee3804e7b8c64ed8a2205e309 +msgid "" +"For the other way round, now assume you **have** the zoom factor and need" +" to **compute the fitting clip**." +msgstr "반대로, 이제 **확대 배율이 있고** **맞는 클립을 계산** 해야 한다고 가정합니다." + +#: ../../recipes-images.rst:107 8ecba4f1cc2d4ce6b5472a6b7d1f6778 +msgid "" +"In this case we have `zoom = HEIGHT/clip.height = WIDTH/clip.width`, so " +"we must set `clip.height = HEIGHT/zoom` and, `clip.width = WIDTH/zoom`. " +"Choose the top-left point `tl` of the clip on the page to compute the " +"right pixmap::" +msgstr "" +"이 경우 `zoom = HEIGHT/clip.height = WIDTH/clip.width` 이므로, `clip.height = " +"HEIGHT/zoom` 과 `clip.width = WIDTH/zoom` 을 설정해야 합니다. 올바른 픽스맵을 계산하려면 페이지에서 " +"클립의 왼쪽 위 지점 `tl` 을 선택하세요::" + +#: ../../recipes-images.rst:124 a9179194547c43379baf5fb667307041 +msgid "How to Create or Suppress Annotation Images" +msgstr "주석 이미지 생성 또는 억제 방법" + +#: ../../recipes-images.rst:125 9cc92f685bcf4d2bafef5da546fbac00 +msgid "" +"Normally, the pixmap of a page also shows the page's annotations. " +"Occasionally, this may not be desirable." +msgstr "일반적으로 페이지의 픽스맵은 페이지의 주석도 표시합니다. 때로는 이것이 바람직하지 않을 수 있습니다." + +#: ../../recipes-images.rst:127 1079c45bc5474873945edff781094f65 +msgid "" +"To suppress the annotation images on a rendered page, just specify " +"`annots=False` in :meth:`Page.get_pixmap`." +msgstr "렌더링된 페이지에서 주석 이미지를 억제하려면 :meth:`Page.get_pixmap` 에서 `annots=False` 를 지정하세요." + +#: ../../recipes-images.rst:129 b141c29860864fde93d41fedac0919b0 +msgid "" +"You can also render annotations separately: they have their own " +":meth:`Annot.get_pixmap` method. The resulting pixmap has the same " +"dimensions as the annotation rectangle." +msgstr "" +"주석을 별도로 렌더링할 수도 있습니다: 주석에는 자체 :meth:`Annot.get_pixmap` 메서드가 있습니다. 결과 픽스맵은 주석 " +"사각형과 동일한 크기를 가집니다." + +#: ../../recipes-images.rst:141 5f7013ae1124470a83fa5df727f719d1 +msgid "How to Extract Images: Non-PDF Documents" +msgstr "이미지 추출 방법: 비 PDF 문서" + +#: ../../recipes-images.rst:143 3b4b1649fadc41cea019b924cd517adc +msgid "" +"In contrast to the previous sections, this section deals with " +"**extracting** images **contained** in documents, so they can be " +"displayed as part of one or more pages." +msgstr "" +"이전 섹션과 달리, 이 섹션은 문서에 **포함된** 이미지를 **추출** 하는 것을 다루므로, 하나 이상의 페이지의 일부로 표시할 수 " +"있습니다." + +#: ../../recipes-images.rst:145 cd906454fde6400783d50eb0297c5b39 +msgid "" +"If you want to recreate the original image in file form or as a memory " +"area, you have basically two options:" +msgstr "원본 이미지를 파일 형식 또는 메모리 영역으로 재생성하려면 기본적으로 두 가지 옵션이 있습니다:" + +#: ../../recipes-images.rst:147 dda6ef39b73f40f8b4b566ccb3d6011e +msgid "" +"Convert your document to a PDF, and then use one of the PDF-only " +"extraction methods. This snippet will convert a document to PDF::" +msgstr "문서를 PDF로 변환한 다음 PDF 전용 추출 방법 중 하나를 사용하세요. 이 스니펫은 문서를 PDF로 변환합니다::" + +#: ../../recipes-images.rst:153 d9d2f8dd08d6424f8418f2300c013bcd +msgid "" +"Use :meth:`Page.get_text` with the \"dict\" parameter. This works for all" +" document types. It will extract all text and images shown on the page, " +"formatted as a Python dictionary. Every image will occur in an image " +"block, containing meta information and **the binary image data**. For " +"details of the dictionary's structure, see :ref:`TextPage`. The method " +"works equally well for PDF files. This creates a list of all images shown" +" on a page::" +msgstr "" +"\"dict\" 매개변수와 함께 :meth:`Page.get_text` 를 사용하세요. 이것은 모든 문서 유형에 작동합니다. 페이지에 표시된 " +"모든 텍스트와 이미지를 Python 딕셔너리 형식으로 추출합니다. 각 이미지는 메타 정보와 **바이너리 이미지 데이터** 를 포함하는 이미지 " +"블록에 나타납니다. 딕셔너리 구조의 세부 사항은 :ref:`TextPage` 를 참조하세요. 이 방법은 PDF 파일에도 동일하게 " +"작동합니다. 이것은 페이지에 표시된 모든 이미지의 목록을 생성합니다::" + +#: ../../recipes-images.rst:182 44ce44e54f6a4d52b8fa3e4377314037 +msgid "How to Extract Images: PDF Documents" +msgstr "이미지 추출 방법: PDF 문서" + +#: ../../recipes-images.rst:184 121c432a4e1b4f0da9d62f1686089fe3 +msgid "" +"Like any other \"object\" in a PDF, images are identified by a cross " +"reference number (:data:`xref`, an integer). If you know this number, you" +" have two ways to access the image's data:" +msgstr "" +"PDF의 다른 \"객체\"와 마찬가지로, 이미지는 교차 참조 번호(:data:`xref`, 정수)로 식별됩니다. 이 번호를 알고 있으면 " +"이미지 데이터에 액세스하는 두 가지 방법이 있습니다:" + +#: ../../recipes-images.rst:186 65a8bdab9a754e05bb94c1a31c2dc6c3 +msgid "" +"**Create** a :ref:`Pixmap` of the image with instruction *pix = " +"pymupdf.Pixmap(doc, xref)*. This method is **very** fast (single digit " +"micro-seconds). The pixmap's properties (width, height, ...) will reflect" +" the ones of the image. In this case there is no way to tell which image " +"format the embedded original has." +msgstr "" +"*pix = pymupdf.Pixmap(doc, xref)* 지시로 이미지의 :ref:`Pixmap` 을 **생성** 합니다. 이 방법은 " +"**매우** 빠릅니다(한 자리 마이크로초). 픽스맵의 속성(너비, 높이 등)은 이미지의 속성을 반영합니다. 이 경우 임베드된 원본의 " +"이미지 형식을 알 수 있는 방법이 없습니다." + +#: ../../recipes-images.rst:188 1270aa02e2f747a8a27ef8e3820b2c51 +msgid "" +"**Extract** the image with *img = doc.extract_image(xref)*. This is a " +"dictionary containing the binary image data as *img[\"image\"]*. A number" +" of meta data are also provided -- mostly the same as you would find in " +"the pixmap of the image. The major difference is string *img[\"ext\"]*, " +"which specifies the image format: apart from \"png\", strings like " +"\"jpeg\", \"bmp\", \"tiff\", etc. can also occur. Use this string as the " +"file extension if you want to store to disk. The execution speed of this " +"method should be compared to the combined speed of the statements *pix = " +"pymupdf.Pixmap(doc, xref);pix.tobytes()*. If the embedded image is in PNG" +" format, the speed of :meth:`Document.extract_image` is about the same " +"(and the binary image data are identical). Otherwise, this method is " +"**thousands of times faster**, and the **image data is much smaller**." +msgstr "" +"*img = doc.extract_image(xref)* 로 이미지를 **추출** 합니다. 이것은 *img[\"image\"]* 로 바이너리 " +"이미지 데이터를 포함하는 딕셔너리입니다. 많은 메타데이터도 제공됩니다 -- 대부분 이미지의 픽스맵에서 찾을 수 있는 것과 동일합니다. " +"주요 차이점은 이미지 형식을 지정하는 문자열 *img[\"ext\"]* 입니다: \"png\" 외에도 \"jpeg\", " +"\"bmp\", \"tiff\" 등의 문자열이 나타날 수 있습니다. 디스크에 저장하려면 이 문자열을 파일 확장자로 사용하세요. 이 " +"방법의 실행 속도는 *pix = pymupdf.Pixmap(doc, xref);pix.tobytes()* 문의 결합 속도와 비교해야 합니다. " +"임베드된 이미지가 PNG 형식인 경우, :meth:`Document.extract_image` 의 속도는 거의 동일합니다(바이너리 이미지 " +"데이터도 동일). 그렇지 않으면 이 방법이 **수천 배 더 빠르고**, **이미지 데이터가 훨씬 작습니다**." + +#: ../../recipes-images.rst:190 c7235a839397415b88cc200813afa335 +msgid "" +"The question remains: **\"How do I know those 'xref' numbers of " +"images?\"**. There are two answers to this:" +msgstr "질문은 남아 있습니다: **\"이미지의 'xref' 번호를 어떻게 알 수 있나요?\"**. 이에 대한 두 가지 답변이 있습니다:" + +#: ../../recipes-images.rst:192 24b9f0cac5e8493794473b40e99d6fff +msgid "" +"**\"Inspect the page objects:\"** Loop through the items of " +":meth:`Page.get_images`. It is a list of list, and its items look like " +"*[xref, smask, ...]*, containing the :data:`xref` of an image. This " +":data:`xref` can then be used with one of the above methods. Use this " +"method for **valid (undamaged)** documents. Be wary however, that the " +"same image may be referenced multiple times (by different pages), so you " +"might want to provide a mechanism avoiding multiple extracts." +msgstr "" +"**\"페이지 객체 검사:\"** :meth:`Page.get_images` 의 항목을 반복합니다. 이것은 리스트의 리스트이며, 항목은 " +"*[xref, smask, ...]* 와 같이 보이며 이미지의 :data:`xref` 를 포함합니다. 그런 다음 이 :data:`xref` " +"를 위의 방법 중 하나와 함께 사용할 수 있습니다. **유효한(손상되지 않은)** 문서에 이 방법을 사용하세요. 그러나 동일한 이미지가 " +"여러 번 참조될 수 있으므로(다른 페이지에서) 여러 번 추출을 피하는 메커니즘을 제공하는 것이 좋습니다." + +#: ../../recipes-images.rst:193 90acb0b07ce44df5809cc83032fab4d6 +msgid "" +"**\"No need to know:\"** Loop through the list of **all xrefs** of the " +"document and perform a :meth:`Document.extract_image` for each one. If " +"the returned dictionary is empty, then continue -- this :data:`xref` is " +"no image. Use this method if the PDF is **damaged (unusable pages)**. " +"Note that a PDF often contains \"pseudo-images\" (\"stencil masks\") with" +" the special purpose of defining the transparency of some other image. " +"You may want to provide logic to exclude those from extraction. Also have" +" a look at the next section." +msgstr "" +"**\"알 필요 없음:\"** 문서의 **모든 xref** 목록을 반복하고 각각에 대해 :meth:`Document.extract_image` " +"를 수행합니다. 반환된 딕셔너리가 비어 있으면 계속합니다 -- 이 :data:`xref` 는 이미지가 아닙니다. PDF가 **손상된(사용 " +"불가능한 페이지)** 경우 이 방법을 사용하세요. PDF에는 종종 다른 이미지의 투명도를 정의하는 특수 목적의 \"의사 이미지\"(\"스텐실 " +"마스크\")가 포함되어 있습니다. 추출에서 이를 제외하는 로직을 제공하는 것이 좋습니다. 다음 섹션도 살펴보세요." + +#: ../../recipes-images.rst:195 12c15b841d0c40e5bf38fd3252a5c82f +msgid "" +"For both extraction approaches, there exist ready-to-use general purpose " +"scripts:" +msgstr "두 추출 방법 모두에 대해 즉시 사용 가능한 범용 스크립트가 있습니다:" + +#: ../../recipes-images.rst:197 ae5e3ffd1ec342fdbedcedbd9585539f +msgid "" +"`extract-from-pages.py `_ " +"extracts images page by page:" +msgstr "" +"`extract-from-pages.py `_ 는 페이지별로 이미지를 추출합니다:" + +#: ../../recipes-images.rst:202 116fc9d92a524d5fbef97898d73400ef +msgid "" +"and `extract-from-xref.py `_ " +"extracts images by xref table:" +msgstr "" +"그리고 `extract-from-xref.py `_ 는 xref 테이블로 이미지를 추출합니다:" + +#: ../../recipes-images.rst:213 27941620eff34254b2f1df365e86c504 +msgid "How to Handle Image Masks" +msgstr "이미지 마스크 처리 방법" + +#: ../../recipes-images.rst:214 06e8942247e04ca18cbb0a2e166e63e0 +msgid "" +"Some images in PDFs are accompanied by **image masks**. In their simplest" +" form, masks represent alpha (transparency) bytes stored as separate " +"images. In order to reconstruct the original of an image, which has a " +"mask, it must be \"enriched\" with transparency bytes taken from its " +"mask." +msgstr "" +"PDF의 일부 이미지에는 **이미지 마스크** 가 함께 제공됩니다. 가장 간단한 형태에서 마스크는 별도의 이미지로 저장된 알파(투명도) " +"바이트를 나타냅니다. 마스크가 있는 이미지의 원본을 재구성하려면 마스크에서 가져온 투명도 바이트로 \"보강\"해야 합니다." + +#: ../../recipes-images.rst:216 6956e284f58a455894dad036a8d732f4 +msgid "" +"Whether an image does have such a mask can be recognized in one of two " +"ways in PyMuPDF:" +msgstr "이미지에 그러한 마스크가 있는지는 PyMuPDF에서 두 가지 방법 중 하나로 인식할 수 있습니다:" + +#: ../../recipes-images.rst:218 8f7b0eb999094613b1ec4e9642a0c45a +msgid "" +"An item of :meth:`Document.get_page_images` has the general format " +"`(xref, smask, ...)`, where :data:`xref` is the image's :data:`xref` and " +"*smask*, if positive, then it is the :data:`xref` of a mask." +msgstr "" +":meth:`Document.get_page_images` 의 항목은 일반 형식 `(xref, smask, ...)` 을 가지며, 여기서 " +":data:`xref` 는 이미지의 :data:`xref` 이고 *smask* 가 양수이면 마스크의 :data:`xref` 입니다." + +#: ../../recipes-images.rst:219 76639fa3068e459eb26f660440a3b239 +msgid "" +"The (dictionary) results of :meth:`Document.extract_image` have a key " +"*\"smask\"*, which also contains any mask's :data:`xref` if positive." +msgstr "" +":meth:`Document.extract_image` 의 (딕셔너리) 결과에는 *\"smask\"* 키가 있으며, 양수이면 마스크의 " +":data:`xref` 도 포함합니다." + +#: ../../recipes-images.rst:221 46e1113696e24d6ba6ff91a314912958 +msgid "" +"If *smask == 0* then the image encountered via :data:`xref` can be " +"processed as it is." +msgstr "*smask == 0* 이면 :data:`xref` 를 통해 발견된 이미지는 그대로 처리할 수 있습니다." + +#: ../../recipes-images.rst:223 65ebef4703d447a9b3116690abc567cd +msgid "" +"To recover the original image using PyMuPDF, the procedure depicted as " +"follows must be executed:" +msgstr "PyMuPDF를 사용하여 원본 이미지를 복구하려면 다음에 설명된 절차를 실행해야 합니다:" + +#: ../../recipes-images.rst:232 6a6811e1d3974ca493ec08e4a67eca0f +msgid "" +"Step (1) creates a pixmap of the basic image. Step (2) does the same with" +" the image mask. Step (3) adds an alpha channel and fills it with " +"transparency information." +msgstr "" +"단계 (1)은 기본 이미지의 픽스맵을 생성합니다. 단계 (2)는 이미지 마스크에 대해 동일한 작업을 수행합니다. 단계 (3)는 알파 " +"채널을 추가하고 투명도 정보로 채웁니다." + +#: ../../recipes-images.rst:234 0f019370007b48829a5c384c1d511b38 +msgid "" +"The scripts `extract-from-pages.py `_, " +"and `extract-from-xref.py `_ " +"above also contain this logic." +msgstr "" +"위의 `extract-from-pages.py `_ 및 `extract-from-xref.py " +"`_ 스크립트에도 이 로직이 포함되어 있습니다." + +#: ../../recipes-images.rst:250 e6cc7c95f595417399c8af124895022f +msgid "How to Make one PDF of all your Pictures (or Files)" +msgstr "모든 사진(또는 파일)을 하나의 PDF로 만드는 방법" + +#: ../../recipes-images.rst:251 0e5cc72aa12e4c159cee3caf5b124a72 +msgid "" +"We show here **three scripts** that take a list of (image and other) " +"files and put them all in one PDF." +msgstr "여기서는 (이미지 및 기타) 파일 목록을 받아 모두 하나의 PDF에 넣는 **세 가지 스크립트** 를 보여줍니다." + +#: ../../recipes-images.rst:253 23141b711e854c0fb09b4da836e870c4 +msgid "**Method 1: Inserting Images as Pages**" +msgstr "**방법 1: 이미지를 페이지로 삽입**" + +#: ../../recipes-images.rst:255 6b5ea11f2ac6474da5bc139a540e80fc +msgid "" +"The first one converts each image to a PDF page with the same dimensions." +" The result will be a PDF with one page per image. It will only work for " +":ref:`supported image` file formats::" +msgstr "" +"첫 번째는 각 이미지를 동일한 크기의 PDF 페이지로 변환합니다. 결과는 이미지당 한 페이지의 PDF가 됩니다. " +":ref:`지원되는 이미지` 파일 형식에서만 작동합니다::" + +#: ../../recipes-images.rst:278 5d5f4b70e6ad473b98f0b67b8dd864ee +msgid "" +"This will generate a PDF only marginally larger than the combined " +"pictures' size. Some numbers on performance:" +msgstr "이것은 결합된 그림 크기보다 약간만 큰 PDF를 생성합니다. 성능에 대한 일부 수치:" + +#: ../../recipes-images.rst:280 c29ed63a41334d08bd31d57a51745ab1 +msgid "" +"The above script needed about 1 minute on my machine for 149 pictures " +"with a total size of 514 MB (and about the same resulting PDF size)." +msgstr "위 스크립트는 총 크기가 514 MB인 149개의 그림에 대해 내 컴퓨터에서 약 1분이 걸렸습니다(결과 PDF 크기도 거의 동일)." + +#: ../../recipes-images.rst:285 90edd65fe7324ee6a8c2c256f5dad5b3 +msgid "" +"Look `here `_ for a more " +"complete source code: it offers a directory selection dialog and skips " +"unsupported files and non-file entries." +msgstr "" +"더 완전한 소스 코드는 `여기 `_ 를 참조하세요: 디렉토리 선택 대화 상자를 제공하고 지원되지 않는 파일과 비파일 항목을 건너뜁니다." + +#: ../../recipes-images.rst:287 66dd4d051e7b4d12816c624eee514c5e +msgid "" +"We might have used :meth:`Page.insert_image` instead of " +":meth:`Page.show_pdf_page`, and the result would have been a similar " +"looking file. However, depending on the image type, it may store **images" +" uncompressed**. Therefore, the save option *deflate = True* must be used" +" to achieve a reasonable file size, which hugely increases the runtime " +"for large numbers of images. So this alternative **cannot be " +"recommended** here." +msgstr "" +":meth:`Page.show_pdf_page` 대신 :meth:`Page.insert_image` 를 사용했을 수도 있으며, 결과는 비슷해 보이는 " +"파일이었을 것입니다. 그러나 이미지 유형에 따라 **이미지를 압축하지 않고** 저장할 수 있습니다. 따라서 합리적인 파일 크기를 " +"달성하려면 저장 옵션 *deflate = True* 를 사용해야 하며, 이는 많은 수의 이미지에 대해 실행 시간을 크게 증가시킵니다. " +"따라서 이 대안은 여기서 **권장할 수 없습니다**." + +#: ../../recipes-images.rst:289 31ee78dae4e846c59e2bd4c8213760da +msgid "**Method 2: Embedding Files**" +msgstr "**방법 2: 파일 임베드**" + +#: ../../recipes-images.rst:291 d485e0eb28084b90a6b28a8ee7cef448 +msgid "" +"The second script **embeds** arbitrary files -- not only images. The " +"resulting PDF will have just one (empty) page, required for technical " +"reasons. To later access the embedded files again, you would need a " +"suitable PDF viewer that can display and / or extract embedded files::" +msgstr "" +"두 번째 스크립트는 이미지뿐만 아니라 임의의 파일을 **임베드** 합니다. 결과 PDF는 기술적 이유로 하나의(빈) 페이지만 있습니다. " +"나중에 임베드된 파일에 다시 액세스하려면 임베드된 파일을 표시하고/또는 추출할 수 있는 적절한 PDF 뷰어가 필요합니다::" + +#: ../../recipes-images.rst:316 c94ada8bd9e04598aaf5ab16502b491d +msgid "" +"This is by far the fastest method, and it also produces the smallest " +"possible output file size. The above pictures needed 20 seconds on my " +"machine and yielded a PDF size of 510 MB. Look `here " +"`_ for a more complete source code: it offers a directory" +" selection dialog and skips non-file entries." +msgstr "" +"이것은 지금까지 가장 빠른 방법이며 가능한 가장 작은 출력 파일 크기도 생성합니다. 위의 그림은 내 컴퓨터에서 20초가 걸렸고 " +"510 MB 크기의 PDF를 생성했습니다. 더 완전한 소스 코드는 `여기 " +"`_ " +"를 참조하세요: 디렉토리 선택 대화 상자를 제공하고 비파일 항목을 건너뜁니다." + +#: ../../recipes-images.rst:318 9d6d6606772743a0b3d7948c5256f795 +msgid "**Method 3: Attaching Files**" +msgstr "**방법 3: 파일 첨부**" + +#: ../../recipes-images.rst:320 bcaa4036cb074aa2975925493b912887 +msgid "" +"A third way to achieve this task is **attaching files** via page " +"annotations see `here `_ for the " +"complete source code." +msgstr "" +"이 작업을 달성하는 세 번째 방법은 페이지 주석을 통해 파일을 **첨부** 하는 것입니다. 전체 소스 코드는 `여기 " +"`_ " +"를 참조하세요." + +#: ../../recipes-images.rst:322 436939e68a27496f95bf3ba627243f13 +msgid "" +"This has a similar performance as the previous script and it also " +"produces a similar file size. It will produce PDF pages which show a " +"'FileAttachment' icon for each attached file." +msgstr "" +"이것은 이전 스크립트와 유사한 성능을 가지며 유사한 파일 크기도 생성합니다. 각 첨부 파일에 대해 'FileAttachment' 아이콘을 " +"표시하는 PDF 페이지를 생성합니다." + +#: ../../recipes-images.rst:326 9ea52a5b17d243b5867452d1793d07b7 +msgid "" +"Both, the **embed** and the **attach** methods can be used for " +"**arbitrary files** -- not just images." +msgstr "**임베드** 와 **첨부** 방법 모두 이미지뿐만 아니라 **임의의 파일** 에 사용할 수 있습니다." + +#: ../../recipes-images.rst:328 034f2966cc014086a05a35dc70520940 +msgid "" +"We strongly recommend using the awesome package `PySimpleGUI " +"`_ to display a progress meter for" +" tasks that may run for an extended time span. It's pure Python, uses " +"Tkinter (no additional GUI package) and requires just one more line of " +"code!" +msgstr "" +"장시간 실행될 수 있는 작업에 대해 진행 표시기를 표시하려면 `PySimpleGUI " +"`_ 패키지 사용을 강력히 권장합니다. 순수 Python이며 " +"Tkinter를 사용합니다(추가 GUI 패키지 없음) 그리고 코드 한 줄만 더 필요합니다!" + +#: ../../recipes-images.rst:342 f8cabd46ec6d45f09659866a69d91b45 +msgid "How to Create Vector Images" +msgstr "벡터 이미지 생성 방법" + +#: ../../recipes-images.rst:343 f469c239c3464680bb9794d9b17a101b +msgid "" +"The usual way to create an image from a document page is " +":meth:`Page.get_pixmap`. A pixmap represents a raster image, so you must " +"decide on its quality (i.e. resolution) at creation time. It cannot be " +"changed later." +msgstr "" +"문서 페이지에서 이미지를 만드는 일반적인 방법은 :meth:`Page.get_pixmap` 입니다. 픽스맵은 래스터 이미지를 나타내므로 " +"생성 시 품질(즉, 해상도)을 결정해야 합니다. 나중에 변경할 수 없습니다." + +#: ../../recipes-images.rst:345 39ff1890e34045f0bdaebaf77376c7a6 +msgid "" +"PyMuPDF also offers a way to create a **vector image** of a page in SVG " +"format (scalable vector graphics, defined in XML syntax). SVG images " +"remain precise across zooming levels (of course with the exception of any" +" raster graphic elements embedded therein)." +msgstr "" +"PyMuPDF는 또한 SVG 형식(확장 가능한 벡터 그래픽, XML 구문으로 정의됨)으로 페이지의 **벡터 이미지** 를 만드는 방법을 " +"제공합니다. SVG 이미지는 확대/축소 수준에서 정확성을 유지합니다(물론 그 안에 임베드된 래스터 그래픽 요소는 제외)." + +#: ../../recipes-images.rst:347 9f178ef03b574e8297104f71a80c68ea +msgid "" +"Instruction *svg = page.get_svg_image(matrix=pymupdf.Identity)* delivers " +"a UTF-8 string *svg* which can be stored with extension \".svg\"." +msgstr "" +"지시 *svg = page.get_svg_image(matrix=pymupdf.Identity)* 는 확장자 \".svg\" 로 저장할 수 있는 " +"UTF-8 문자열 *svg* 를 제공합니다." + +#: ../../recipes-images.rst:363 b15d36501a88442697fbeeba5b5bb55f +msgid "How to Convert Images" +msgstr "이미지 변환 방법" + +#: ../../recipes-images.rst:364 9c9044f3d0894de0812ab73694a00aca +msgid "" +"Just as a feature among others, PyMuPDF's image conversion is easy. It " +"may avoid using other graphics packages like PIL/Pillow in many cases." +msgstr "" +"다른 기능과 마찬가지로 PyMuPDF의 이미지 변환은 쉽습니다. 많은 경우 PIL/Pillow와 같은 다른 그래픽 패키지를 사용하지 " +"않아도 될 수 있습니다." + +#: ../../recipes-images.rst:366 f0648a404f50475e9fbc97705bcf53d2 +msgid "Notwithstanding that interfacing with Pillow is almost trivial." +msgstr "그럼에도 불구하고 Pillow와의 인터페이싱은 거의 사소합니다." + +#: ../../recipes-images.rst:369 51147cdb2eb848a59946a784bc3f94a1 +msgid "**Input Formats**" +msgstr "**입력 형식**" + +#: ../../recipes-images.rst:369 6e77d3be370148e2a5bce129911da566 +msgid "**Output Formats**" +msgstr "**출력 형식**" + +#: ../../recipes-images.rst:369 cf281244182e4d06a258fbbb823081c2 +msgid "**Description**" +msgstr "**설명**" + +#: ../../recipes-images.rst:371 530dd206bde5448eb1361b263e3af56b +msgid "BMP" +msgstr "BMP" + +#: ../../recipes-images.rst:371 ../../recipes-images.rst:373 +#: ../../recipes-images.rst:374 ../../recipes-images.rst:375 +#: ../../recipes-images.rst:376 ../../recipes-images.rst:383 +#: ../../recipes-images.rst:384 0a22e6da6c0e4628bcba466b598c7755 +#: 132ea5283e9446b6bef2088214506462 309ee5eed19245778c6c15a0523ba0ec +#: 5ee5770cfadd46c0bc090de19200296e 7002bf7646f84d808f1d5f5e672b0559 +#: a37b99d8b7f547ee9f63392896f7e2d7 c69685da95a6452a83e40f26243b207b +msgid "." +msgstr "" + +#: ../../recipes-images.rst:371 e8fc53116fb14428812ab304c72fcdaf +msgid "Windows Bitmap" +msgstr "Windows Bitmap" + +#: ../../recipes-images.rst:372 03735a46d7ff47c291751487299a3f1e +#: 17c492d6f34d4470b1aa86f58b11ca2e +msgid "JPEG" +msgstr "JPEG" + +#: ../../recipes-images.rst:372 7d1770830b8a487f8c91ea91bd6474eb +msgid "Joint Photographic Experts Group" +msgstr "Joint Photographic Experts Group" + +#: ../../recipes-images.rst:373 23fe9f08f0c74644b077b0cf444d3358 +msgid "JXR" +msgstr "JXR" + +#: ../../recipes-images.rst:373 f548e4952b8b416689c5ce6bc9f95f33 +msgid "JPEG Extended Range" +msgstr "JPEG Extended Range" + +#: ../../recipes-images.rst:374 684a27b7d2874c2b87911e269b40f2d0 +msgid "JPX/JP2" +msgstr "JPX/JP2" + +#: ../../recipes-images.rst:374 14493ac2be944a018bff6dbd8ae2bac5 +msgid "JPEG 2000" +msgstr "JPEG 2000" + +#: ../../recipes-images.rst:375 7e15ddbcb0ae4375b206202c12d586c7 +msgid "GIF" +msgstr "GIF" + +#: ../../recipes-images.rst:375 9978971d8ce4454d86b805ab8d47cfa9 +msgid "Graphics Interchange Format" +msgstr "Graphics Interchange Format" + +#: ../../recipes-images.rst:376 13363ae60931495a837cbc8baf5970fc +msgid "TIFF" +msgstr "TIFF" + +#: ../../recipes-images.rst:376 10d71cf9bb9e453cb0dcdea2659abd95 +msgid "Tagged Image File Format" +msgstr "Tagged Image File Format" + +#: ../../recipes-images.rst:377 05f4cb19c0a34596814f731af32ea876 +#: 7931ab4e2d304558895b4c7ce5c29979 +msgid "PNG" +msgstr "PNG" + +#: ../../recipes-images.rst:377 62b451811d4e476c8ae5dd6d849a54a4 +msgid "Portable Network Graphics" +msgstr "Portable Network Graphics" + +#: ../../recipes-images.rst:378 c1d7da490b554e84a7204e6c99fe37ef +#: f730284031c54916ac361e6304056bcb +msgid "PNM" +msgstr "PNM" + +#: ../../recipes-images.rst:378 561bb44f8a6f4ec6a424777a37eef460 +msgid "Portable Anymap" +msgstr "Portable Anymap" + +#: ../../recipes-images.rst:379 3eb2b8341ba14a0ca14b367fb547e28d +#: 57b7760ff7804df8b3a3d1bad69d6b15 +msgid "PGM" +msgstr "PGM" + +#: ../../recipes-images.rst:379 21eeb4db595f461792110aec2d8ecea9 +msgid "Portable Graymap" +msgstr "Portable Graymap" + +#: ../../recipes-images.rst:380 13aa92582d5d4474abf412bdfe3d0c28 +#: 4c893f1c9fcb4388a360d103c115f4ee +msgid "PBM" +msgstr "PBM" + +#: ../../recipes-images.rst:380 30f2520397de4b9eb325877a3a507bbf +msgid "Portable Bitmap" +msgstr "Portable Bitmap" + +#: ../../recipes-images.rst:381 14f81272a872402b9c2a813dcdf1adbd +#: 958c5a3c6c9f445f8782e01f89dc6eb2 +msgid "PPM" +msgstr "PPM" + +#: ../../recipes-images.rst:381 b047b29cb5924074b6edcc64ac2f21d4 +msgid "Portable Pixmap" +msgstr "Portable Pixmap" + +#: ../../recipes-images.rst:382 8b7545df28fe4e84a4f6e5b4eaa96994 +#: b4a70161776d47b9ae8a64cdf4733492 +msgid "PAM" +msgstr "PAM" + +#: ../../recipes-images.rst:382 99b6482f875c4216be23cd14e3b55579 +msgid "Portable Arbitrary Map" +msgstr "Portable Arbitrary Map" + +#: ../../recipes-images.rst:383 a5f2249d2d1d484f87fad69069bc2941 +msgid "PSD" +msgstr "PSD" + +#: ../../recipes-images.rst:383 5aa71e0042e440b8a2ae7d1232ae1da7 +msgid "Adobe Photoshop Document" +msgstr "Adobe Photoshop Document" + +#: ../../recipes-images.rst:384 9f13c58a08324e2a9a956e0c7481fdb6 +msgid "PS" +msgstr "PS" + +#: ../../recipes-images.rst:384 f7d3f16fd29d4f2e873705fa491cdaab +msgid "Adobe Postscript" +msgstr "Adobe Postscript" + +#: ../../recipes-images.rst:387 47aac2499f2743ea83430c735ea35f6d +msgid "The general scheme is just the following two lines::" +msgstr "일반적인 방식은 다음 두 줄입니다::" + +#: ../../recipes-images.rst:392 b7f3421a215d4d909a51a70302130d37 +msgid "**Remarks**" +msgstr "**비고**" + +#: ../../recipes-images.rst:394 7a47fbda67ec43d7914f6405319663fa +msgid "" +"The **input** argument of *pymupdf.Pixmap(arg)* can be a file or a bytes " +"/ io.BytesIO object containing an image." +msgstr "*pymupdf.Pixmap(arg)* 의 **입력** 인수는 이미지를 포함하는 파일 또는 bytes / io.BytesIO 객체일 수 있습니다." + +#: ../../recipes-images.rst:395 58b740eb05e34db9a556c68fe43e7b90 +msgid "" +"Instead of an output **file**, you can also create a bytes object via " +"*pix.tobytes(\"yyy\")* and pass this around." +msgstr "출력 **파일** 대신 *pix.tobytes(\"yyy\")* 를 통해 bytes 객체를 생성하고 이를 전달할 수도 있습니다." + +#: ../../recipes-images.rst:396 c3b285b2e78146219bd78577d12d121a +msgid "" +"As a matter of course, input and output formats must be compatible in " +"terms of colorspace and transparency. The ``Pixmap`` class has batteries " +"included if adjustments are needed." +msgstr "" +"당연히 입력 및 출력 형식은 색 공간 및 투명도 측면에서 호환되어야 합니다. ``Pixmap`` 클래스는 조정이 필요한 경우 내장 기능을 " +"포함하고 있습니다." + +#: ../../recipes-images.rst:399 e67f10d9438447479868be73be60c969 +msgid "**Convert JPEG to Photoshop**::" +msgstr "**JPEG를 Photoshop으로 변환**::" + +#: ../../recipes-images.rst:405 69af5be5c5e042739b6b881440591067 +msgid "" +"Convert **JPEG to Tkinter PhotoImage**. Any **RGB / no-alpha** image " +"works exactly the same. Conversion to one of the **Portable Anymap** " +"formats (PPM, PGM, etc.) does the trick, because they are supported by " +"all Tkinter versions::" +msgstr "" +"**JPEG를 Tkinter PhotoImage로 변환** 합니다. 모든 **RGB / 알파 없음** 이미지도 정확히 동일하게 작동합니다. " +"**Portable Anymap** 형식(PPM, PGM 등) 중 하나로 변환하면 효과가 있습니다. 모든 Tkinter 버전에서 지원되기 " +"때문입니다::" + +#: ../../recipes-images.rst:412 95cfd29f810e445da70d90c145d8615a +msgid "" +"Convert **PNG with alpha** to Tkinter PhotoImage. This requires " +"**removing the alpha bytes**, before we can do the PPM conversion::" +msgstr "" +"**알파가 있는 PNG** 를 Tkinter PhotoImage로 변환합니다. PPM 변환을 수행하기 전에 **알파 바이트를 제거** 해야 " +"합니다::" + +#: ../../recipes-images.rst:429 1911e5e8b8924c1a8b4f22e5163ab54f +msgid "How to Use Pixmaps: Gluing Images" +msgstr "픽스맵 사용 방법: 이미지 붙이기" + +#: ../../recipes-images.rst:431 7bec2fa27c4e409498516974d3af1a08 +msgid "" +"This shows how pixmaps can be used for purely graphical, non-document " +"purposes. The script reads an image file and creates a new image which " +"consist of 3 * 4 tiles of the original::" +msgstr "" +"이것은 픽스맵이 순수하게 그래픽적이고 문서가 아닌 목적으로 사용될 수 있는 방법을 보여줍니다. 스크립트는 이미지 파일을 읽고 원본의 " +"3 * 4 타일로 구성된 새 이미지를 생성합니다::" + +#: ../../recipes-images.rst:451 5e629a692db5492494234aeaa2c9e000 +msgid "This is the input picture:" +msgstr "이것이 입력 그림입니다:" + +#: ../../recipes-images.rst:456 0eb66869c4e049f18880e64efa606cb7 +msgid "Here is the output:" +msgstr "출력은 다음과 같습니다:" + +#: ../../recipes-images.rst:473 193131d4ef064104aca816c9fb1b8eda +msgid "How to Use Pixmaps: Making a Fractal" +msgstr "픽스맵 사용 방법: 프랙탈 만들기" + +#: ../../recipes-images.rst:475 94c73f5e5e844ef29a6937bacf69e134 +msgid "" +"Here is another Pixmap example that creates **Sierpinski's Carpet** -- a " +"fractal generalizing the **Cantor Set** to two dimensions. Given a square" +" carpet, mark its 9 sub-suqares (3 times 3) and cut out the one in the " +"center. Treat each of the remaining eight sub-squares in the same way, " +"and continue *ad infinitum*. The end result is a set with area zero and " +"fractal dimension 1.8928..." +msgstr "" +"다음은 **시에르핀스키 카펫** 을 생성하는 또 다른 픽스맵 예제입니다 -- **칸토어 집합** 을 2차원으로 일반화한 프랙탈입니다. 정사각형 " +"카펫이 주어지면 9개의 하위 사각형(3 x 3)을 표시하고 중앙의 것을 잘라냅니다. 나머지 8개의 하위 사각형 각각에 대해 동일한 " +"방식으로 처리하고 *무한히* 계속합니다. 최종 결과는 면적이 0이고 프랙탈 차원이 1.8928...인 집합입니다." + +#: ../../recipes-images.rst:477 56abcac9cb974ce6ae22fd649ca0859f +msgid "" +"This script creates an approximate image of it as a PNG, by going down to" +" one-pixel granularity. To increase the image precision, change the value" +" of n (precision)::" +msgstr "" +"이 스크립트는 1픽셀 단위까지 내려가서 PNG로 근사 이미지를 생성합니다. 이미지 정밀도를 높이려면 n(정밀도) 값을 변경하세요::" + +#: ../../recipes-images.rst:531 c2a2453f8f7b4dbdb1a88b9ab6e6be44 +msgid "The result should look something like this:" +msgstr "결과는 다음과 같아야 합니다:" + +#: ../../recipes-images.rst:541 7b65b42e069e44c4acda5058a222b54c +msgid "How to Interface with NumPy" +msgstr "NumPy와 인터페이스하는 방법" + +#: ../../recipes-images.rst:543 4737dca0e38f4d0391a1712b9196eeb8 +msgid "" +"This shows how to create a PNG file from a numpy array (several times " +"faster than most other methods)::" +msgstr "이것은 numpy 배열에서 PNG 파일을 만드는 방법을 보여줍니다(대부분의 다른 방법보다 몇 배 빠름)::" + +#: ../../recipes-images.rst:570 86677e790d2c4f67807e8699c758c3b8 +msgid "How to Add Images to a PDF Page" +msgstr "PDF 페이지에 이미지 추가 방법" + +#: ../../recipes-images.rst:572 8b806d59869144378fcd5066d1490f5c +msgid "" +"There are two methods to add images to a PDF page: " +":meth:`Page.insert_image` and :meth:`Page.show_pdf_page`. Both methods " +"have things in common, but there are also differences." +msgstr "" +"PDF 페이지에 이미지를 추가하는 두 가지 방법이 있습니다: :meth:`Page.insert_image` 와 " +":meth:`Page.show_pdf_page`. 두 방법 모두 공통점이 있지만 차이점도 있습니다." + +#: ../../recipes-images.rst:575 2c8c48d1aa0b4d95ba46f51b58d654d6 +msgid "**Criterion**" +msgstr "**기준**" + +#: ../../recipes-images.rst:575 7d8993132b2b4a42a0cf8d794f2992d0 +msgid ":meth:`Page.insert_image`" +msgstr ":meth:`Page.insert_image`" + +#: ../../recipes-images.rst:575 8a3e9ca045d64f2e8d891f008fec70a3 +msgid ":meth:`Page.show_pdf_page`" +msgstr ":meth:`Page.show_pdf_page`" + +#: ../../recipes-images.rst:577 5bd36cce5edc4839bb92e31c9c76b006 +msgid "displayable content" +msgstr "표시 가능한 콘텐츠" + +#: ../../recipes-images.rst:577 6abadbc464324e72b3412212af08ddd5 +msgid "image file, image in memory, pixmap" +msgstr "이미지 파일, 메모리의 이미지, 픽스맵" + +#: ../../recipes-images.rst:577 fe5a852c20eb446f96ab83f04f7f4a93 +msgid "PDF page" +msgstr "PDF 페이지" + +#: ../../recipes-images.rst:578 204fbfd1f4dd47b9b874c7093d251715 +msgid "display resolution" +msgstr "표시 해상도" + +#: ../../recipes-images.rst:578 6877443fc21f4ae29b20fa83d0845e7f +msgid "image resolution" +msgstr "이미지 해상도" + +#: ../../recipes-images.rst:578 3259783ac12241b39f8d13f3ae0773d6 +msgid "vectorized (except raster page content)" +msgstr "벡터화됨(래스터 페이지 콘텐츠 제외)" + +#: ../../recipes-images.rst:579 0a170d4e27b74f7ba12e8e015f247437 +msgid "rotation" +msgstr "회전" + +#: ../../recipes-images.rst:579 809287424df744108ab05380b655171e +msgid "0, 90, 180 or 270 degrees" +msgstr "0, 90, 180 또는 270도" + +#: ../../recipes-images.rst:579 da8c599cd42840bbac1e77a82693730a +msgid "any angle" +msgstr "임의의 각도" + +#: ../../recipes-images.rst:580 f40e820c9fb14438ae80fc9bde7f8a98 +msgid "clipping" +msgstr "클리핑" + +#: ../../recipes-images.rst:580 4573b228aad144ed96c21fc96b46d235 +msgid "no (full image only)" +msgstr "아니오(전체 이미지만)" + +#: ../../recipes-images.rst:580 ../../recipes-images.rst:585 +#: 451bef807fb34d769267984ed465f6dc cca26d0a49b6435a81557dc0961b5744 +msgid "yes" +msgstr "예" + +#: ../../recipes-images.rst:581 cfbb20540a0b4c778339a005d689e7b8 +msgid "keep aspect ratio" +msgstr "종횡비 유지" + +#: ../../recipes-images.rst:581 9088023618154cb2b1a12c0ddf19f1a2 +#: f0b3417bf2a7468f8f23939745c86e02 +msgid "yes (default option)" +msgstr "예(기본 옵션)" + +#: ../../recipes-images.rst:582 5f19b1705d7c458d9132e003453cbec7 +msgid "transparency (water marking)" +msgstr "투명도(워터마킹)" + +#: ../../recipes-images.rst:582 99fc40d08cd448d4a3d5157524c2fed1 +msgid "depends on the image" +msgstr "이미지에 따라 다름" + +#: ../../recipes-images.rst:582 4953bd2dbe474a6a95444caaec0f8e00 +msgid "depends on the page" +msgstr "페이지에 따라 다름" + +#: ../../recipes-images.rst:583 800220a1afe84937ab054dd04a19a8c8 +msgid "location / placement" +msgstr "위치 / 배치" + +#: ../../recipes-images.rst:583 3d7142d3e8b844178ad964a906047c57 +#: 6f79b41a8b7f44d0b808c73f0bca9bbf +msgid "scaled to fit target rectangle" +msgstr "대상 사각형에 맞게 크기 조정" + +#: ../../recipes-images.rst:584 bcd9bfd74c0e4791b173eea29559bf7c +msgid "performance" +msgstr "성능" + +#: ../../recipes-images.rst:584 709fb304b9de44d69140fb3994966d0b +#: aa53a4c8c09a4cfba0e8f1a66a28bb65 +msgid "automatic prevention of duplicates;" +msgstr "중복 자동 방지;" + +#: ../../recipes-images.rst:585 0937b39761af40238a7534454037df7f +msgid "multi-page image support" +msgstr "다중 페이지 이미지 지원" + +#: ../../recipes-images.rst:585 14f432eb978947a8aeab98f966d2d10f +msgid "no" +msgstr "아니오" + +#: ../../recipes-images.rst:586 925c5122b94f48c5b30dceafcb918523 +msgid "ease of use" +msgstr "사용 편의성" + +#: ../../recipes-images.rst:586 570bc160fd964dfd90f9efc5d183be86 +msgid "simple, intuitive;" +msgstr "간단하고 직관적;" + +#: ../../recipes-images.rst:586 7cf88dffae244d2ab3bda778f8a61657 +msgid "" +"simple, intuitive; **usable for all document types** (including images!) " +"after conversion to PDF via :meth:`Document.convert_to_pdf`" +msgstr "" +"간단하고 직관적; :meth:`Document.convert_to_pdf` 를 통해 PDF로 변환 후 **모든 문서 유형** (이미지 포함!)에 " +"사용 가능" + +#: ../../recipes-images.rst:592 6ad1ea7eaa8f47249a3a73f2bd375d6e +msgid "" +"Basic code pattern for :meth:`Page.insert_image`. **Exactly one** of the " +"parameters **filename / stream / pixmap** must be given, if not re-" +"inserting an existing image::" +msgstr "" +":meth:`Page.insert_image` 의 기본 코드 패턴. 기존 이미지를 다시 삽입하지 않는 경우 **filename / stream / " +"pixmap** 매개변수 중 **정확히 하나** 를 제공해야 합니다::" + +#: ../../recipes-images.rst:607 324876f64fbe4c44ab53d2a63fa13939 +msgid "" +"Basic code pattern for :meth:`Page.show_pdf_page`. Source and target PDF " +"must be different :ref:`Document` objects (but may be opened from the " +"same file)::" +msgstr "" +":meth:`Page.show_pdf_page` 의 기본 코드 패턴. 소스 및 대상 PDF는 서로 다른 :ref:`Document` 객체여야 " +"합니다(같은 파일에서 열 수 있음)::" + +#: ../../recipes-images.rst:623 3fb681b8dd954d6191b33bb9379c5769 +msgid "How to Use Pixmaps: Checking Text Visibility" +msgstr "픽스맵 사용 방법: 텍스트 가시성 확인" + +#: ../../recipes-images.rst:625 f6738eb5b3944be59ab375f9b7eb965f +msgid "" +"Whether or not a given piece of text is actually visible on a page " +"depends on a number of factors:" +msgstr "주어진 텍스트가 페이지에서 실제로 보이는지는 여러 요인에 따라 다릅니다:" + +#: ../../recipes-images.rst:627 1e747fae38a041ceab9962bed078d738 +msgid "" +"Text is not covered by another object but may have the same color as the " +"background i.e., white-on-white etc." +msgstr "텍스트가 다른 객체에 의해 덮이지 않았지만 배경과 같은 색상일 수 있습니다. 예: 흰색 위의 흰색 등." + +#: ../../recipes-images.rst:628 f335376e08db4247a18b81df59e129c8 +msgid "" +"Text may be covered by an image or vector graphics. Detecting this is an " +"important capability, for example to uncover badly anonymized legal " +"documents." +msgstr "" +"텍스트가 이미지나 벡터 그래픽에 의해 덮일 수 있습니다. 이를 감지하는 것은 중요한 기능입니다. 예를 들어 잘못 익명화된 법률 문서를 " +"발견하는 데 사용됩니다." + +#: ../../recipes-images.rst:629 c13633a208484210b9ae568ec9ba0f68 +msgid "" +"Text is created hidden. This technique is usually used by OCR tools to " +"store the recognized text in an invisible layer on the page." +msgstr "" +"텍스트가 숨겨진 상태로 생성됩니다. 이 기술은 일반적으로 OCR 도구가 인식된 텍스트를 페이지의 보이지 않는 레이어에 저장하는 데 " +"사용됩니다." + +#: ../../recipes-images.rst:631 15e4b37ca4e743d9ace6bbddf7721b12 +msgid "" +"The following shows how to detect situation 1. above, or situation 2. if " +"the covering object is unicolor::" +msgstr "" +"다음은 위의 상황 1을 감지하는 방법 또는 덮는 객체가 단색인 경우 상황 2를 감지하는 방법을 보여줍니다::" + +#: ../../recipes-images.rst:645 83c1b504293642219a2e1c7034fa13ef +msgid "" +"Method :meth:`Pixmap.color_topusage` returns a tuple `(ratio, pixel)` " +"where 0 < ratio <= 1 and *pixel* is the pixel value of the color. Please " +"note that we create a **pixmap only once**. This can save a lot of " +"processing time if there are multiple hit rectangles." +msgstr "" +":meth:`Pixmap.color_topusage` 메서드는 `(ratio, pixel)` 튜플을 반환합니다. 여기서 0 < ratio <= " +"1이고 *pixel* 은 색상의 픽셀 값입니다. **픽스맵을 한 번만 생성** 합니다. 여러 히트 사각형이 있는 경우 처리 시간을 많이 " +"절약할 수 있습니다." + +#: ../../recipes-images.rst:647 a5240ef02f1b474ca0cc0911c89fca25 +msgid "" +"The logic of the above code is: If the needle's rectangle is (\"almost\":" +" > 95%) unicolor, then the text cannot be visible. A typical result for " +"visible text returns the color of the background (mostly white) and a " +"ratio around 0.7 to 0.8, for example `(0.685, b'\\xff\\xff\\xff')`." +msgstr "" +"위 코드의 로직은 다음과 같습니다: 바늘이 가리키는 사각형이 (\"거의\": > 95%) 단색이면 텍스트가 보일 수 없습니다. " +"보이는 텍스트의 일반적인 결과는 배경 색상(대부분 흰색)과 약 0.7~0.8의 비율을 반환합니다. 예: `(0.685, " +"b'\\xff\\xff\\xff')`." + +#: ../../footer.rst:46 069c8258eace4a40a1b85ff062eeb067 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/recipes-journalling.mo b/docs/locales/ko/LC_MESSAGES/recipes-journalling.mo new file mode 100644 index 000000000..bafafd525 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/recipes-journalling.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/recipes-journalling.po b/docs/locales/ko/LC_MESSAGES/recipes-journalling.po new file mode 100644 index 000000000..ca844825e --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/recipes-journalling.po @@ -0,0 +1,171 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 25048fda51ce418c9d015f1246e746af +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 797ac5efa9e24c438fafe7f71ce832da +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 753e44f114514b2e927f9c1cf789d18c +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-journalling.rst:7 b01dda5af224433398494559bf0ada58 +msgid "Journalling" +msgstr "저널링" + +#: ../../recipes-journalling.rst:10 f1543a90864a42ea86fe641d52d33bea +msgid "" +"Starting with version 1.19.0, journalling is possible when updating PDF " +"documents." +msgstr "버전 1.19.0부터 PDF 문서를 업데이트할 때 저널링이 가능합니다." + +#: ../../recipes-journalling.rst:12 1456c9ef805443c79a0bd76d2471b773 +msgid "" +"Journalling is a logging mechanism which permits either **reverting** or " +"**re-applying** changes to a PDF. Similar to LUWs \"Logical Units of " +"Work\" in modern database systems, one can group a set of updates into an" +" \"operation\". In MuPDF journalling, an operation plays the role of a " +"LUW." +msgstr "저널링은 PDF에 대한 변경 사항을 **되돌리거나** **다시 적용** 할 수 있게 하는 로깅 메커니즘입니다. 현대 데이터베이스 시스템의 LUW \"Logical Units of Work\"와 유사하게, 일련의 업데이트를 \"작업\"으로 그룹화할 수 있습니다. |MuPDF| 저널링에서 작업은 LUW의 역할을 합니다." + +#: ../../recipes-journalling.rst:14 aa605819004a494da8700c4dbb499ca3 +msgid "" +"In contrast to LUW implementations found in database systems, MuPDF " +"journalling happens on a **per document level**. There is no support for " +"simultaneous updates across multiple PDFs: one would have to establish " +"one's own logic here." +msgstr "데이터베이스 시스템의 LUW 구현과 달리, |MuPDF| 저널링은 **문서별 수준** 에서 발생합니다. 여러 PDF에 걸친 동시 업데이트는 지원되지 않습니다. 여기서는 자체 로직을 구축해야 합니다." + +#: ../../recipes-journalling.rst:16 cabd8aa10cf746e6b10fc9fd0a9d7182 +msgid "" +"Journalling must be *enabled* via a document method. Journalling is " +"possible for existing or new documents. Journalling **can be disabled " +"only** by closing the file." +msgstr "저널링은 문서 메서드를 통해 *활성화* 해야 합니다. 기존 문서나 새 문서 모두에서 저널링이 가능합니다. 저널링은 파일을 닫는 경우에만 **비활성화** 할 수 있습니다." + +#: ../../recipes-journalling.rst:17 1090ca7dc7904871b61188430e85d1a1 +msgid "" +"Once enabled, every change must happen inside an *operation* -- otherwise" +" an exception is raised. An operation is started and stopped via document" +" methods. Updates happening between these two calls form an LUW and can " +"thus collectively be rolled back or re-applied, or, in MuPDF terminology " +"\"undone\" resp. \"redone\"." +msgstr "활성화되면 모든 변경은 *작업* 내에서 발생해야 합니다. 그렇지 않으면 예외가 발생합니다. 작업은 문서 메서드를 통해 시작되고 중지됩니다. 이 두 호출 사이에 발생하는 업데이트는 LUW를 형성하므로 집합적으로 롤백하거나 다시 적용할 수 있으며, |MuPDF| 용어로는 각각 \"실행 취소\" 및 \"다시 실행\"입니다." + +#: ../../recipes-journalling.rst:18 c31321fa1fc14929871630087cdd8b8b +msgid "" +"At any point, the journalling status can be queried: whether journalling " +"is active, how many operations have been recorded, whether \"undo\" or " +"\"redo\" is possible, the current position inside the journal, etc." +msgstr "언제든지 저널링 상태를 쿼리할 수 있습니다: 저널링이 활성화되어 있는지, 몇 개의 작업이 기록되었는지, \"실행 취소\" 또는 \"다시 실행\"이 가능한지, 저널 내 현재 위치 등입니다." + +#: ../../recipes-journalling.rst:19 5748ec5bd69741daaecd28651e5b67b8 +msgid "" +"The journal can be **saved to** or **loaded from** a file. These are " +"document methods." +msgstr "저널은 파일에 **저장** 하거나 파일에서 **로드** 할 수 있습니다. 이것들은 문서 메서드입니다." + +#: ../../recipes-journalling.rst:20 2a1ee018fa1144fba3f9e32e294bcd4e +msgid "" +"When loading a journal file, compatibility with the document is checked " +"and journalling is automatically enabled upon success." +msgstr "저널 파일을 로드할 때 문서와의 호환성이 확인되며, 성공 시 저널링이 자동으로 활성화됩니다." + +#: ../../recipes-journalling.rst:21 359a67deba6d45c7b2870adfc40b92b5 +msgid "" +"For an **existing** PDF being journalled, a special new save method is " +"available: :meth:`Document.save_snapshot`. This performs a special " +"incremental save that includes all journalled updates so far. If its " +"journal is saved at the same time (immediately after the document " +"snapshot), then document and journal are in sync and can later on be used" +" together to undo or redo operations or to continue journalled updates --" +" just as if there had been no interruption." +msgstr "저널링 중인 **기존** PDF의 경우 특별한 새 저장 메서드인 :meth:`Document.save_snapshot` 를 사용할 수 있습니다. 이것은 지금까지의 모든 저널링된 업데이트를 포함하는 특별한 증분 저장을 수행합니다. 저널이 동시에 저장되면(문서 스냅샷 직후) 문서와 저널이 동기화되어 나중에 작업을 실행 취소하거나 다시 실행하거나 저널링된 업데이트를 계속하는 데 함께 사용할 수 있습니다. 마치 중단이 없었던 것처럼." + +#: ../../recipes-journalling.rst:22 2371ef9364394ab18af8172ee2fbd84c +msgid "" +"The snapshot PDF is a valid PDF in every aspect and fully usable. If the " +"document is however changed in any way without using its journal file, " +"then a desynchronization will take place and the journal is rendered " +"unusable." +msgstr "스냅샷 PDF는 모든 측면에서 유효한 PDF이며 완전히 사용 가능합니다. 하지만 저널 파일을 사용하지 않고 문서가 어떤 방식으로든 변경되면 동기화가 해제되고 저널이 사용 불가능해집니다." + +#: ../../recipes-journalling.rst:23 88b4f9365d4e41919901f2e3341b68b3 +msgid "" +"Snapshot files are structured like incremental updates. Nevertheless, the" +" internal journalling logic requires, that saving **must happen to a new " +"file**. So the user should develop a file naming convention to support " +"recognizable relationships between an original PDF, like `original.pdf` " +"and its snapshot sets, like `original-snap1.pdf` / `original-snap1.log`, " +"`original-snap2.pdf` / `original-snap2.log`, etc." +msgstr "스냅샷 파일은 증분 업데이트처럼 구조화됩니다. 그럼에도 불구하고 내부 저널링 로직은 저장이 **새 파일에** 발생해야 합니다. 따라서 사용자는 원본 PDF(예: `original.pdf`)와 스냅샷 세트(예: `original-snap1.pdf` / `original-snap1.log`, `original-snap2.pdf` / `original-snap2.log` 등) 간의 인식 가능한 관계를 지원하는 파일 명명 규칙을 개발해야 합니다." + +#: ../../recipes-journalling.rst:26 86cb216c0b2c49ad82e67e5dcd1dad33 +msgid "Example Session 1" +msgstr "예제 세션 1" + +#: ../../recipes-journalling.rst:27 ../../recipes-journalling.rst:98 +#: 623199d65f524b49925fac870071c962 e45525e109c54fde88b07c36ca5ae547 +msgid "Description:" +msgstr "설명:" + +#: ../../recipes-journalling.rst:29 64be3df2712342b6b3a07eb934808271 +msgid "" +"Make a new PDF and enable journalling. Then add a page and some text " +"lines -- each as a separate operation." +msgstr "새 PDF를 만들고 저널링을 활성화합니다. 그런 다음 페이지와 일부 텍스트 줄을 추가합니다. 각각을 별도의 작업으로 수행합니다." + +#: ../../recipes-journalling.rst:30 f87700abdc524bcf98d294a44fcb2e9d +msgid "" +"Navigate within the journal, undoing and redoing these updates and " +"displaying status and file results::" +msgstr "저널 내에서 이동하며 이러한 업데이트를 실행 취소하고 다시 실행하며 상태와 파일 결과를 표시합니다::" + +#: ../../recipes-journalling.rst:97 f540b437628341a68f1d143da3561958 +msgid "Example Session 2" +msgstr "예제 세션 2" + +#: ../../recipes-journalling.rst:100 e49f0638f47e40cfa88e8a2e5c342dc4 +msgid "" +"Similar to previous, but after undoing some operations, we now add a " +"different update. This will cause:" +msgstr "이전과 유사하지만 일부 작업을 실행 취소한 후 다른 업데이트를 추가합니다. 이것은 다음을 유발합니다:" + +#: ../../recipes-journalling.rst:102 aeb2a12789f44076a21e14f5e8edbdf0 +msgid "permanent removal of the undone journal entries" +msgstr "실행 취소된 저널 항목의 영구 제거" + +#: ../../recipes-journalling.rst:103 039d45dbbda9472596a7e3eab31cb2f1 +msgid "the new update operation will become the new last entry." +msgstr "새 업데이트 작업이 새로운 마지막 항목이 됩니다." + +#: ../../footer.rst:46 5ed33c2c15454dd7b2014d897f80427a +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/recipes-low-level-interfaces.mo b/docs/locales/ko/LC_MESSAGES/recipes-low-level-interfaces.mo new file mode 100644 index 000000000..77c17d12e Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/recipes-low-level-interfaces.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/recipes-low-level-interfaces.po b/docs/locales/ko/LC_MESSAGES/recipes-low-level-interfaces.po new file mode 100644 index 000000000..d346514f6 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/recipes-low-level-interfaces.po @@ -0,0 +1,566 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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` 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:`지원되는 문서 유형` 에 대해 " +"동일한 방식으로 작동하도록 설계되었습니다: **고정된 키-값 쌍 집합** 이 있는 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| 까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/recipes-multiprocessing.mo b/docs/locales/ko/LC_MESSAGES/recipes-multiprocessing.mo new file mode 100644 index 000000000..82a682752 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/recipes-multiprocessing.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/recipes-multiprocessing.po b/docs/locales/ko/LC_MESSAGES/recipes-multiprocessing.po new file mode 100644 index 000000000..c972c6cbc --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/recipes-multiprocessing.po @@ -0,0 +1,81 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 7e6f40d7964249e79b04c3d1e97663f7 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 0b0e7728efd643f2af88f9a10132b4db +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 fcd448c0f08b44ca81698f910e7f182b +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-multiprocessing.rst:17 c6783e6e6a79406dbcc4279e7db0acff +msgid "Multiprocessing" +msgstr "멀티프로세싱" + +#: ../../recipes-multiprocessing.rst:19 3440ee5e309146219a07e286636ee246 +msgid "" +"|PyMuPDF| does not support running on multiple threads - doing so may " +"cause incorrect behaviour or even crash Python itself." +msgstr "|PyMuPDF| 는 여러 스레드에서 실행을 지원하지 않습니다. 그렇게 하면 잘못된 동작이 발생하거나 Python 자체가 충돌할 수 있습니다." + +#: ../../recipes-multiprocessing.rst:21 c2e5df4ee4234d12ae3febd77e85fbe3 +msgid "" +"However, there is the option to use :title:`Python's` *multiprocessing* " +"module in a variety of ways." +msgstr "하지만 :title:`Python의` *multiprocessing* 모듈을 다양한 방법으로 사용할 수 있는 옵션이 있습니다." + +#: ../../recipes-multiprocessing.rst:23 bf58d753cc3b40d7a405acc1f719c73c +msgid "" +"If you are looking to speed up page-oriented processing for a large " +"document, use this script as a starting point. It should be at least " +"twice as fast as the corresponding sequential processing." +msgstr "큰 문서에 대한 페이지 지향 처리를 가속화하려면 이 스크립트를 시작점으로 사용하세요. 해당 순차 처리보다 최소 2배 빠르게 동작해야 합니다." + +#: ../../recipes-multiprocessing.rst:26 ../../recipes-multiprocessing.rst:37 +#: c80ee239863c4c828445463631c1e884 f7c061f68ffd4ceeb32612aadf8d455e +msgid "|toggleStart|" +msgstr "|toggleStart|" + +#: ../../recipes-multiprocessing.rst:31 ../../recipes-multiprocessing.rst:42 +#: 591531fd1bc740dcb7a6d96399fe0ae1 71adac329d5748839c5c665b80e4d71d +msgid "|toggleEnd|" +msgstr "|toggleEnd|" + +#: ../../recipes-multiprocessing.rst:34 29a0399816a94d87be2670a44b7590db +msgid "" +"Here is a more complex example involving inter-process communication " +"between a main process (showing a GUI) and a child process doing " +"|PyMuPDF| access to a document." +msgstr "다음은 메인 프로세스(GUI 표시)와 문서에 대한 |PyMuPDF| 액세스를 수행하는 자식 프로세스 간의 프로세스 간 통신을 포함하는 더 복잡한 예제입니다." + +#: ../../footer.rst:46 bd8b258b125f42cda799e69f58599037 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/recipes-ocr.mo b/docs/locales/ko/LC_MESSAGES/recipes-ocr.mo new file mode 100644 index 000000000..4f65b4dc9 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/recipes-ocr.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/recipes-ocr.po b/docs/locales/ko/LC_MESSAGES/recipes-ocr.po new file mode 100644 index 000000000..b84260054 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/recipes-ocr.po @@ -0,0 +1,174 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 5b2b2477e1b643fe878fe480ca8a5a5c +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 9af1355de6074c539e4b51e5dd6b1657 +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 8dcf3faef7104a2cafff9541cb4c8daf +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-ocr.rst:17 d523ae4d9ab8407a9cf5b861f5297e31 +msgid "OCR - Optical Character Recognition" +msgstr "OCR - 광학 문자 인식" + +#: ../../recipes-ocr.rst:19 ad0635e0379e4e30a03ba26654ccd626 +msgid "" +"|PyMuPDF| has integrated support for OCR (Optical Character Recognition)." +" It is possible to use OCR for both, images (via the :ref:`Pixmap` class)" +" and for document pages." +msgstr "|PyMuPDF| 는 OCR(광학 문자 인식)에 대한 통합 지원을 제공합니다. 이미지(:ref:`Pixmap` 클래스를 통해)와 문서 페이지 모두에 OCR을 사용할 수 있습니다." + +#: ../../recipes-ocr.rst:21 0e099596d02b489e9ad0b0acde488005 +msgid "" +"The feature is currently based on Tesseract-OCR which must be installed " +"as a separate application -- see the :ref:`installation_ocr`." +msgstr "이 기능은 현재 Tesseract-OCR을 기반으로 하며 별도의 애플리케이션으로 설치해야 합니다. 자세한 내용은 :ref:`installation_ocr` 을 참조하세요." + +#: ../../recipes-ocr.rst:24 ea8b233238a54196add63aa017b42543 +msgid "How to OCR an Image" +msgstr "이미지 OCR 방법" + +#: ../../recipes-ocr.rst:25 a44323f4b0df47da98d91ac1a37d6b21 +msgid "" +"A supported image must first be converted to a :ref:`Pixmap`. The Pixmap " +"can then be saved to a 1-page PDF. This page will look like the original " +"image with the same width and height. It will contain a layer of text as " +"recognized by Tesseract." +msgstr "지원되는 이미지는 먼저 :ref:`Pixmap` 으로 변환해야 합니다. 그런 다음 Pixmap을 1페이지 PDF로 저장할 수 있습니다. 이 페이지는 원본 이미지와 동일한 너비와 높이를 가집니다. Tesseract가 인식한 텍스트 레이어가 포함됩니다." + +#: ../../recipes-ocr.rst:27 fb8760d9d7144f5786b17ead972a9a1f +msgid "" +"The PDF can be generated via one of the methods " +":meth:`Pixmap.pdfocr_save` or :meth:`Pixmap.pdfocr_tobytes`, as a file on" +" disk or as a PDF in memory." +msgstr "PDF는 :meth:`Pixmap.pdfocr_save` 또는 :meth:`Pixmap.pdfocr_tobytes` 메서드 중 하나를 통해 디스크의 파일로 또는 메모리의 PDF로 생성할 수 있습니다." + +#: ../../recipes-ocr.rst:29 1f42a8e44a1d4d17b7f75da5f822e8aa +msgid "" +"The text can be extracted and searched with the usual text extraction and" +" search methods (:meth:`Page.get_text`, :meth:`Page.search_for`, etc.). " +"Please also note the following important facts and prerequisites:" +msgstr "텍스트는 일반적인 텍스트 추출 및 검색 메서드(:meth:`Page.get_text`, :meth:`Page.search_for` 등)로 추출하고 검색할 수 있습니다. 다음 중요한 사실과 전제 조건도 참고하세요:" + +#: ../../recipes-ocr.rst:31 44371b59458b49ce97c3a0a6cc2e6b26 +msgid "" +"When converting the image to a Pixmap, please confirm that the color " +"space is RGB and alpha is `False` (no transparency). Convert the original" +" Pixmap if necessary." +msgstr "이미지를 Pixmap으로 변환할 때 색 공간이 RGB이고 alpha가 `False` (투명도 없음)인지 확인하세요. 필요하면 원본 Pixmap을 변환하세요." + +#: ../../recipes-ocr.rst:32 30e5cba3998c418688b3fea3b830296b +msgid "" +"All text is written as \"hidden\" with Tesseract's own `GlyphLessFont`, a" +" mono-spaced font with metrics comparable to Courier." +msgstr "모든 텍스트는 Tesseract 자체 `GlyphLessFont` 로 \"숨김\"으로 작성되며, Courier와 유사한 메트릭을 가진 고정폭 글꼴입니다." + +#: ../../recipes-ocr.rst:33 6ac9d9f5b2824a4890be1cf73715c091 +msgid "" +"All text has the properties regular and black (i.e. no bold, no italic, " +"no information about the original fonts)." +msgstr "모든 텍스트는 일반 및 검은색 속성을 가집니다(즉, 굵게, 기울임꼴 없음, 원본 글꼴 정보 없음)." + +#: ../../recipes-ocr.rst:34 a08272a3cc18432f9cc35cdd8591c309 +msgid "" +"Tesseract does not recognize vector graphics (i.e. no drawings / line-" +"art)." +msgstr "Tesseract는 벡터 그래픽을 인식하지 않습니다(즉, 그림/선화 없음)." + +#: ../../recipes-ocr.rst:36 35e883700cc148b98f8d79dcf362ad4e +msgid "This approach is also recommended to OCR a complete scanned PDF:" +msgstr "이 방법은 전체 스캔된 PDF를 OCR하는 데도 권장됩니다:" + +#: ../../recipes-ocr.rst:38 d47d8fca90fb4141932d00dd7353c53a +msgid "Render each page to a :ref:`Pixmap` with desired resolution" +msgstr "각 페이지를 원하는 해상도로 :ref:`Pixmap` 에 렌더링" + +#: ../../recipes-ocr.rst:39 666549a157cb4d1eae9cfaa445aa6b78 +msgid "Append the resulting 1-page PDF to the output PDF" +msgstr "결과 1페이지 PDF를 출력 PDF에 추가" + +#: ../../recipes-ocr.rst:42 df250dae4cd34a3e9b289c490a3cde65 +msgid "How to OCR a Document Page" +msgstr "문서 페이지 OCR 방법" + +#: ../../recipes-ocr.rst:43 9a152c4ead1343cf86489d1427003811 +msgid "" +"Any supported document page can be OCR-ed -- either the complete page or " +"only the image areas on it." +msgstr "지원되는 모든 문서 페이지를 OCR할 수 있습니다. 페이지 전체 또는 해당 페이지의 이미지 영역만 OCR할 수 있습니다." + +#: ../../recipes-ocr.rst:45 75c8b08c675a49f2bf0d5425b06d171a +msgid "" +"Because optical character recognition is about one thousand times slower " +"than standard text extraction, we make sure to do OCR only once per page " +"and store the result in a :ref:`TextPage`. Using this TextPage for all " +"subsequent extractions and text searches will then happen with " +"|PyMuPDF|'s usual top speed." +msgstr "광학 문자 인식은 표준 텍스트 추출보다 약 1,000배 느리기 때문에, 페이지당 한 번만 OCR을 수행하고 결과를 :ref:`TextPage` 에 저장합니다. 이후 모든 추출 및 텍스트 검색에 이 TextPage를 사용하면 |PyMuPDF| 의 일반적인 최고 속도로 처리됩니다." + +#: ../../recipes-ocr.rst:47 96c380b987f94acbbfb8ac4450e43dce +msgid "To OCR a document page, follow this approach:" +msgstr "문서 페이지를 OCR하려면 다음 방법을 따르세요:" + +#: ../../recipes-ocr.rst:49 39681da9450c49058ca2763173465812 +msgid "" +"Determine whether OCR is needed / beneficial at all. A number of criteria" +" can be used for this decision, like:" +msgstr "OCR이 필요한지/유익한지 판단하세요. 다음과 같은 여러 기준을 사용할 수 있습니다:" + +#: ../../recipes-ocr.rst:51 671903164c6c495da5a353e4d7e1a112 +msgid "page is completely covered by an image" +msgstr "페이지가 이미지로 완전히 덮여 있음" + +#: ../../recipes-ocr.rst:52 67a0e6d81030439db6adb2f9c61737d4 +msgid "no text exists on the page" +msgstr "페이지에 텍스트가 없음" + +#: ../../recipes-ocr.rst:53 95a2141830a64bd6b31d96005eb2207b +msgid "thousands of small vector graphics (indicating *simulated* text)" +msgstr "수천 개의 작은 벡터 그래픽(*시뮬레이션된* 텍스트를 나타냄)" + +#: ../../recipes-ocr.rst:55 a56ae19e7c8a4d0bb37016395d9ab63c +msgid "" +"OCR the page and store result in a :ref:`TextPage` object using an " +"instruction like `tp = page.get_textpage_ocr(...)`." +msgstr "`tp = page.get_textpage_ocr(...)` 와 같은 명령을 사용하여 페이지를 OCR하고 결과를 :ref:`TextPage` 객체에 저장합니다." + +#: ../../recipes-ocr.rst:57 4e0d85d010b04df58a9c1169c5d8b553 +msgid "" +"Refer to the produced :ref:`TextPage` in all subsequent text extractions " +"and searches via the `textpage=tp` parameter." +msgstr "이후 모든 텍스트 추출 및 검색에서 `textpage=tp` 매개변수를 통해 생성된 :ref:`TextPage` 를 참조하세요." + +#: ../../footer.rst:46 1536d96897a04a48b4b90ead47380207 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/recipes-optional-content.mo b/docs/locales/ko/LC_MESSAGES/recipes-optional-content.mo new file mode 100644 index 000000000..6ab1773bd Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/recipes-optional-content.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/recipes-optional-content.po b/docs/locales/ko/LC_MESSAGES/recipes-optional-content.po new file mode 100644 index 000000000..8904c672b --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/recipes-optional-content.po @@ -0,0 +1,192 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 f427b4b5c89c434aa431d0105a3b4ced +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 25ffbcd722b944a087a274a8e9d2f119 +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 29a19d98cec64f3488930f81e11e93e7 +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-optional-content.rst:7 700c319fd483491eb9c651ce164689cf +msgid "Optional Content Support" +msgstr "선택적 콘텐츠 지원" + +#: ../../recipes-optional-content.rst:9 5ecf5ebcfe42415bb96d754f39769237 +msgid "" +"This document explains PyMuPDF's support of the PDF concept **\"Optional " +"Content\"**." +msgstr "이 문서는 |PyMuPDF| 가 지원하는 PDF 개념 **\"선택적 콘텐츠\"** 에 대해 설명합니다." + +#: ../../recipes-optional-content.rst:12 2d6ce70234fa4a51b645e6eb697c23c1 +msgid "Introduction: The Optional Content Concept" +msgstr "소개: 선택적 콘텐츠 개념" + +#: ../../recipes-optional-content.rst:13 a1bba7af8cee41cabc8aa14f83c25097 +msgid "" +"*Optional Content* in PDF is a way to show or hide parts of a document " +"based on certain conditions: Parameters that can be set to ON or to OFF " +"when using a supporting PDF consumer (viewer), or programmatically." +msgstr "PDF의 *선택적 콘텐츠* 는 특정 조건에 따라 문서의 일부를 표시하거나 숨기는 방법입니다. 지원하는 PDF 소비자(뷰어)를 사용할 때 또는 프로그래밍 방식으로 ON 또는 OFF로 설정할 수 있는 매개변수입니다." + +#: ../../recipes-optional-content.rst:15 cab765ef09a444c5baccc6ecba041e6e +msgid "" +"This capability is useful in items such as CAD drawings, layered artwork," +" maps, and multi-language documents. Typical uses include showing or " +"hiding details of complex vector graphics like geographical maps, " +"technical devices, architectural designs and similar, including " +"automatically switching between different zooming levels. Other use cases" +" may be to automatically show different detail levels when displaying a " +"document on screen as opposed to printing it." +msgstr "이 기능은 CAD 도면, 레이어 아트워크, 지도, 다국어 문서와 같은 항목에서 유용합니다. 일반적인 용도에는 지리적 지도, 기술 장치, 건축 설계 등과 같은 복잡한 벡터 그래픽의 세부 정보 표시 또는 숨기기, 다양한 확대/축소 수준 간의 자동 전환이 포함됩니다. 다른 사용 사례는 문서를 인쇄하는 것과 달리 화면에 표시할 때 자동으로 다른 세부 수준을 표시하는 것일 수 있습니다." + +#: ../../recipes-optional-content.rst:17 a3cf8bb5edc04658bcc5b018e1302847 +msgid "" +"Special PDF objects, so-called **Optional Content Groups** (OCGs) are " +"used to define these different *layers* of content." +msgstr "특수 PDF 객체인 **선택적 콘텐츠 그룹** (OCG)을 사용하여 이러한 다양한 콘텐츠 *레이어* 를 정의합니다." + +#: ../../recipes-optional-content.rst:19 11067de9260f444189d97ae6ae624654 +msgid "" +"Assigning an OCG to a \"normal\" PDF object (like a text or an image) " +"causes that object to be visible or hidden, depending on the current " +"state of the assigned OCG." +msgstr "OCG를 \"일반\" PDF 객체(텍스트 또는 이미지 등)에 할당하면 할당된 OCG의 현재 상태에 따라 해당 객체가 표시되거나 숨겨집니다." + +#: ../../recipes-optional-content.rst:21 95e830e21e764c0a949cb7ed0a33fc95 +msgid "" +"To ease definition of the overall configuration of a PDF's Optional " +"Content, OCGs can be organized in higher level groupings, called **OC " +"Configurations**. Each configuration being a collection of OCGs, together" +" with each OCG's desired initial visibility state. Selecting one of these" +" configurations (via the PDF viewer or programmatically) causes a " +"corresponding visibility change of all affected PDF objects throughout " +"the document." +msgstr "PDF의 선택적 콘텐츠 전체 구성을 쉽게 정의하기 위해 OCG는 **OC 구성** 이라는 상위 수준 그룹으로 구성할 수 있습니다. 각 구성은 각 OCG의 원하는 초기 표시 상태와 함께 OCG 컬렉션입니다. 이러한 구성 중 하나를 선택하면(PDF 뷰어를 통해 또는 프로그래밍 방식으로) 문서 전체에서 영향을 받는 모든 PDF 객체의 표시 상태가 해당 상태로 변경됩니다." + +#: ../../recipes-optional-content.rst:23 b707fd22852842e89a0e8e78a296ef39 +msgid "Except for the default one, OC Configurations are optional." +msgstr "기본 구성 외에는 OC 구성은 선택 사항입니다." + +#: ../../recipes-optional-content.rst:25 0844d7f44e964e409fefe8c054f52b6d +msgid "" +"For more explanations and additional background please refer to PDF " +"specification manuals." +msgstr "자세한 설명과 추가 배경 정보는 PDF 사양 매뉴얼을 참조하세요." + +#: ../../recipes-optional-content.rst:28 6133510bc73140a4b17bbf8cda929189 +msgid "PyMuPDF Support for PDF Optional Content" +msgstr "PDF 선택적 콘텐츠에 대한 |PyMuPDF| 지원" + +#: ../../recipes-optional-content.rst:29 ee3f36d2819e41d2aeabc811bdfcddb2 +msgid "" +"PyMuPDF offers full support for viewing, defining, changing and deleting " +"Option Content Groups, Configurations, maintaining the assignment of OCGs" +" to PDF objects and programmatically switching between OC Configurations " +"and the visibility states of each single OCG." +msgstr "|PyMuPDF| 는 선택적 콘텐츠 그룹 및 구성의 보기, 정의, 변경, 삭제, OCG를 PDF 객체에 할당하는 것의 유지, OC 구성 간의 프로그래밍 방식 전환 및 각 단일 OCG의 표시 상태에 대한 완전한 지원을 제공합니다." + +#: ../../recipes-optional-content.rst:32 6c810e8459dd45b499132c9ef8a2ec30 +msgid "How to Add Optional Content" +msgstr "선택적 콘텐츠 추가 방법" + +#: ../../recipes-optional-content.rst:33 ddc6af20e120444c8d6bcbef96f4ab41 +msgid "" +"This is as simple as adding an Optional Content Group, OCG, to a PDF: " +":meth:`Document.add_ocg`." +msgstr "PDF에 선택적 콘텐츠 그룹(OCG)을 추가하는 것만큼 간단합니다: :meth:`Document.add_ocg`." + +#: ../../recipes-optional-content.rst:35 247da2498372479cbcf5c1e211c93b70 +msgid "" +"If previously the PDF had no OC support at all, the required setup (like " +"defining the default OC Configuration) will be done at this point " +"automatically." +msgstr "이전에 PDF에 OC 지원이 전혀 없었다면, 필요한 설정(기본 OC 구성 정의 등)이 이 시점에서 자동으로 수행됩니다." + +#: ../../recipes-optional-content.rst:37 f3673e60584d40d08730a4d5183a4393 +msgid "" +"The method returns an :data:`xref` of the created OCG. Use this xref to " +"associate (mark) any PDF object with it, that you want to make dependent " +"on this OCG's state. For example, you can insert an image on a page and " +"refer to the xref like this::" +msgstr "이 메서드는 생성된 OCG의 :data:`xref` 를 반환합니다. 이 xref를 사용하여 이 OCG의 상태에 종속되도록 만들고자 하는 모든 PDF 객체를 연결(표시)합니다. 예를 들어, 페이지에 이미지를 삽입하고 다음과 같이 xref를 참조할 수 있습니다::" + +#: ../../recipes-optional-content.rst:41 f4a0a4f56cf343ce93de964daa847414 +msgid "" +"If you want to put an **existing** image under the control of an OCG, you" +" must first find out the image's xref number (called `img_xref` here) and" +" then do `doc.set_oc(img_xref, xref)`. After this, the image will be " +"(in-) visible everywhere throughout the document if the OCG's state is " +"\"ON\", respectively \"OFF\". You can also assign a different OCG with " +"this method." +msgstr "**기존** 이미지를 OCG의 제어 하에 두려면 먼저 이미지의 xref 번호(여기서는 `img_xref` 라고 함)를 찾은 다음 `doc.set_oc(img_xref, xref)` 를 수행해야 합니다. 그 후 OCG의 상태가 \"ON\" 또는 \"OFF\"이면 이미지는 문서 전체에서 (비)표시됩니다. 이 메서드를 사용하여 다른 OCG를 할당할 수도 있습니다." + +#: ../../recipes-optional-content.rst:43 876cc7ea11954c498741a87e7e7f2e81 +msgid "To **remove** an OCG from an image, do `doc.set_oc(img_xref, 0)`." +msgstr "이미지에서 OCG를 **제거** 하려면 `doc.set_oc(img_xref, 0)` 를 수행하세요." + +#: ../../recipes-optional-content.rst:45 148754aebd804196a3832628dcd22df6 +msgid "" +"One single OCG can be assigned to multiple PDF objects to control their " +"visibility." +msgstr "단일 OCG를 여러 PDF 객체에 할당하여 표시 여부를 제어할 수 있습니다." + +#: ../../recipes-optional-content.rst:48 654180253edf46a797c215677cb22eba +msgid "How to Define Complex Optional Content Conditions" +msgstr "복잡한 선택적 콘텐츠 조건 정의 방법" + +#: ../../recipes-optional-content.rst:50 be5af920b1f64a559cac7f324ea6f913 +msgid "" +"Sophisticated logical conditions can be established to address complex " +"visibility needs." +msgstr "복잡한 표시 요구사항을 해결하기 위해 정교한 논리 조건을 설정할 수 있습니다." + +#: ../../recipes-optional-content.rst:52 78345b4a7695447a871af9b3d7dc1352 +msgid "" +"For example, you might want to create a multi-language document, so the " +"user may switch between languages as required." +msgstr "예를 들어, 사용자가 필요에 따라 언어를 전환할 수 있도록 다국어 문서를 만들 수 있습니다." + +#: ../../recipes-optional-content.rst:54 2975f48b256e4d7f954291ed0f71b2e4 +msgid "Please have a look at `this Jupyter Notebook`_ and execute it as desired." +msgstr "`이 Jupyter Notebook`_ 을 확인하고 원하는 대로 실행하세요." + +#: ../../recipes-optional-content.rst:56 5a66d6db462b491488acb6e94488a590 +msgid "" +"Certainly, your requirements may even be more complex and involve " +"multiple OCGs with ON/OFF states that are connected by some kind of " +"logical relationship -- but it should give you an impression of what is " +"possible and how to plan your next steps." +msgstr "물론 요구사항이 더 복잡할 수 있으며 논리적 관계로 연결된 여러 ON/OFF 상태의 OCG를 포함할 수 있지만, 가능한 것과 다음 단계를 계획하는 방법에 대한 인상을 제공해야 합니다." + +#: ../../footer.rst:46 348e850342ec47b1a57c9045cb6713c3 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/recipes-stories.mo b/docs/locales/ko/LC_MESSAGES/recipes-stories.mo new file mode 100644 index 000000000..1d755f105 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/recipes-stories.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/recipes-stories.po b/docs/locales/ko/LC_MESSAGES/recipes-stories.po new file mode 100644 index 000000000..4632556df --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/recipes-stories.po @@ -0,0 +1,723 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 b5d193bc1b274d55b812ca653ec68fad +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 2bc267634e2a46b2a13b54c6aadda8c0 +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 1629ae10629c4c9fbbd1776a5b603010 +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-stories.rst:18 8314345d0647437d82e4ab3dfd98d5d1 +msgid "Stories" +msgstr "Stories" + +#: ../../recipes-stories.rst:20 595796cef87c4b7ab7031798c86047a5 +msgid "" +"This document showcases some typical use cases for " +":ref:`Stories`." +msgstr "이 문서는 :ref:`Stories` 의 일반적인 사용 사례를 보여줍니다." + +#: ../../recipes-stories.rst:22 995d0e959c2c43259e09def294ea1759 +msgid "" +"As mentioned in the :ref:`tutorial`, stories may be " +"created using up to three input sources: HTML, CSS and Archives -- all of" +" which are optional and which, respectively, can be provided " +"programmatically." +msgstr ":ref:`튜토리얼` 에서 언급한 대로, 스토리는 최대 세 가지 입력 소스(HTML, CSS 및 Archives)를 사용하여 생성할 수 있습니다. 모두 선택 사항이며 각각 프로그래밍 방식으로 제공할 수 있습니다." + +#: ../../recipes-stories.rst:24 f48c55a3c4bd4c2f81e39c6ed5117f22 +msgid "The following examples will showcase combinations for using these inputs." +msgstr "다음 예제는 이러한 입력을 사용하는 조합을 보여줍니다." + +#: ../../recipes-stories.rst:28 f931abd31c8f473b8a30402b72d2037a +msgid "" +"Many of these recipe's source code are included as examples in the `docs`" +" folder." +msgstr "이러한 레시피의 많은 소스 코드가 `docs` 폴더의 예제로 포함되어 있습니다." + +#: ../../recipes-stories.rst:34 052173f8f2be4dc9938bc267e8d774b8 +msgid "How to Add a Line of Text with Some Formatting" +msgstr "일부 서식이 있는 텍스트 줄 추가 방법" + +#: ../../recipes-stories.rst:36 eeb1b6e720474b3ba8158d228da8e939 +msgid "Here is the inevitable \"Hello World\" example. We will show two variants:" +msgstr "다음은 필수적인 \"Hello World\" 예제입니다. 두 가지 변형을 보여드리겠습니다:" + +#: ../../recipes-stories.rst:38 c71486f3b5194a389a39bbe61b8a3dd8 +msgid "Create using existing HTML source [#f1]_, that may come from anywhere." +msgstr "어디서든 올 수 있는 기존 HTML 소스 [#f1]_를 사용하여 생성합니다." + +#: ../../recipes-stories.rst:39 3477752d744d4d17972620ffab3621ae +msgid "Create using the Python API." +msgstr "Python API를 사용하여 생성합니다." + +#: ../../recipes-stories.rst:43 a4855e116ed84da28c0c7f0adb1ba452 +msgid "" +"Variant using an existing HTML source [#f1]_ -- which in this case is " +"defined as a constant in the script::" +msgstr "기존 HTML 소스 [#f1]_를 사용하는 변형 -- 이 경우 스크립트에서 상수로 정의됩니다::" + +#: ../../recipes-stories.rst:69 54989c4eb624422c9343633c849a172d +msgid "" +"The above effect (sans-serif and blue text) could have been achieved by " +"using a separate CSS source like so::" +msgstr "위의 효과(산세리프 및 파란색 텍스트)는 다음과 같이 별도의 CSS 소스를 사용하여 달성할 수 있었습니다::" + +#: ../../recipes-stories.rst:90 d640d05290e44092bef652b25473bfae +msgid "The Python API variant -- everything is created programmatically::" +msgstr "Python API 변형 -- 모든 것이 프로그래밍 방식으로 생성됩니다::" + +#: ../../recipes-stories.rst:114 8e4d50be827247b7974656d7de688f75 +msgid "Both variants will produce the same output PDF." +msgstr "두 변형 모두 동일한 출력 PDF를 생성합니다." + +#: ../../recipes-stories.rst:122 069e5a16feed4b3ba04b7f545ff25868 +msgid "How to use Images" +msgstr "이미지 사용 방법" + +#: ../../recipes-stories.rst:124 d14be063cc6f47e89f14211f41113abb +msgid "" +"Images can be referenced in the provided HTML source, or the reference to" +" a desired image can also be stored via the Python API. In any case, this" +" requires using an :ref:`Archive`, which refers to the place where the " +"image can be found." +msgstr "" +"이미지는 제공된 HTML 소스에서 참조할 수 있거나, 원하는 이미지에 대한 참조를 Python API를 통해 저장할 수도 " +"있습니다. 어떤 경우든 이미지를 찾을 수 있는 위치를 가리키는 :ref:`Archive` 를 사용해야 합니다." + +#: ../../recipes-stories.rst:126 097753bc282141dc9c12d4462a635a6a +msgid "" +"Images with the binary content embedded in the HTML source are **not " +"supported** by stories." +msgstr "HTML 소스에 바이너리 콘텐츠가 포함된 이미지는 스토리에서 **지원되지 않습니다**." + +#: ../../recipes-stories.rst:128 5325dfa364c947ee83aa589fc95cff1e +msgid "" +"We extend our \"Hello World\" example from above and display an image of " +"our planet right after the text. Assuming the image has the name " +"\"world.jpg\" and is present in the script's folder, then this is the " +"modified version of the above Python API variant::" +msgstr "" +"위의 \"Hello World\" 예제를 확장하여 텍스트 바로 다음에 지구 이미지를 표시합니다. 이미지 이름이 " +"\"world.jpg\"이고 스크립트 폴더에 있다고 가정하면, 다음은 위의 Python API 변형의 수정된 버전입니다::" + +#: ../../recipes-stories.rst:168 615eea37135744afb2f7306c69fcfa53 +msgid "How to Read External HTML and CSS for a Story" +msgstr "스토리를 위한 외부 HTML 및 CSS 읽기 방법" + +#: ../../recipes-stories.rst:170 3e62969f6ef34607a59289d3c5a2b616 +msgid "These cases are fairly straightforward." +msgstr "이러한 경우는 매우 간단합니다." + +#: ../../recipes-stories.rst:172 9e79a62cf0f8448594719c149f421fe4 +msgid "" +"As a general recommendation, HTML and CSS sources should be **read as " +"binary files** and decoded before using them in a story. The Python " +"`pathlib.Path` provides convenient ways to do this::" +msgstr "" +"일반적인 권장 사항으로, HTML 및 CSS 소스는 **바이너리 파일로 읽어서** 스토리에서 사용하기 전에 디코딩해야 합니다. " +"Python `pathlib.Path` 는 이를 수행하는 편리한 방법을 제공합니다::" + +#: ../../recipes-stories.rst:193 424a5680167f4243bfdae2bc11a6a865 +msgid "How to Output Database Content with Story Templates" +msgstr "스토리 템플릿으로 데이터베이스 콘텐츠 출력 방법" + +#: ../../recipes-stories.rst:195 75230534b810462489a2c0543f108196 +msgid "" +"This script demonstrates how to report SQL database content using an " +"**HTML template**." +msgstr "이 스크립트는 **HTML 템플릿** 을 사용하여 SQL 데이터베이스 콘텐츠를 보고하는 방법을 보여줍니다." + +#: ../../recipes-stories.rst:199 573a4db0337c431ba12822e512233a72 +msgid "The example SQL database contains two tables:" +msgstr "예제 SQL 데이터베이스에는 두 개의 테이블이 포함되어 있습니다:" + +#: ../../recipes-stories.rst:201 d12453e5387d4c86aef125b1c917cdc5 +msgid "" +"Table \"films\" contains one row per film with the fields **\"title\"**, " +"**\"director\"** and (release) **\"year\"**." +msgstr "" +"테이블 \"films\" 는 필드 **\"title\"**, **\"director\"** 및 (개봉) **\"year\"** 가 있는 영화당 " +"하나의 행을 포함합니다." + +#: ../../recipes-stories.rst:202 48c7c2781fa04d22ad47bdd68f0e7430 +msgid "" +"Table \"actors\" contains one row per actor and film title (fields " +"(actor) **\"name\"** and (film) **\"title\"**)." +msgstr "" +"테이블 \"actors\" 는 배우 및 영화 제목당 하나의 행을 포함합니다(필드 (actor) **\"name\"** 및 (film) " +"**\"title\"**)." + +#: ../../recipes-stories.rst:204 29aa52738ef94cbfb71a5e58eb4207f9 +msgid "" +"The story DOM consists of a template for one film, which reports film " +"data together with a list of casted actors." +msgstr "스토리 DOM은 하나의 영화에 대한 템플릿으로 구성되며, 영화 데이터와 출연 배우 목록을 함께 보고합니다." + +#: ../../recipes-stories.rst:206 ../../recipes-stories.rst:231 +#: ../../recipes-stories.rst:257 ../../recipes-stories.rst:309 +#: ../../recipes-stories.rst:343 ../../recipes-stories.rst:377 +#: ../../recipes-stories.rst:398 ../../recipes-stories.rst:433 +#: ../../recipes-stories.rst:467 ../../recipes-stories.rst:497 +#: ../../recipes-stories.rst:531 08c1a4e126cb48978f4f6d8d01328a9d +#: 1f86ef58d3744dc6b95fcda088603493 252df0b354254037b866b630e74e2da8 +#: 4e6c2eefb4e04eb1af7f436651caf09b 703c6ee5dcb04da88e0551d3b09617ad +#: 7ab440172c9b492d83a77e8c6b3a5ce3 7e9d0135ecac455194beff5db8e97383 +#: c3d8138b12a64495b66fc448295bdf87 d783b1de9b01428d87a0f12d8bc86213 +#: e6786c9897324e95a0694f81946c35c6 f4a5a290b11645758f555fb83ad91ec4 +msgid "**Files:**" +msgstr "**파일:**" + +#: ../../recipes-stories.rst:208 76f13a564fe44af38d30607e6903e0e8 +msgid "`docs/samples/filmfestival-sql.py`" +msgstr "" + +#: ../../recipes-stories.rst:209 0011f520db504866869f4fc79f37465a +msgid "`docs/samples/filmfestival-sql.db`" +msgstr "" + +#: ../../recipes-stories.rst:212 ../../recipes-stories.rst:235 +#: ../../recipes-stories.rst:263 ../../recipes-stories.rst:316 +#: ../../recipes-stories.rst:347 ../../recipes-stories.rst:360 +#: ../../recipes-stories.rst:381 ../../recipes-stories.rst:402 +#: ../../recipes-stories.rst:437 ../../recipes-stories.rst:471 +#: ../../recipes-stories.rst:501 ../../recipes-stories.rst:535 +#: 1d8920d6cfac4577be9b37a82329452a 278a24defbbf496193211fdfb1c2a54a +#: 40ab396528814a3fac246a5a00c34f65 5723b2a904ba47b9860b557379721ae1 +#: 9707ab332af04a1a9cb72a3ab89fffd3 9ea47fe98a8844ffaf1223a3e33e1bb8 +#: ae83566d84a2413980f2a252c0940048 be88afb45b4948b18b486920f53daf2e +#: c004e3f49ac3466c8c9ef9888157f02d c942e3a7452248f58a5bddc23570027c +#: f3dbc504b00e4947ac703f22b8109786 f8ece455a9d6481eae9b3f6faac7ac53 +msgid "|toggleStart|" +msgstr "" + +#: ../../recipes-stories.rst:216 ../../recipes-stories.rst:239 +#: ../../recipes-stories.rst:267 ../../recipes-stories.rst:320 +#: ../../recipes-stories.rst:351 ../../recipes-stories.rst:364 +#: ../../recipes-stories.rst:385 ../../recipes-stories.rst:406 +#: ../../recipes-stories.rst:441 ../../recipes-stories.rst:475 +#: ../../recipes-stories.rst:505 ../../recipes-stories.rst:539 +#: 092f94a8817948c8abafc3734fcf198b 4a98f729722249cd982f858648efc237 +#: 62d1782a6ea04c2db57ab1ee0ca4fe5f 8ba4cffc6b654792918dc7b1dd969a30 +#: 8c53e41912464fc1be6bbe4c83f4028f 9ddbc2dae3a649e1ba30b92fc174fbe4 +#: caf97ca2ef514514bc825397ac3bf0d9 e3ff13ae3b40495fabcf13c543af9d12 +#: eaf1260e02b949b79eed85f34153be91 ec1850ab1501425c8a0bd816f0817878 +#: ef3d65dc1872490f8de2efc2cc2a90b2 fef63adfa7c341ffbbf5c7407c27a06f +msgid "|toggleEnd|" +msgstr "" + +#: ../../recipes-stories.rst:225 18a13135616545bfad20fd11639e4c84 +msgid "How to Integrate with Existing PDFs" +msgstr "기존 PDF와 통합하는 방법" + +#: ../../recipes-stories.rst:227 f03491738dc64176a90468adac627ab0 +msgid "" +"Because a :ref:`DocumentWriter` can only write to a new file, stories " +"cannot be placed on existing pages. This script demonstrates a " +"circumvention of this restriction." +msgstr "" +":ref:`DocumentWriter` 는 새 파일에만 쓸 수 있으므로 스토리는 기존 페이지에 배치할 수 없습니다. 이 스크립트는 " +"이 제한을 우회하는 방법을 보여줍니다." + +#: ../../recipes-stories.rst:229 96c37297327d48c0bd3a2b2e00278cee +msgid "" +"The basic idea is letting :ref:`DocumentWriter` output to a PDF in " +"memory. Once the story has finished, we re-open this memory PDF and put " +"its pages to desired locations on **existing** pages via method " +":meth:`Page.show_pdf_page`." +msgstr "" +"기본 아이디어는 :ref:`DocumentWriter` 가 메모리의 PDF에 출력하도록 하는 것입니다. 스토리가 완료되면 이 메모리 " +"PDF를 다시 열고 :meth:`Page.show_pdf_page` 메서드를 통해 **기존** 페이지의 원하는 위치에 페이지를 " +"배치합니다." + +#: ../../recipes-stories.rst:233 4f5ee88727ea49c296c840ca51c75e45 +msgid "`docs/samples/showpdf-page.py`" +msgstr "" + +#: ../../recipes-stories.rst:248 563332f15b53462da0c68cde0c1beb09 +msgid "" +"How to Make Multi-Columned Layouts and Access Fonts from Package " +"`pymupdf-fonts`_" +msgstr "다단 레이아웃 만들기 및 패키지 `pymupdf-fonts`_ 에서 폰트 액세스 방법" + +#: ../../recipes-stories.rst:250 c67e2e9e13c4449cb12ec6a84c9d23ea +msgid "" +"This script outputs an article (taken from Wikipedia) that contains text " +"and multiple images and uses a 2-column page layout." +msgstr "이 스크립트는 텍스트와 여러 이미지를 포함하는 기사(Wikipedia에서 가져옴)를 출력하며 2단 페이지 레이아웃을 사용합니다." + +#: ../../recipes-stories.rst:252 e5c809facc4047608e51c439efe8f7a6 +msgid "" +"In addition, two \"Ubuntu\" font families from package `pymupdf-fonts`_ " +"are used instead of defaulting to Base-14 fonts." +msgstr "" +"또한 패키지 `pymupdf-fonts`_ 에서 두 개의 \"Ubuntu\" 폰트 패밀리가 Base-14 폰트를 기본값으로 사용하는 대신 " +"사용됩니다." + +#: ../../recipes-stories.rst:254 710ea657eaed417790c2b2e1408ff46a +msgid "" +"Yet another feature used here is that all data -- the images and the " +"article HTML -- are jointly stored in a ZIP file." +msgstr "여기서 사용되는 또 다른 기능은 모든 데이터(이미지 및 기사 HTML)가 ZIP 파일에 함께 저장된다는 것입니다." + +#: ../../recipes-stories.rst:259 baca45cc5cea40718096fd055c4c6f29 +msgid "`docs/samples/quickfox.py`" +msgstr "" + +#: ../../recipes-stories.rst:260 ../../recipes-stories.rst:313 +#: 279ba9d3da96462d9521b6401f261ffc 79489cda481541c5af08712bcd696dcf +msgid "`docs/samples/quickfox.zip`" +msgstr "" + +#: ../../recipes-stories.rst:276 0f2bd834af8f474bb16581d5edd338b8 +msgid "How to Make a Layout which Wraps Around a Predefined \"no go area\" Layout" +msgstr "사전 정의된 \"금지 영역\" 레이아웃 주위로 감싸는 레이아웃 만들기 방법" + +#: ../../recipes-stories.rst:279 dbd26e7d6a2f4abaa6462e796a1208bb +msgid "" +"This is a demo script using PyMuPDF's Story class to output text as a PDF" +" with a two-column page layout." +msgstr "이것은 |PyMuPDF| 의 Story 클래스를 사용하여 텍스트를 2단 페이지 레이아웃으로 PDF로 출력하는 데모 스크립트입니다." + +#: ../../recipes-stories.rst:282 2eb13f3738a8491b97fe654a99f8ce3a +msgid "The script demonstrates the following features:" +msgstr "스크립트는 다음 기능을 보여줍니다:" + +#: ../../recipes-stories.rst:284 25765b0dd11a43508066ab08e902d66f +msgid "Layout text around images of an existing (\"target\") PDF." +msgstr "기존(\"대상\") PDF의 이미지 주위에 텍스트 레이아웃." + +#: ../../recipes-stories.rst:285 e472244ac7ad455690ffc3c6049d7bc3 +msgid "" +"Based on a few global parameters, areas on each page are identified, that" +" can be used to receive text layouted by a Story." +msgstr "몇 가지 전역 매개변수를 기반으로 각 페이지의 영역이 식별되며, 이 영역은 Story에 의해 레이아웃된 텍스트를 받는 데 사용할 수 있습니다." + +#: ../../recipes-stories.rst:287 51459bb508b34fa1adb8a3b05cb25082 +msgid "" +"These global parameters are not stored anywhere in the target PDF and " +"must therefore be provided in some way:" +msgstr "이러한 전역 매개변수는 대상 PDF의 어디에도 저장되지 않으므로 어떤 방식으로든 제공되어야 합니다:" + +#: ../../recipes-stories.rst:290 9c4f7ed7210f4d129f08fc68b1449c1b +msgid "The width of the border(s) on each page." +msgstr "각 페이지의 테두리 너비." + +#: ../../recipes-stories.rst:291 2adfda4cd7994235b17faaaa456c4645 +msgid "" +"The fontsize to use for text. This value determines whether the provided " +"text will fit in the empty spaces of the (fixed) pages of target PDF. It " +"cannot be predicted in any way. The script ends with an exception if " +"target PDF has not enough pages, and prints a warning message if not all " +"pages receive at least some text. In both cases, the FONTSIZE value can " +"be changed (a float value)." +msgstr "" +"텍스트에 사용할 글꼴 크기. 이 값은 제공된 텍스트가 대상 PDF의 (고정된) 페이지의 빈 공간에 맞는지 여부를 결정합니다. 어떤 " +"방식으로도 예측할 수 없습니다. 대상 PDF에 페이지가 충분하지 않으면 스크립트는 예외로 종료되고, 모든 페이지가 최소한 일부 텍스트를 " +"받지 못하면 경고 메시지를 인쇄합니다. 두 경우 모두 FONTSIZE 값을 변경할 수 있습니다(부동 소수점 값)." + +#: ../../recipes-stories.rst:297 ef8d9dc888f04ea18e29d8deec8eebc7 +msgid "Use of a 2-column page layout for the text." +msgstr "텍스트에 2단 페이지 레이아웃 사용." + +#: ../../recipes-stories.rst:298 0dc84c7986d740dea5c0d99ee3cd5965 +msgid "" +"The layout creates a temporary (memory) PDF. Its produced page content " +"(the text) is used to overlay the corresponding target page. If text " +"requires more pages than are available in target PDF, an exception is " +"raised. If not all target pages receive at least some text, a warning is " +"printed." +msgstr "" +"레이아웃은 임시(메모리) PDF를 생성합니다. 생성된 페이지 콘텐츠(텍스트)는 해당 대상 페이지에 오버레이하는 데 사용됩니다. 텍스트가 " +"대상 PDF에서 사용 가능한 페이지보다 더 많은 페이지를 필요로 하면 예외가 발생합니다. 모든 대상 페이지가 최소한 일부 텍스트를 받지 " +"못하면 경고가 인쇄됩니다." + +#: ../../recipes-stories.rst:302 76e3c6f16fca4501a3d6b09051f5c6fc +msgid "" +"The script reads \"image-no-go.pdf\" in its own folder. This is the " +"\"target\" PDF. It contains 2 pages with each 2 images (from the original" +" article), which are positioned at places that create a broad overall " +"test coverage. Otherwise the pages are empty." +msgstr "" +"스크립트는 자체 폴더에서 \"image-no-go.pdf\" 를 읽습니다. 이것이 \"대상\" PDF입니다. 원본 기사에서 각각 2개의 " +"이미지가 있는 2페이지를 포함하며, 광범위한 전체 테스트 커버리지를 만드는 위치에 배치됩니다. 그렇지 않으면 페이지가 비어 있습니다." + +#: ../../recipes-stories.rst:306 5feb7616d6454982b6c9c0803bed70ec +msgid "" +"The script produces \"quickfox-image-no-go.pdf\" which contains the " +"original pages and image positions, but with the original article text " +"laid out around them." +msgstr "" +"스크립트는 원본 페이지와 이미지 위치를 포함하지만 원본 기사 텍스트가 그 주위에 배치된 \"quickfox-image-no-go.pdf\" " +"를 생성합니다." + +#: ../../recipes-stories.rst:311 2d87632d8f7d4b999f854a81b2e80541 +msgid "`docs/samples/quickfox-image-no-go.py`" +msgstr "" + +#: ../../recipes-stories.rst:312 cab8c8e6552e4a2f88203240822139a2 +msgid "`docs/samples/quickfox-image-no-go.pdf`" +msgstr "" + +#: ../../recipes-stories.rst:329 07ad707123e64f328f43969ff77a58f7 +msgid "How to Output an HTML Table" +msgstr "HTML 테이블 출력 방법" + +#: ../../recipes-stories.rst:331 6cd7587dab1f4b6aa7013a9ab05d5131 +msgid "Outputting HTML tables is supported as follows:" +msgstr "HTML 테이블 출력은 다음과 같이 지원됩니다:" + +#: ../../recipes-stories.rst:333 a094cc112239433e8f1c4e235bd1c1d7 +msgid "" +"Flat table layouts are supported (\"rows x columns\"), no support of the " +"\"colspan\" / \"rowspan\" attributes." +msgstr "평면 테이블 레이아웃(\"행 x 열\")이 지원되며, \"colspan\" / \"rowspan\" 속성은 지원되지 않습니다." + +#: ../../recipes-stories.rst:334 3e3366cef2bc44d29a1f557f36e98bd3 +msgid "" +"Table header tag :htmlTag:`th` supports attribute \"scope\" with values " +"\"row\" or \"col\". Applicable text will be bold by default." +msgstr "" +"테이블 헤더 태그 :htmlTag:`th` 는 값이 \"row\" 또는 \"col\" 인 \"scope\" 속성을 지원합니다. 적용 가능한 " +"텍스트는 기본적으로 굵게 표시됩니다." + +#: ../../recipes-stories.rst:335 533fc1b4bbf248e2b203786ae6c443b7 +msgid "" +"Column widths are computed automatically based on column content. They " +"cannot be directly set." +msgstr "열 너비는 열 콘텐츠를 기반으로 자동으로 계산됩니다. 직접 설정할 수 없습니다." + +#: ../../recipes-stories.rst:336 76c98b7342de4fd38e793274a40bfee5 +msgid "" +"Table **cells may contain images** which will be considered in the column" +" width calculation magic." +msgstr "테이블 **셀에 이미지가 포함될 수 있으며** 열 너비 계산에 고려됩니다." + +#: ../../recipes-stories.rst:337 2444753418ed48efbdaf659f55ebd3d9 +msgid "" +"Row heights are computed automatically based on row content - leading to " +"multi-line rows where needed." +msgstr "행 높이는 행 콘텐츠를 기반으로 자동으로 계산되어 필요한 경우 여러 줄 행이 생성됩니다." + +#: ../../recipes-stories.rst:338 c66ef7c08bce47369611cd47d34761ad +msgid "" +"The potentially multiple lines of a table row will always be kept " +"together on one page (respectively \"where\" rectangle) and not be split." +msgstr "" +"테이블 행의 잠재적으로 여러 줄은 항상 한 페이지(각각 \"where\" 사각형)에 함께 유지되며 분할되지 않습니다." + +#: ../../recipes-stories.rst:339 88f98486ab714f12834b175e3270a938 +msgid "" +"Table header rows are only **shown on the first page / \"where\" " +"rectangle.**" +msgstr "테이블 헤더 행은 **첫 번째 페이지 / \"where\" 사각형에만 표시됩니다.**" + +#: ../../recipes-stories.rst:340 10bdfdc885fb4f9297afc239193cbda7 +msgid "" +"The \"style\" attribute is ignored when given directly in HTML table " +"elements. Styling for a table and its elements must happen separately, in" +" CSS source or within the :htmlTag:`style` tag." +msgstr "" +"\"style\" 속성은 HTML 테이블 요소에 직접 제공될 때 무시됩니다. 테이블과 그 요소의 스타일링은 CSS 소스 또는 " +":htmlTag:`style` 태그 내에서 별도로 수행해야 합니다." + +#: ../../recipes-stories.rst:341 482d5b34b15a4a9c9f4b7ece5d79a9ce +msgid "" +"Styling for :htmlTag:`tr` elements is not supported and ignored. " +"Therefore, a table-wide grid or alternating row background colors are not" +" supported. One of the following example scripts however shows an easy " +"way to deal with this limitation." +msgstr "" +":htmlTag:`tr` 요소의 스타일링은 지원되지 않으며 무시됩니다. 따라서 테이블 전체 그리드 또는 교대로 나타나는 행 배경색은 " +"지원되지 않습니다. 그러나 다음 예제 스크립트 중 하나는 이 제한을 처리하는 쉬운 방법을 보여줍니다." + +#: ../../recipes-stories.rst:345 8345e9575f6844029b2999b8b6fed76f +msgid "`docs/samples/table01.py` This script reflects basic features." +msgstr "`docs/samples/table01.py` 이 스크립트는 기본 기능을 반영합니다." + +#: ../../recipes-stories.rst:353 e5188ccc429743cab9f17635eaab8002 +msgid "" +"`docs/samples/national-capitals.py` Advanced script extending table " +"output options using simple additional code:" +msgstr "`docs/samples/national-capitals.py` 간단한 추가 코드를 사용하여 테이블 출력 옵션을 확장하는 고급 스크립트:" + +#: ../../recipes-stories.rst:355 d786bb83c47a488a86e7603d731dac6b +msgid "Multi-page output simulating **repeating header rows**" +msgstr "**반복되는 헤더 행** 을 시뮬레이션하는 다중 페이지 출력" + +#: ../../recipes-stories.rst:356 64263c3cea7742dcafd285f9c1d9a690 +msgid "Alternating table row background colors" +msgstr "교대로 나타나는 테이블 행 배경색" + +#: ../../recipes-stories.rst:357 291f158657964fed93655aa568365aca +msgid "Table rows and columns delimited by gridlines" +msgstr "격자선으로 구분된 테이블 행과 열" + +#: ../../recipes-stories.rst:358 5f5af232f8f34e9f9f06b6bc48f9b935 +msgid "Table rows dynamically generated / filled with data from an SQL database" +msgstr "SQL 데이터베이스의 데이터로 동적으로 생성/채워진 테이블 행" + +#: ../../recipes-stories.rst:373 8de5b747eeee4c49a2ff9b5f6659192a +msgid "How to Create a Simple Grid Layout" +msgstr "간단한 그리드 레이아웃 만들기 방법" + +#: ../../recipes-stories.rst:375 2f9c6ef2b7224c718c51897ec71e2722 +msgid "" +"By creating a sequence of :ref:`Story` objects within a grid created via " +"the :ref:`make_table` function a developer can " +"create grid layouts as required." +msgstr "" +":ref:`make_table` 함수를 통해 생성된 그리드 내에서 :ref:`Story` 객체의 시퀀스를 " +"만들면 개발자는 필요에 따라 그리드 레이아웃을 만들 수 있습니다." + +#: ../../recipes-stories.rst:379 ef7f8c1036ed43a287e48b4719422ffd +msgid "`docs/samples/simple-grid.py`" +msgstr "" + +#: ../../recipes-stories.rst:394 d33c94d00852413d800e1a8cc6dce372 +msgid "How to Generate a Table of Contents" +msgstr "목차 생성 방법" + +#: ../../recipes-stories.rst:396 30c4a1111f18493d8276608dbce4e4cb +msgid "" +"This script lists the source code of all Python scripts that live in the " +"script's directory." +msgstr "이 스크립트는 스크립트 디렉토리에 있는 모든 Python 스크립트의 소스 코드를 나열합니다." + +#: ../../recipes-stories.rst:400 2b3106d169114915b35cfabdb62e4820 +msgid "`docs/samples/code-printer.py`" +msgstr "" + +#: ../../recipes-stories.rst:409 b512515de19446c1b6c1d11c09f1d286 +msgid "It features the following capabilities:" +msgstr "다음 기능을 제공합니다:" + +#: ../../recipes-stories.rst:411 d8bc94329c9d42799b70240e483a9535 +msgid "" +"Automatic generation of a Table of Contents (TOC) on separately numbered " +"pages at the start of the document - using a specialized :ref:`Story`." +msgstr "" +"문서 시작 부분에 별도로 번호가 매겨진 페이지에 목차(TOC) 자동 생성 - 특수화된 :ref:`Story` 를 사용합니다." + +#: ../../recipes-stories.rst:413 1b625819dde2421ca9d1f8556c5b03cd +msgid "" +"Use of 3 separate :ref:`Story` objects per page: header story, footer " +"story and the story for printing the Python sources." +msgstr "" +"페이지당 3개의 별도 :ref:`Story` 객체 사용: 헤더 스토리, 푸터 스토리 및 Python 소스 인쇄용 스토리." + +#: ../../recipes-stories.rst:415 ba47006f7ad743bab33a577e74e7dac7 +msgid "" +"The page **footer is automatically changed** to show the name of the " +"current Python file." +msgstr "페이지 **푸터가 자동으로 변경되어** 현재 Python 파일 이름을 표시합니다." + +#: ../../recipes-stories.rst:417 3723e3ea0ce3414c99483f90f6315678 +msgid "" +"Use of :meth:`Story.element_positions` to collect the data for the TOC " +"and for the dynamic adjustment of page footers. This is an example of a " +"**bidirectional communication** between the story output process and the " +"script." +msgstr "" +":meth:`Story.element_positions` 를 사용하여 TOC 데이터를 수집하고 페이지 푸터를 동적으로 조정합니다. 이것은 " +"스토리 출력 프로세스와 스크립트 간의 **양방향 통신** 예제입니다." + +#: ../../recipes-stories.rst:419 5d56f451e2e44b589a69c8d6faa0dc16 +msgid "" +"The main PDF with the Python sources is being written to memory by its " +":ref:`DocumentWriter`. Another :ref:`Story` / :ref:`DocumentWriter` pair " +"is then used to create a (memory) PDF for the TOC pages. Finally, both " +"these PDFs are joined and the result stored to disk." +msgstr "" +"Python 소스가 포함된 메인 PDF는 :ref:`DocumentWriter` 에 의해 메모리에 기록됩니다. 그런 다음 다른 " +":ref:`Story` / :ref:`DocumentWriter` 쌍을 사용하여 TOC 페이지용 (메모리) PDF를 만듭니다. 마지막으로 " +"이 두 PDF가 결합되어 결과가 디스크에 저장됩니다." + +#: ../../recipes-stories.rst:428 3e0fa770cc3b415fa27affd8b6659042 +msgid "How to Display a List from JSON Data" +msgstr "JSON 데이터에서 목록 표시 방법" + +#: ../../recipes-stories.rst:430 fc54ff1f63294ae3880c28ae96b73d3d +msgid "" +"This example takes some JSON data input which it uses to populate a " +":ref:`Story`. It also contains some visual text formatting and shows how " +"to add links." +msgstr "" +"이 예제는 :ref:`Story` 를 채우는 데 사용하는 일부 JSON 데이터 입력을 가져옵니다. 또한 일부 시각적 텍스트 서식이 " +"포함되어 있으며 링크를 추가하는 방법을 보여줍니다." + +#: ../../recipes-stories.rst:435 96d6b1d5632348d8a2d1a067ea7b5e30 +msgid "`docs/samples/json-example.py`" +msgstr "" + +#: ../../recipes-stories.rst:451 d389b54283c647c2aa18c6cac96e2679 +msgid "Using the Alternative :meth:`Story.write*()` functions" +msgstr "대체 :meth:`Story.write*()` 함수 사용" + +#: ../../recipes-stories.rst:453 97c0d297b7de4f52be883dd1fe9ec6da +msgid "" +"The :meth:`Story.write*()` functions provide a different way to use the " +":ref:`Story` functionality, removing the need for calling code to " +"implement a loop that calls :meth:`Story.place()` and " +":meth:`Story.draw()` etc, at the expense of having to provide at least a " +"`rectfn()` callback." +msgstr "" +":meth:`Story.write*()` 함수는 :ref:`Story` 기능을 사용하는 다른 방법을 제공하여 호출 코드가 " +":meth:`Story.place()` 및 :meth:`Story.draw()` 등을 호출하는 루프를 구현할 필요를 제거하지만, 최소한 " +"`rectfn()` 콜백을 제공해야 합니다." + +#: ../../recipes-stories.rst:462 c5a3507786364d729ce97e31af0be224 +msgid "How to do Basic Layout with :meth:`Story.write()`" +msgstr ":meth:`Story.write()` 로 기본 레이아웃 수행 방법" + +#: ../../recipes-stories.rst:464 d1aac41eb76d486c8b6ef2a9bf8c1862 +msgid "" +"This script lays out multiple copies of its own source code, into four " +"rectangles per page." +msgstr "이 스크립트는 자체 소스 코드의 여러 복사본을 페이지당 4개의 사각형으로 배치합니다." + +#: ../../recipes-stories.rst:469 0af6a8efdd4b4f829b827d3fdfe7b1a0 +msgid "`docs/samples/story-write.py`" +msgstr "" + +#: ../../recipes-stories.rst:484 022633dfece24abd830b877bb6eb3083 +msgid "" +"How to do Iterative Layout for a Table of Contents with " +":meth:`Story.write_stabilized()`" +msgstr ":meth:`Story.write_stabilized()` 로 목차 반복 레이아웃 수행 방법" + +#: ../../recipes-stories.rst:486 cc0bf853cf404c9bbebe6a560eb9c1d7 +msgid "" +"This script creates html content dynamically, adding a contents section " +"based on :ref:`ElementPosition` items that have non-zero `.heading` " +"values." +msgstr "" +"이 스크립트는 HTML 콘텐츠를 동적으로 생성하며, 0이 아닌 `.heading` 값을 가진 :ref:`ElementPosition` 항목을 " +"기반으로 목차 섹션을 추가합니다." + +#: ../../recipes-stories.rst:489 99707707c94744dda5a7c265feb53666 +msgid "" +"The contents section is at the start of the document, so modifications to" +" the contents can change page numbers in the rest of the document, which " +"in turn can cause page numbers in the contents section to be incorrect." +msgstr "" +"목차 섹션은 문서 시작 부분에 있으므로 목차에 대한 수정은 문서의 나머지 부분의 페이지 번호를 변경할 수 있으며, 이로 인해 목차 " +"섹션의 페이지 번호가 잘못될 수 있습니다." + +#: ../../recipes-stories.rst:493 641abbf30eac459daee550983498c0d2 +msgid "" +"So the script uses :meth:`Story.write_stabilized()` to repeatedly lay " +"things out until things are stable." +msgstr "따라서 스크립트는 :meth:`Story.write_stabilized()` 를 사용하여 안정화될 때까지 반복적으로 레이아웃을 수행합니다." + +#: ../../recipes-stories.rst:499 3be99332904c4113a7541cd214abf180 +msgid "`docs/samples/story-write-stabilized.py`" +msgstr "" + +#: ../../recipes-stories.rst:514 524e644a3c994d5aa854cd8bddbe82d5 +msgid "" +"How to do Iterative Layout and Create PDF Links with " +":meth:`Story.write_stabilized_links()`" +msgstr ":meth:`Story.write_stabilized_links()` 로 반복 레이아웃 및 PDF 링크 생성 방법" + +#: ../../recipes-stories.rst:516 ddff6a045e8d43fca2d9144a4d8433a4 +msgid "" +"This script is similar to the one described in \"How to use " +":meth:`Story.write_stabilized()`\" above, except that the generated PDF " +"also contains links that correspond to the internal links in the original" +" html." +msgstr "" +"이 스크립트는 위의 \":meth:`Story.write_stabilized()` 사용 방법\"에서 설명한 것과 유사하지만, 생성된 PDF에 " +"원본 HTML의 내부 링크에 해당하는 링크도 포함됩니다." + +#: ../../recipes-stories.rst:520 b9678b083c9c4ba788c436e3d5e8c3fb +msgid "" +"This is done by using :meth:`Story.write_stabilized_links()`; this is " +"slightly different from :meth:`Story.write_stabilized()`:" +msgstr "" +"이것은 :meth:`Story.write_stabilized_links()` 를 사용하여 수행됩니다. 이것은 " +":meth:`Story.write_stabilized()` 와 약간 다릅니다:" + +#: ../../recipes-stories.rst:523 31f9c57387284c839d1085d91cb625b2 +msgid "It does not take a :ref:`DocumentWriter` `writer` arg." +msgstr ":ref:`DocumentWriter` `writer` 인수를 사용하지 않습니다." + +#: ../../recipes-stories.rst:524 9c7bd5e90df443cdbe61b132c03467b2 +msgid "It returns a PDF :ref:`Document` instance." +msgstr "PDF :ref:`Document` 인스턴스를 반환합니다." + +#: ../../recipes-stories.rst:526 d8ba37b0defe4b7eb40aa17b6e2d8356 +msgid "" +"[The reasons for this are a little involved; for example a " +":ref:`DocumentWriter` is not necessarily a PDF writer, so doesn't really " +"work in a PDF-specific API.]" +msgstr "" +"[이에 대한 이유는 약간 복잡합니다. 예를 들어 :ref:`DocumentWriter` 는 반드시 PDF 작성자가 아니므로 PDF 전용 " +"API에서는 실제로 작동하지 않습니다.]" + +#: ../../recipes-stories.rst:533 bdb356f1c6e6499c9a9ed3fa8c0d6721 +msgid "`docs/samples/story-write-stabilized-links.py`" +msgstr "" + +#: ../../recipes-stories.rst:547 9b7cb4775a4e44f2881def8ce1ca8369 +msgid "Footnotes" +msgstr "각주" + +#: ../../recipes-stories.rst:548 9c133ed7af7a4415b60b9ed96ac04830 +msgid "HTML & CSS support" +msgstr "HTML 및 CSS 지원" + +#: ../../recipes-stories.rst:552 b1da3ee4c5a3436a8a6b46802918e564 +msgid "" +"At the time of writing the HTML engine for Stories is fairly basic and " +"supports a subset of CSS2 attributes." +msgstr "작성 시점에서 Stories의 HTML 엔진은 상당히 기본적이며 CSS2 속성의 하위 집합을 지원합니다." + +#: ../../recipes-stories.rst:554 01ac3d98abae4349b9b5c28d6a74755e +msgid "Some important CSS support to consider:" +msgstr "고려해야 할 중요한 CSS 지원:" + +#: ../../recipes-stories.rst:556 b91cde3adf67437fb80037c56700f274 +msgid "The only available layout is relative layout." +msgstr "사용 가능한 유일한 레이아웃은 상대 레이아웃입니다." + +#: ../../recipes-stories.rst:557 e4be54e31399436792c52c7fda0353d1 +msgid "`background` is unavailable, use `background-color` instead." +msgstr "`background` 는 사용할 수 없으며, 대신 `background-color` 를 사용하세요." + +#: ../../recipes-stories.rst:558 2e7a1ffef1e64856a8bac73062d1051f +msgid "`float` is unavailable." +msgstr "`float` 는 사용할 수 없습니다." + +#: ../../footer.rst:46 e3f4dcf0211e47ab91f9299fb7f43fd1 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/recipes-text.mo b/docs/locales/ko/LC_MESSAGES/recipes-text.mo new file mode 100644 index 000000000..6d6f01d38 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/recipes-text.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/recipes-text.po b/docs/locales/ko/LC_MESSAGES/recipes-text.po new file mode 100644 index 000000000..c8dfe6e96 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/recipes-text.po @@ -0,0 +1,810 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 aacd92b247384bf48857a075d285a561 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 dbeb3e790165465a99d5c54f8c3d8ead +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 c0909ea966bf494c8da17ef86ca44a3b +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-text.rst:7 05ae1dd8d9f44a9481a79f9e3b1d86d7 +msgid "Text" +msgstr "Text" + +#: ../../recipes-text.rst:13 7caab8ee2fd2466083df37b5e33d293a +msgid "How to Extract all Document Text" +msgstr "모든 문서 텍스트 추출 방법" + +#: ../../recipes-text.rst:15 8c1e407daf5546229fd685147c64ce69 +msgid "" +"This script will take a document filename and generate a text file from " +"all of its text." +msgstr "이 스크립트는 문서 파일 이름을 받아 모든 텍스트에서 텍스트 파일을 생성합니다." + +#: ../../recipes-text.rst:17 32ad66847ecb4784aabbcd72e5132bcc +msgid "The document can be any :ref:`supported type`." +msgstr "문서는 :ref:`지원되는 모든 타입` 일 수 있습니다." + +#: ../../recipes-text.rst:19 81db58eeb7da49e8ac352d7290a9895b +msgid "" +"The script works as a command line tool which expects the document " +"filename supplied as a parameter. It generates one text file named " +"\"filename.txt\" in the script directory. Text of pages is separated by a" +" form feed character::" +msgstr "스크립트는 매개변수로 제공된 문서 파일 이름을 기대하는 명령줄 도구로 작동합니다. 스크립트 디렉토리에 \"filename.txt\"라는 하나의 텍스트 파일을 생성합니다. 페이지의 텍스트는 폼 피드 문자로 구분됩니다::" + +#: ../../recipes-text.rst:28 34acce45dea14d438a205400310b647d +msgid "" +"The output will be plain text as it is coded in the document. No effort " +"is made to prettify in any way. Specifically for PDF, this may mean " +"output not in usual reading order, unexpected line breaks and so forth." +msgstr "출력은 문서에 코딩된 대로 일반 텍스트입니다. 어떤 방식으로도 예쁘게 만들려는 시도는 없습니다. 특히 PDF의 경우, 이것은 일반적인 읽기 순서가 아닌 출력, 예상치 못한 줄바꿈 등을 의미할 수 있습니다." + +#: ../../recipes-text.rst:30 d85615155c024325ba277a5ca1e1ccc0 +msgid "" +"You have many options to rectify this -- see chapter :ref:`Appendix2`. " +"Among them are:" +msgstr "이를 수정하는 많은 옵션이 있습니다 -- :ref:`Appendix2` 장을 참조하세요. 그 중에는 다음이 있습니다:" + +#: ../../recipes-text.rst:32 9f7a0c712a724bcb8f46594a0696a485 +msgid "" +"Extract text in HTML format and store it as a HTML document, so it can be" +" viewed in any browser." +msgstr "HTML 형식으로 텍스트를 추출하고 HTML 문서로 저장하여 모든 브라우저에서 볼 수 있도록 합니다." + +#: ../../recipes-text.rst:33 14d8db3ab4354b208d1b10a44164247a +msgid "" +"Extract text as a list of text blocks via *Page.get_text(\"blocks\")*. " +"Each item of this list contains position information for its text, which " +"can be used to establish a convenient reading order." +msgstr "*Page.get_text(\"blocks\")* 를 통해 텍스트 블록 목록으로 텍스트를 추출합니다. 이 목록의 각 항목은 텍스트에 대한 위치 정보를 포함하며, 이를 사용하여 편리한 읽기 순서를 설정할 수 있습니다." + +#: ../../recipes-text.rst:34 a737dbb5f0df4394b85c682d11c5fbc7 +msgid "" +"Extract a list of single words via *Page.get_text(\"words\")*. Its items " +"are words with position information. Use it to determine text contained " +"in a given rectangle -- see next section." +msgstr "*Page.get_text(\"words\")* 를 통해 단일 단어 목록을 추출합니다. 항목은 위치 정보가 있는 단어입니다. 주어진 사각형에 포함된 텍스트를 확인하는 데 사용하세요 -- 다음 섹션을 참조하세요." + +#: ../../recipes-text.rst:36 1eecb5d77eb545a89b29bbbe32c68b52 +msgid "See the following two sections for examples and further explanations." +msgstr "예제 및 추가 설명은 다음 두 섹션을 참조하세요." + +#: ../../recipes-text.rst:44 5d550fa30f214c0ab6daaa5da9d1d56b +msgid "How to Extract Text as Markdown" +msgstr "Markdown 형식으로 텍스트 추출 방법" + +#: ../../recipes-text.rst:46 3a0e63deebbf4416a1fea6b96c24774a +msgid "" +"This is especially useful for :title:`RAG/LLM` environments - please see " +":ref:`Outputting as Markdown `." +msgstr "" +"이는 특히 :title:`RAG/LLM` 환경에 유용합니다 - :ref:`Outputting as Markdown " +"` 를 참조하세요." + +#: ../../recipes-text.rst:52 76343110228443c691bf59b95ab056c9 +msgid "How to Extract Key-Value Pairs from a Page" +msgstr "페이지에서 키-값 쌍 추출 방법" + +#: ../../recipes-text.rst:53 34f319f64a034da383333b8c516bb6fc +msgid "" +"If the layout of a page is *\"predictable\"* in some sense, then there is" +" a simple way to find the values for a given set of keywords fast and " +"easily -- without using regular expressions. Please see `this example " +"script `_." +msgstr "" +"페이지 레이아웃이 어느 정도 *\"예측 가능한\"* 경우, 정규 표현식을 사용하지 않고도 특정 키워드 집합에 대한 값을 빠르고 쉽게 찾는 간단한 방법이 있습니다. `이 예제 스크립트 " +"`_ 를 참조하세요." + +#: ../../recipes-text.rst:55 0b02d215083344e3bafc3ec057536e9f +msgid "\"Predictable\" in this context means:" +msgstr "여기서 \"예측 가능한\" 이란 다음을 의미합니다:" + +#: ../../recipes-text.rst:57 312afbe84baa4bdf84138e6f35377145 +msgid "" +"Every keyword is followed by its value -- no other text is present in " +"between them." +msgstr "각 키워드 뒤에는 그 값이 이어집니다 -- 그 사이에 다른 텍스트는 없습니다." + +#: ../../recipes-text.rst:58 fd6c255cc6164834b85534e21a47f8c3 +msgid "" +"The bottom of the value's boundary box is **not above** the one of the " +"keyword." +msgstr "값의 경계 상자 하단이 키워드의 경계 상자보다 **위에 있지 않습니다**." + +#: ../../recipes-text.rst:59 3a28328449d0465298d40e600034845d +msgid "" +"There are **no other restrictions**: the page layout may or may not be " +"fixed, and the text may also have been stored as one string. Key and " +"value may have any distance from each other." +msgstr "" +"**다른 제한은 없습니다**: 페이지 레이아웃이 고정되어 있을 수도 있고 아닐 수도 있으며, 텍스트가 하나의 문자열로 저장되었을 수도 있습니다. 키와 값은 서로 어떤 거리든 가질 수 있습니다." + +#: ../../recipes-text.rst:61 d4fc0262f0d74fcd8ab3810ea67fcabd +msgid "" +"For example, the following five key-value pairs will be correctly " +"identified::" +msgstr "예를 들어, 다음 다섯 개의 키-값 쌍이 올바르게 식별됩니다::" + +#: ../../recipes-text.rst:77 193e5336ec2f43b2a832b43d6a58d308 +msgid "How to Extract Text from within a Rectangle" +msgstr "사각형 내부에서 텍스트 추출 방법" + +#: ../../recipes-text.rst:78 4c4438f1bc044009b24645d65ce8ab60 +msgid "" +"There is now (v1.18.0) more than one way to achieve this. We therefore " +"have created a `folder `_ in the PyMuPDF-Utilities " +"repository specifically dealing with this topic." +msgstr "" +"이제 (v1.18.0) 이를 달성하는 방법이 여러 가지 있습니다. 따라서 이 주제를 다루는 `폴더 " +"`_ 를 " +"PyMuPDF-Utilities 저장소에 만들었습니다." + +#: ../../recipes-text.rst:88 742b2388b2764f87a7e62ef6bfa73dd6 +msgid "How to Extract Text in Natural Reading Order" +msgstr "자연스러운 읽기 순서로 텍스트 추출 방법" + +#: ../../recipes-text.rst:90 0e8c0fee0d084b9883b573ad87009d6e +msgid "" +"One of the common issues with PDF text extraction is, that text may not " +"appear in any particular reading order." +msgstr "PDF 텍스트 추출의 일반적인 문제 중 하나는 텍스트가 특정 읽기 순서로 나타나지 않을 수 있다는 것입니다." + +#: ../../recipes-text.rst:92 371d80a5d01448afa0dd235c5b575b74 +msgid "" +"This is the responsibility of the PDF creator (software or a human). For " +"example, page headers may have been inserted in a separate step -- after " +"the document had been produced. In such a case, the header text will " +"appear at the end of a page text extraction (although it will be " +"correctly shown by PDF viewer software). For example, the following " +"snippet will add some header and footer lines to an existing PDF::" +msgstr "" +"이는 PDF 생성자(소프트웨어 또는 사람)의 책임입니다. 예를 들어, 페이지 헤더는 문서가 생성된 후 별도의 단계에서 삽입되었을 수 있습니다. " +"이 경우 헤더 텍스트는 페이지 텍스트 추출의 끝에 나타납니다(하지만 PDF 뷰어 소프트웨어에서는 올바르게 표시됩니다). 예를 들어, 다음 스니펫은 기존 " +"PDF에 일부 헤더 및 푸터 줄을 추가합니다::" + +#: ../../recipes-text.rst:104 4e580c24666243d38d3b31b8c81cd144 +msgid "" +"The text sequence extracted from a page modified in this way will look " +"like this:" +msgstr "이런 방식으로 수정된 페이지에서 추출된 텍스트 시퀀스는 다음과 같습니다:" + +#: ../../recipes-text.rst:106 0dc07ee4abb14a8591e99d17d219a66e +msgid "original text" +msgstr "원본 텍스트" + +#: ../../recipes-text.rst:107 a16785675c2e42889b217e4366030fc0 +msgid "header line" +msgstr "헤더 줄" + +#: ../../recipes-text.rst:108 799554ad7a954b8f9f8b0a65b45eb2ef +msgid "footer line" +msgstr "푸터 줄" + +#: ../../recipes-text.rst:110 6dfbb78929994320a0792e1e879361b4 +msgid "" +"PyMuPDF has several means to re-establish some reading sequence or even " +"to re-generate a layout close to the original:" +msgstr "PyMuPDF는 읽기 순서를 재구성하거나 원본에 가까운 레이아웃을 재생성하는 여러 가지 방법을 제공합니다:" + +#: ../../recipes-text.rst:112 3c8a07a9513e4d6faa6519684db819d5 +msgid "" +"Use `sort` parameter of :meth:`Page.get_text`. It will sort the output " +"from top-left to bottom-right (ignored for XHTML, HTML and XML output)." +msgstr "" +":meth:`Page.get_text` 의 `sort` 매개변수를 사용하세요. 출력을 왼쪽 위에서 오른쪽 아래로 정렬합니다 (XHTML, " +"HTML 및 XML 출력에는 무시됨)." + +#: ../../recipes-text.rst:113 ec3f668329044785b2d980019e4279e2 +msgid "" +"Use the `pymupdf` module in CLI: `python -m pymupdf gettext ...`, which " +"produces a text file where text has been re-arranged in layout-preserving" +" mode. Many options are available to control the output." +msgstr "" +"CLI에서 `pymupdf` 모듈을 사용하세요: `python -m pymupdf gettext ...`, 이는 레이아웃을 보존하는 모드로 " +"텍스트가 재배열된 텍스트 파일을 생성합니다. 출력을 제어하는 많은 옵션이 있습니다." + +#: ../../recipes-text.rst:115 e9acdb536bca4568ad8b4d1ec10d61ea +msgid "" +"You can also use the above mentioned `script " +"`_ with your modifications." +msgstr "" +"위에서 언급한 `스크립트 `_ 를 수정하여 사용할 수도 있습니다." + +#: ../../recipes-text.rst:122 e855c66968e14c8292b797d093cd0b65 +msgid "" +"How to :index:`Extract Table Content ` from " +"Documents" +msgstr "문서에서 :index:`테이블 내용 추출 ` 방법" + +#: ../../recipes-text.rst:123 44f6d95fd2764808af666701bb7f19a0 +msgid "" +"If you see a table in a document, you are normally not looking at " +"something like an embedded Excel or other identifiable object. It usually" +" is just normal, standard text, formatted to appear as tabular data." +msgstr "" +"문서에서 테이블을 볼 때, 일반적으로 Excel 같은 임베드된 객체나 다른 식별 가능한 객체를 보는 것이 아닙니다. 보통은 표 형식 데이터로 " +"보이도록 포맷된 일반적인 표준 텍스트일 뿐입니다." + +#: ../../recipes-text.rst:125 d16f360542d940e5a852c0aa8564e344 +msgid "" +"Extracting tabular data from such a page area therefore means that you " +"must find a way to **identify** the table area (i.e. its boundary box), " +"then **(1)** graphically indicate table and column borders, and **(2)** " +"then extract text based on this information." +msgstr "" +"따라서 이러한 페이지 영역에서 표 형식 데이터를 추출하려면 테이블 영역(즉, 경계 상자)을 **식별** 하는 방법을 찾은 다음 **(1)** " +"테이블 및 열 경계를 그래픽으로 표시하고 **(2)** 이 정보를 기반으로 텍스트를 추출해야 합니다." + +#: ../../recipes-text.rst:127 a113658ef8c641279d0583854610b700 +msgid "" +"This can be a very complex task, depending on details like the presence " +"or absence of lines, rectangles or other supporting vector graphics." +msgstr "" +"이는 선, 사각형 또는 기타 지원 벡터 그래픽의 존재 여부와 같은 세부 사항에 따라 매우 복잡한 작업이 될 수 있습니다." + +#: ../../recipes-text.rst:129 591bba39c0464acda49f9fc542563e38 +msgid "" +"Method :meth:`Page.find_tables` does all that for you, with a high table " +"detection precision. Its great advantage is that there are no external " +"library dependencies, nor the need to employ artificial intelligence or " +"machine learning technologies. It also provides an integrated interface " +"to the well-known Python package for data analysis `pandas " +"`_." +msgstr "" +":meth:`Page.find_tables` 메서드는 높은 테이블 감지 정밀도로 모든 작업을 수행합니다. 큰 장점은 외부 라이브러리 의존성이 없고 " +"인공 지능이나 머신 러닝 기술을 사용할 필요가 없다는 것입니다. 또한 데이터 분석을 위한 잘 알려진 Python 패키지 `pandas " +"`_ 에 대한 통합 인터페이스를 제공합니다." + +#: ../../recipes-text.rst:131 0ec9741148044d23b6fe82ee829207a2 +msgid "" +"Please have a look at example `Jupyter notebooks " +"`_, which cover standard situations like multiple tables on one " +"page or joining table fragments across multiple pages." +msgstr "" +"한 페이지에 여러 테이블이 있거나 여러 페이지에 걸친 테이블 조각을 결합하는 것과 같은 표준 상황을 다루는 예제 `Jupyter 노트북 " +"`_ " +"를 살펴보세요." + +#: ../../recipes-text.rst:138 b1f926e82a76494a9f56c7876863ca93 +msgid "How to Mark Extracted Text" +msgstr "추출된 텍스트 표시 방법" + +#: ../../recipes-text.rst:139 1e973eca86874445943029692b1f158c +msgid "" +"There is a standard search function to search for arbitrary text on a " +"page: :meth:`Page.search_for`. It returns a list of :ref:`Rect` objects " +"which surround a found occurrence. These rectangles can for example be " +"used to automatically insert annotations which visibly mark the found " +"text." +msgstr "" +"페이지에서 임의의 텍스트를 검색하는 표준 검색 함수가 있습니다: :meth:`Page.search_for`. 발견된 항목을 둘러싸는 " +":ref:`Rect` 객체 목록을 반환합니다. 이러한 사각형은 예를 들어 발견된 텍스트를 시각적으로 표시하는 주석을 자동으로 삽입하는 데 사용할 수 있습니다." + +#: ../../recipes-text.rst:141 dc031cd749464364bf765bac0417b4b0 +msgid "This method has advantages and drawbacks. Pros are:" +msgstr "이 방법에는 장점과 단점이 있습니다. 장점은 다음과 같습니다:" + +#: ../../recipes-text.rst:143 86833cccc89c42c3895307b65c1b8961 +msgid "The search string can contain blanks and wrap across lines" +msgstr "검색 문자열은 공백을 포함할 수 있고 여러 줄에 걸칠 수 있습니다" + +#: ../../recipes-text.rst:144 fbcd0df95b764ad0a6fc7a6e5cf28042 +msgid "Upper or lower case characters are treated equal" +msgstr "대문자 또는 소문자 문자가 동일하게 처리됩니다" + +#: ../../recipes-text.rst:145 5c86c01b36574cb1ac96a3d8134e20f7 +msgid "Word hyphenation at line ends is detected and resolved" +msgstr "줄 끝의 단어 하이픈 연결이 감지되고 해결됩니다" + +#: ../../recipes-text.rst:146 3c530d96cd524a0f93975a14b9e1802b +msgid "" +"Return may also be a list of :ref:`Quad` objects to precisely locate text" +" that is **not parallel** to either axis -- using :ref:`Quad` output is " +"also recommended, when page rotation is not zero." +msgstr "" +"반환값은 어느 축에도 **평행하지 않은** 텍스트를 정확히 찾기 위한 :ref:`Quad` 객체 목록일 수도 있습니다 -- 페이지 회전이 " +"0이 아닐 때는 :ref:`Quad` 출력 사용을 권장합니다." + +#: ../../recipes-text.rst:148 d23bafdfe40a49d6bf4bb9a1b76b0938 +msgid "But you also have other options::" +msgstr "하지만 다른 옵션도 있습니다::" + +#: ../../recipes-text.rst:182 80855b0c68a2478481c53a15e79cac96 +msgid "" +"This script uses `Page.get_text(\"words\")` to look for a string, handed " +"in via cli parameter. This method separates a page's text into \"words\" " +"using white spaces as delimiters. Further remarks:" +msgstr "" +"이 스크립트는 CLI 매개변수를 통해 전달된 문자열을 찾기 위해 `Page.get_text(\"words\")` 를 사용합니다. 이 방법은 " +"페이지의 텍스트를 공백을 구분자로 사용하여 \"단어\"로 분리합니다. 추가 설명:" + +#: ../../recipes-text.rst:184 1de65ffefd864dd3aba7fd7e18895779 +msgid "" +"If found, the **complete word containing the string** is marked " +"(underlined) -- not only the search string." +msgstr "발견되면, 검색 문자열뿐만 아니라 **문자열을 포함하는 전체 단어** 가 표시됩니다(밑줄)." + +#: ../../recipes-text.rst:185 2b3e71fdbd4147a499e2a703e50786fd +msgid "" +"The search string may **not contain word delimiters**. By default, word " +"delimiters are white spaces and the non-breaking space `chr(0xA0)`. If " +"you use extra delimiting characters like `page.get_text(\"words\", " +"delimiters=\"./,\")` then none of these characters should be included in " +"your search string either." +msgstr "" +"검색 문자열에는 **단어 구분자를 포함할 수 없습니다**. 기본적으로 단어 구분자는 공백과 줄바꿈 없는 공백 `chr(0xA0)` " +"입니다. `page.get_text(\"words\", delimiters=\"./,\")` 와 같이 추가 구분 문자를 사용하는 경우, 이러한 " +"문자 중 어느 것도 검색 문자열에 포함되어서는 안 됩니다." + +#: ../../recipes-text.rst:186 adbf6633cd5e4ad488040e4cc264ca3c +msgid "" +"As shown here, upper / lower cases are **respected**. But this can be " +"changed by using the string method *lower()* (or even regular " +"expressions) in function *mark_word*." +msgstr "" +"여기서 보여주듯이, 대문자/소문자가 **구분됩니다**. 하지만 *mark_word* 함수에서 문자열 메서드 *lower()* (또는 정규 " +"표현식)를 사용하여 이를 변경할 수 있습니다." + +#: ../../recipes-text.rst:187 96993cd9b8a9474da6785f2edc5b39a5 +msgid "There is **no upper limit**: all occurrences will be detected." +msgstr "**상한이 없습니다**: 모든 항목이 감지됩니다." + +#: ../../recipes-text.rst:188 0e9d7915b8cc4de6861f917e3f3412e6 +msgid "" +"You can use **anything** to mark the word: 'Underline', 'Highlight', " +"'StrikeThrough' or 'Square' annotations, etc." +msgstr "" +"단어를 표시하는 데 **어떤 것** 이든 사용할 수 있습니다: 'Underline', 'Highlight', 'StrikeThrough' 또는 " +"'Square' 주석 등." + +#: ../../recipes-text.rst:189 d0f23f19d8d74f58b65405672d5ef654 +msgid "" +"Here is an example snippet of a page of this manual, where \"MuPDF\" has " +"been used as the search string. Note that all strings **containing " +"\"MuPDF\"** have been completely underlined (not just the search string)." +msgstr "" +"이 매뉴얼 페이지의 예제 스니펫입니다. \"MuPDF\" 가 검색 문자열로 사용되었습니다. **\"MuPDF\"를 포함하는** 모든 문자열이 " +"완전히 밑줄 처리되었습니다(검색 문자열뿐만 아니라)." + +#: ../../recipes-text.rst:200 e7ff4483e8b34bd3b6aa194e55963507 +msgid "How to Mark Searched Text" +msgstr "검색된 텍스트 표시 방법" + +#: ../../recipes-text.rst:204 7c7b2708f7d045ebb7a03223d6f8ea9d +msgid "This script searches for text and marks it::" +msgstr "이 스크립트는 텍스트를 검색하고 표시합니다::" + +#: ../../recipes-text.rst:230 e211931535cf4266a427d5b731c8a73e +msgid "The result looks like this:" +msgstr "결과는 다음과 같습니다:" + +#: ../../recipes-text.rst:241 9c36d575753f422cbdc4614a787057ab +msgid "How to Mark Non-horizontal Text" +msgstr "수평이 아닌 텍스트 표시 방법" + +#: ../../recipes-text.rst:242 1e52760d0e514e19ba6ab20d5f1fb0d7 +msgid "" +"The previous section already shows an example for marking non-horizontal " +"text, that was detected by text **searching**." +msgstr "이전 섹션에서는 텍스트 **검색** 으로 감지된 수평이 아닌 텍스트를 표시하는 예제를 이미 보여주었습니다." + +#: ../../recipes-text.rst:244 ded1ab547046433489a3f24860ad56dc +msgid "" +"But text **extraction** with the \"dict\" / \"rawdict\" options of " +":meth:`Page.get_text` may also return text with a non-zero angle to the " +"x-axis. This is indicated by the value of the line dictionary's `\"dir\"`" +" key: it is the tuple `(cosine, sine)` for that angle. If `line[\"dir\"] " +"!= (1, 0)`, then the text of all its spans is rotated by (the same) angle" +" != 0." +msgstr "" +"하지만 :meth:`Page.get_text` 의 \"dict\" / \"rawdict\" 옵션을 사용한 텍스트 **추출** 은 x축에 대해 " +"0이 아닌 각도를 가진 텍스트도 반환할 수 있습니다. 이는 줄 딕셔너리의 `\"dir\"` 키 값으로 표시됩니다: 해당 각도의 튜플 " +"`(cosine, sine)` 입니다. `line[\"dir\"] != (1, 0)` 이면, 모든 스팬의 텍스트가 (동일한) 각도 != 0으로 " +"회전됩니다." + +#: ../../recipes-text.rst:246 806b832583d84ccc93707076ad170901 +msgid "" +"The \"bboxes\" returned by the method however are rectangles only -- not " +"quads. So, to mark span text correctly, its quad must be recovered from " +"the data contained in the line and span dictionary. Do this with the " +"following utility function (new in v1.18.9)::" +msgstr "" +"하지만 이 메서드가 반환하는 \"bboxes\"는 사각형일 뿐입니다 -- 쿼드가 아닙니다. 따라서 스팬 텍스트를 올바르게 표시하려면, 줄 및 " +"스팬 딕셔너리에 포함된 데이터에서 쿼드를 복구해야 합니다. 다음 유틸리티 함수를 사용하세요 (v1.18.9에서 새로 추가됨)::" + +#: ../../recipes-text.rst:251 374483caf365491888ccd4a28c1034f8 +msgid "" +"If you want to **mark the complete line** or a subset of its spans in one" +" go, use the following snippet (works for v1.18.10 or later)::" +msgstr "" +"**전체 줄** 또는 스팬의 하위 집합을 한 번에 표시하려면 다음 스니펫을 사용하세요 (v1.18.10 이상에서 작동)::" + +#: ../../recipes-text.rst:258 1257febf78464c89b484b1cf6071bec4 +msgid "" +"The `spans` argument above may specify any sub-list of `line[\"spans\"]`." +" In the example above, the second to second-to-last span are marked. If " +"omitted, the complete line is taken." +msgstr "" +"위의 `spans` 인수는 `line[\"spans\"]` 의 임의의 하위 목록을 지정할 수 있습니다. 위 예제에서는 두 번째부터 " +"마지막에서 두 번째까지의 스팬이 표시됩니다. 생략하면 전체 줄이 사용됩니다." + +#: ../../recipes-text.rst:265 73fd41c1a1a94a5db20497ae5b6e3c38 +msgid "How to Analyze Font Characteristics" +msgstr "폰트 특성 분석 방법" + +#: ../../recipes-text.rst:266 7643d48b4b834ad5a18337b0d8dda127 +msgid "" +"To analyze the characteristics of text in a PDF use this elementary " +"script as a starting point:" +msgstr "PDF의 텍스트 특성을 분석하려면 이 기본 스크립트를 시작점으로 사용하세요:" + +#: ../../recipes-text.rst:271 be40eabfee1c41e68990b36a6e79a16f +msgid "Here is the PDF page and the script output:" +msgstr "PDF 페이지와 스크립트 출력은 다음과 같습니다:" + +#: ../../recipes-text.rst:282 f7cca7fc650940c6b739a5e09938bbdd +msgid "How to Insert Text" +msgstr "텍스트 삽입 방법" + +#: ../../recipes-text.rst:283 dacb14e969f44d09b2a5487775dd63ea +msgid "" +"PyMuPDF provides ways to insert text on new or existing PDF pages with " +"the following features:" +msgstr "PyMuPDF는 다음 기능을 사용하여 새 PDF 페이지나 기존 PDF 페이지에 텍스트를 삽입하는 방법을 제공합니다:" + +#: ../../recipes-text.rst:285 f1dd495e1caa4902a8e5c782e9c679b5 +msgid "" +"choose the font, including built-in fonts and fonts that are available as" +" files" +msgstr "파일로 사용 가능한 폰트를 포함하여 내장 폰트와 폰트를 선택" + +#: ../../recipes-text.rst:286 4b098043ef3245699c145e6b99254bfb +msgid "choose text characteristics like bold, italic, font size, font color, etc." +msgstr "굵게, 기울임, 폰트 크기, 폰트 색상 등의 텍스트 특성 선택" + +#: ../../recipes-text.rst:287 a7d20d40102b4dd987941eec0fe2059b +msgid "position the text in multiple ways:" +msgstr "여러 방법으로 텍스트 위치 지정:" + +#: ../../recipes-text.rst:289 ebb1742c954f43b6b40e7dd5c8eefbc2 +msgid "either as simple line-oriented output starting at a certain point," +msgstr "특정 지점에서 시작하는 간단한 줄 지향 출력으로," + +#: ../../recipes-text.rst:290 caf3e77d02db4d88ba4b4ce0df67f82b +msgid "" +"or fitting text in a box provided as a rectangle, in which case text " +"alignment choices are also available," +msgstr "또는 사각형으로 제공된 상자에 텍스트를 맞추는 경우, 이 경우 텍스트 정렬 선택도 사용 가능," + +#: ../../recipes-text.rst:291 08f04e2e5fff428aad600459aeae779f +msgid "" +"choose whether text should be put in foreground (overlay existing " +"content)," +msgstr "텍스트를 전경에 배치할지 선택(기존 콘텐츠 위에 오버레이)," + +#: ../../recipes-text.rst:292 1899456d8c24474f8bcd5e172b2cde12 +msgid "" +"all text can be arbitrarily \"morphed\", i.e. its appearance can be " +"changed via a :ref:`Matrix`, to achieve effects like scaling, shearing or" +" mirroring," +msgstr "" +"모든 텍스트를 임의로 \"변형\"할 수 있습니다. 즉, :ref:`Matrix` 를 통해 모양을 변경하여 확대/축소, 기울이기 또는 미러링과 " +"같은 효과를 얻을 수 있습니다," + +#: ../../recipes-text.rst:293 86bfde1660ba41f499e89840e1564a90 +msgid "" +"independently from morphing and in addition to that, text can be rotated " +"by integer multiples of 90 degrees." +msgstr "변형과 독립적으로, 추가로 텍스트를 90도의 정수 배로 회전할 수 있습니다." + +#: ../../recipes-text.rst:295 be111c03edb84cf2a94e8762714cc0eb +msgid "" +"All of the above is provided by three basic :ref:`Page`, resp. " +":ref:`Shape` methods:" +msgstr "위의 모든 것은 세 가지 기본 :ref:`Page`, 각각 :ref:`Shape` 메서드로 제공됩니다:" + +#: ../../recipes-text.rst:297 72cb967325024d41a8ffa1c2ab753fd4 +msgid "" +":meth:`Page.insert_font` -- install a font for the page for later " +"reference. The result is reflected in the output of " +":meth:`Document.get_page_fonts`. The font can be:" +msgstr "" +":meth:`Page.insert_font` -- 나중에 참조할 수 있도록 페이지에 폰트를 설치합니다. 결과는 " +":meth:`Document.get_page_fonts` 의 출력에 반영됩니다. 폰트는 다음 중 하나일 수 있습니다:" + +#: ../../recipes-text.rst:299 b76fff0661ed480cb05480c7a9a31ddd +msgid "provided as a file," +msgstr "파일로 제공되거나," + +#: ../../recipes-text.rst:300 7c635389b9dd4de28b6bfd73e66eb774 +msgid "via :ref:`Font` (then use :attr:`Font.buffer`)" +msgstr ":ref:`Font` 를 통해 (그런 다음 :attr:`Font.buffer` 사용) 또는" + +#: ../../recipes-text.rst:301 58c5c49b72314f1fbef5a7fdb829811d +msgid "already present somewhere in **this or another** PDF, or" +msgstr "**이 PDF 또는 다른** PDF의 어딘가에 이미 있거나," + +#: ../../recipes-text.rst:302 f6a2b00d975e4ffbb57171c37d4127bb +msgid "be a **built-in** font." +msgstr "**내장** 폰트일 수 있습니다." + +#: ../../recipes-text.rst:304 a44d01d2b9bb4d3686811c70f9b9271a +msgid "" +":meth:`Page.insert_text` -- write some lines of text. Internally, this " +"uses :meth:`Shape.insert_text`." +msgstr "" +":meth:`Page.insert_text` -- 텍스트 줄을 작성합니다. 내부적으로는 :meth:`Shape.insert_text` 를 " +"사용합니다." + +#: ../../recipes-text.rst:306 bfd1f9b3c2b741b29c87208a1a66d28e +msgid "" +":meth:`Page.insert_textbox` -- fit text in a given rectangle. Here you " +"can choose text alignment features (left, right, centered, justified) and" +" you keep control as to whether text actually fits. Internally, this uses" +" :meth:`Shape.insert_textbox`." +msgstr "" +":meth:`Page.insert_textbox` -- 주어진 사각형에 텍스트를 맞춥니다. 여기서 텍스트 정렬 기능(왼쪽, 오른쪽, " +"가운데, 양쪽 정렬)을 선택할 수 있으며 텍스트가 실제로 맞는지 제어할 수 있습니다. 내부적으로는 :meth:`Shape.insert_textbox` " +"를 사용합니다." + +#: ../../recipes-text.rst:308 be171eb050b94f58b9cd1b5e0262f4c9 +msgid "Both text insertion methods automatically install the font as necessary." +msgstr "두 텍스트 삽입 방법 모두 필요에 따라 폰트를 자동으로 설치합니다." + +#: ../../recipes-text.rst:314 b5fff0f0c7634c4b944d6adf15b57a63 +msgid "How to Write Text Lines" +msgstr "텍스트 줄 작성 방법" + +#: ../../recipes-text.rst:315 cb73fdfc91be42e784e9bdd13d791bc0 +msgid "Output some text lines on a page::" +msgstr "페이지에 텍스트 줄 출력::" + +#: ../../recipes-text.rst:336 93ea55096a814bf78d67323eff265e39 +msgid "" +"With this method, only the **number of lines** will be controlled to not " +"go beyond page height. Surplus lines will not be written and the number " +"of actual lines will be returned. The calculation uses a line height " +"calculated from the :data:`fontsize` and 36 points (0.5 inches) as bottom" +" margin." +msgstr "" +"이 방법을 사용하면 **줄 수** 만 페이지 높이를 초과하지 않도록 제어됩니다. 초과 줄은 작성되지 않으며 실제 줄 수가 반환됩니다. 계산은 " +":data:`fontsize` 와 하단 여백으로 36포인트(0.5인치)에서 계산된 줄 높이를 사용합니다." + +#: ../../recipes-text.rst:338 d32561da58f04605a11ea899f3142f80 +msgid "" +"Line **width is ignored**. The surplus part of a line will simply be " +"invisible." +msgstr "줄 **너비는 무시됩니다**. 줄의 초과 부분은 단순히 보이지 않습니다." + +#: ../../recipes-text.rst:340 be87d53797fa4459b5ccf3c4131594e4 +msgid "" +"However, for built-in fonts there are ways to calculate the line width " +"beforehand - see :meth:`get_text_length`." +msgstr "하지만 내장 폰트의 경우 사전에 줄 너비를 계산하는 방법이 있습니다 - :meth:`get_text_length` 를 참조하세요." + +#: ../../recipes-text.rst:342 f9e73fbbab774c2caa85bbed776cc956 +msgid "" +"Here is another example. It inserts 4 text strings using the four " +"different rotation options, and thereby explains, how the text insertion " +"point must be chosen to achieve the desired result::" +msgstr "" +"다른 예제입니다. 네 가지 다른 회전 옵션을 사용하여 4개의 텍스트 문자열을 삽입하고, 원하는 결과를 얻기 위해 텍스트 삽입 지점을 어떻게 " +"선택해야 하는지 설명합니다::" + +#: ../../recipes-text.rst:378 0213c8bab6154d30805d62976edc9a19 +msgid "This is the result:" +msgstr "결과는 다음과 같습니다:" + +#: ../../recipes-text.rst:390 f3944598e7174b5c84183c27d9976e7d +msgid "How to Fill a Text Box" +msgstr "텍스트 상자 채우기 방법" + +#: ../../recipes-text.rst:391 432bedd774af4765abc17063d64bbff5 +msgid "" +"This script fills 4 different rectangles with text, each time choosing a " +"different rotation value::" +msgstr "이 스크립트는 텍스트로 4개의 다른 사각형을 채우며, 매번 다른 회전 값을 선택합니다::" + +#: ../../recipes-text.rst:428 b57fefc0582d49269895485a9f9f2d81 +msgid "" +"Some default values were used above: font size 11 and text alignment " +"\"left\". The result will look like this:" +msgstr "위에서는 일부 기본값이 사용되었습니다: 폰트 크기 11 및 텍스트 정렬 \"left\". 결과는 다음과 같습니다:" + +#: ../../recipes-text.rst:438 1b2793a104ab4b5688254d0c742bdce1 +msgid "How to Fill a Box with HTML Text" +msgstr "HTML 텍스트로 상자 채우기 방법" + +#: ../../recipes-text.rst:439 19e59b0993924e4c95225686d9cc0d88 +msgid "" +"Method :meth:`Page.insert_htmlbox` offers a **much more powerful** way to" +" insert text in a rectangle." +msgstr ":meth:`Page.insert_htmlbox` 메서드는 사각형에 텍스트를 삽입하는 **훨씬 더 강력한** 방법을 제공합니다." + +#: ../../recipes-text.rst:441 35f57808a8794c8e9e19787c2c32e112 +msgid "" +"Instead of simple, plain text, this method accepts HTML source, which may" +" not only contain HTML tags but also styling instructions to influence " +"things like font, font weight (bold) and style (italic), color and much " +"more." +msgstr "" +"간단한 일반 텍스트 대신, 이 메서드는 HTML 소스를 받아들입니다. HTML 태그뿐만 아니라 폰트, 폰트 굵기(굵게), 스타일(기울임), " +"색상 등을 제어하는 스타일 지시문도 포함할 수 있습니다." + +#: ../../recipes-text.rst:443 71ac810a548442d29907981f132dccbf +msgid "" +"It is also possible to mix multiple fonts and languages, to output HTML " +"tables and to insert images and URI links." +msgstr "여러 폰트와 언어를 혼합하고, HTML 테이블을 출력하며, 이미지와 URI 링크를 삽입할 수도 있습니다." + +#: ../../recipes-text.rst:445 0b4174d507754388b32a80b165012df6 +msgid "" +"For even more styling flexibility, an additional CSS source may also be " +"given." +msgstr "더 많은 스타일링 유연성을 위해 추가 CSS 소스를 제공할 수도 있습니다." + +#: ../../recipes-text.rst:447 ef0b305a96e04f7b82deb24dacac92d1 +msgid "" +"The method is based on the :ref:`Story` class. Therefore, complex script " +"systems like Devanagari, Nepali, Tamil and many are supported and written" +" correctly thanks to using the HarfBuzz library - which provides this so-" +"called **\"text shaping\"** feature." +msgstr "" +"이 메서드는 :ref:`Story` 클래스를 기반으로 합니다. 따라서 Devanagari, Nepali, Tamil 등과 같은 복잡한 " +"문자 체계가 지원되며 HarfBuzz 라이브러리를 사용하여 올바르게 작성됩니다 - 이는 소위 **\"텍스트 셰이핑\"** 기능을 제공합니다." + +#: ../../recipes-text.rst:449 1260a458a7e544b1aa67b8755b17c8ec +msgid "" +"Any required fonts to output characters are automatically pulled in from " +"the Google NOTO font library - as a fallback (when the -- optionally " +"supplied -- user font(s) do not contain some glyphs)." +msgstr "" +"문자를 출력하는 데 필요한 모든 폰트는 Google NOTO 폰트 라이브러리에서 자동으로 가져옵니다 - 폴백으로 (선택적으로 제공된 " +"-- 사용자 폰트에 일부 글리프가 없는 경우)." + +#: ../../recipes-text.rst:451 fcaf38aee6714a809439a7e41809456a +msgid "" +"As a small glimpse into the features offered here, we will output the " +"following HTML-enriched text::" +msgstr "여기서 제공되는 기능을 간단히 살펴보기 위해 다음 HTML이 풍부한 텍스트를 출력합니다::" + +#: ../../recipes-text.rst:476 9c59a952ce374072a5f1980b9e94e9e5 +msgid "" +"Please note how the \"css\" parameter is used to globally select the " +"default \"sans-serif\" font and a font size of 14." +msgstr "\"css\" 매개변수가 기본 \"sans-serif\" 폰트와 폰트 크기 14를 전역적으로 선택하는 데 어떻게 사용되는지 주목하세요." + +#: ../../recipes-text.rst:478 ../../recipes-text.rst:546 +#: 7e28c391edc0498e9f137492e4579c8b d1d571d5e2a543f1960a767a55013650 +msgid "The result will look like this:" +msgstr "결과는 다음과 같습니다:" + +#: ../../recipes-text.rst:483 ed1313ec473f4a6abdbea7c7fdbc2bc3 +msgid "How to output HTML tables and images" +msgstr "HTML 테이블 및 이미지 출력 방법" + +#: ../../recipes-text.rst:485 d915167d0a8a487ca0714949823727f9 +msgid "" +"Here is another example that outputs a table with this method. This time," +" we are including all the styling in the HTML source itself. Please also " +"note, how it works to include an image - even within a table cell::" +msgstr "" +"이 메서드로 테이블을 출력하는 또 다른 예제입니다. 이번에는 모든 스타일링을 HTML 소스 자체에 포함합니다. 이미지를 포함하는 방법(테이블 " +"셀 내부에서도)도 주목하세요::" + +#: ../../recipes-text.rst:552 8a1001c5f5074d4ba6c32b464a047fe3 +msgid "How to Output Languages of the World" +msgstr "세계 언어 출력 방법" + +#: ../../recipes-text.rst:554 694851da42974f849ae4f15fb8583d84 +msgid "" +"Our third example will demonstrate the automatic multi-language support. " +"It includes automatic **text shaping** for complex scripting systems like" +" Devanagari and right-to-left languages::" +msgstr "" +"세 번째 예제는 자동 다국어 지원을 보여줍니다. Devanagari 및 오른쪽에서 왼쪽으로 쓰는 언어와 같은 복잡한 문자 체계에 대한 자동 " +"**텍스트 셰이핑** 을 포함합니다::" + +#: ../../recipes-text.rst:584 11883d2c3225403c9efe9db6404e0614 +msgid "And this is the output:" +msgstr "그리고 이것이 출력입니다:" + +#: ../../recipes-text.rst:589 1694d9848471473387efc178c64d1ac3 +msgid "How to Specify your Own Fonts" +msgstr "자신의 폰트 지정 방법" + +#: ../../recipes-text.rst:591 e24039a16e614bad9521e9f98300ca0a +msgid "" +"Define your font files in CSS syntax using the `@font-face` statement. " +"You need a separate `@font-face` for every combination of font weight and" +" font style (e.g. bold or italic) you want to be supported. The following" +" example uses the famous MS Comic Sans font in its four variants regular," +" bold, italic and bold-italic." +msgstr "" +"`@font-face` 문을 사용하여 CSS 구문으로 폰트 파일을 정의하세요. 지원하려는 폰트 굵기와 폰트 스타일(예: 굵게 또는 기울임)의 " +"모든 조합에 대해 별도의 `@font-face` 가 필요합니다. 다음 예제는 유명한 MS Comic Sans 폰트를 일반, 굵게, " +"기울임, 굵은 기울임의 네 가지 변형으로 사용합니다." + +#: ../../recipes-text.rst:593 b2b6a21607d34d64a2c7e188ebc89771 +msgid "" +"As these four font files are located in the system's folder " +"`C:/Windows/Fonts` the method needs an :ref:`Archive` definition that " +"points to that folder::" +msgstr "" +"이 네 개의 폰트 파일이 시스템 폴더 `C:/Windows/Fonts` 에 있으므로, 메서드는 해당 폴더를 가리키는 :ref:`Archive` " +"정의가 필요합니다::" + +#: ../../recipes-text.rst:642 e0f58841406a42738934f9d5496b3b1a +msgid "How to Request Text Alignment" +msgstr "텍스트 정렬 요청 방법" + +#: ../../recipes-text.rst:644 fe05e68776a74af9bbef92af559109dd +msgid "This example combines multiple requirements:" +msgstr "이 예제는 여러 요구사항을 결합합니다:" + +#: ../../recipes-text.rst:646 e70a8667e3944fd9b0816777acb87234 +msgid "Rotate the text by 90 degrees anti-clockwise." +msgstr "텍스트를 90도 반시계 방향으로 회전합니다." + +#: ../../recipes-text.rst:647 d9cf7d46a2d346b2a4f74a171faa1447 +msgid "" +"Use a font from package `pymupdf-fonts `_. You will see that the respective CSS definitions are a lot " +"easier in this case." +msgstr "" +"`pymupdf-fonts `_ 패키지의 폰트를 사용합니다. 이 " +"경우 해당 CSS 정의가 훨씬 더 쉬운 것을 볼 수 있습니다." + +#: ../../recipes-text.rst:648 bd33916fceb54e72962046e30a682445 +msgid "Align the text with the \"justify\" option." +msgstr "\"justify\" 옵션으로 텍스트를 정렬합니다." + +#: ../../recipes-text.rst:698 77fa2772ac8f4569be51c8e5f85dfc85 +msgid "How to Extract Text with Color" +msgstr "색상이 있는 텍스트 추출 방법" + +#: ../../recipes-text.rst:700 9b6a414568c14a82b047478e4a84f66a +msgid "" +"Iterate through your text blocks and find the spans of text you need for " +"this information." +msgstr "텍스트 블록을 반복하고 이 정보에 필요한 텍스트 스팬을 찾으세요." + +#: ../../footer.rst:46 bdb1928a7ce24b5a9d8c30e00a139e48 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/recipes.mo b/docs/locales/ko/LC_MESSAGES/recipes.mo new file mode 100644 index 000000000..69b0fdc2e Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/recipes.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/recipes.po b/docs/locales/ko/LC_MESSAGES/recipes.po new file mode 100644 index 000000000..0c2f7e4d6 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/recipes.po @@ -0,0 +1,41 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 5df69fce57964130a8f7ba6f591f56a4 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 948de28e8d244748b064cfd92a1bbcfd +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 11790f3e587e4e6bb551d9ae399cc35e +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" + +#: ../../footer.rst:46 3bdca21fa122440dad23d3c3a493ace9 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/rect.mo b/docs/locales/ko/LC_MESSAGES/rect.mo new file mode 100644 index 000000000..bd7c67455 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/rect.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/rect.po b/docs/locales/ko/LC_MESSAGES/rect.po new file mode 100644 index 000000000..6a4a034cc --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/rect.po @@ -0,0 +1,786 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 3c227dada5ad4b709a49770ee170baa6 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 8f56716e037546c8b467b98c68c725a0 +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 dfa0342751984e2f98c9f67f7362520d +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" + +#: ../../rect.rst:7 ad45c59577c04e0d97cd0d7904581921 +msgid "Rect" +msgstr "Rect" + +#: ../../rect.rst:9 7f5d586f3c114edaa7ba458bfd6acb19 +msgid "" +"*Rect* represents a rectangle defined by four floating point numbers x0, " +"y0, x1, y1. They are treated as being coordinates of two diagonally " +"opposite points. The first two numbers are regarded as the \"top left\" " +"corner P\\ :sub:`(x0,y0)` and P\\ :sub:`(x1,y1)` as the \"bottom right\" " +"one. However, these two properties need not coincide with their intuitive" +" meanings -- read on." +msgstr "*Rect* 는 4개의 부동 소수점 숫자 x0, y0, x1, y1로 정의된 사각형을 나타냅니다. 이것들은 대각선으로 반대편에 있는 두 점의 좌표로 처리됩니다. 처음 두 숫자는 \"왼쪽 위\" 모서리 P\\ :sub:`(x0,y0)` 로 간주되고 P\\ :sub:`(x1,y1)` 는 \"오른쪽 아래\" 모서리로 간주됩니다. 그러나 이 두 속성은 직관적인 의미와 일치할 필요가 없습니다 -- 계속 읽어보세요." + +#: ../../rect.rst:11 dafcd3bc742b4bf98df8a2d355642314 +msgid "The following remarks are also valid for :ref:`IRect` objects:" +msgstr "다음 설명은 :ref:`IRect` 객체에도 유효합니다:" + +#: ../../rect.rst:13 be324158236b4de8923841e0b42e8290 +msgid "" +"A rectangle in the sense of (Py-) MuPDF **(and PDF)** always has " +"**borders parallel to the x- resp. y-axis**. A general orthogonal " +"tetragon **is not a rectangle** -- in contrast to the mathematical " +"definition." +msgstr "(Py-) MuPDF **(및 PDF)** 의 의미에서 사각형은 항상 **x축 및 y축에 평행한 경계** 를 가집니다. 일반적인 직교 사각형은 **사각형이 아닙니다** -- 수학적 정의와 대조적으로." + +#: ../../rect.rst:14 03d260254e054fa0874151431af0b147 +msgid "" +"The constructing points can be (almost! -- see below) anywhere in the " +"plane -- they need not even be different, and e.g. \"top left\" need not " +"be the geometrical \"north-western\" point." +msgstr "구성 점은 평면의 어디에나 있을 수 있습니다(거의! -- 아래 참조) -- 서로 다를 필요도 없으며, 예를 들어 \"왼쪽 위\"가 기하학적으로 \"북서쪽\" 점일 필요는 없습니다." + +#: ../../rect.rst:15 fe6fa15cf8b7439aa597e5fcf5b13134 +msgid "Units are in points, where 72 points is 1 inch." +msgstr "단위는 포인트이며, 72포인트는 1인치입니다." + +#: ../../rect.rst:20 130a99f1057240a98f97beb4238fadbc +msgid "" +"For any given quadruple of numbers, the geometrically \"same\" rectangle " +"can be defined in four different ways:" +msgstr "주어진 4개의 숫자에 대해 기하학적으로 \"동일한\" 사각형은 4가지 다른 방법으로 정의할 수 있습니다:" + +#: ../../rect.rst:17 03ee461b9fd7463e92b92b0999c2952b +msgid "Rect(P\\ :sub:`(x0,y0)`, P\\ :sub:`(x1,y1)`\\ )" +msgstr "Rect(P\\ :sub:`(x0,y0)`, P\\ :sub:`(x1,y1)`\\ )" + +#: ../../rect.rst:18 4e4f6956c7774df98b15fe8f1f149cef +msgid "Rect(P\\ :sub:`(x1,y1)`, P\\ :sub:`(x0,y0)`\\ )" +msgstr "Rect(P\\ :sub:`(x1,y1)`, P\\ :sub:`(x0,y0)`\\ )" + +#: ../../rect.rst:19 7b63166e1f914252a70101cc5e25c590 +msgid "Rect(P\\ :sub:`(x0,y1)`, P\\ :sub:`(x1,y0)`\\ )" +msgstr "Rect(P\\ :sub:`(x0,y1)`, P\\ :sub:`(x1,y0)`\\ )" + +#: ../../rect.rst:20 baae5ac330ae44adb90f80708b977873 +msgid "Rect(P\\ :sub:`(x1,y0)`, P\\ :sub:`(x0,y1)`\\ )" +msgstr "Rect(P\\ :sub:`(x1,y0)`, P\\ :sub:`(x0,y1)`\\ )" + +#: ../../rect.rst:22 3775def55ff3492ea62cba278b2ff00e +msgid "**(Changed in v1.19.0)** Hence some classification:" +msgstr "**(v1.19.0에서 변경됨)** 따라서 다음과 같은 분류가 있습니다:" + +#: ../../rect.rst:24 005b82343a4c4d4282a0fc3d8a056830 +msgid "" +"A rectangle is called **valid** if `x0 <= x1` and `y0 <= y1` (i.e. the " +"bottom right point is \"south-eastern\" to the top left one), otherwise " +"**invalid**. Of the four alternatives above, **only the first** is valid." +" Please take into account, that in MuPDF's coordinate system, the y-axis " +"is oriented from **top to bottom**. Invalid rectangles have been called " +"infinite in earlier versions." +msgstr "사각형은 `x0 <= x1` 이고 `y0 <= y1` 인 경우(즉, 오른쪽 아래 점이 왼쪽 위 점의 \"남동쪽\"에 있는 경우) **유효** 라고 하며, 그렇지 않으면 **무효** 입니다. 위의 4가지 대안 중 **첫 번째만** 유효합니다. MuPDF의 좌표계에서 y축은 **위에서 아래로** 향한다는 점을 고려하세요. 무효한 사각형은 이전 버전에서 무한이라고 불렸습니다." + +#: ../../rect.rst:26 50cc1e1a23b7410e9b40d9e4a22e2552 +msgid "" +"A rectangle is called **empty** if `x0 >= x1` or `y0 >= y1`. This " +"implies, that **invalid rectangles are also always empty.** And `width` " +"(resp. `height`) is **set to zero** if `x0 > x1` (resp. `y0 > y1`). In " +"previous versions, a rectangle was empty only if one of width or height " +"was zero." +msgstr "사각형은 `x0 >= x1` 또는 `y0 >= y1` 인 경우 **비어 있음** 이라고 합니다. 이것은 **무효한 사각형도 항상 비어 있음** 을 의미합니다. 그리고 `x0 > x1` (각각 `y0 > y1`)인 경우 `width` (각각 `height`)는 **0으로 설정** 됩니다. 이전 버전에서는 너비 또는 높이 중 하나가 0인 경우에만 사각형이 비어 있었습니다." + +#: ../../rect.rst:28 6b8c92c5c94146e38742390553f50ad5 +msgid "" +"Rectangle coordinates **cannot be outside** the number range from " +"`FZ_MIN_INF_RECT = -2147483648` to `FZ_MAX_INF_RECT = 2147483520`. Both " +"values have been chosen, because they are the smallest / largest 32bit " +"integers that survive C float conversion roundtrips. In previous versions" +" there was no limit for coordinate values." +msgstr "사각형 좌표는 `FZ_MIN_INF_RECT = -2147483648` 부터 `FZ_MAX_INF_RECT = 2147483520` 까지의 숫자 범위 **밖에 있을 수 없습니다**. 두 값은 C float 변환 왕복에서 살아남는 가장 작은/가장 큰 32비트 정수이기 때문에 선택되었습니다. 이전 버전에서는 좌표 값에 제한이 없었습니다." + +#: ../../rect.rst:30 f7c36d56736842c7b5057e7ce77215f1 +msgid "" +"There is **exactly one \"infinite\" rectangle**, defined by `x0 = y0 = " +"FZ_MIN_INF_RECT` and `x1 = y1 = FZ_MAX_INF_RECT`. It contains every other" +" rectangle. It is mainly used for technical purposes -- e.g. when a " +"function call should ignore a formally required rectangle argument. This " +"rectangle is not empty." +msgstr "**정확히 하나의 \"무한\" 사각형** 이 있으며, `x0 = y0 = FZ_MIN_INF_RECT` 및 `x1 = y1 = FZ_MAX_INF_RECT` 로 정의됩니다. 이것은 다른 모든 사각형을 포함합니다. 이것은 주로 기술적 목적으로 사용됩니다 -- 예를 들어 함수 호출이 형식적으로 필요한 사각형 인수를 무시해야 할 때. 이 사각형은 비어 있지 않습니다." + +#: ../../rect.rst:32 3fd9c878f8a345649eececf661fa6d0d +msgid "" +"**Rectangles are (semi-) open:** The right and the bottom edges " +"(including the resp. corners) are not considered part of the rectangle. " +"This implies, that only the top-left corner `(x0, y0)` can ever belong to" +" the rectangle - the other three corners never do. An empty rectangle " +"contains no corners at all." +msgstr "**사각형은 (반)열림:** 오른쪽과 아래쪽 가장자리(각각의 모서리 포함)는 사각형의 일부로 간주되지 않습니다. 이것은 왼쪽 위 모서리 `(x0, y0)` 만 사각형에 속할 수 있음을 의미합니다 -- 다른 세 모서리는 절대 속하지 않습니다. 빈 사각형은 모서리가 전혀 없습니다." + +#: ../../rect.rst:38 e57daedf444e46e1b812656ca7832537 +msgid "Here is an overview of the changes." +msgstr "다음은 변경 사항의 개요입니다." + +#: ../../rect.rst:41 d393f3a6d9de4c8fa2e06182c5f78760 +msgid "Notion" +msgstr "개념" + +#: ../../rect.rst:41 d97438c124b14f35aa198e1ddfb8cfd0 +msgid "Versions < 1.19.0" +msgstr "버전 < 1.19.0" + +#: ../../rect.rst:41 7af7abdfb7bc4aa4b28ed21073d90bea +msgid "Versions 1.19.*" +msgstr "버전 1.19.*" + +#: ../../rect.rst:43 e4224c064e3f4f68bbb16f57e9a1c844 +msgid "empty" +msgstr "비어 있음" + +#: ../../rect.rst:43 48dde36927434fceacc3a177956672c7 +msgid "x0 = x1 or y0 = y1" +msgstr "x0 = x1 또는 y0 = y1" + +#: ../../rect.rst:43 3835fcc0738d40929f1271a1c05290b9 +msgid "x0 >= x1 or y0 >= y1 -- includes invalid rects" +msgstr "x0 >= x1 또는 y0 >= y1 -- 무효한 사각형 포함" + +#: ../../rect.rst:44 f6c28fec698849cf9309e6c849791287 +msgid "valid" +msgstr "유효" + +#: ../../rect.rst:44 754108a5de3646168f6a70e07a111bd9 +msgid "n/a" +msgstr "해당 없음" + +#: ../../rect.rst:44 e09f640fd0134a039d61766e33a9c329 +msgid "x0 <= x1 and y0 <= y1" +msgstr "x0 <= x1 및 y0 <= y1" + +#: ../../rect.rst:45 17a59c383cd546c8adfe6a7d8ef48da9 +msgid "infinite" +msgstr "무한" + +#: ../../rect.rst:45 65113a7b423f4f98b9ce9fcada710d50 +msgid "all rects where x0 > x1 or y1 > y0" +msgstr "x0 > x1 또는 y1 > y0인 모든 사각형" + +#: ../../rect.rst:45 41c40bda2ada47e085b2f7f2004a8b76 +msgid "**exactly one infinite rect / irect!**" +msgstr "**정확히 하나의 무한 rect / irect!**" + +#: ../../rect.rst:46 4f4ac3d83ad64ebba6176c33b68c4cb3 +msgid "coordinate values" +msgstr "좌표 값" + +#: ../../rect.rst:46 453a3c51c1434dc5b1579f747187deb0 +msgid "all numbers" +msgstr "모든 숫자" + +#: ../../rect.rst:46 4ca5d71efdb04d8693a83e57697d9d37 +msgid "`FZ_MIN_INF_RECT <= number <= FZ_MAX_INF_RECT`" +msgstr "`FZ_MIN_INF_RECT <= number <= FZ_MAX_INF_RECT`" + +#: ../../rect.rst:47 2209987532a249858e55c63d07e52b9c +msgid "borders, corners" +msgstr "경계, 모서리" + +#: ../../rect.rst:47 b6ae01c480064de9b11987d6892db4ca +msgid "are parts of the rectangle" +msgstr "사각형의 일부" + +#: ../../rect.rst:47 8ef673ab0bbc4257baaeffbe19220f28 +msgid "right and bottom corners and edges **are outside**" +msgstr "오른쪽 및 아래쪽 모서리와 가장자리는 **외부**" + +#: ../../rect.rst:50 e3e932700fd949daa0353b543c8a1a4c +msgid "" +"There are new top level functions defining infinite and standard empty " +"rectangles and quads, see :meth:`INFINITE_RECT` and friends." +msgstr "무한 및 표준 빈 사각형과 quad를 정의하는 새로운 최상위 함수가 있습니다. :meth:`INFINITE_RECT` 및 관련 항목을 참조하세요." + +#: ../../rect.rst:54 81a610b0aa1f472b8ae9fea35a2a2c01 +msgid "**Methods / Attributes**" +msgstr "**메서드 / 속성**" + +#: ../../rect.rst:54 4ed08c7116224212b88dc25acd42d0b0 +msgid "**Short Description**" +msgstr "**간단한 설명**" + +#: ../../rect.rst:56 5981a119a05e4daa876289ac03fc5a13 +msgid ":meth:`Rect.contains`" +msgstr ":meth:`Rect.contains`" + +#: ../../rect.rst:56 3b511deb4033483dbea1c5c304c2ec6f +msgid "checks containment of point_likes and rect_likes" +msgstr "point_like 및 rect_like의 포함 여부 확인" + +#: ../../rect.rst:57 9f5f335e79444316a8a3c6dea665cf95 +msgid ":meth:`Rect.get_area`" +msgstr ":meth:`Rect.get_area`" + +#: ../../rect.rst:57 1de8d41280804dcf9822b29195cfe5fe +msgid "calculate rectangle area" +msgstr "사각형 영역 계산" + +#: ../../rect.rst:58 7a22090e4a0d467a8ad2400c55ed9f2f +msgid ":meth:`Rect.include_point`" +msgstr ":meth:`Rect.include_point`" + +#: ../../rect.rst:58 0526b2070f7e45feab7a311c9ee31128 +msgid "enlarge rectangle to also contain a point" +msgstr "점도 포함하도록 사각형 확대" + +#: ../../rect.rst:59 5d2792546865489e8ac28d97886676fb +msgid ":meth:`Rect.include_rect`" +msgstr ":meth:`Rect.include_rect`" + +#: ../../rect.rst:59 d9b74ad40df64c1da33f10578102b172 +msgid "enlarge rectangle to also contain another one" +msgstr "다른 사각형도 포함하도록 사각형 확대" + +#: ../../rect.rst:60 a084869227454408971a27d515578280 +msgid ":meth:`Rect.intersect`" +msgstr ":meth:`Rect.intersect`" + +#: ../../rect.rst:60 fc0d24eaf262443a9767ab3a639a91cf +msgid "common part with another rectangle" +msgstr "다른 사각형과의 공통 부분" + +#: ../../rect.rst:61 783c6bb9f98a4c9a9173a33426e15261 +msgid ":meth:`Rect.intersects`" +msgstr ":meth:`Rect.intersects`" + +#: ../../rect.rst:61 48c32f08f9bd4fcaba35388fa46ffb7d +msgid "checks for non-empty intersections" +msgstr "비어 있지 않은 교집합 확인" + +#: ../../rect.rst:62 54b41e15307745659f567a94fe69654b +msgid ":meth:`Rect.morph`" +msgstr ":meth:`Rect.morph`" + +#: ../../rect.rst:62 2724138758314afea0cd2a6f82c22cdd +msgid "transform with a point and a matrix" +msgstr "점과 행렬로 변환" + +#: ../../rect.rst:63 fa29117650a04cf992bfbf167039b34d +msgid ":meth:`Rect.torect`" +msgstr ":meth:`Rect.torect`" + +#: ../../rect.rst:63 a1b856036d3a4a869c4bfef61e84bc7d +msgid "the matrix that transforms to another rectangle" +msgstr "다른 사각형으로 변환하는 행렬" + +#: ../../rect.rst:64 eb541dbc3c38455b94ddf221f6366d80 +msgid ":meth:`Rect.norm`" +msgstr ":meth:`Rect.norm`" + +#: ../../rect.rst:64 61a0e738f2784973be15065b6e9b3bf2 +msgid "the Euclidean norm" +msgstr "유클리드 노름" + +#: ../../rect.rst:65 e9cec2f1207b4e358bcb22df6331bb76 +msgid ":meth:`Rect.normalize`" +msgstr ":meth:`Rect.normalize`" + +#: ../../rect.rst:65 8ba545c6dd824fd08fd072a2c568c6db +msgid "makes a rectangle valid" +msgstr "사각형을 유효하게 만듦" + +#: ../../rect.rst:66 ebfc99cce7a74afabc7adf051e9804cc +msgid ":meth:`Rect.round`" +msgstr ":meth:`Rect.round`" + +#: ../../rect.rst:66 a5ff1b1dfaf54324b20c6908d06f2c7e +msgid "create smallest :ref:`Irect` containing rectangle" +msgstr "사각형을 포함하는 가장 작은 :ref:`Irect` 생성" + +#: ../../rect.rst:67 9c630cfbce96430dbd549ce3edbf5de2 +msgid ":meth:`Rect.transform`" +msgstr ":meth:`Rect.transform`" + +#: ../../rect.rst:67 3294ada857004ea2801a93dcdcae9cbb +msgid "transform rectangle with a matrix" +msgstr "행렬로 사각형 변환" + +#: ../../rect.rst:68 00f6aca11ba74d9290a39ae6e4d9abdb +msgid ":attr:`Rect.bottom_left`" +msgstr ":attr:`Rect.bottom_left`" + +#: ../../rect.rst:68 d8d4c9d808554a389d40caa0c16d5a69 +msgid "bottom left point, synonym *bl*" +msgstr "왼쪽 아래 점, 동의어 *bl*" + +#: ../../rect.rst:69 82732f58f72f413b869e3dbe3fc017dd +msgid ":attr:`Rect.bottom_right`" +msgstr ":attr:`Rect.bottom_right`" + +#: ../../rect.rst:69 25213177c72349529fffc2b8650278c6 +msgid "bottom right point, synonym *br*" +msgstr "오른쪽 아래 점, 동의어 *br*" + +#: ../../rect.rst:70 dee76b0bf2084300ae141c9fc27008bb +msgid ":attr:`Rect.height`" +msgstr ":attr:`Rect.height`" + +#: ../../rect.rst:70 7fec492b654e4a6c8f203435ebdcb0e3 +msgid "rectangle height" +msgstr "사각형 높이" + +#: ../../rect.rst:71 948cec288c54453aa28f00e584acce0b +msgid ":attr:`Rect.irect`" +msgstr ":attr:`Rect.irect`" + +#: ../../rect.rst:71 a1899a79673d49c5a4273f091b474322 +msgid "equals result of method *round()*" +msgstr "메서드 *round()* 의 결과와 같음" + +#: ../../rect.rst:72 d60c028c8e234efe9a338e184bb6bc55 +msgid ":attr:`Rect.is_empty`" +msgstr ":attr:`Rect.is_empty`" + +#: ../../rect.rst:72 95f758bc9cc644d6a61e703bee39b954 +msgid "whether rectangle is empty" +msgstr "사각형이 비어 있는지 여부" + +#: ../../rect.rst:73 3d96f5aae5a54e4eac8a41dc8027ebe2 +msgid ":attr:`Rect.is_valid`" +msgstr ":attr:`Rect.is_valid`" + +#: ../../rect.rst:73 0d07626ab6d5457c93ed36d852fe9dc5 +msgid "whether rectangle is valid" +msgstr "사각형이 유효한지 여부" + +#: ../../rect.rst:74 ec6784767db149e1af2d3bed517a3154 +msgid ":attr:`Rect.is_infinite`" +msgstr ":attr:`Rect.is_infinite`" + +#: ../../rect.rst:74 e2775e5155c94511a9a0b4351aa5aeed +msgid "whether rectangle is infinite" +msgstr "사각형이 무한한지 여부" + +#: ../../rect.rst:75 27198e6de32c47129ff1d90e9bcd052b +msgid ":attr:`Rect.top_left`" +msgstr ":attr:`Rect.top_left`" + +#: ../../rect.rst:75 991fbeb519074c779da08190535db4a5 +msgid "top left point, synonym *tl*" +msgstr "왼쪽 위 점, 동의어 *tl*" + +#: ../../rect.rst:76 ee1026c3112e4ce5ace785e6dbd51983 +msgid ":attr:`Rect.top_right`" +msgstr ":attr:`Rect.top_right`" + +#: ../../rect.rst:76 a429e926fb354c3eacca067673ad17f3 +msgid "top_right point, synonym *tr*" +msgstr "오른쪽 위 점, 동의어 *tr*" + +#: ../../rect.rst:77 5a5eef69cfdd4fc1b267e64d1899c83d +msgid ":attr:`Rect.quad`" +msgstr ":attr:`Rect.quad`" + +#: ../../rect.rst:77 39bf27b7ec18496996041d704db52fa2 +msgid ":ref:`Quad` made from rectangle corners" +msgstr "사각형 모서리로 만든 :ref:`Quad`" + +#: ../../rect.rst:78 b77feb74e6d84afe86da1aa9ffd1d688 +msgid ":attr:`Rect.width`" +msgstr ":attr:`Rect.width`" + +#: ../../rect.rst:78 ba35625a52bb44278539861d0133f079 +msgid "rectangle width" +msgstr "사각형 너비" + +#: ../../rect.rst:79 38859d042e6f49b88c35544ec6e4ed3c +msgid ":attr:`Rect.x0`" +msgstr ":attr:`Rect.x0`" + +#: ../../rect.rst:79 7e53ad8c6a824feca26905c64f3e0ea3 +msgid "left corners' x coordinate" +msgstr "왼쪽 모서리의 x 좌표" + +#: ../../rect.rst:80 f4f68e6053a840c2a566cf242d7f05b1 +msgid ":attr:`Rect.x1`" +msgstr ":attr:`Rect.x1`" + +#: ../../rect.rst:80 b53b5091498c454d88765a544d585de5 +msgid "right corners' x -coordinate" +msgstr "오른쪽 모서리의 x 좌표" + +#: ../../rect.rst:81 91c7514c010f464098de9b6e9007f4a8 +msgid ":attr:`Rect.y0`" +msgstr ":attr:`Rect.y0`" + +#: ../../rect.rst:81 119b6bb77d59497fa78ea76552d86acd +msgid "top corners' y coordinate" +msgstr "위쪽 모서리의 y 좌표" + +#: ../../rect.rst:82 45436c8c00564776b422a0208c48ae3d +msgid ":attr:`Rect.y1`" +msgstr ":attr:`Rect.y1`" + +#: ../../rect.rst:82 251741ae294247ddadf61d053276d89f +msgid "bottom corners' y coordinate" +msgstr "아래쪽 모서리의 y 좌표" + +#: ../../rect.rst:85 d211a7b97cc54d93b48553a9425130b9 +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../rect.rst:103 01827e33142142419f360c9f35834288 +msgid "" +"Overloaded constructors: *top_left*, *bottom_right* stand for " +":data:`point_like` objects, \"sequence\" is a Python sequence type of 4 " +"numbers (see :ref:`SequenceTypes`), \"rect\" means another " +":data:`rect_like`, while the other parameters mean coordinates." +msgstr "오버로드된 생성자: *top_left*, *bottom_right* 는 :data:`point_like` 객체를 나타내고, \"sequence\"는 4개의 숫자로 구성된 Python 시퀀스 유형(:ref:`SequenceTypes` 참조)이며, \"rect\"는 다른 :data:`rect_like` 를 의미하고, 다른 매개변수는 좌표를 의미합니다." + +#: ../../rect.rst:105 e075a06a3e264a5fbf6aea37d81f20d9 +msgid "If \"rect\" is specified, the constructor creates a **new copy** of it." +msgstr "\"rect\"가 지정되면 생성자는 그것의 **새 복사본** 을 만듭니다." + +#: ../../rect.rst:107 1f9d77ad703345a2a3964ae75caea048 +msgid "" +"Without parameters, the empty rectangle ``Rect(0.0, 0.0, 0.0, 0.0)`` is " +"created." +msgstr "매개변수 없이 빈 사각형 ``Rect(0.0, 0.0, 0.0, 0.0)`` 이 생성됩니다." + +#: ../../rect.rst:111 f10e380576a7412d80886a3b8a51700e +msgid "" +"Creates the smallest containing :ref:`IRect`. This is **not the same** as" +" simply rounding the rectangle's edges: The top left corner is rounded " +"upwards and to the left while the bottom right corner is rounded " +"downwards and to the right." +msgstr "가장 작은 포함 :ref:`IRect` 를 생성합니다. 이것은 단순히 사각형의 가장자리를 반올림하는 것과 **동일하지 않습니다**: 왼쪽 위 모서리는 위쪽과 왼쪽으로 반올림되고 오른쪽 아래 모서리는 아래쪽과 오른쪽으로 반올림됩니다." + +#: ../../rect.rst:116 552d25bc341a48aba138b957a55b9e83 +msgid "If the rectangle is **empty**, the result is also empty." +msgstr "사각형이 **비어 있으면** 결과도 비어 있습니다." + +#: ../../rect.rst:117 df26f93d58284c6a970ae3863ef681bb +msgid "" +"**Possible paradox:** The result may be empty, **even if** the rectangle " +"is **not** empty! In such cases, the result obviously does **not** " +"contain the rectangle. This is because MuPDF's algorithm allows for a " +"small tolerance (1e-3). Example:" +msgstr "**가능한 역설:** 사각형이 **비어 있지 않아도** 결과가 비어 있을 수 있습니다! 이러한 경우 결과는 명백히 사각형을 **포함하지 않습니다**. 이것은 MuPDF의 알고리즘이 작은 허용 오차(1e-3)를 허용하기 때문입니다. 예:" + +#: ../../rect.rst 223b51190466453684b2185f3dfc69c0 +#: 297e474bcf4f49858a23f80dd7128c65 388342f8d94e4d26b238b48872bd5511 +#: 4f188f0a74b347a8ba82283a386abbde 6c7f84d51c1c4b3b9dcf69c73a6d6715 +#: 6f729bc4a8b948998da46a928feb54e6 96b897da73d141458d7b0fa47bb6846a +#: f8ae67a6da5847d7838f6d57ffbba97e +msgid "Return type" +msgstr "반환 유형" + +#: ../../rect.rst:127 31c287fef6e3445cafe94d866b5e73bf +msgid ":ref:`IRect`" +msgstr ":ref:`IRect`" + +#: ../../rect.rst:131 c8c2cfc194a8468fa9550492f440f872 +msgid "" +"Transforms the rectangle with a matrix and **replaces the original**. If " +"the rectangle is empty or infinite, this is a no-operation." +msgstr "행렬로 사각형을 변환하고 **원본을 대체** 합니다. 사각형이 비어 있거나 무한이면 아무 작업도 수행하지 않습니다." + +#: ../../rect.rst 1769e651f3b64df78e388f49683edfc2 +#: 312414a60f5241d7abaee3b012e0c7f4 54d06860552f4fa4bf1e92782d2b517a +#: aecbea35a63240b7bb02c03f083daacf d9b739a44f4b427b9772f8da4198b7b3 +#: dca5e2461b874ed6ac599ed5bf67591e dd42b3800611490e9091e6942a813e85 +#: e64ab107750d4908974794940a14b516 f9eb8fc37f314b86bb12b6037ad64aca +msgid "Parameters" +msgstr "매개변수" + +#: ../../rect.rst:133 17bbbee58ca246578928bb7c3f404ef5 +msgid "The matrix for the transformation." +msgstr "변환을 위한 행렬." + +#: ../../rect.rst:136 5b54b6fd35e047b9b19b8e92d649c886 +msgid "``Rect``" +msgstr "``Rect``" + +#: ../../rect.rst ad2d6666f58d4edab133c0b63812dad1 +#: ee287750d1ff4757a1f4aab28350cc3f f617b587a6e84a1d879ad6eb2a4b8163 +msgid "Returns" +msgstr "반환값" + +#: ../../rect.rst:137 9310c42c457243d2adf6a8ef7e65abb4 +msgid "the smallest rectangle that contains the transformed original." +msgstr "변환된 원본을 포함하는 가장 작은 사각형." + +#: ../../rect.rst:141 515fef48ca8a47adbebb14b402eb85f4 +msgid "" +"The intersection (common rectangular area, largest rectangle contained in" +" both) of the current rectangle and *r* is calculated and **replaces the " +"current** rectangle. If either rectangle is empty, the result is also " +"empty. If *r* is infinite, this is a no-operation. If the rectangles are " +"(mathematically) disjoint sets, then the result is invalid. If the result" +" is valid but empty, then the rectangles touch each other in a corner or " +"(part of) a side." +msgstr "현재 사각형과 *r* 의 교집합(공통 사각형 영역, 둘 다에 포함된 가장 큰 사각형)이 계산되어 **현재** 사각형을 **대체** 합니다. 사각형 중 하나가 비어 있으면 결과도 비어 있습니다. *r* 이 무한이면 아무 작업도 수행하지 않습니다. 사각형이 (수학적으로) 서로소 집합이면 결과는 무효입니다. 결과가 유효하지만 비어 있으면 사각형은 모서리 또는 (일부) 변에서 서로 접촉합니다." + +#: ../../rect.rst:143 ../../rect.rst:150 5ae4d4eaacb44add974c0aa6cf33f6f8 +#: cb94768c038d40d6be30db81f8988f9e +msgid "Second rectangle" +msgstr "두 번째 사각형" + +#: ../../rect.rst:148 db7d498e829c4302919da10e026d8ac5 +msgid "" +"The smallest rectangle containing the current one and ``r`` is calculated" +" and **replaces the current** one. If either rectangle is infinite, the " +"result is also infinite. If ``r`` is empty, the current rectangle remains" +" unchanged. Else if the current rectangle is empty, it is replaced by " +"``r``." +msgstr "현재 사각형과 ``r`` 을 포함하는 가장 작은 사각형이 계산되어 **현재** 사각형을 **대체** 합니다. 사각형 중 하나가 무한이면 결과도 무한입니다. ``r`` 이 비어 있으면 현재 사각형은 변경되지 않습니다. 현재 사각형이 비어 있으면 ``r`` 로 대체됩니다." + +#: ../../rect.rst:155 d539db24271d4c00bd98e51fb2c3f2ab +msgid "" +"The smallest rectangle containing the current one and :data:`point_like` " +"``p`` is calculated and **replaces the current** one. **The infinite " +"rectangle remains unchanged.** To create the rectangle that wraps a " +"sequence of points, start with :meth:`EMPTY_RECT` and successively " +"include the members of the sequence." +msgstr "현재 사각형과 :data:`point_like` ``p`` 를 포함하는 가장 작은 사각형이 계산되어 **현재** 사각형을 **대체** 합니다. **무한 사각형은 변경되지 않습니다.** 점 시퀀스를 감싸는 사각형을 만들려면 :meth:`EMPTY_RECT` 로 시작하여 시퀀스의 멤버를 순차적으로 포함하세요." + +#: ../../rect.rst:157 6a72290dd49345a0a63b3757d59663ca +msgid "Point to include." +msgstr "포함할 점." + +#: ../../rect.rst:163 ba33391fc40040a4a994136d913ee366 +msgid "" +"Calculate the area of the rectangle and, with no parameter, equals " +"*abs(rect)*. Like an empty rectangle, the area of an infinite rectangle " +"is also zero. So, at least one of *pymupdf.Rect(p1, p2)* and " +"*pymupdf.Rect(p2, p1)* has a zero area." +msgstr "사각형의 영역을 계산하며, 매개변수 없이는 *abs(rect)* 와 같습니다. 빈 사각형과 마찬가지로 무한 사각형의 영역도 0입니다. 따라서 *pymupdf.Rect(p1, p2)* 와 *pymupdf.Rect(p2, p1)* 중 적어도 하나는 영역이 0입니다." + +#: ../../rect.rst:165 6f367ec895b04a5282f232e658390010 +msgid "" +"Specify required unit: respective squares of *px* (pixels, default), *in*" +" (inches), *cm* (centimeters), or *mm* (millimeters)." +msgstr "필요한 단위 지정: *px* (픽셀, 기본값), *in* (인치), *cm* (센티미터) 또는 *mm* (밀리미터)의 각각의 제곱." + +#: ../../rect.rst:170 f1fdbdae13644bca9624eea1bed293ba +msgid "" +"Checks whether *x* is contained in the rectangle. It may be an *IRect*, " +"*Rect*, *Point* or number. If *x* is an empty rectangle, this is always " +"true. If the rectangle is empty this is always ``False`` for all non-" +"empty rectangles and for all points. `x in rect` and `rect.contains(x)` " +"are equivalent." +msgstr "*x* 가 사각형에 포함되어 있는지 확인합니다. 이것은 *IRect*, *Rect*, *Point* 또는 숫자일 수 있습니다. *x* 가 빈 사각형이면 이것은 항상 true입니다. 사각형이 비어 있으면 모든 비어 있지 않은 사각형과 모든 점에 대해 이것은 항상 ``False`` 입니다. `x in rect` 와 `rect.contains(x)` 는 동일합니다." + +#: ../../rect.rst:172 ca3270a90eac40a4bbb2ec88e8547446 +msgid "the object to check." +msgstr "확인할 객체." + +#: ../../rect.rst:179 a2c14b05b36d4decbe4367b3aa764e2f +msgid "" +"Checks whether the rectangle and a :data:`rect_like` \"r\" contain a " +"common non-empty :ref:`Rect`. This will always be ``False`` if either is " +"infinite or empty." +msgstr "사각형과 :data:`rect_like` \"r\"이 공통의 비어 있지 않은 :ref:`Rect` 를 포함하는지 확인합니다. 둘 중 하나가 무한이거나 비어 있으면 이것은 항상 ``False`` 입니다." + +#: ../../rect.rst:181 fd7c3c60afa7402f98f4d782416f106d +msgid "the rectangle to check." +msgstr "확인할 사각형." + +#: ../../rect.rst:187 a9fe2a547ab44768a39b47d8d9ef868e +msgid "New in version 1.19.3" +msgstr "버전 1.19.3에서 새로 추가됨" + +#: ../../rect.rst:189 d15a89c433be470288ee2017503a040f +msgid "Compute the matrix which transforms this rectangle to a given one." +msgstr "이 사각형을 주어진 사각형으로 변환하는 행렬을 계산합니다." + +#: ../../rect.rst:191 7492eabbe7d24bdba52f9f8ead663bcd +msgid "the target rectangle. Must not be empty or infinite." +msgstr "대상 사각형. 비어 있거나 무한이 아니어야 합니다." + +#: ../../rect.rst:192 1d5dde507c8b434e94689248050663f0 +msgid ":ref:`Matrix`" +msgstr ":ref:`Matrix`" + +#: ../../rect.rst:193 fc8cb54b6f794b9ca05b2b2fb57c5290 +msgid "" +"a matrix `mat` such that `self * mat = rect`. Can for example be used to " +"transform between the page and the pixmap coordinates. See an example use" +" here :ref:`RecipesImages_P`." +msgstr "`self * mat = rect` 가 되는 행렬 `mat`. 예를 들어 페이지와 픽셀맵 좌표 간 변환에 사용할 수 있습니다. 사용 예는 :ref:`RecipesImages_P` 를 참조하세요." + +#: ../../rect.rst:197 6bfb5ec48e4742898de3cb22ba429c99 +msgid "New in version 1.17.0" +msgstr "버전 1.17.0에서 새로 추가됨" + +#: ../../rect.rst:199 33c676862f1241db9159e7a0b76a9f67 +msgid "" +"Return a new quad after applying a matrix to the rectangle using the " +"fixed point `fixpoint`." +msgstr "고정점 `fixpoint` 를 사용하여 사각형에 행렬을 적용한 후 새 quad를 반환합니다." + +#: ../../rect.rst:201 c4251e2f175d41d48a4e66ee81b8a2a0 +msgid "the fixed point." +msgstr "고정점." + +#: ../../rect.rst:202 3597e1c1f5d84296b016ca74793b5554 +msgid "the matrix." +msgstr "행렬." + +#: ../../rect.rst:203 e7dca746738f46ff95c1c3f83513868b +msgid "" +"a new :ref:`Quad`. This a wrapper for the same-named quad method. If " +"infinite, the infinite quad is returned." +msgstr "새 :ref:`Quad`. 이것은 동일한 이름의 quad 메서드의 래퍼입니다. 무한이면 무한 quad가 반환됩니다." + +#: ../../rect.rst:207 f0e8c79473044506bfc164d658cd0559 +msgid "New in version 1.16.0" +msgstr "버전 1.16.0에서 새로 추가됨" + +#: ../../rect.rst:209 5675696559db481c8264784ff3dc7467 +msgid "" +"Return the Euclidean norm of the rectangle treated as a vector of four " +"numbers." +msgstr "4개의 숫자 벡터로 처리된 사각형의 유클리드 노름을 반환합니다." + +#: ../../rect.rst:213 d5b4c7b243b04370ad7717618f6af173 +msgid "" +"**Replace** the rectangle with its valid version. This is done by " +"shuffling the rectangle corners. After completion of this method, the " +"bottom right corner will indeed be south-eastern to the top left one (but" +" may still be empty)." +msgstr "사각형을 유효한 버전으로 **대체** 합니다. 이것은 사각형 모서리를 재배치하여 수행됩니다. 이 메서드 완료 후, 오른쪽 아래 모서리는 실제로 왼쪽 위 모서리의 남동쪽이 됩니다(하지만 여전히 비어 있을 수 있습니다)." + +#: ../../rect.rst:217 55f5202f243c431cb4a6aae82d228176 +msgid "Equals result of method *round()*." +msgstr "메서드 *round()* 의 결과와 같습니다." + +#: ../../rect.rst:223 8ce16ab6c7df44f5abb8f92883c8d5c5 +msgid "Equals *Point(x0, y0)*." +msgstr "*Point(x0, y0)* 와 같습니다." + +#: ../../rect.rst 140ba1c8d224453686c608739d150b66 +#: 17b10802a6f2405c86d6e263e499d22f 5444bac90c254f1c84d6fe7c0e28890d +#: 5bacf55f6fdc41e0a4eaecf91679d95d 5e0076fec68344b9b5094a29a7778e51 +#: 6362dacd20114c8e8d8beda49463e502 7bdb41b9074b4fe8b70f89b3feb982f8 +#: 8b32b0a8f85c488f8622250501ee942a 9ebaad019109481ebcf4ddd743d67f01 +#: d8d182de61d74096abf1ed76f13825b2 dd68eb47fe4f425fb08826a909877002 +#: f6c692b144934eb0ba0bbce5f99825bf +msgid "type" +msgstr "유형" + +#: ../../rect.rst:225 ../../rect.rst:233 ../../rect.rst:241 ../../rect.rst:249 +#: 3bb0a2aad0b34e11b52697850a333f20 403eb084f6f64eb590a9e0627f324bc1 +#: 8690457d8ba940b09ec2249670a3ef5b 93767b206e804fd582e4db28c1eb3219 +msgid ":ref:`Point`" +msgstr ":ref:`Point`" + +#: ../../rect.rst:231 62f995500f554a04a83c5d7392c75231 +msgid "Equals `Point(x1, y0)`." +msgstr "`Point(x1, y0)` 와 같습니다." + +#: ../../rect.rst:239 4b524e88114c4a3d9795ac77e101aac6 +msgid "Equals `Point(x0, y1)`." +msgstr "`Point(x0, y1)` 와 같습니다." + +#: ../../rect.rst:247 c781f4a98d33484a8fd5eeb72de6719e +msgid "Equals `Point(x1, y1)`." +msgstr "`Point(x1, y1)` 와 같습니다." + +#: ../../rect.rst:253 4fdbb1259b894b85abf811e41bf30f7f +msgid "The quadrilateral `Quad(rect.tl, rect.tr, rect.bl, rect.br)`." +msgstr "사각형 `Quad(rect.tl, rect.tr, rect.bl, rect.br)`." + +#: ../../rect.rst:255 a29713ba4e8a43c290093038d033627b +msgid ":ref:`Quad`" +msgstr ":ref:`Quad`" + +#: ../../rect.rst:259 a19815eed800437580d69960abffb442 +msgid "Width of the rectangle. Equals `max(x1 - x0, 0)`." +msgstr "사각형의 너비. `max(x1 - x0, 0)` 와 같습니다." + +#: ../../rect.rst:265 19c9fc7532244739bb242fc281fe9ab4 +msgid "Height of the rectangle. Equals `max(y1 - y0, 0)`." +msgstr "사각형의 높이. `max(y1 - y0, 0)` 와 같습니다." + +#: ../../rect.rst:271 e9d9d68a615844588179b0a9c4ddb63d +msgid "X-coordinate of the left corners." +msgstr "왼쪽 모서리의 X 좌표." + +#: ../../rect.rst:273 ../../rect.rst:279 ../../rect.rst:285 ../../rect.rst:291 +#: 3159fff4ace944f5b28b66c85c40a391 595d30cddc2441798812da3e6aa60405 +#: 7d4d519c37524ecd93c59a92f14a52ee c3f30ece20574d289dd0729b1555cb67 +msgid "float" +msgstr "float" + +#: ../../rect.rst:277 ef85ef105e694e3faab5ca56c0e0eecb +msgid "Y-coordinate of the top corners." +msgstr "위쪽 모서리의 Y 좌표." + +#: ../../rect.rst:283 01de9b8a52134ea9893026eb6219e2ed +msgid "X-coordinate of the right corners." +msgstr "오른쪽 모서리의 X 좌표." + +#: ../../rect.rst:289 0324e83243014e8facb3691297c10edd +msgid "Y-coordinate of the bottom corners." +msgstr "아래쪽 모서리의 Y 좌표." + +#: ../../rect.rst:295 63c3980c456449ab98ca919497d7ee18 +msgid "`True` if this is the infinite rectangle." +msgstr "이것이 무한 사각형이면 `True`." + +#: ../../rect.rst:297 ../../rect.rst:303 ../../rect.rst:309 +#: 84e580180c7c4388939f1b2876f6eb67 9aaf58f7198848dc9acfe4b42c84ad6f +#: b9b7f26129e94195801107367cb7fbcc +msgid "bool" +msgstr "bool" + +#: ../../rect.rst:301 18ecd70d16ed40779b23464233b589ed +msgid "`True` if rectangle is empty." +msgstr "사각형이 비어 있으면 `True`." + +#: ../../rect.rst:307 472d89b6e5324c3487cd59bb9818711c +msgid "`True` if rectangle is valid." +msgstr "사각형이 유효하면 `True`." + +#: ../../rect.rst:313 9531f9684b3d4fe5add3912c57ef0e6a +msgid "" +"This class adheres to the Python sequence protocol, so components can be " +"accessed via their index, too. Also refer to :ref:`SequenceTypes`." +msgstr "이 클래스는 Python 시퀀스 프로토콜을 따르므로 구성 요소는 인덱스를 통해 액세스할 수도 있습니다. :ref:`SequenceTypes` 도 참조하세요." + +#: ../../rect.rst:314 a8f439886c4540a88cfb3aa32cee5363 +msgid "" +"Rectangles can be used with arithmetic operators -- see chapter " +":ref:`Algebra`." +msgstr "사각형은 산술 연산자와 함께 사용할 수 있습니다 -- :ref:`Algebra` 장을 참조하세요." + +#: ../../footer.rst:46 7bc9c45a377e4124a0eb39872343423a +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/resources.mo b/docs/locales/ko/LC_MESSAGES/resources.mo new file mode 100644 index 000000000..d18c4d5a4 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/resources.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/resources.po b/docs/locales/ko/LC_MESSAGES/resources.po new file mode 100644 index 000000000..2d28144ca --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/resources.po @@ -0,0 +1,75 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 ed18d6f38b3341f2bde92874aa4bc5d5 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 e9efbd58e1724907a6662c6a6d1443ed +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 f0d9191b949d4c7aaf99c05b1e804afe +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" + +#: ../../resources.rst:6 29588c8ac283422b8882c226d20d5624 +msgid "Resources" +msgstr "리소스" + +#: ../../resources.rst:9 226156d6aa574ae49ebbc29f7cc0ef0d +msgid "**PyMuPDF Pro**" +msgstr "**PyMuPDF Pro**" + +#: ../../resources.rst:12 67c0d5d5d80c4878907a81eb3091f9c3 +msgid "For **Office** file support `try PyMuPDF Pro `." +msgstr "**Office** 파일 지원을 위해 `PyMuPDF Pro ` 를 사용해 보세요." + +#: ../../resources.rst:20 28881f0ff7624205aac76bf0a54670e2 +msgid "Find out about **PyMuPDF Utilities**" +msgstr "**PyMuPDF Utilities** 에 대해 알아보기" + +#: ../../resources.rst:22 a5cac2a3beb04e638f4ab889c042bce1 +msgid "" +"The :title:`GitHub` repository `PyMuPDF-Utilities " +"`_ contains a full range of" +" examples, demonstrations and use cases." +msgstr ":title:`GitHub` 저장소 `PyMuPDF-Utilities `_ 에는 다양한 예제, 데모 및 사용 사례가 포함되어 있습니다." + +#: ../../resources.rst:31 ae915eee85a646ed938c77e4ca278e0f +msgid "Do you need |PDF| to **DOCX** conversion?" +msgstr "|PDF| 를 **DOCX** 로 변환이 필요하신가요?" + +#: ../../resources.rst:33 38b205c29ae545f79e6de0b8dda5b6a8 +msgid "" +"We recommend the pdf2docx_ library which uses |PyMuPDF| and the **python-" +"docx** library to provide simple document conversion from |PDF| to " +"**DOCX** format." +msgstr "|PDF| 에서 **DOCX** 형식으로의 간단한 문서 변환을 제공하기 위해 |PyMuPDF| 와 **python-docx** 라이브러리를 사용하는 pdf2docx_ 라이브러리를 권장합니다." + +#: ../../footer.rst:46 26ed59be763d4fe5a9384c80731d8341 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/shape.mo b/docs/locales/ko/LC_MESSAGES/shape.mo new file mode 100644 index 000000000..b7a3a1001 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/shape.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/shape.po b/docs/locales/ko/LC_MESSAGES/shape.po new file mode 100644 index 000000000..022a1ac43 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/shape.po @@ -0,0 +1,1460 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 7909b1fec71a4bb1918715ca5918f604 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 87466d36d4244b14b06775988b5a86da +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 c4e019a1ef45475794222706f39fa6bd +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" + +#: ../../shape.rst:6 a9435293f59542b2850588abf5b6a5c0 +msgid "Shape" +msgstr "Shape" + +#: ../../shape.rst:8 c22618002fb44404a4ac660d7663c2a9 +msgid "|pdf_only_class|" +msgstr "|pdf_only_class|" + +#: ../../shape.rst:10 83f7ae44343b4e29b36be26c67c582a7 +msgid "" +"This class allows creating interconnected graphical elements on a PDF " +"page. Its methods have the same meaning and name as the corresponding " +":ref:`Page` methods." +msgstr "이 클래스는 PDF 페이지에서 상호 연결된 그래픽 요소를 생성할 수 있게 합니다. 메서드는 해당 :ref:`Page` 메서드와 동일한 의미와 이름을 가집니다." + +#: ../../shape.rst:12 1687c125d94c4a889d4123d18b33a654 +msgid "" +"In fact, each :ref:`Page` draw method is just a convenience wrapper for " +"(1) one shape draw method, (2) the :meth:`Shape.finish` method, and (3) " +"the :meth:`Shape.commit` method. For page text insertion, only the " +":meth:`Shape.commit` method is invoked. If many draw and text operations " +"are executed for a page, you should always consider using a Shape object." +msgstr "실제로 각 :ref:`Page` draw 메서드는 (1) 하나의 shape draw 메서드, (2) :meth:`Shape.finish` 메서드, (3) :meth:`Shape.commit` 메서드에 대한 편의 래퍼입니다. 페이지 텍스트 삽입의 경우 :meth:`Shape.commit` 메서드만 호출됩니다. 페이지에 많은 그리기 및 텍스트 작업이 실행되는 경우 항상 Shape 객체 사용을 고려해야 합니다." + +#: ../../shape.rst:14 61eb314053054e4e9a36e36845c74ae6 +msgid "" +"Several draw methods can be executed in a row and each one of them will " +"contribute to one drawing. Once the drawing is complete, the " +":meth:`Shape.finish` method must be invoked to apply color, dashing, " +"width, morphing and other attributes." +msgstr "여러 draw 메서드를 연속으로 실행할 수 있으며 각각이 하나의 그림에 기여합니다. 그림이 완료되면 :meth:`Shape.finish` 메서드를 호출하여 색상, 대시, 너비, 변형 및 기타 속성을 적용해야 합니다." + +#: ../../shape.rst:16 f3481ff5d87c41998cb0f7de7874cbee +msgid "" +"**Draw** methods of this class (and :meth:`Shape.insert_textbox`) are " +"logging the area they are covering in a rectangle (:attr:`Shape.rect`). " +"This property can for instance be used to set " +":attr:`Page.cropbox_position`." +msgstr "이 클래스의 **Draw** 메서드(및 :meth:`Shape.insert_textbox`)는 사각형(:attr:`Shape.rect`)에서 덮고 있는 영역을 기록합니다. 이 속성은 예를 들어 :attr:`Page.cropbox_position` 을 설정하는 데 사용할 수 있습니다." + +#: ../../shape.rst:18 93fc8032a8144e439538867e5d7d9ff1 +msgid "" +"**Text insertions** :meth:`Shape.insert_text` and " +":meth:`Shape.insert_textbox` implicitly execute a \"finish\" and " +"therefore only require :meth:`Shape.commit` to become effective. As a " +"consequence, both include parameters for controlling properties like " +"colors, etc." +msgstr "**텍스트 삽입** :meth:`Shape.insert_text` 및 :meth:`Shape.insert_textbox` 는 암시적으로 \"finish\"를 실행하므로 효과를 발휘하려면 :meth:`Shape.commit` 만 필요합니다. 결과적으로 둘 다 색상 등의 속성을 제어하는 매개변수를 포함합니다." + +#: ../../shape.rst:21 7753ef6a86874229bc626bf090e7fd68 +msgid "**Method / Attribute**" +msgstr "**Method / Attribute**" + +#: ../../shape.rst:21 21306cc0a07a4be8b729f6d593a2a25e +msgid "**Description**" +msgstr "**Description**" + +#: ../../shape.rst:23 76875c2923b44844919d4f7dbc4ff2ae +msgid ":meth:`Shape.commit`" +msgstr "" + +#: ../../shape.rst:23 b6e101dde14a4c0399c2d1e32dfae0e3 +msgid "update the page's contents" +msgstr "페이지의 콘텐츠 업데이트" + +#: ../../shape.rst:24 68e32b027b2a42519c263a5d79f0aca5 +msgid ":meth:`Shape.draw_bezier`" +msgstr "" + +#: ../../shape.rst:24 cfd73fa2818546d897d3cc7dbf43cb7f +msgid "draw a cubic Bezier curve" +msgstr "3차 Bezier 곡선 그리기" + +#: ../../shape.rst:25 4f7b9a227586442b8c80cfc50bb5d2f6 +msgid ":meth:`Shape.draw_circle`" +msgstr "" + +#: ../../shape.rst:25 9f885ddec57646dc9618b9b296ef806e +msgid "draw a circle around a point" +msgstr "점 주위에 원 그리기" + +#: ../../shape.rst:26 aa0ac0a299bb4cacbdb189b821d1057f +msgid ":meth:`Shape.draw_curve`" +msgstr "" + +#: ../../shape.rst:26 444333668308404a995780c7c2ffd1e8 +msgid "draw a cubic Bezier using one helper point" +msgstr "하나의 보조 점을 사용하여 3차 Bezier 그리기" + +#: ../../shape.rst:27 1b7d6cc35258460398a82cc2ea5f5017 +msgid ":meth:`Shape.draw_line`" +msgstr "" + +#: ../../shape.rst:27 0a76a1b23d26472bb46eaef1b0b11d37 +msgid "draw a line" +msgstr "선 그리기" + +#: ../../shape.rst:28 eea95a7b69df4cc6a775a0d4015d87f5 +msgid ":meth:`Shape.draw_oval`" +msgstr "" + +#: ../../shape.rst:28 34529e37e99440538218de68e175f373 +msgid "draw an ellipse" +msgstr "타원 그리기" + +#: ../../shape.rst:29 8817f8a373594a85a5b96f2658e31d98 +msgid ":meth:`Shape.draw_polyline`" +msgstr "" + +#: ../../shape.rst:29 3b98bc2fd12c456c8a2410d43daa8912 +msgid "connect a sequence of points" +msgstr "점 시퀀스 연결" + +#: ../../shape.rst:30 4022cf63cc3a496696d3f62c0a2805ab +msgid ":meth:`Shape.draw_quad`" +msgstr "" + +#: ../../shape.rst:30 bde0f7baa3e145cda4e9d029099dda80 +msgid "draw a quadrilateral" +msgstr "사각형 그리기" + +#: ../../shape.rst:31 c4addcda29c140a6b1975890737ead18 +msgid ":meth:`Shape.draw_rect`" +msgstr "" + +#: ../../shape.rst:31 2b173978a5c64357ac1aabcc6e976c73 +msgid "draw a rectangle" +msgstr "직사각형 그리기" + +#: ../../shape.rst:32 7f7f34efc2e944109b6c07df81c75430 +msgid ":meth:`Shape.draw_sector`" +msgstr "" + +#: ../../shape.rst:32 d5d4937a74fb42b7b20852638b500044 +msgid "draw a circular sector or piece of pie" +msgstr "원형 섹터 또는 파이 조각 그리기" + +#: ../../shape.rst:33 880b0c8a153e48fdaa1029e9be76e520 +msgid ":meth:`Shape.draw_squiggle`" +msgstr "" + +#: ../../shape.rst:33 da68180d030a4b1fb309de94d47743b1 +msgid "draw a squiggly line" +msgstr "구불구불한 선 그리기" + +#: ../../shape.rst:34 9fe45650af3d4e0ca97f2b9d25d87789 +msgid ":meth:`Shape.draw_zigzag`" +msgstr "" + +#: ../../shape.rst:34 63c2fdb3045d4b81ae22677572e74fbe +msgid "draw a zigzag line" +msgstr "지그재그 선 그리기" + +#: ../../shape.rst:35 c22ba5f6783649118106601684861498 +msgid ":meth:`Shape.finish`" +msgstr "" + +#: ../../shape.rst:35 7c247cc071c04f4383953864f5d543ee +msgid "finish a set of draw commands" +msgstr "그리기 명령 세트 완료" + +#: ../../shape.rst:36 0ba068100e264e0b9e9ec1f368662d1d +msgid ":meth:`Shape.insert_text`" +msgstr "" + +#: ../../shape.rst:36 5dd5770c7a054a66ab3b70a9d530c6f3 +msgid "insert text lines" +msgstr "텍스트 줄 삽입" + +#: ../../shape.rst:37 fa4216d497f9485cb9c79fc192a851bf +msgid ":meth:`Shape.insert_textbox`" +msgstr "" + +#: ../../shape.rst:37 47ec8b14ef6c4a6d97b355006a0b0b62 +msgid "fit text into a rectangle" +msgstr "사각형에 텍스트 맞추기" + +#: ../../shape.rst:38 f1252e5521e147f5bb1c776091ef3328 +msgid ":attr:`Shape.doc`" +msgstr "" + +#: ../../shape.rst:38 7f05739c6d0d459aa0631c532353654e +msgid "stores the page's document" +msgstr "페이지의 문서 저장" + +#: ../../shape.rst:39 61f46d3f420545e684f380815c9730f3 +msgid ":attr:`Shape.draw_cont`" +msgstr "" + +#: ../../shape.rst:39 8a19e4b60bd145ceaa799130f96ab50f +msgid "draw commands since last :meth:`Shape.finish`" +msgstr "마지막 :meth:`Shape.finish` 이후의 그리기 명령" + +#: ../../shape.rst:40 dbc1fe5e22804f4291fdc27abafe492f +msgid ":attr:`Shape.height`" +msgstr "" + +#: ../../shape.rst:40 a1b344bfa62b474dbecc168b7566abfd +msgid "stores the page's height" +msgstr "페이지의 높이 저장" + +#: ../../shape.rst:41 98c50cf9d34b4f1fac07407191336a46 +msgid ":attr:`Shape.lastPoint`" +msgstr "" + +#: ../../shape.rst:41 d744e08ab64c4be89b54b91da06292ad +msgid "stores the current point" +msgstr "현재 점 저장" + +#: ../../shape.rst:42 3c7b42195cfb495cba0b78bee8af7989 +msgid ":attr:`Shape.page`" +msgstr "" + +#: ../../shape.rst:42 94b8094277504a3e865c3fc7a2fbadcf +msgid "stores the owning page" +msgstr "소유 페이지 저장" + +#: ../../shape.rst:43 74e41af07b7e49dfb9e8897106da6072 +msgid ":attr:`Shape.rect`" +msgstr "" + +#: ../../shape.rst:43 2fd72b972ba64904b71bf6a28bf4aa69 +msgid "rectangle surrounding drawings" +msgstr "그림을 둘러싸는 사각형" + +#: ../../shape.rst:44 d662c10c7b284e1a9e8fb0cfacc0af7e +msgid ":attr:`Shape.text_cont`" +msgstr "" + +#: ../../shape.rst:44 260872b329274794a91fbe27de9d0fd7 +msgid "accumulated text insertions" +msgstr "누적된 텍스트 삽입" + +#: ../../shape.rst:45 260f168374084a0389735532a415f968 +msgid ":attr:`Shape.totalcont`" +msgstr "" + +#: ../../shape.rst:45 cca60781247448a6bef1b019d5b03005 +msgid "accumulated string to be stored in :data:`contents`" +msgstr ":data:`contents` 에 저장될 누적 문자열" + +#: ../../shape.rst:46 bf5489e997644d1b86ef1a304a20a630 +msgid ":attr:`Shape.width`" +msgstr "" + +#: ../../shape.rst:46 320f315bc7e34fb9a224c8104c0490ba +msgid "stores the page's width" +msgstr "페이지의 너비 저장" + +#: ../../shape.rst:49 bb77ff1beb1643f1a32fbeb881764556 +msgid "**Class API**" +msgstr "**Class API**" + +#: ../../shape.rst:55 f849eb8fe4ea4d84ae176a3bfaddbc5d +msgid "" +"Create a new drawing. During importing PyMuPDF, the *pymupdf.Page* object" +" is being given the convenience method *new_shape()* to construct a " +"*Shape* object. During instantiation, a check will be made whether we do " +"have a PDF page. An exception is otherwise raised." +msgstr "새로운 그림을 생성합니다. |PyMuPDF| 를 가져오는 동안 *pymupdf.Page* 객체에 *Shape* 객체를 구성하기 위한 편의 메서드 *new_shape()* 가 제공됩니다. 인스턴스화 중에 PDF 페이지가 있는지 확인합니다. 그렇지 않으면 예외가 발생합니다." + +#: ../../shape.rst 1c33018ebf664e5c82016942d1b106b9 +#: 1ffb902ffb054dea81b4421598d73d3b 2c7222c93878455593e199cee35f9bc0 +#: 526e0601602e4ad294c77828899ee151 652ecb786383456887f3e684eb50a16f +#: 8351d111f6ba44c5a48d07b45ecd69ec 8512993c092848e68b405672b0329a5f +#: 97750b106384485e9da4b3a178fc8b8a bdcf123cefb04a72ac000f1e6d213cab +#: d33f1cb5159441b288aacd2ccae007dd d522a8dc82fa46aaa1bf98571addfab6 +#: ec2e6f2b47e543f780ac5d88287a15e3 f4f238ef2bbb4c60a0db78dc6ba48ae3 +#: fc6fd8d86630442eac29f0ee69909dd3 +msgid "Parameters" +msgstr "Parameters" + +#: ../../shape.rst:57 7af1e6f9a6c54700a96a634680458cf7 +msgid "an existing page of a PDF document." +msgstr "PDF 문서의 기존 페이지." + +#: ../../shape.rst:62 76f377d8f0084511ba9e8ab03be15272 +msgid "Draw a line from :data:`point_like` objects *p1* to *p2*." +msgstr ":data:`point_like` 객체 *p1* 에서 *p2* 까지 선을 그립니다." + +#: ../../shape.rst:64 ../../shape.rst:78 ../../shape.rst:114 +#: 0bd9ca4fa2034c02bba75a1ed84436e8 67a3775d53744800bce979bd9509dae4 +#: 6fdeeec1ae7344738df476d7c0995efd +msgid "starting point" +msgstr "시작점" + +#: ../../shape.rst:66 ../../shape.rst:80 ../../shape.rst:116 +#: 233bc3b5db494f95bd617855177b0ba3 b9a33dfd5ad0434bb5d1681c4ef5477f +#: d7a11d5e2d0843bf98b67ccb4c5a1b5c +msgid "end point" +msgstr "끝점" + +#: ../../shape.rst 00c99cce86684724a7484f034aead4b9 +#: 11b2ce9eb7ac446288dfe432b6af2d66 37b1db5fc557483698f96296fca977a1 +#: 398f16080c7c485daf19f594085b75e3 4fb89ac12ab341e98fd2fbfde502762f +#: 79c3be157132461c91fbd43f577c6960 7f449ff12a28486c9377d3eae5881abe +#: 86a6ff3345b34b99a0b2846ce9b63f97 87752e32bcb84c439a39262387ed43ad +#: 8ce97810f50346f1963cb9045d0e3bc9 9a9e08e465d642609b4034f0ac585738 +#: e06a173ede194c2499189e3f4ea96d22 f8c5c0c193bf4857a6d61a7fe76a58a0 +msgid "Return type" +msgstr "Return type" + +#: ../../shape.rst:68 ../../shape.rst:84 ../../shape.rst:120 +#: ../../shape.rst:129 ../../shape.rst:138 ../../shape.rst:157 +#: ../../shape.rst:173 ../../shape.rst:185 ../../shape.rst:207 +#: ../../shape.rst:224 ../../shape.rst:233 ../../shape.rst:448 +#: 02178d1d64304122974cdd7d2eda4e9a 04e3fd71585f46408e34e1b5d2918e9d +#: 1b90b951d85a446a9b18d2751aa79908 258641b6956c4c2ebb65129fbc72ae92 +#: 2c6a3892b51541d9b2bc4f6aa0613353 318dc522d9764a2e9e4ad48a39be4ebb +#: 60c74e5979e14e0e8d70ebeb78df14b9 6b818606a66c4dc494a2fe410d34be22 +#: 6f503a8ab6474890be0934600cf2de3b 881f284fe0a54cc180a7ff765822eb7e +#: 8b84d3286ddb4519bb3afc99075e83fb f570f468b63940e4b0b9f5890f13db63 +msgid ":ref:`Point`" +msgstr ":ref:`Point`" + +#: ../../shape.rst 19bca25aa417451a9d8eb8425f4d7fe5 +#: 2d7984c3e8b24f9cacf4f90e2f10a7e0 42bcff3c5d7c4b3ea0f0cff8b94a1936 +#: 5725a8009d724bfda07948d7fdd6a975 5ab553dbd9a245ef85863361d3458c06 +#: 5baa94cd077f42439269059c4560779d a0d4f65446c742a5b9f88f747fecf574 +#: a8b9ec9227c447c7b5b7e475f0ad137b b93d921a09e2475eb2dfecc00159859c +#: c9221ebfa6724c35be3fe1b3043dcc84 edda77c9978d4bdc8e49a11220f628de +#: fda0a5dbf3e44f70993141cd223cda9f ffd43af87088494c8ab238422d4affeb +msgid "Returns" +msgstr "Returns" + +#: ../../shape.rst:69 ../../shape.rst:85 ../../shape.rst:121 +#: 03c2703f4c2c4c488c6e1dd5a8bde13f 54fc79ebcc5547368af108398f088aa1 +#: d5a893ea1f9f4e6cb959502504cda257 +msgid "the end point, *p2*." +msgstr "끝점 *p2*." + +#: ../../shape.rst:76 eed928e2a53b4d0db6454fc9a3031e88 +msgid "" +"Draw a squiggly (wavy, undulated) line from :data:`point_like` objects " +"*p1* to *p2*. An integer number of full wave periods will always be " +"drawn, one period having a length of *4 * breadth*. The breadth parameter" +" will be adjusted as necessary to meet this condition. The drawn line " +"will always turn \"left\" when leaving *p1* and always join *p2* from the" +" \"right\"." +msgstr ":data:`point_like` 객체 *p1* 에서 *p2* 까지 구불구불한(물결치는, 파형의) 선을 그립니다. 항상 정수 개의 전체 파형 주기가 그려지며, 한 주기의 길이는 *4 * breadth* 입니다. 이 조건을 충족하기 위해 breadth 매개변수가 필요에 따라 조정됩니다. 그려진 선은 *p1* 을 떠날 때 항상 \"왼쪽\"으로 돌고 항상 \"오른쪽\"에서 *p2* 에 합류합니다." + +#: ../../shape.rst:82 cbee403daaee4a56b9b2f131ff95afb9 +msgid "" +"the amplitude of each wave. The condition *2 * breadth < abs(p2 - p1)* " +"must be true to fit in at least one wave. See the following picture, " +"which shows two points connected by one full period." +msgstr "각 파형의 진폭. 최소한 하나의 파형을 맞추려면 조건 *2 * breadth < abs(p2 - p1)* 이 참이어야 합니다. 하나의 전체 주기로 연결된 두 점을 보여주는 다음 그림을 참조하세요." + +#: ../../shape.rst:89 c61f3a8ac2e84d7e88c065f6a80328ac +msgid "" +"Here is an example of three connected lines, forming a closed, filled " +"triangle. Little arrows indicate the stroking direction." +msgstr "다음은 닫힌 채워진 삼각형을 형성하는 세 개의 연결된 선의 예입니다. 작은 화살표는 스트로크 방향을 나타냅니다." + +#: ../../shape.rst:105 3b09c6c0299043ad9e407b82096dc07f +msgid "" +"Waves drawn are **not** trigonometric (sine / cosine). If you need that, " +"have a look at `draw.py `_." +msgstr "그려진 파형은 **삼각함수** (사인/코사인)가 **아닙니다**. 그것이 필요하다면 `draw.py `_ 를 참조하세요." + +#: ../../shape.rst:112 e6d38796d27441ac9eb554ae3567f070 +msgid "" +"Draw a zigzag line from :data:`point_like` objects *p1* to *p2*. " +"Otherwise works exactly like :meth:`Shape.draw_squiggle`." +msgstr ":data:`point_like` 객체 *p1* 에서 *p2* 까지 지그재그 선을 그립니다. 그 외에는 :meth:`Shape.draw_squiggle` 과 정확히 동일하게 작동합니다." + +#: ../../shape.rst:118 2686f76e3e56495ca08bdd2711d1c28e +msgid "" +"the amplitude of the movement. The condition *2 * breadth < abs(p2 - p1)*" +" must be true to fit in at least one period." +msgstr "이동의 진폭. 최소한 하나의 주기를 맞추려면 조건 *2 * breadth < abs(p2 - p1)* 이 참이어야 합니다." + +#: ../../shape.rst:125 bfb5a00ac07547bf822e4b2d95c0f3d7 +msgid "" +"Draw several connected lines between points contained in the sequence " +"*points*. This can be used for creating arbitrary polygons by setting the" +" last item equal to the first one." +msgstr "시퀀스 *points* 에 포함된 점들 사이에 여러 개의 연결된 선을 그립니다. 마지막 항목을 첫 번째 항목과 같게 설정하여 임의의 다각형을 만드는 데 사용할 수 있습니다." + +#: ../../shape.rst:127 9afa3278382745228b82849acc3d1db1 +msgid "" +"a sequence of :data:`point_like` objects. Its length must at least be 2 " +"(in which case it is equivalent to *draw_line()*)." +msgstr ":data:`point_like` 객체의 시퀀스. 길이는 최소 2여야 합니다(이 경우 *draw_line()* 와 동일함)." + +#: ../../shape.rst:130 b0f8276e3be04c6996c165c83ed3fdbd +msgid "*points[-1]* -- the last point in the argument sequence." +msgstr "*points[-1]* -- 인수 시퀀스의 마지막 점." + +#: ../../shape.rst:134 bf9fc4f7ee704353953bbb497b85a344 +msgid "" +"Draw a standard cubic Bézier curve from *p1* to *p4*, using *p2* and *p3*" +" as control points." +msgstr "*p2* 와 *p3* 를 제어점으로 사용하여 *p1* 에서 *p4* 까지 표준 3차 Bézier 곡선을 그립니다." + +#: ../../shape.rst:136 65ae6d8fa1ca4696b5ceec6e6a33a484 +msgid "All arguments are :data:`point_like` objects." +msgstr "모든 인수는 :data:`point_like` 객체입니다." + +#: ../../shape.rst:139 c3bc7d17a1564a259bbccff931fbceb4 +msgid "the end point, *p4*." +msgstr "끝점 *p4*." + +#: ../../shape.rst:141 540f633870214c57b214a2d3dc6fad47 +msgid "" +"The points do not need to be different -- experiment a bit with some of " +"them being equal!" +msgstr "점들이 달라야 할 필요는 없습니다 -- 일부가 같도록 실험해보세요!" + +#: ../../shape.rst:143 cc32f6b9b719471e990541995cb91d8a +msgid "Example:" +msgstr "Example:" + +#: ../../shape.rst:149 3cd13feab216456fb40eabb0f87476f2 +msgid "" +"Draw an \"ellipse\" inside the given tetragon (quadrilateral). If it is a" +" square, a regular circle is drawn, a general rectangle will result in an" +" ellipse. If a quadrilateral is used instead, a plethora of shapes can be" +" the result." +msgstr "주어진 사각형(사변형) 내에 \"타원\"을 그립니다. 정사각형이면 일반 원이 그려지고, 일반 직사각형이면 타원이 됩니다. 사변형을 사용하면 다양한 모양이 결과가 될 수 있습니다." + +#: ../../shape.rst:151 3beef81862054f6c9dcfb27abe73062b +msgid "" +"The drawing starts and ends at the middle point of the line `bottom-left " +"-> top-left` corners in an anti-clockwise movement." +msgstr "그리기는 반시계 방향으로 `왼쪽 아래 -> 왼쪽 위` 모서리 선의 중간점에서 시작하고 끝납니다." + +#: ../../shape.rst:153 dbc5cddf46e74369a4ec90c4aba4a510 +msgid "" +":data:`rect_like` or :data:`quad_like`. *Changed in version 1.14.5:* " +"Quads are now also supported." +msgstr "" + +#: ../../shape.rst:153 0704abfebefe4fe78ed8116b1a8491c3 +msgid ":data:`rect_like` or :data:`quad_like`." +msgstr ":data:`rect_like` 또는 :data:`quad_like`." + +#: ../../shape.rst:155 b5056fbc16ad42e4b786c5a89beddb09 +msgid "*Changed in version 1.14.5:* Quads are now also supported." +msgstr "*버전 1.14.5에서 변경됨:* 이제 Quads도 지원됩니다." + +#: ../../shape.rst:158 913c4e5f92e8407f8da84ba1fbe6cb29 +msgid "" +"the middle point of line `rect.bl -> rect.tl`, or resp. `quad.ll -> " +"quad.ul`. Look at just a few examples here, or at the *quad-show?.py* " +"scripts in the PyMuPDF-Utilities repository." +msgstr "선 `rect.bl -> rect.tl` 또는 각각 `quad.ll -> quad.ul` 의 중간점. 여기서 몇 가지 예제를 보거나 PyMuPDF-Utilities 저장소의 *quad-show?.py* 스크립트를 참조하세요." + +#: ../../shape.rst:165 e10d02b00d77481699e5ed1c3824246d +msgid "" +"Draw a circle given its center and radius. The drawing starts and ends at" +" point `center - (radius, 0)` in an **anti-clockwise** movement. This " +"point is the middle of the enclosing square's left side." +msgstr "중심과 반지름이 주어진 원을 그립니다. 그리기는 **반시계 방향** 으로 점 `center - (radius, 0)` 에서 시작하고 끝납니다. 이 점은 둘러싸는 정사각형의 왼쪽 변의 중간입니다." + +#: ../../shape.rst:167 ab7929d6c83247179ab99962d0e45182 +msgid "" +"This is a shortcut for `draw_sector(center, start, 360, " +"fullSector=False)`. To draw the same circle in a **clockwise** movement, " +"use `-360` as degrees." +msgstr "이것은 `draw_sector(center, start, 360, fullSector=False)` 의 바로가기입니다. **시계 방향** 으로 동일한 원을 그리려면 각도로 `-360` 을 사용하세요." + +#: ../../shape.rst:169 ../../shape.rst:199 6f2705ad71a74c2b917e39246bc2698d +#: bd872730dfb6401aa65d5bf0dcfa4a1d +msgid "the center of the circle." +msgstr "원의 중심." + +#: ../../shape.rst:171 5b6ab9084a254ee998a1d680ac1e0240 +msgid "the radius of the circle. Must be positive." +msgstr "원의 반지름. 양수여야 합니다." + +#: ../../shape.rst:174 7c4ce467661b468b8439dadac7926f6a +msgid "" +"`Point(center.x - radius, center.y)`. .. image:: images/img-drawcircle.*" +" :scale: 60" +msgstr "" + +#: ../../shape.rst:174 2debffa3cd414df1912ce3b384b1301c +msgid "`Point(center.x - radius, center.y)`." +msgstr "`Point(center.x - radius, center.y)`." + +#: ../../shape.rst:181 ee66694536bb4ca4a6a74521eab10648 +msgid "" +"A special case of *draw_bezier()*: Draw a cubic Bezier curve from *p1* to" +" *p3*. On each of the two lines `p1 -> p2` and `p3 -> p2` one control " +"point is generated. Both control points will therefore be on the same " +"side of the line `p1 -> p3`. This guaranties that the curve's curvature " +"does not change its sign. If the lines to p2 intersect with an angle of " +"90 degrees, then the resulting curve is a quarter ellipse (resp. quarter " +"circle, if of same length)." +msgstr "*draw_bezier()* 의 특수한 경우: *p1* 에서 *p3* 까지 3차 Bezier 곡선을 그립니다. 두 선 `p1 -> p2` 와 `p3 -> p2` 각각에 하나의 제어점이 생성됩니다. 따라서 두 제어점은 모두 선 `p1 -> p3` 의 같은 쪽에 있습니다. 이것은 곡선의 곡률이 부호를 변경하지 않도록 보장합니다. p2로의 선이 90도 각도로 교차하면 결과 곡선은 1/4 타원(또는 같은 길이인 경우 1/4 원)이 됩니다." + +#: ../../shape.rst:183 b9aa05d9515a4765ba0ed43ffaf7fdc8 +msgid "All arguments are :data:`point_like`." +msgstr "모든 인수는 :data:`point_like` 입니다." + +#: ../../shape.rst:186 17f64971541f45cd813e80d02b9a38f9 +msgid "" +"the end point, *p3*. The following is a filled quarter ellipse segment. " +"The yellow area is oriented **clockwise:** .. image:: images/img-" +"drawCurve.png :align: center" +msgstr "" + +#: ../../shape.rst:186 13f26770deb8487da263851084fcf4e9 +msgid "" +"the end point, *p3*. The following is a filled quarter ellipse segment. " +"The yellow area is oriented **clockwise:**" +msgstr "끝점 *p3*. 다음은 채워진 1/4 타원 세그먼트입니다. 노란색 영역은 **시계 방향** 으로 향합니다:" + +#: ../../shape.rst:197 e52f58c73f024ab492a6b26bf05ef6d1 +msgid "" +"Draw a circular sector, optionally connecting the arc to the circle's " +"center (like a piece of pie)." +msgstr "원형 섹터를 그립니다. 선택적으로 호를 원의 중심에 연결합니다(파이 조각처럼)." + +#: ../../shape.rst:201 4a4f8fd9d4ae4e9f9d879279d68a23eb +msgid "" +"one of the two end points of the pie's arc segment. The other one is " +"calculated from the *angle*." +msgstr "파이의 호 세그먼트의 두 끝점 중 하나. 다른 하나는 *angle* 에서 계산됩니다." + +#: ../../shape.rst:203 cde4d3b5b77e4714a1e8229d3a7d5901 +msgid "" +"the angle of the sector in degrees. Used to calculate the other end point" +" of the arc. Depending on its sign, the arc is drawn anti-clockwise " +"(positive) or clockwise." +msgstr "섹터의 각도(도 단위). 호의 다른 끝점을 계산하는 데 사용됩니다. 부호에 따라 호는 반시계 방향(양수) 또는 시계 방향으로 그려집니다." + +#: ../../shape.rst:205 240361925857465eae04d2b1fb29fe7f +msgid "" +"whether to draw connecting lines from the ends of the arc to the circle " +"center. If a fill color is specified, the full \"pie\" is colored, " +"otherwise just the sector." +msgstr "호의 끝에서 원의 중심까지 연결선을 그릴지 여부. 채우기 색상이 지정되면 전체 \"파이\"가 색칠되고, 그렇지 않으면 섹터만 색칠됩니다." + +#: ../../shape.rst:208 be7cd89a7589439eb4d78244412304ad +msgid "" +"the other end point of the arc. Can be used as starting point for a " +"following invocation to create logically connected pies charts. Examples:" +" .. image:: images/img-drawSector1.* .. image:: images/img-" +"drawSector2.*" +msgstr "" + +#: ../../shape.rst:208 0043e2c7a86744b4a2bc4d7f0bce8a4b +msgid "" +"the other end point of the arc. Can be used as starting point for a " +"following invocation to create logically connected pies charts. Examples:" +msgstr "호의 다른 끝점. 논리적으로 연결된 파이 차트를 만들기 위한 후속 호출의 시작점으로 사용할 수 있습니다. 예:" + +#: ../../shape.rst:217 5fb3a670ab80402c9dcadb97fd8823f0 +msgid "Changed in v1.22.0: Added parameter *radius*." +msgstr "v1.22.0에서 변경됨: 매개변수 *radius* 추가." + +#: ../../shape.rst:219 d0e527f29d634bf6a4487b2594b804af +msgid "" +"Draw a rectangle. The drawing starts and ends at the top-left corner in " +"an anti-clockwise movement." +msgstr "직사각형을 그립니다. 그리기는 반시계 방향으로 왼쪽 위 모서리에서 시작하고 끝납니다." + +#: ../../shape.rst:221 9f2b7555b1844871bbf67f60773f3566 +msgid "where to put the rectangle on the page." +msgstr "페이지에서 직사각형을 배치할 위치." + +#: ../../shape.rst:222 67f101fa3c674ce7b113450e58af1ac1 +#, python-format +msgid "" +"draw rounded rectangle corners. If not `None`, specifies the radius of " +"the curvature as a percentage of a rectangle side length. This must one " +"or (a tuple of) two floats `0 < radius <= 0.5`, where 0.5 corresponds to " +"50% of the respective side. If a float, the radius of the curvature is " +"computed as `radius * min(width, height)`, drawing the corner's perimeter" +" as a quarter circle. If a tuple `(rx, ry)` is given, then the curvature " +"is asymmetric with respect to the horizontal and vertical directions. A " +"value of `radius=(0.5, 0.5)` draws an ellipse." +msgstr "둥근 직사각형 모서리를 그립니다. `None` 이 아니면 직사각형 변 길이의 백분율로 곡률의 반지름을 지정합니다. 이것은 하나 또는 (튜플의) 두 개의 float `0 < radius <= 0.5` 여야 하며, 여기서 0.5는 해당 변의 50%에 해당합니다. float인 경우 곡률의 반지름은 `radius * min(width, height)` 로 계산되며, 모서리의 둘레를 1/4 원으로 그립니다. 튜플 `(rx, ry)` 가 주어지면 곡률은 수평 및 수직 방향에 대해 비대칭입니다. `radius=(0.5, 0.5)` 값은 타원을 그립니다." + +#: ../../shape.rst:225 6c3047af9341428fb1852d642a8d8fb3 +msgid "top-left corner of the rectangle." +msgstr "직사각형의 왼쪽 위 모서리." + +#: ../../shape.rst:229 654bd0a3b7ce4bf78f0d2d85b1d37414 +msgid "" +"Draw a quadrilateral. The drawing starts and ends at the top-left corner " +"(:attr:`Quad.ul`) in an anti-clockwise movement. It is a shortcut of " +":meth:`Shape.draw_polyline` with the argument `(ul, ll, lr, ur, ul)`." +msgstr "사변형을 그립니다. 그리기는 반시계 방향으로 왼쪽 위 모서리(:attr:`Quad.ul`)에서 시작하고 끝납니다. 인수 `(ul, ll, lr, ur, ul)` 을 사용하는 :meth:`Shape.draw_polyline` 의 바로가기입니다." + +#: ../../shape.rst:231 046262682daf47c8be64f00f93f9acba +msgid "where to put the tetragon on the page." +msgstr "페이지에서 사각형을 배치할 위치." + +#: ../../shape.rst:234 3fe224acf6924b1085f1052564c9423f +msgid ":attr:`Quad.ul`." +msgstr ":attr:`Quad.ul`." + +#: ../../shape.rst:253 0de6d95816a442d3b9408559071e8954 +msgid "" +"Finish a set of *draw*()* methods by applying :ref:`CommonParms` to all " +"of them." +msgstr ":ref:`CommonParms` 를 모두에 적용하여 *draw*()* 메서드 세트를 완료합니다." + +#: ../../shape.rst:255 56332b3691544dfbaf0fd9e731231bc5 +msgid "" +"It has **no effect on** :meth:`Shape.insert_text` and " +":meth:`Shape.insert_textbox`." +msgstr ":meth:`Shape.insert_text` 및 :meth:`Shape.insert_textbox` 에는 **영향을 주지 않습니다**." + +#: ../../shape.rst:257 549c8c7eeb8344aaa7576d3e8a534e9c +msgid "" +"The method also supports **morphing the compound drawing** using " +":ref:`Point` *fixpoint* and :ref:`matrix` *matrix*." +msgstr "이 메서드는 :ref:`Point` *fixpoint* 및 :ref:`matrix` *matrix* 를 사용하여 **복합 그림 변형** 도 지원합니다." + +#: ../../shape.rst:259 dba0c80e395c4f9992d5e84ad7225ffd +msgid "" +"morph the text or the compound drawing around some arbitrary :ref:`Point`" +" *fixpoint* by applying :ref:`Matrix` *matrix* to it. This implies that " +"*fixpoint* is a **fixed point** of this operation: it will not change its" +" position. Default is no morphing (``None``). The matrix can contain any " +"values in its first 4 components, *matrix.e == matrix.f == 0* must be " +"true, however. This means that any combination of scaling, shearing, " +"rotating, flipping, etc. is possible, but translations are not." +msgstr "임의의 :ref:`Point` *fixpoint* 주변의 텍스트 또는 복합 그림을 :ref:`Matrix` *matrix* 를 적용하여 변형합니다. 이것은 *fixpoint* 가 이 작업의 **고정점** 임을 의미합니다: 위치가 변경되지 않습니다. 기본값은 변형 없음(``None``)입니다. 행렬은 처음 4개 구성 요소에 임의의 값을 포함할 수 있지만, *matrix.e == matrix.f == 0* 이 참이어야 합니다. 이것은 확대/축소, 기울이기, 회전, 뒤집기 등의 조합이 가능하지만 이동은 불가능함을 의미합니다." + +#: ../../shape.rst:261 5dafa22688dd4869b353c3ba9d3b07f7 +msgid "" +"*(new in v1.18.1)* set transparency for stroke colors. Value < 0 or > 1 " +"will be ignored. Default is 1 (intransparent)." +msgstr "*(v1.18.1의 새로운 기능)* 스트로크 색상의 투명도를 설정합니다. 값 < 0 또는 > 1은 무시됩니다. 기본값은 1(불투명)입니다." + +#: ../../shape.rst:262 ccec6b24043c40a28e9532eddd90bdce +msgid "" +"*(new in v1.18.1)* set transparency for fill colors. Default is 1 " +"(intransparent)." +msgstr "*(v1.18.1의 새로운 기능)* 채우기 색상의 투명도를 설정합니다. 기본값은 1(불투명)입니다." + +#: ../../shape.rst:264 df15c1363a6a46538ab6875019646cbd +msgid "" +"request the **\"even-odd rule\"** for filling operations. Default is " +"``False``, so that the **\"nonzero winding number rule\"** is used. These" +" rules are alternative methods to apply the fill color where areas " +"overlap. Only with fairly complex shapes a different behavior is to be " +"expected with these rules. For an in-depth explanation, see " +":ref:`AdobeManual`, pp. 137 ff. Here is an example to demonstrate the " +"difference." +msgstr "채우기 작업에 **\"even-odd rule\"** 을 요청합니다. 기본값은 ``False`` 이므로 **\"nonzero winding number rule\"** 이 사용됩니다. 이러한 규칙은 영역이 겹치는 곳에 채우기 색상을 적용하는 대체 방법입니다. 상당히 복잡한 모양에서만 이러한 규칙으로 다른 동작이 예상됩니다. 자세한 설명은 :ref:`AdobeManual` 137페이지 이하를 참조하세요. 차이를 보여주는 예제는 다음과 같습니다." + +#: ../../shape.rst:266 c674e567b1e5433eaf84acd80acc23dc +msgid "" +"*(new in v1.18.4)* the :data:`xref` number of an :data:`OCG` or " +":data:`OCMD` to make this drawing conditionally displayable." +msgstr "*(v1.18.4의 새로운 기능)* 이 그림을 조건부로 표시 가능하게 하는 :data:`OCG` 또는 :data:`OCMD` 의 :data:`xref` 번호." + +#: ../../shape.rst:270 63c92f36394847c489986e7f2afbb97a +msgid "For each pixel in a shape, the following will happen:" +msgstr "모양의 각 픽셀에 대해 다음이 발생합니다:" + +#: ../../shape.rst:272 36c14ed50f0445be999e611bc169aa24 +msgid "" +"Rule **\"even-odd\"** counts, how many areas contain the pixel. If this " +"count is **odd,** the pixel is regarded **inside** the shape, if it is " +"**even**, the pixel is **outside**." +msgstr "규칙 **\"even-odd\"** 는 픽셀을 포함하는 영역의 수를 계산합니다. 이 카운트가 **홀수** 이면 픽셀은 모양 **내부** 로 간주되고, **짝수** 이면 픽셀은 **외부** 로 간주됩니다." + +#: ../../shape.rst:274 3effcfe2b7fe4980b3622d1cc2555db9 +msgid "" +"The default rule **\"nonzero winding\"** in addition looks at the " +"*\"orientation\"* of each area containing the pixel: it **adds 1** if an " +"area is drawn anti-clockwise and it **subtracts 1** for clockwise areas. " +"If the result is zero, the pixel is regarded **outside,** pixels with a " +"non-zero count are **inside** the shape." +msgstr "기본 규칙 **\"nonzero winding\"** 은 추가로 픽셀을 포함하는 각 영역의 *\"방향\"* 을 봅니다: 영역이 반시계 방향으로 그려지면 **1을 더하고** 시계 방향 영역에 대해서는 **1을 뺍니다**. 결과가 0이면 픽셀은 **외부** 로 간주되고, 0이 아닌 카운트를 가진 픽셀은 모양 **내부** 에 있습니다." + +#: ../../shape.rst:276 b72f9a0a9d6a42fba11e06941aaae289 +msgid "" +"Of the four shapes in above image, the top two each show three circles " +"drawn in standard manner (anti-clockwise, look at the arrows). The lower " +"two shapes contain one (the top-left) circle drawn clockwise. As can be " +"seen, area orientation is irrelevant for the right column (even-odd " +"rule)." +msgstr "위 이미지의 네 모양 중 위쪽 두 개는 각각 표준 방식(반시계 방향, 화살표 참조)으로 그려진 세 개의 원을 보여줍니다. 아래쪽 두 모양은 시계 방향으로 그려진 하나(왼쪽 위)의 원을 포함합니다. 보시다시피 영역 방향은 오른쪽 열(even-odd 규칙)과 무관합니다." + +#: ../../shape.rst:297 a50a3db9c4f74b3aaed7c91f010f050f +msgid "Insert text lines starting at ``point``." +msgstr "``point`` 에서 시작하는 텍스트 줄을 삽입합니다." + +#: ../../shape.rst:299 d60ae29ad0ca4e709ff2c72d7bf5c264 +msgid "" +"the bottom-left position of the first character of *text* in pixels. It " +"is important to understand, how this works in conjunction with the " +"*rotate* parameter. Please have a look at the following picture. The " +"small red dots indicate the positions of *point* in each of the four " +"possible cases. .. image:: images/img-inserttext.* :scale: 33" +msgstr "" + +#: ../../shape.rst:299 1521f8f6fbea43a0be0deb7904e4623c +msgid "" +"the bottom-left position of the first character of *text* in pixels. It " +"is important to understand, how this works in conjunction with the " +"*rotate* parameter. Please have a look at the following picture. The " +"small red dots indicate the positions of *point* in each of the four " +"possible cases." +msgstr "픽셀 단위로 *text* 의 첫 번째 문자의 왼쪽 아래 위치. 이것이 *rotate* 매개변수와 함께 어떻게 작동하는지 이해하는 것이 중요합니다. 다음 그림을 참조하세요. 작은 빨간 점은 네 가지 가능한 경우 각각에서 *point* 의 위치를 나타냅니다." + +#: ../../shape.rst:304 c50197a3ee954fc4b17e16da50350320 +msgid "" +"the text to be inserted. May be specified as either a string type or as a" +" sequence type. For sequences, or strings containing line breaks ``\\n``," +" several lines will be inserted. No care will be taken if lines are too " +"wide, but the number of inserted lines will be limited by \"vertical\" " +"space on the page (in the sense of reading direction as established by " +"the *rotate* parameter). Any rest of *text* is discarded -- the return " +"code however contains the number of inserted lines." +msgstr "삽입할 텍스트. 문자열 타입 또는 시퀀스 타입으로 지정할 수 있습니다. 시퀀스 또는 줄바꿈 ``\\n`` 을 포함하는 문자열의 경우 여러 줄이 삽입됩니다. 줄이 너무 넓어도 처리하지 않지만, 삽입된 줄 수는 페이지의 \"수직\" 공간(*rotate* 매개변수에 의해 설정된 읽기 방향의 의미에서)에 의해 제한됩니다. *text* 의 나머지는 버려집니다 -- 그러나 반환 코드는 삽입된 줄 수를 포함합니다." + +#: ../../shape.rst:306 ../../shape.rst:346 a2bce94fcad44fc08799f6d16a27e19d +#: f75a16cbc40142c5a8ce2199eb87b25c +msgid "" +"a factor to override the line height calculated from font properties. If " +"not `None`, a line height of `fontsize * lineheight` will be used." +msgstr "글꼴 속성에서 계산된 줄 높이를 재정의하는 요소. `None` 이 아니면 `fontsize * lineheight` 의 줄 높이가 사용됩니다." + +#: ../../shape.rst:307 1ecd328d935546d38c4621a762982871 +msgid "" +"*(new in v1.18.1)* set transparency for stroke colors (the **border " +"line** of a character). Only `0 <= value <= 1` will be considered. " +"Default is 1 (intransparent)." +msgstr "*(v1.18.1의 새로운 기능)* 스트로크 색상(문자의 **테두리 선**)의 투명도를 설정합니다. `0 <= value <= 1` 만 고려됩니다. 기본값은 1(불투명)입니다." + +#: ../../shape.rst:308 ../../shape.rst:351 168d47f1a50e45efbddb4be1a0a28d1c +#: 7029b8b04590494a850f9bf97c737317 +msgid "" +"*(new in v1.18.1)* set transparency for fill colors. Default is 1 " +"(intransparent). Use this value to control transparency of the text " +"color. Stroke opacity **only** affects the border line of characters." +msgstr "*(v1.18.1의 새로운 기능)* 채우기 색상의 투명도를 설정합니다. 기본값은 1(불투명)입니다. 이 값을 사용하여 텍스트 색상의 투명도를 제어합니다. 스트로크 불투명도는 **문자의 테두리 선에만** 영향을 줍니다." + +#: ../../shape.rst:310 bc253669783d43fbbcea827f904f8df7 +msgid "" +"determines whether to rotate the text. Acceptable values are multiples of" +" 90 degrees. Default is 0 (no rotation), meaning horizontal text lines " +"oriented from left to right. 180 means text is shown upside down from " +"**right to left**. 90 means anti-clockwise rotation, text running " +"**upwards**. 270 (or -90) means clockwise rotation, text running " +"**downwards**. In any case, *point* specifies the bottom-left coordinates" +" of the first character's rectangle. Multiple lines, if present, always " +"follow the reading direction established by this parameter. So line 2 is " +"located **above** line 1 in case of `rotate = 180`, etc." +msgstr "텍스트를 회전할지 여부를 결정합니다. 허용되는 값은 90도의 배수입니다. 기본값은 0(회전 없음)이며, 왼쪽에서 오른쪽으로 향하는 수평 텍스트 줄을 의미합니다. 180은 텍스트가 **오른쪽에서 왼쪽** 으로 거꾸로 표시됨을 의미합니다. 90은 반시계 방향 회전, 텍스트가 **위쪽** 으로 실행됨을 의미합니다. 270(또는 -90)은 시계 방향 회전, 텍스트가 **아래쪽** 으로 실행됨을 의미합니다. 어떤 경우든 *point* 는 첫 번째 문자의 사각형의 왼쪽 아래 좌표를 지정합니다. 여러 줄이 있는 경우 항상 이 매개변수에 의해 설정된 읽기 방향을 따릅니다. 따라서 `rotate = 180` 인 경우 줄 2는 줄 1 **위에** 위치합니다." + +#: ../../shape.rst:312 ../../shape.rst:355 68906f83108042f0b104b462a3b39709 +#: 9759f8b8a55448eb88645d85395ee4e8 +msgid "" +"*(new in v1.18.4)* the :data:`xref` number of an :data:`OCG` or " +":data:`OCMD` to make this text conditionally displayable." +msgstr "*(v1.18.4의 새로운 기능)* 이 텍스트를 조건부로 표시 가능하게 하는 :data:`OCG` 또는 :data:`OCMD` 의 :data:`xref` 번호." + +#: ../../shape.rst:315 ed86c6cd4572455ba92ae3ff42b41fdf +msgid "number of lines inserted." +msgstr "삽입된 줄 수." + +#: ../../shape.rst:317 ../../shape.rst:367 4a40110f016f4c7bb3e919ac462d14e3 +#: 785b22c9fbc5484186666fbe76c0f207 +msgid "For a description of the other parameters see :ref:`CommonParms`." +msgstr "다른 매개변수에 대한 설명은 :ref:`CommonParms` 를 참조하세요." + +#: ../../shape.rst:338 32569db0897946de8f8338dcc82e3dd3 +msgid "" +"PDF only: Insert text into the specified rectangle. The text will be " +"split into lines and words and then filled into the available space, " +"starting from one of the four rectangle corners, which depends on " +"`rotate`. Line feeds and multiple space will be respected." +msgstr "PDF 전용: 지정된 사각형에 텍스트를 삽입합니다. 텍스트는 줄과 단어로 분할된 다음 사용 가능한 공간에 채워지며, `rotate` 에 따라 사각형의 네 모서리 중 하나에서 시작합니다. 줄바꿈과 여러 공백이 존중됩니다." + +#: ../../shape.rst:340 c50da8ee249d416084e826f0a8a2efd6 +msgid "the area to use. It must be finite and not empty." +msgstr "사용할 영역. 유한하고 비어 있지 않아야 합니다." + +#: ../../shape.rst:342 7990001f1d8a482696c3ea94ee3b11c5 +msgid "" +"the text to be inserted. Must be specified as a string or a sequence of " +"strings. Line breaks are respected also when occurring in a sequence " +"entry." +msgstr "삽입할 텍스트. 문자열 또는 문자열 시퀀스로 지정해야 합니다. 시퀀스 항목에 발생하는 경우에도 줄바꿈이 존중됩니다." + +#: ../../shape.rst:344 8bfa2ed038884962a70ceb3e0459dc06 +msgid "" +"align each text line. Default is 0 (left). Centered, right and justified " +"are the other supported options, see :ref:`TextAlign`. Please note that " +"the effect of parameter value *TEXT_ALIGN_JUSTIFY* is only achievable " +"with \"simple\" (single-byte) fonts (including the :ref:`Base-14-Fonts`)." +msgstr "각 텍스트 줄을 정렬합니다. 기본값은 0(왼쪽)입니다. 중앙, 오른쪽 및 양쪽 정렬은 다른 지원 옵션입니다. :ref:`TextAlign` 을 참조하세요. 매개변수 값 *TEXT_ALIGN_JUSTIFY* 의 효과는 \"simple\"(단일 바이트) 글꼴(:ref:`Base-14-Fonts` 포함)에서만 달성할 수 있습니다." + +#: ../../shape.rst:348 9adb4b3bbe094da8a624bd552fc13f21 +msgid "" +"controls handling of tab characters ``\\t`` using the " +"`string.expandtabs()` method **per each line**." +msgstr "**각 줄마다** `string.expandtabs()` 메서드를 사용하여 탭 문자 ``\\t`` 의 처리를 제어합니다." + +#: ../../shape.rst:350 67177b4ade6c4da5a4523395d6bd4bf4 +msgid "" +"*(new in v1.18.1)* set transparency for stroke colors. Negative values " +"and values > 1 will be ignored. Default is 1 (intransparent)." +msgstr "*(v1.18.1의 새로운 기능)* 스트로크 색상의 투명도를 설정합니다. 음수 값과 값 > 1은 무시됩니다. 기본값은 1(불투명)입니다." + +#: ../../shape.rst:353 d5edb13ac13b4ab4ba9d26fa3d3a6d82 +msgid "" +"requests text to be rotated in the rectangle. This value must be a " +"multiple of 90 degrees. Default is 0 (no rotation). Effectively, the four" +" values `0`, `90`, `180` and `270` (= `-90`) are processed, each causing " +"the text to start in a different rectangle corner. Bottom-left is `90`, " +"bottom-right is `180`, and `-90 / 270` is top-right. See the example how " +"text is filled in a rectangle. This argument takes precedence over " +"morphing. See the second example, which shows text first rotated left by " +"`90` degrees and then the whole rectangle rotated clockwise around is " +"lower left corner." +msgstr "사각형에서 텍스트를 회전하도록 요청합니다. 이 값은 90도의 배수여야 합니다. 기본값은 0(회전 없음)입니다. 효과적으로 네 가지 값 `0`, `90`, `180` 및 `270` (= `-90`)이 처리되며, 각각 텍스트가 다른 사각형 모서리에서 시작하도록 합니다. 왼쪽 아래는 `90`, 오른쪽 아래는 `180`, `-90 / 270` 은 오른쪽 위입니다. 텍스트가 사각형에 채워지는 방법의 예제를 참조하세요. 이 인수는 변형보다 우선합니다. 텍스트가 먼저 `90` 도 왼쪽으로 회전한 다음 전체 사각형이 왼쪽 아래 모서리를 중심으로 시계 방향으로 회전하는 두 번째 예제를 참조하세요." + +#: ../../shape.rst:358 c9924f296b104dcb885e423a8329287a +msgid "" +"**If positive or zero**: successful execution. The value returned is the " +"unused rectangle line space in pixels. This may safely be ignored -- or " +"be used to optimize the rectangle, position subsequent items, etc. **If " +"negative**: no execution. The value returned is the space deficit to " +"store text lines. Enlarge rectangle, decrease *fontsize*, decrease text " +"amount, etc." +msgstr "" + +#: ../../shape.rst:359 ff434ea0b01748d3a22351b8914d1de9 +msgid "" +"**If positive or zero**: successful execution. The value returned is the " +"unused rectangle line space in pixels. This may safely be ignored -- or " +"be used to optimize the rectangle, position subsequent items, etc." +msgstr "**양수 또는 0인 경우**: 성공적인 실행. 반환된 값은 픽셀 단위의 사용되지 않은 사각형 줄 공간입니다. 이것은 안전하게 무시할 수 있습니다 -- 또는 사각형을 최적화하고 후속 항목을 배치하는 데 사용할 수 있습니다." + +#: ../../shape.rst:361 2d7f62a0c5ec468eb58daea2b7b74842 +msgid "" +"**If negative**: no execution. The value returned is the space deficit to" +" store text lines. Enlarge rectangle, decrease *fontsize*, decrease text " +"amount, etc." +msgstr "**음수인 경우**: 실행되지 않음. 반환된 값은 텍스트 줄을 저장하기 위한 공간 부족입니다. 사각형을 확대하고, *fontsize* 를 줄이고, 텍스트 양을 줄이는 등을 수행하세요." + +#: ../../shape.rst:375 f65e40d3ebec4535af01faa79e3c04db +msgid "" +"Update the page's :data:`contents` with the accumulated drawings, " +"followed by any text insertions. If text overlaps drawings, it will be " +"written on top of the drawings." +msgstr "누적된 그림으로 페이지의 :data:`contents` 를 업데이트한 다음 텍스트 삽입을 수행합니다. 텍스트가 그림과 겹치면 그림 위에 기록됩니다." + +#: ../../shape.rst:377 3cc36436278147c4bf9af8031f1046a3 +msgid "**Do not forget to execute this method:**" +msgstr "**이 메서드를 실행하는 것을 잊지 마세요:**" + +#: ../../shape.rst:379 44ccc171888e476f88b7c3ce68d54ad9 +msgid "" +"If a shape is **not committed, it will be ignored and the page will not " +"be changed!**" +msgstr "shape가 **커밋되지 않으면 무시되고 페이지가 변경되지 않습니다!**" + +#: ../../shape.rst:381 8911998982cf45e6b4d61df722ae0084 +msgid "" +"The method will reset attributes :attr:`Shape.rect`, :attr:`lastPoint`, " +":attr:`draw_cont`, :attr:`text_cont` and :attr:`totalcont`. Afterwards, " +"the shape object can be reused for the **same page**." +msgstr "이 메서드는 속성 :attr:`Shape.rect`, :attr:`lastPoint`, :attr:`draw_cont`, :attr:`text_cont` 및 :attr:`totalcont` 를 재설정합니다. 이후 shape 객체는 **동일한 페이지** 에 대해 재사용할 수 있습니다." + +#: ../../shape.rst:383 90b57d6cc3344abaa5ae796d17518c78 +msgid "" +"determine whether to put content in foreground (default) or background. " +"Relevant only, if the page already has a non-empty :data:`contents` " +"object." +msgstr "콘텐츠를 전경(기본값) 또는 배경에 배치할지 결정합니다. 페이지에 이미 비어 있지 않은 :data:`contents` 객체가 있는 경우에만 관련됩니다." + +#: ../../shape.rst:385 555f29f07330465799e60c983380d945 +msgid "**---------- Attributes ----------**" +msgstr "**---------- Attributes ----------**" + +#: ../../shape.rst:389 bcd84d9d71fe4ab7a75882c2f6ea55ee +msgid "For reference only: the page's document." +msgstr "참조용: 페이지의 문서." + +#: ../../shape.rst 4bc5f78dcd47499499d993fc76937923 +#: 51e0e906798c404999816e887c14725e 583eb30bb6764d82886dcee5ecc5ef23 +#: 7da907572dab4cdd850b1f99866f1208 84fee03ff02a47de895a2e76a85339b0 +#: 8ad67482ac084e4e8acd77c771ac9813 bd1c39ed922a4dba9f34104a29bd9bd6 +#: dc8385568c9641d9bb717e0218bc356a f04ca533ba0f465e9baafc622227ff3a +msgid "type" +msgstr "type" + +#: ../../shape.rst:391 d4a7179efc87417687ed54512b5fd372 +msgid ":ref:`Document`" +msgstr ":ref:`Document`" + +#: ../../shape.rst:395 e50d0793a5eb432bb3c2ca8ea196f4c2 +msgid "For reference only: the owning page." +msgstr "참조용: 소유 페이지." + +#: ../../shape.rst:397 a88ee833273045f299c35dd3ead948a4 +msgid ":ref:`Page`" +msgstr ":ref:`Page`" + +#: ../../shape.rst:401 2bad01b347624c13a0c42fc3970fc1b5 +msgid "Copy of the page's height" +msgstr "페이지 높이의 복사본" + +#: ../../shape.rst:403 ../../shape.rst:409 a1d7f49541cb48ab8a1087635dffe627 +#: ee0e76b01d494167bc804a4bcb20168e +msgid "float" +msgstr "" + +#: ../../shape.rst:407 ae4a0df9e57c45dd99dc05694d71194d +msgid "Copy of the page's width." +msgstr "페이지 너비의 복사본." + +#: ../../shape.rst:413 36e04a92b85b455f986d86cf86a84b9d +msgid "" +"Accumulated command buffer for **draw methods** since last finish. Every " +"finish method will append its commands to :attr:`Shape.totalcont`." +msgstr "마지막 finish 이후 **draw 메서드** 의 누적 명령 버퍼. 모든 finish 메서드는 명령을 :attr:`Shape.totalcont` 에 추가합니다." + +#: ../../shape.rst:415 ../../shape.rst:421 ../../shape.rst:442 +#: 0e691c52a692459fb3651063bbd96fa1 3bd5e87273ea409ba3861ff7a5df3fba +#: 6131e3edacf44d948d0f06ae76196fb4 +msgid "str" +msgstr "" + +#: ../../shape.rst:419 1c7cc423d0b647cc8b976e70594d7e5a +msgid "" +"Accumulated text buffer. All **text insertions** go here. This buffer " +"will be appended to :attr:`totalcont` :meth:`Shape.commit`, so that text " +"will never be covered by drawings in the same Shape." +msgstr "누적된 텍스트 버퍼. 모든 **텍스트 삽입** 이 여기로 갑니다. 이 버퍼는 :meth:`Shape.commit` 에서 :attr:`totalcont` 에 추가되므로 텍스트가 같은 Shape의 그림에 의해 덮이지 않습니다." + +#: ../../shape.rst:425 31e0348adf3949dea03c7e108eec0e9a +msgid "" +"Rectangle surrounding drawings. This attribute is at your disposal and " +"may be changed at any time. Its value is set to ``None`` when a shape is " +"created or committed. Every *draw** method, and " +":meth:`Shape.insert_textbox` update this property (i.e. **enlarge** the " +"rectangle as needed). **Morphing** operations, however " +"(:meth:`Shape.finish`, :meth:`Shape.insert_textbox`) are ignored." +msgstr "그림을 둘러싸는 사각형. 이 속성은 사용자가 자유롭게 사용할 수 있으며 언제든지 변경할 수 있습니다. shape가 생성되거나 커밋될 때 값이 ``None`` 으로 설정됩니다. 모든 *draw** 메서드와 :meth:`Shape.insert_textbox` 는 이 속성을 업데이트합니다(즉, 필요에 따라 사각형을 **확대**). 하지만 **Morphing** 작업(:meth:`Shape.finish`, :meth:`Shape.insert_textbox`)은 무시됩니다." + +#: ../../shape.rst:427 58e3a175f61343beb779d52d6f9a968a +msgid "" +"A typical use of this attribute would be setting " +":attr:`Page.cropbox_position` to this value, when you are creating shapes" +" for later or external use. If you have not manipulated the attribute " +"yourself, it should reflect a rectangle that contains all drawings so " +"far." +msgstr "이 속성의 일반적인 사용은 나중에 사용하거나 외부에서 사용하기 위해 shape를 생성할 때 :attr:`Page.cropbox_position` 을 이 값으로 설정하는 것입니다. 속성을 직접 조작하지 않은 경우 지금까지의 모든 그림을 포함하는 사각형을 반영해야 합니다." + +#: ../../shape.rst:429 bde3111f6fcb4fde8ae6d94e2b784878 +msgid "" +"If you have used morphing and need a rectangle containing the morphed " +"objects, use the following code::" +msgstr "변형을 사용했고 변형된 객체를 포함하는 사각형이 필요한 경우 다음 코드를 사용하세요::" + +#: ../../shape.rst:436 8b59162d4cdc4453a1a62c884c29d8c5 +msgid ":ref:`Rect`" +msgstr ":ref:`Rect`" + +#: ../../shape.rst:440 70f79c2bf0624368be25e43a4b7a3c3f +msgid "" +"Total accumulated command buffer for draws and text insertions. This will" +" be used by :meth:`Shape.commit`." +msgstr "그리기 및 텍스트 삽입을 위한 총 누적 명령 버퍼. 이것은 :meth:`Shape.commit` 에서 사용됩니다." + +#: ../../shape.rst:446 2a512a35544e4ff4bc0908226c3f1474 +msgid "" +"For reference only: the current point of the drawing path. It is ``None``" +" at *Shape* creation and after each *finish()* and *commit()*." +msgstr "참조용: 그리기 경로의 현재 점. *Shape* 생성 시 및 각 *finish()* 및 *commit()* 후에 ``None`` 입니다." + +#: ../../shape.rst:451 5f43e7fa99ee464a8f4e310b6073e35b +msgid "Usage" +msgstr "사용법" + +#: ../../shape.rst:452 a35b85f2df424fe5a8123cbd236b49c9 +msgid "" +"A drawing object is constructed by *shape = page.new_shape()*. After " +"this, as many draw, finish and text insertions methods as required may " +"follow. Each sequence of draws must be finished before the drawing is " +"committed. The overall coding pattern looks like this::" +msgstr "그리기 객체는 *shape = page.new_shape()* 로 구성됩니다. 그 후 필요한 만큼 많은 draw, finish 및 텍스트 삽입 메서드가 올 수 있습니다. 그리기가 커밋되기 전에 각 draw 시퀀스가 완료되어야 합니다. 전체 코딩 패턴은 다음과 같습니다::" + +#: ../../shape.rst:471 7d0392c130464a54a962cc95cad3ce9d +msgid "" +"Each *finish()* combines the preceding draws into one logical shape, " +"giving it common colors, line width, morphing, etc. If *closePath* is " +"specified, it will also connect the end point of the last draw with the " +"starting point of the first one." +msgstr "각 *finish()* 는 앞의 그리기를 하나의 논리적 모양으로 결합하여 공통 색상, 선 너비, 변형 등을 제공합니다. *closePath* 가 지정되면 마지막 그리기의 끝점을 첫 번째 그리기의 시작점과 연결합니다." + +#: ../../shape.rst:473 d909c60fe1834c8eb1936c81f4fe8a7c +msgid "" +"To successfully create compound graphics, let each draw method use the " +"end point of the previous one as its starting point. In the above pseudo " +"code, *draw2* should hence use the returned :ref:`Point` of *draw1* as " +"its starting point. Failing to do so, would automatically start a new " +"path and *finish()* may not work as expected (but it won't complain " +"either)." +msgstr "복합 그래픽을 성공적으로 만들려면 각 draw 메서드가 이전 메서드의 끝점을 시작점으로 사용하도록 하세요. 위의 의사 코드에서 *draw2* 는 따라서 *draw1* 의 반환된 :ref:`Point` 를 시작점으로 사용해야 합니다. 그렇게 하지 않으면 자동으로 새 경로가 시작되고 *finish()* 가 예상대로 작동하지 않을 수 있습니다(하지만 불평하지도 않습니다)." + +#: ../../shape.rst:475 fb42b4b00cfd4c8f9bc125398e78d941 +msgid "" +"Text insertions may occur anywhere before the commit (they neither touch " +":attr:`Shape.draw_cont` nor :attr:`Shape.lastPoint`). They are appended " +"to *Shape.totalcont* directly, whereas draws will be appended by " +"*Shape.finish*." +msgstr "텍스트 삽입은 커밋 전 어디서든 발생할 수 있습니다(:attr:`Shape.draw_cont` 나 :attr:`Shape.lastPoint` 를 건드리지 않습니다). 이것들은 *Shape.totalcont* 에 직접 추가되는 반면, 그리기는 *Shape.finish* 에 의해 추가됩니다." + +#: ../../shape.rst:477 f1ba4537b82747479d0306c9e87f4f4c +msgid "" +"Each *commit* takes all text insertions and shapes and places them in " +"foreground or background on the page -- thus providing a way to control " +"graphical layers." +msgstr "각 *commit* 은 모든 텍스트 삽입과 모양을 가져와 페이지의 전경 또는 배경에 배치합니다 -- 따라서 그래픽 레이어를 제어하는 방법을 제공합니다." + +#: ../../shape.rst:479 f54933082b2d4eff99e12a13fc1482a9 +msgid "" +"**Only** *commit* **will update** the page's contents, the other methods " +"are basically string manipulations." +msgstr "**오직** *commit* 만 페이지의 콘텐츠를 **업데이트** 하며, 다른 메서드는 기본적으로 문자열 조작입니다." + +#: ../../shape.rst:482 278641dcb46d4baf936c58e97dcd5458 +msgid "Examples" +msgstr "예제" + +#: ../../shape.rst:483 eb1041462daa4eaea29f2c68f9820833 +msgid "Create a full circle of pieces of pie in different colors::" +msgstr "다양한 색상의 파이 조각으로 전체 원 만들기::" + +#: ../../shape.rst:498 eaebaebe3baa4f09947553ff9e26c2a1 +msgid "Here is an example for 5 colors:" +msgstr "다음은 5가지 색상의 예제입니다:" + +#: ../../shape.rst:502 3cf653254d684532a9c3aba1c78bfd12 +msgid "" +"Create a regular n-edged polygon (fill yellow, red border). We use " +"*draw_sector()* only to calculate the points on the circumference, and " +"empty the draw command buffer again before drawing the polygon::" +msgstr "정규 n각형 만들기(노란색 채우기, 빨간색 테두리). 원주 위의 점을 계산하기 위해 *draw_sector()* 만 사용하고, 다각형을 그리기 전에 그리기 명령 버퍼를 다시 비웁니다::" + +#: ../../shape.rst:517 e093071b33a14f6ca8a50b7e9ef6d3b1 +msgid "Here is the polygon for n = 7:" +msgstr "다음은 n = 7인 다각형입니다:" + +#: ../../shape.rst:524 32cfdbeb116244d09f20318c9cbaa2ac +msgid "Common Parameters" +msgstr "공통 매개변수" + +#: ../../shape.rst:526 e8e32aa90b154bf9b1f9186f60ab584a +msgid "**fontname** (*str*)" +msgstr "**fontname** (*str*)" + +#: ../../shape.rst:528 77ba86666bd24c11b1d1d22120f706a7 +msgid "In general, there are three options:" +msgstr "일반적으로 세 가지 옵션이 있습니다:" + +#: ../../shape.rst:530 02905b80e6194c4eacf48669a2b4862d +msgid "" +"Use one of the standard :ref:`Base-14-Fonts`. In this case, *fontfile* " +"**must not** be specified and *\"Helvetica\"* is used if this parameter " +"is omitted, too." +msgstr "표준 :ref:`Base-14-Fonts` 중 하나를 사용합니다. 이 경우 *fontfile* 을 **지정하면 안 되며** 이 매개변수도 생략하면 *\"Helvetica\"* 가 사용됩니다." + +#: ../../shape.rst:531 e643b83ac7934c6a8daf143d5e6ea969 +msgid "" +"Choose a font already in use by the page. Then specify its **reference** " +"name prefixed with a slash \"/\", see example below." +msgstr "페이지에서 이미 사용 중인 글꼴을 선택합니다. 그런 다음 슬래시 \"/\" 로 시작하는 **참조** 이름을 지정하세요. 아래 예제를 참조하세요." + +#: ../../shape.rst:532 1aa96eb291154994b5334cb249b357b8 +msgid "" +"Specify a font file present on your system. In this case choose an " +"arbitrary, but new name for this parameter (without \"/\" prefix)." +msgstr "시스템에 있는 글꼴 파일을 지정합니다. 이 경우 이 매개변수에 대해 임의의 새 이름을 선택하세요(\"/\" 접두사 없이)." + +#: ../../shape.rst:534 42e52261eb524d2984f6a0c4332a2f24 +msgid "" +"If inserted text should re-use one of the page's fonts, use its reference" +" name appearing in :meth:`Page.get_fonts` like so:" +msgstr "삽입된 텍스트가 페이지의 글꼴 중 하나를 재사용해야 하는 경우 :meth:`Page.get_fonts` 에 나타나는 참조 이름을 다음과 같이 사용하세요:" + +#: ../../shape.rst:536 17c14b3525c343518ae06671819af5b8 +msgid "" +"Suppose the font list has the item *[1024, 0, 'Type1', 'NimbusMonL-Bold'," +" 'R366']*, then specify *fontname = \"/R366\", fontfile = None* to use " +"font *NimbusMonL-Bold*." +msgstr "글꼴 목록에 항목 *[1024, 0, 'Type1', 'NimbusMonL-Bold', 'R366']* 가 있다고 가정하면, 글꼴 *NimbusMonL-Bold* 를 사용하기 위해 *fontname = \"/R366\", fontfile = None* 을 지정하세요." + +#: ../../shape.rst:540 30272688bae040099e4f10745899bb73 +msgid "**fontfile** (*str*)" +msgstr "**fontfile** (*str*)" + +#: ../../shape.rst:542 c86a2afe0b8040a3841ecc108e5f0c2a +msgid "" +"File path of a font existing on your computer. If you specify *fontfile*," +" make sure you use a *fontname* **not occurring** in the above list. This" +" new font will be embedded in the PDF upon *doc.save()*. Similar to new " +"images, a font file will be embedded only once. A table of MD5 codes for " +"the binary font contents is used to ensure this." +msgstr "컴퓨터에 있는 글꼴의 파일 경로. *fontfile* 을 지정하는 경우 위 목록에 **나타나지 않는** *fontname* 을 사용해야 합니다. 이 새 글꼴은 *doc.save()* 시 PDF에 포함됩니다. 새 이미지와 유사하게 글꼴 파일은 한 번만 포함됩니다. 바이너리 글꼴 콘텐츠의 MD5 코드 테이블을 사용하여 이를 보장합니다." + +#: ../../shape.rst:546 de497e62ab204c48ae01fa7ac3ed1c32 +msgid "**set_simple** (*bool*)" +msgstr "**set_simple** (*bool*)" + +#: ../../shape.rst:548 8620026ea526446e8ef1ca19f9760737 +msgid "" +"Fonts installed from files are installed as **Type0** fonts by default. " +"If you want to use 1-byte characters only, set this to true. This setting" +" cannot be reverted. Subsequent changes are ignored." +msgstr "파일에서 설치된 글꼴은 기본적으로 **Type0** 글꼴로 설치됩니다. 1바이트 문자만 사용하려면 이것을 true로 설정하세요. 이 설정은 되돌릴 수 없습니다. 후속 변경 사항은 무시됩니다." + +#: ../../shape.rst:552 3981f48a75204dc09ff6f422f689ffa4 +msgid "**fontsize** (*float*)" +msgstr "**fontsize** (*float*)" + +#: ../../shape.rst:554 30ac30c13b44417bbeb1b66ed6d98114 +msgid "Font size of text, see: :data:`fontsize`." +msgstr "텍스트의 글꼴 크기, 참조: :data:`fontsize`." + +#: ../../shape.rst:558 4d0dc80686d94b4c88776c39286aa523 +msgid "**dashes** (*str*)" +msgstr "**dashes** (*str*)" + +#: ../../shape.rst:560 47655eea2c2e46188c15bd1c75c4117a +msgid "" +"Causes lines to be drawn dashed. The general format is `\"[n m] p\"` of " +"(up to) 3 floats denoting pixel lengths. ``n`` is the dash length, ``m`` " +"(optional) is the subsequent gap length, and ``p`` (the \"phase\" - " +"**required**, even if 0!) specifies how many pixels should be skipped " +"before the dashing starts. If ``m`` is omitted, it defaults to ``n``." +msgstr "선을 점선으로 그리도록 합니다. 일반 형식은 픽셀 길이를 나타내는 (최대) 3개의 float `\"[n m] p\"` 입니다. ``n`` 은 대시 길이이고, ``m`` (선택 사항)은 후속 간격 길이이며, ``p`` (\"phase\" - **필수**, 0이어도!)는 대시가 시작되기 전에 건너뛸 픽셀 수를 지정합니다. ``m`` 이 생략되면 기본값은 ``n`` 입니다." + +#: ../../shape.rst:562 c003ae76596a4f938a7fd5de9cb061a3 +msgid "" +"A continuous line (no dashes) is drawn with `\"[] 0\"` or ``None`` or " +"`\"\"`. Examples:" +msgstr "연속 선(대시 없음)은 `\"[] 0\"` 또는 ``None`` 또는 `\"\"` 로 그려집니다. 예제:" + +#: ../../shape.rst:564 e6cbda6711694eb8b100b5a9792385ef +msgid "" +"Specifying `\"[3 4] 0\"` means dashes of 3 and gaps of 4 pixels following" +" each other." +msgstr "`\"[3 4] 0\"` 을 지정하면 3픽셀 대시와 4픽셀 간격이 연속으로 이어집니다." + +#: ../../shape.rst:565 3391c97c4550433782ec215117a6557d +msgid "`\"[3 3] 0\"` and `\"[3] 0\"` do the same thing." +msgstr "`\"[3 3] 0\"` 과 `\"[3] 0\"` 은 동일한 작업을 수행합니다." + +#: ../../shape.rst:567 f068a3fa466545ecaf2d248a20fc2739 +msgid "" +"For (the rather complex) details on how to achieve sophisticated dashing " +"effects, see :ref:`AdobeManual`, page 217." +msgstr "정교한 대시 효과를 얻는 방법에 대한 (상당히 복잡한) 세부 사항은 :ref:`AdobeManual`, 217페이지를 참조하세요." + +#: ../../shape.rst:571 82aa9894181a4fe3b697261487bbfe7e +msgid "**color / fill** (*list, tuple*)" +msgstr "**color / fill** (*list, tuple*)" + +#: ../../shape.rst:573 3ed2643ec6df4cc28a73683cb286285e +msgid "" +"Stroke and fill colors can be specified as tuples or list of of floats " +"from 0 to 1. These sequences must have a length of 1 (GRAY), 3 (RGB) or 4" +" (CMYK). For GRAY colorspace, a single float instead of the unwieldy " +"*(float,)* or *[float]* is also accepted. Accept (default) or use `None` " +"to not use the parameter." +msgstr "스트로크 및 채우기 색상은 0부터 1까지의 float 튜플 또는 리스트로 지정할 수 있습니다. 이러한 시퀀스는 길이가 1(GRAY), 3(RGB) 또는 4(CMYK)여야 합니다. GRAY 색 공간의 경우 다루기 어려운 *(float,)* 또는 *[float]* 대신 단일 float도 허용됩니다. 기본값을 수락하거나 `None` 을 사용하여 매개변수를 사용하지 않습니다." + +#: ../../shape.rst:575 06bd406c862d430d8527a7a38b17df9b +msgid "" +"To simplify color specification, method *getColor()* in *pymupdf.utils* " +"may be used to get predefined RGB color triples by name. It accepts a " +"string as the name of the color and returns the corresponding triple. The" +" method knows over 540 color names -- see section :ref:`ColorDatabase`." +msgstr "색상 지정을 단순화하기 위해 *pymupdf.utils* 의 메서드 *getColor()* 를 사용하여 이름으로 미리 정의된 RGB 색상 삼중항을 가져올 수 있습니다. 색상 이름으로 문자열을 받아 해당 삼중항을 반환합니다. 이 메서드는 540개 이상의 색상 이름을 알고 있습니다 -- 섹션 :ref:`ColorDatabase` 를 참조하세요." + +#: ../../shape.rst:577 3313c7d4006745a8b2fc466404404f63 +msgid "" +"Please note that the term *color* usually means \"stroke\" color when " +"used in conjunction with fill color." +msgstr "*color* 라는 용어는 채우기 색상과 함께 사용될 때 일반적으로 \"스트로크\" 색상을 의미합니다." + +#: ../../shape.rst:579 0a6d8ba9500941c4bc6aa00352d41451 +msgid "" +"If letting default a color parameter to `None`, then no resp. color " +"selection command will be generated. If *fill* and *color* are both " +"`None`, then the drawing will contain no color specification. But it will" +" still be \"stroked\", which causes PDF's default color \"black\" be used" +" by Adobe Acrobat and all other viewers." +msgstr "색상 매개변수의 기본값을 `None` 으로 두면 해당 색상 선택 명령이 생성되지 않습니다. *fill* 과 *color* 가 모두 `None` 이면 그리기에는 색상 사양이 포함되지 않습니다. 하지만 여전히 \"스트로크\"되며, 이로 인해 Adobe Acrobat 및 기타 모든 뷰어에서 PDF의 기본 색상 \"black\" 이 사용됩니다." + +#: ../../shape.rst:583 2e5246304d274dfaa37af742928af0ea +msgid "**width** (*float*)" +msgstr "**width** (*float*)" + +#: ../../shape.rst:585 77b8db9870114d7f91f971f5aaa99512 +msgid "" +"The stroke (\"border\") width of the elements in a shape (if applicable)." +" The default value is 1. The values width, color and fill have the " +"following relationship / dependency:" +msgstr "shape의 요소의 스트로크(\"테두리\") 너비(해당하는 경우). 기본값은 1입니다. width, color 및 fill 값은 다음과 같은 관계/의존성을 가집니다:" + +#: ../../shape.rst:587 bd3f3d47979d4ba6967fc689176d7873 +msgid "" +"If `fill=None` shape elements will always be drawn with a border - even " +"if `color=None` (in which case black is taken) or `width=0` (in which " +"case 1 is taken)." +msgstr "`fill=None` 이면 shape 요소는 항상 테두리와 함께 그려집니다 -- `color=None` (이 경우 검은색이 사용됨)이거나 `width=0` (이 경우 1이 사용됨)인 경우에도 마찬가지입니다." + +#: ../../shape.rst:588 50e316e85bee43f3ae23b6e8bf36459e +msgid "" +"Shapes without border can only be achieved if a fill color is specified " +"(which may be white of course). To achieve this, specify `width=0`. In " +"this case, the ``color`` parameter is ignored." +msgstr "테두리 없는 shape는 채우기 색상이 지정된 경우에만 달성할 수 있습니다(물론 흰색일 수 있음). 이를 달성하려면 `width=0` 을 지정하세요. 이 경우 ``color`` 매개변수는 무시됩니다." + +#: ../../shape.rst:592 dbf0b7aa242944fd9c3dba05b0a5476c +msgid "**stroke_opacity / fill_opacity** (*floats*)" +msgstr "**stroke_opacity / fill_opacity** (*floats*)" + +#: ../../shape.rst:594 f10fd732b18e4d06882b251b866820ed +msgid "" +"Both values are floats in range [0, 1]. Negative values or values > 1 " +"will ignored (in most cases). Both set the transparency such that a value" +" 0.5 corresponds to 50% transparency, 0 means invisible and 1 means " +"intransparent. For e.g. a rectangle the stroke opacity applies to its " +"border and fill opacity to its interior." +msgstr "두 값 모두 [0, 1] 범위의 float입니다. 음수 값 또는 값 > 1은 (대부분의 경우) 무시됩니다. 둘 다 투명도를 설정하므로 값 0.5는 50% 투명도에 해당하고, 0은 보이지 않음을 의미하며 1은 불투명을 의미합니다. 예를 들어 사각형의 경우 스트로크 불투명도는 테두리에 적용되고 채우기 불투명도는 내부에 적용됩니다." + +#: ../../shape.rst:596 908ef08674a94047bf811e5db7824042 +msgid "" +"For text insertions (:meth:`Shape.insert_text` and " +":meth:`Shape.insert_textbox`), use *fill_opacity* for the text. At first " +"sight this seems surprising, but it becomes obvious when you look further" +" down to `render_mode`: `fill_opacity` applies to the yellow and " +"`stroke_opacity` applies to the blue color." +msgstr "텍스트 삽입(:meth:`Shape.insert_text` 및 :meth:`Shape.insert_textbox`)의 경우 텍스트에 *fill_opacity* 를 사용합니다. 처음에는 놀라울 수 있지만 `render_mode` 를 보면 명확해집니다: `fill_opacity` 는 노란색에 적용되고 `stroke_opacity` 는 파란색에 적용됩니다." + +#: ../../shape.rst:600 807dedb850524343a44713165dc92d74 +msgid "**border_width** (*float*)" +msgstr "**border_width** (*float*)" + +#: ../../shape.rst:602 7c05f5b49a074002a9a8e24fa16e09c0 +msgid "" +"Set the border width for text insertions. New in v1.14.9. Relevant only " +"if the render mode argument is used with a value greater zero." +msgstr "텍스트 삽입의 테두리 너비를 설정합니다. v1.14.9의 새로운 기능. 렌더 모드 인수가 0보다 큰 값으로 사용되는 경우에만 관련됩니다." + +#: ../../shape.rst:606 e8f74369b5414cf39c02c7bdc84d0278 +msgid "**render_mode** (*int*)" +msgstr "**render_mode** (*int*)" + +#: ../../shape.rst:608 07e11204dc2b4479bd2e65c3e33aad8d +msgid "" +"*New in version 1.14.9:* Integer in `range(8)` which controls the text " +"appearance (:meth:`Shape.insert_text` and :meth:`Shape.insert_textbox`). " +"See page 246 in :ref:`AdobeManual`. New in v1.14.9. These methods now " +"also differentiate between fill and stroke colors." +msgstr "*버전 1.14.9의 새로운 기능:* 텍스트 모양을 제어하는 `range(8)` 의 정수(:meth:`Shape.insert_text` 및 :meth:`Shape.insert_textbox`). :ref:`AdobeManual` 246페이지를 참조하세요. v1.14.9의 새로운 기능. 이 메서드는 이제 채우기 색상과 스트로크 색상을 구분합니다." + +#: ../../shape.rst:610 69a9ed429520483291966e04bc134827 +msgid "" +"For default 0, only the text fill color is used to paint the text. For " +"backward compatibility, using the *color* parameter instead also works." +msgstr "기본값 0의 경우 텍스트를 그리는 데 텍스트 채우기 색상만 사용됩니다. 하위 호환성을 위해 *color* 매개변수를 대신 사용해도 작동합니다." + +#: ../../shape.rst:611 92f8238398a445de9ac634455065140b +msgid "" +"For render mode 1, only the border of each glyph (i.e. text character) is" +" drawn with a thickness as set in argument *border_width*. The color " +"chosen in the *color* argument is taken for this, the *fill* parameter is" +" ignored." +msgstr "렌더 모드 1의 경우 각 글리프(즉, 텍스트 문자)의 테두리만 인수 *border_width* 에 설정된 두께로 그려집니다. *color* 인수에서 선택한 색상이 사용되며 *fill* 매개변수는 무시됩니다." + +#: ../../shape.rst:612 6dd3e1055d934657ae6fbe17f98f1b7b +msgid "" +"For render mode 2, the glyphs are filled and stroked, using both color " +"parameters and the specified border width. You can use this value to " +"simulate **bold text** without using another font: choose the same value " +"for *fill* and *color* and an appropriate value for *border_width*." +msgstr "렌더 모드 2의 경우 글리프가 채워지고 스트로크되며, 두 색상 매개변수와 지정된 테두리 너비를 사용합니다. 다른 글꼴을 사용하지 않고 **굵은 텍스트** 를 시뮬레이션하려면 이 값을 사용할 수 있습니다: *fill* 과 *color* 에 동일한 값을 선택하고 *border_width* 에 적절한 값을 선택하세요." + +#: ../../shape.rst:613 44ab50cc9488478cbafcd5e8d9859763 +msgid "" +"For render mode 3, the glyphs are neither stroked nor filled: the text " +"becomes invisible." +msgstr "렌더 모드 3의 경우 글리프가 스트로크되지도 채워지지도 않습니다: 텍스트가 보이지 않게 됩니다." + +#: ../../shape.rst:615 e59e76826913438ea50a2cc075ab7cd2 +msgid "" +"The following examples use border_width=0.3, together with a fontsize of " +"15. Stroke color is blue and fill color is some yellow." +msgstr "다음 예제는 border_width=0.3과 함께 fontsize 15를 사용합니다. 스트로크 색상은 파란색이고 채우기 색상은 노란색입니다." + +#: ../../shape.rst:621 082047ee68a54ee3ae920d7817052247 +msgid "**miter_limit** (*float*)" +msgstr "**miter_limit** (*float*)" + +#: ../../shape.rst:623 5df811fb349949d38e4160fbc8097077 +msgid "" +"A float specifying the maximum acceptable value of the quotient `miter-" +"length / line-width` (\"miter quotient\"). Used in text output methods. " +"This is only relevant for non-zero render mode values -- then, characters" +" are written with border lines (i.e. \"stroked\")." +msgstr "몫 `miter-length / line-width` (\"miter quotient\")의 최대 허용 값을 지정하는 float. 텍스트 출력 메서드에서 사용됩니다. 이것은 0이 아닌 렌더 모드 값에만 관련됩니다 -- 그런 경우 문자는 테두리 선(즉, \"스트로크\")으로 작성됩니다." + +#: ../../shape.rst:625 fcdf5a0b4b05400fabcc68e71bbfe4a3 +msgid "" +"If two lines stroking some character meet at a sharp (<= 90°) angle and " +"the line width is large enough, then \"spikes\" may become visible -- " +"causing an ugly appearance as shown below. For more background, see page " +"126 of the :ref:`AdobeManual`." +msgstr "일부 문자를 스트로크하는 두 선이 날카로운 (<= 90°) 각도로 만나고 선 너비가 충분히 크면 \"스파이크\"가 보일 수 있습니다 -- 아래와 같이 보기 흉한 모양을 만듭니다. 더 자세한 내용은 :ref:`AdobeManual` 126페이지를 참조하세요." + +#: ../../shape.rst:627 61ef12d76d4c44a5971fbe5f377e42cd +msgid "" +"For instance, when joins meet at 90°, then the miter length is ``sqrt(2) " +"* line-width``, so the miter quotient is ``sqrt(2)``." +msgstr "예를 들어, 조인이 90°에서 만나면 miter 길이는 ``sqrt(2) * line-width`` 이므로 miter 몫은 ``sqrt(2)`` 입니다." + +#: ../../shape.rst:629 6e57edd425af46cab1f0544ea9fb09d6 +msgid "" +"If ``miter_limit`` is exceeded, then all joins with a larger qotient will" +" appear as beveled (\"butt\" appearance)." +msgstr "``miter_limit`` 이 초과되면 더 큰 몫을 가진 모든 조인이 베벨 처리된 것처럼(\"butt\" 모양) 나타납니다." + +#: ../../shape.rst:631 1b9c88426fad4881993b42f8df4e29ba +msgid "" +"The default value 1 (and any smaller value) will ensure that all joins " +"are rendered as a butt. A value of ``None`` will use the PDF default " +"value." +msgstr "기본값 1(및 더 작은 값)은 모든 조인이 butt로 렌더링되도록 보장합니다. ``None`` 값은 PDF 기본값을 사용합니다." + +#: ../../shape.rst:633 6c5240d22b91424eb8a99f3f6cdd9e61 +msgid "Example text showing spikes (``miter_limit=None``):" +msgstr "스파이크를 보여주는 예제 텍스트 (``miter_limit=None``):" + +#: ../../shape.rst:637 22b2f2ab87704749865bf8654f86f486 +msgid "Example text suppressing spikes (``miter_limit=1``):" +msgstr "스파이크를 억제하는 예제 텍스트 (``miter_limit=1``):" + +#: ../../shape.rst:643 ef72de748a3241f494828889b778a5c3 +msgid "**overlay** (*bool*)" +msgstr "**overlay** (*bool*)" + +#: ../../shape.rst:645 1a50148614e94b0f9e09a72b981ba540 +msgid "Causes the item to appear in foreground (default) or background." +msgstr "항목이 전경(기본값) 또는 배경에 나타나도록 합니다." + +#: ../../shape.rst:649 f9c30f5c9a0245e5acbf5d0126b40609 +msgid "**morph** (*sequence*)" +msgstr "**morph** (*sequence*)" + +#: ../../shape.rst:651 5029b952e1be402ea4aea727b6c5334a +msgid "" +"Causes \"morphing\" of either a shape, created by the *draw*()* methods, " +"or the text inserted by page methods *insert_textbox()* / " +"*insert_text()*. If not ``None``, it must be a pair *(fixpoint, matrix)*," +" where *fixpoint* is a :ref:`Point` and *matrix* is a :ref:`Matrix`. The " +"matrix can be anything except translations, i.e. *matrix.e == matrix.f ==" +" 0* must be true. The point is used as a fixed point for the matrix " +"operation. For example, if *matrix* is a rotation or scaling, then " +"*fixpoint* is its center. Similarly, if *matrix* is a left-right or up-" +"down flip, then the mirroring axis will be the vertical, respectively " +"horizontal line going through *fixpoint*, etc." +msgstr "*draw*()* 메서드로 생성된 shape 또는 페이지 메서드 *insert_textbox()* / *insert_text()* 로 삽입된 텍스트의 \"변형\"을 일으킵니다. ``None`` 이 아니면 *(fixpoint, matrix)* 쌍이어야 하며, 여기서 *fixpoint* 는 :ref:`Point` 이고 *matrix* 는 :ref:`Matrix` 입니다. 행렬은 이동을 제외한 모든 것이 될 수 있습니다. 즉, *matrix.e == matrix.f == 0* 이 참이어야 합니다. 점은 행렬 작업의 고정점으로 사용됩니다. 예를 들어, *matrix* 가 회전 또는 확대/축소이면 *fixpoint* 는 중심입니다. 마찬가지로, *matrix* 가 좌우 또는 상하 뒤집기이면 미러링 축은 각각 *fixpoint* 를 통과하는 수직 또는 수평선이 됩니다." + +#: ../../shape.rst:653 b02e3c71c8f64fc68a15b90bf3c129ea +msgid "" +"Several methods contain checks whether the to be inserted items will " +"actually fit into the page (like :meth:`Shape.insert_text`, or " +":meth:`Shape.draw_rect`). For the result of a morphing operation there is" +" however no such guaranty: this is entirely the programmer's " +"responsibility." +msgstr "여러 메서드는 삽입될 항목이 실제로 페이지에 맞는지 확인합니다(:meth:`Shape.insert_text` 또는 :meth:`Shape.draw_rect` 등). 하지만 변형 작업의 결과에 대해서는 그러한 보장이 없습니다: 이것은 전적으로 프로그래머의 책임입니다." + +#: ../../shape.rst:657 62281c77ca8f47188d63f20f3712a5b0 +msgid "**lineCap (deprecated: \"roundCap\")** (*int*)" +msgstr "**lineCap (더 이상 사용되지 않음: \"roundCap\")** (*int*)" + +#: ../../shape.rst:659 cd5b630baa744b1189ae847e6e8286fd +msgid "" +"Controls the look of line ends. The default value 0 lets each line end at" +" exactly the given coordinate in a sharp edge. A value of 1 adds a semi-" +"circle to the ends, whose center is the end point and whose diameter is " +"the line width. Value 2 adds a semi-square with an edge length of line " +"width and a center of the line end." +msgstr "선 끝의 모양을 제어합니다. 기본값 0은 각 선이 날카로운 가장자리에서 정확히 주어진 좌표에서 끝나도록 합니다. 값 1은 끝에 반원을 추가하며, 중심은 끝점이고 지름은 선 너비입니다. 값 2는 선 너비의 가장자리 길이와 선 끝의 중심을 가진 반사각형을 추가합니다." + +#: ../../shape.rst:661 6026a44a326145afa3e7a6f376a1bbf6 +msgid "*Changed in version 1.14.15*" +msgstr "*버전 1.14.15에서 변경됨*" + +#: ../../shape.rst:665 2e6dced4dc3b49d0bfc6d15aba362eba +msgid "**lineJoin** (*int*)" +msgstr "**lineJoin** (*int*)" + +#: ../../shape.rst:667 66fbb0a47a7648efa567adac178985a1 +msgid "" +"*New in version 1.14.15:* Controls the way how line connections look " +"like. This may be either as a sharp edge (0), a rounded join (1), or a " +"cut-off edge (2, \"butt\")." +msgstr "*버전 1.14.15의 새로운 기능:* 선 연결의 모양을 제어합니다. 이것은 날카로운 가장자리(0), 둥근 조인(1) 또는 잘린 가장자리(2, \"butt\")일 수 있습니다." + +#: ../../shape.rst:671 82bab1c6af0a4d169a36b68529a2ab41 +msgid "**closePath** (*bool*)" +msgstr "**closePath** (*bool*)" + +#: ../../shape.rst:673 991347c321464275b6f78b81a2f89e09 +msgid "" +"Causes the end point of a drawing to be automatically connected with the " +"starting point (by a straight line)." +msgstr "그리기의 끝점을 시작점과 자동으로 연결합니다(직선으로)." + +#: ../../footer.rst:46 703f5e6cdc364cd898823615d897ea50 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/story-class.mo b/docs/locales/ko/LC_MESSAGES/story-class.mo new file mode 100644 index 000000000..742726306 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/story-class.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/story-class.po b/docs/locales/ko/LC_MESSAGES/story-class.po new file mode 100644 index 000000000..5e6f3dfef --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/story-class.po @@ -0,0 +1,852 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 4450760445994835a9f3775bc9c6f0d5 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 418de775a4634f88837f5ac77a451b10 +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 497384ace3f84fa19412dac9da22148c +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" + +#: ../../story-class.rst:7 8fafdeea9e5940c28193c7e4fca942c5 +msgid "Story" +msgstr "Story" + +#: ../../story-class.rst:11 ce4d16eaf6e64bc59264c0a812630ed7 +msgid "New in v1.21.0" +msgstr "v1.21.0 에서 새로 추가됨" + +#: ../../story-class.rst:14 9b7cd17b7b8b43e89336e41091ffd8db +msgid "**Method / Attribute**" +msgstr "**메서드 / 속성**" + +#: ../../story-class.rst:14 306881cbd8ff40e98c769bdad361af16 +msgid "**Short Description**" +msgstr "**간단한 설명**" + +#: ../../story-class.rst:16 87f3b530a2174677808e6a73c8c7c3d4 +msgid ":meth:`Story.reset`" +msgstr ":meth:`Story.reset`" + +#: ../../story-class.rst:16 986c1b4812b34f7b90447c9b85c00515 +msgid "\"rewind\" story output to its beginning" +msgstr "스토리 출력을 시작 부분으로 \"되감기\"" + +#: ../../story-class.rst:17 acfb8788456043e98e066d8b7f232242 +msgid ":meth:`Story.place`" +msgstr ":meth:`Story.place`" + +#: ../../story-class.rst:17 71dd7b0f8852455eb72f274d589300e5 +msgid "compute story content to fit in provided rectangle" +msgstr "제공된 사각형에 맞도록 스토리 콘텐츠 계산" + +#: ../../story-class.rst:18 f37a1cf6b3d447fcb752828907626437 +msgid ":meth:`Story.draw`" +msgstr ":meth:`Story.draw`" + +#: ../../story-class.rst:18 44a1f29ca77c4ed281ff70a784a28d92 +msgid "write the computed content to current page" +msgstr "계산된 콘텐츠를 현재 페이지에 쓰기" + +#: ../../story-class.rst:19 fc8ae71a62484786b2548b2f0715d3e7 +msgid ":meth:`Story.element_positions`" +msgstr ":meth:`Story.element_positions`" + +#: ../../story-class.rst:19 78ea4b34e9924ea0b59ec0f387db8d9f +msgid "callback function logging currently processed story content" +msgstr "현재 처리 중인 스토리 콘텐츠를 로깅하는 콜백 함수" + +#: ../../story-class.rst:20 5703135b6e844a53859347624fb3ba8e +msgid ":attr:`Story.body`" +msgstr ":attr:`Story.body`" + +#: ../../story-class.rst:20 8074d90f9db0473c9f78fde5598d87a0 +msgid "the story's underlying :htmlTag:`body`" +msgstr "스토리의 기본 :htmlTag:`body`" + +#: ../../story-class.rst:21 b7007d57a5f0478da333d3b7defa34da +msgid ":meth:`Story.write`" +msgstr ":meth:`Story.write`" + +#: ../../story-class.rst:21 529c592a049543488f766ea64af4aef6 +msgid "places and draws Story to a DocumentWriter" +msgstr "Story를 DocumentWriter에 배치하고 그리기" + +#: ../../story-class.rst:22 48189b1970a944249727deeaab30767a +msgid ":meth:`Story.write_stabilized`" +msgstr ":meth:`Story.write_stabilized`" + +#: ../../story-class.rst:22 c71c16dc9e434b81ae25d7e81791842c +msgid "iterative layout of html content to a DocumentWriter" +msgstr "HTML 콘텐츠를 DocumentWriter에 반복 레이아웃" + +#: ../../story-class.rst:23 926f2a550c3b4cb3856a305b4c499249 +msgid ":meth:`Story.write_with_links`" +msgstr ":meth:`Story.write_with_links`" + +#: ../../story-class.rst:23 ea4c862bdeb84b94a80868a8fa1d6d3c +msgid "like `write()` but also creates PDF links" +msgstr "`write()` 와 유사하지만 PDF 링크도 생성" + +#: ../../story-class.rst:24 355d937b5c4a4d2ea430c50ed160c9a9 +msgid ":meth:`Story.write_stabilized_with_links`" +msgstr ":meth:`Story.write_stabilized_with_links`" + +#: ../../story-class.rst:24 ff1a2e0bd3b942a9825101dc74641ab4 +msgid "like `write_stabilized()` but also creates PDF links" +msgstr "`write_stabilized()` 와 유사하지만 PDF 링크도 생성" + +#: ../../story-class.rst:25 98afa53a01d5479fb9a84e798fc75af0 +msgid ":meth:`Story.fit`" +msgstr ":meth:`Story.fit`" + +#: ../../story-class.rst:25 ../../story-class.rst:252 +#: 08f697738e6841388fafdd24e5a00d7d f9fb3d7fc30744c5a4bcf19dc86ef076 +msgid "Finds optimal rect that contains the story `self`." +msgstr "스토리 `self` 를 포함하는 최적의 rect를 찾습니다." + +#: ../../story-class.rst:26 071db5186e824d7fad400d8f4d4621cc +msgid ":meth:`Story.fit_scale`" +msgstr ":meth:`Story.fit_scale`" + +#: ../../story-class.rst:27 29faf46f8f304213baacc284272e99ba +msgid ":meth:`Story.fit_height`" +msgstr ":meth:`Story.fit_height`" + +#: ../../story-class.rst:28 2063bec0fd3d4a00af6338d93189ee72 +msgid ":meth:`Story.fit_width`" +msgstr ":meth:`Story.fit_width`" + +#: ../../story-class.rst:31 35c3d645808f404fb3d0ac4e2995d443 +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../story-class.rst:37 49eb5559ce2b4b13a47f5ad496e9d111 +msgid "" +"Create a **story**, optionally providing HTML and CSS source. The HTML is" +" parsed, and held within the Story as a DOM (Document Object Model)." +msgstr "**스토리** 를 생성하며, 선택적으로 HTML 및 CSS 소스를 제공합니다. HTML은 파싱되어 Story 내에서 DOM(Document Object Model)로 유지됩니다." + +#: ../../story-class.rst:40 bf2f904ab1c24ea9aa46205eca2718ea +msgid "" +"This structure may be modified: content (text, images) may be added, " +"copied, modified or removed by using methods of the :ref:`Xml` class." +msgstr "이 구조는 수정할 수 있습니다: :ref:`Xml` 클래스의 메서드를 사용하여 콘텐츠(텍스트, 이미지)를 추가, 복사, 수정 또는 제거할 수 있습니다." + +#: ../../story-class.rst:43 1e855bc531eb4f55a7c51053f068d9ab +msgid "" +"When finished, the **story** can be written to any device; in typical " +"usage the device may be provided by a :ref:`DocumentWriter` to make new " +"pages." +msgstr "완료되면 **스토리** 는 모든 장치에 쓸 수 있습니다. 일반적인 사용에서 장치는 :ref:`DocumentWriter` 에 의해 제공되어 새 페이지를 만듭니다." + +#: ../../story-class.rst:46 c090bdee02db4f288f710c647c45c161 +msgid "Here are some general remarks:" +msgstr "다음은 일반적인 설명입니다:" + +#: ../../story-class.rst:48 3110c6455944434ca9ae1a71696896a3 +msgid "" +"The :ref:`Story` constructor parses and validates the provided HTML to " +"create the DOM." +msgstr ":ref:`Story` 생성자는 제공된 HTML을 파싱하고 검증하여 DOM을 생성합니다." + +#: ../../story-class.rst:49 4d9f69c5792d489b85a3b9d41d525d79 +msgid "" +"PyMuPDF provides a number of ways to manipulate the HTML source by " +"providing access to the *nodes* of the underlying DOM. Documents can be " +"completely built from ground up programmatically, or the existing DOM can" +" be modified pretty arbitrarily. For details of this interface, please " +"see the :ref:`Xml` class." +msgstr "|PyMuPDF| 는 기본 DOM의 *노드* 에 대한 액세스를 제공하여 HTML 소스를 조작하는 여러 방법을 제공합니다. 문서는 프로그래밍 방식으로 처음부터 완전히 구축할 수 있거나, 기존 DOM을 거의 임의로 수정할 수 있습니다. 이 인터페이스의 세부 사항은 :ref:`Xml` 클래스를 참조하세요." + +#: ../../story-class.rst:54 ac1a27756a8945c8b1dbf9b6e9da921b +msgid "" +"If no (or no more) changes to the DOM are required, the story is ready to" +" be laid out and to be fed to a series of devices (typically devices " +"provided by a :ref:`DocumentWriter` to produce new pages)." +msgstr "DOM에 대한 변경이 더 이상 필요하지 않으면 스토리는 레이아웃되고 일련의 장치(일반적으로 새 페이지를 생성하기 위해 :ref:`DocumentWriter` 에 의해 제공되는 장치)에 공급할 준비가 됩니다." + +#: ../../story-class.rst:57 43fe3dfc3cf348098a32b05485bde654 +msgid "" +"The next step is to place the story and write it out. This can either be " +"done directly, by looping around calling `place()` and `draw()`, or " +"alternatively, the looping can handled for you using the `write()` or " +"`write_stabilised()` methods. Which method you choose is largely a matter" +" of taste." +msgstr "다음 단계는 스토리를 배치하고 쓰는 것입니다. 이것은 `place()` 및 `draw()` 호출을 반복하는 루프로 직접 수행하거나, 대신 `write()` 또는 `write_stabilised()` 메서드를 사용하여 루프를 처리할 수 있습니다. 어떤 방법을 선택할지는 주로 취향의 문제입니다." + +#: ../../story-class.rst:63 f4b32731d97b4d2a84d306de1e33820a +msgid "To work in the first of these styles, the following loop should be used:" +msgstr "이러한 스타일 중 첫 번째로 작업하려면 다음 루프를 사용해야 합니다:" + +#: ../../story-class.rst:65 1ae96b31b4494e6b907dcec02c2fdea5 +msgid "" +"Obtain a suitable device to write to; typically by requesting a new, " +"empty page from a :ref:`DocumentWriter`." +msgstr "쓰기에 적합한 장치를 얻습니다. 일반적으로 :ref:`DocumentWriter` 에서 새 빈 페이지를 요청합니다." + +#: ../../story-class.rst:68 73b9d54af347493b94d1d93c72bb7e84 +msgid "" +"Determine one or more rectangles on the page, that should receive " +"**story** data. Note that not every page needs to have the same set of " +"rectangles." +msgstr "페이지에서 **스토리** 데이터를 받을 하나 이상의 사각형을 결정합니다. 모든 페이지가 동일한 사각형 세트를 가질 필요는 없습니다." + +#: ../../story-class.rst:71 f486ccb350994671b7e2380f3a839e86 +msgid "" +"Pass each rectangle to the **story** to place it, learning what part of " +"that rectangle has been filled, and whether there is more story data that" +" did not fit. This step can be repeated several times with adjusted " +"rectangles until the caller is happy with the results." +msgstr "각 사각형을 **스토리** 에 전달하여 배치하고, 해당 사각형의 어느 부분이 채워졌는지, 맞지 않는 더 많은 스토리 데이터가 있는지 확인합니다. 이 단계는 호출자가 결과에 만족할 때까지 조정된 사각형으로 여러 번 반복할 수 있습니다." + +#: ../../story-class.rst:76 ff1738fc7d2d4f969c58dcf423696458 +msgid "" +"Optionally, at this point, we can request details of where interesting " +"items have been placed, by calling the `element_positions()` method. " +"Items are deemed to be interesting if their integer `heading` attribute " +"is a non-zero (corresponding to HTML tags :htmlTag:`h1` - :htmlTag:`h6`)," +" if their `id` attribute is not `None` (corresponding to HTML tag " +":htmlTag:`id`), or if their `href` attribute is not `None` (responding to" +" HTML tag :htmlTag:`href`). This can conveniently be used for automatic " +"generation of a Table of Contents, an index of images or the like." +msgstr "선택적으로 이 시점에서 `element_positions()` 메서드를 호출하여 흥미로운 항목이 배치된 위치에 대한 세부 정보를 요청할 수 있습니다. 항목은 정수 `heading` 속성이 0이 아닌 경우(HTML 태그 :htmlTag:`h1` - :htmlTag:`h6` 에 해당), `id` 속성이 `None` 이 아닌 경우(HTML 태그 :htmlTag:`id` 에 해당), 또는 `href` 속성이 `None` 이 아닌 경우(HTML 태그 :htmlTag:`href` 에 해당) 흥미로운 것으로 간주됩니다. 이것은 목차, 이미지 인덱스 등의 자동 생성에 편리하게 사용할 수 있습니다." + +#: ../../story-class.rst:85 b921780cdb2e45e389e9a40859c21b25 +msgid "Next, draw that rectangle out to the device with the `draw()` method." +msgstr "다음으로 `draw()` 메서드를 사용하여 해당 사각형을 장치에 그립니다." + +#: ../../story-class.rst:86 7c8805ef770e4dde8806474fd720a74d +msgid "" +"If the most recent call to `place()` indicated that all the story data " +"had fitted, stop now." +msgstr "`place()` 에 대한 가장 최근 호출이 모든 스토리 데이터가 맞았다고 표시하면 지금 중지합니다." + +#: ../../story-class.rst:88 c13e1999d6654790a96926efb47a4809 +msgid "" +"Otherwise, we can loop back. If there are more rectangles to be placed on" +" the current device (page), we jump back to step 3 - if not, we jump back" +" to step 1 to get a new device." +msgstr "그렇지 않으면 루프로 돌아갈 수 있습니다. 현재 장치(페이지)에 배치할 더 많은 사각형이 있으면 3단계로 돌아가고, 그렇지 않으면 새 장치를 얻기 위해 1단계로 돌아갑니다." + +#: ../../story-class.rst:91 4038804e871b4c1bbe32c9a13c9ec423 +msgid "" +"Alternatively, in the case where you are using a :ref:`DocumentWriter`, " +"the `write()` or `write_stabilized()` methods can be used. These handle " +"all the looping for you, in exchange for being provided with callbacks " +"that control the behaviour (notably a callback that enumerates the " +"rectangles/pages to use)." +msgstr "대안으로 :ref:`DocumentWriter` 를 사용하는 경우 `write()` 또는 `write_stabilized()` 메서드를 사용할 수 있습니다. 이것들은 동작을 제어하는 콜백(특히 사용할 사각형/페이지를 열거하는 콜백)을 제공하는 대가로 모든 루프를 처리합니다." + +#: ../../story-class.rst:96 ee657bc17cb9479098b79a0775f10c3a +msgid "" +"Which part of the **story** will land on which rectangle / which page, is" +" fully under control of the :ref:`Story` object and cannot be predicted." +msgstr "**스토리** 의 어느 부분이 어떤 사각형/어떤 페이지에 배치될지는 :ref:`Story` 객체의 완전한 제어 하에 있으며 예측할 수 없습니다." + +#: ../../story-class.rst:98 2373c29f02c449119f61da189826bc09 +msgid "" +"Images may be part of a **story**. They will be placed together with any " +"surrounding text." +msgstr "이미지는 **스토리** 의 일부일 수 있습니다. 주변 텍스트와 함께 배치됩니다." + +#: ../../story-class.rst:99 30316b2b832342268461f6c7d74a9197 +msgid "" +"Multiple stories may - independently from each other - write to the same " +"page. For example, one may have separate stories for page header, page " +"footer, regular text, comment boxes, etc." +msgstr "여러 스토리는 서로 독립적으로 같은 페이지에 쓸 수 있습니다. 예를 들어 페이지 헤더, 페이지 푸터, 일반 텍스트, 주석 상자 등에 대해 별도의 스토리를 가질 수 있습니다." + +#: ../../story-class.rst 3bc54fe727d84b0fb5ec6f5a505593d7 +#: 632479f010e74a7fa705e9873fc201e2 6bae93af6e1f4bcd9f975e3dbf237a8f +#: 76b91680f9494dcda1b320b971f127f3 835ef3aac08946a7b21892dd5d446841 +#: 9faeb1de8c834831b2eefc6ba27d02c6 a7f1db20a98f4acd8ac3a50281de1d54 +#: b092aa952799492ab41859def37221e6 c431629c4269486e838a6416b26f8a06 +#: ecb562eb477f4178bbbac8624595e806 +msgid "Parameters" +msgstr "매개변수" + +#: ../../story-class.rst:103 7a7770ae27444f9cbae197749eec78ab +msgid "" +"HTML source code. If omitted, a basic minimum is generated (see below). " +"If provided, not a complete HTML document is needed. The in-built source " +"parser will forgive (many / most) HTML syntax errors and also accepts " +"HTML fragments like `\"Hello, World!\"`." +msgstr "HTML 소스 코드. 생략하면 기본 최소값이 생성됩니다(아래 참조). 제공된 경우 완전한 HTML 문서가 필요하지 않습니다. 내장 소스 파서는 (많은/대부분의) HTML 구문 오류를 용서하며 `\"Hello, World!\"` 와 같은 HTML 조각도 허용합니다." + +#: ../../story-class.rst:108 998745be0a874eeb8f4d73e3411eb0cc +msgid "CSS source code. If provided, must contain valid CSS specifications." +msgstr "CSS 소스 코드. 제공된 경우 유효한 CSS 사양을 포함해야 합니다." + +#: ../../story-class.rst:109 2bfac39f7a0745239025903a70202169 +msgid "the default text font size." +msgstr "기본 텍스트 글꼴 크기." + +#: ../../story-class.rst:110 78219d1129fc40ab9949caef213ed7a5 +msgid "" +"an :ref:`Archive` from which to load resources for rendering. Currently " +"supported resource types are images and text fonts. If omitted, the story" +" will not try to look up any such data and may thus produce incomplete " +"output. .. note:: Instead of an actual archive, valid arguments for " +"**creating** an :ref:`Archive` can also be provided -- in which case an " +"archive will temporarily be constructed. So, instead of `story = " +"pymupdf.Story(archive=pymupdf.Archive(\"myfolder\"))`, one can also " +"shorter write `story = pymupdf.Story(archive=\"myfolder\")`." +msgstr "" + +#: ../../story-class.rst:110 4050936d618a42da8eecf6ab4e063d8b +msgid "" +"an :ref:`Archive` from which to load resources for rendering. Currently " +"supported resource types are images and text fonts. If omitted, the story" +" will not try to look up any such data and may thus produce incomplete " +"output." +msgstr "렌더링을 위한 리소스를 로드할 :ref:`Archive`. 현재 지원되는 리소스 타입은 이미지와 텍스트 글꼴입니다. 생략하면 스토리는 이러한 데이터를 찾으려고 시도하지 않으므로 불완전한 출력을 생성할 수 있습니다." + +#: ../../story-class.rst:112 dbafa089e71b405c8505fe068f111435 +msgid "" +"Instead of an actual archive, valid arguments for **creating** an " +":ref:`Archive` can also be provided -- in which case an archive will " +"temporarily be constructed. So, instead of `story = " +"pymupdf.Story(archive=pymupdf.Archive(\"myfolder\"))`, one can also " +"shorter write `story = pymupdf.Story(archive=\"myfolder\")`." +msgstr "실제 아카이브 대신 :ref:`Archive` 를 **생성** 하기 위한 유효한 인수도 제공할 수 있습니다. 이 경우 아카이브가 임시로 구성됩니다. 따라서 `story = pymupdf.Story(archive=pymupdf.Archive(\"myfolder\"))` 대신 `story = pymupdf.Story(archive=\"myfolder\")` 로 더 짧게 쓸 수도 있습니다." + +#: ../../story-class.rst:116 38e199a574974c68a5789c3487298702 +msgid "" +"Calculate that part of the story's content, that will fit in the provided" +" rectangle. The method maintains a pointer which part of the story's " +"content has already been written and upon the next invocation resumes " +"from that pointer's position." +msgstr "제공된 사각형에 맞는 스토리 콘텐츠의 일부를 계산합니다. 이 메서드는 스토리 콘텐츠의 어느 부분이 이미 쓰여졌는지에 대한 포인터를 유지하며, 다음 호출 시 해당 포인터 위치에서 재개합니다." + +#: ../../story-class.rst:118 9204c5de62594877a0b9554fe46dd00d +msgid "" +"layout the current part of the content to fit into this rectangle. This " +"must be a sub-rectangle of the page's :ref:`MediaBox`." +msgstr "콘텐츠의 현재 부분을 이 사각형에 맞도록 레이아웃합니다. 이것은 페이지의 :ref:`MediaBox` 의 하위 사각형이어야 합니다." + +#: ../../story-class.rst f63a283a6c88499ead37123b58293124 +msgid "Return type" +msgstr "반환 타입" + +#: ../../story-class.rst 94bc5676fca747a28908e39b08f758dd +msgid "Returns" +msgstr "반환값" + +#: ../../story-class.rst:121 cfc9d87ae2c0427fb812923a5380f63e +msgid "" +"a bool (int) `more` and a rectangle `filled`. If `more == 0`, all content" +" of the story has been written, otherwise more is waiting to be written " +"to subsequent rectangles / pages. Rectangle `filled` is the part of " +"`where` that has actually been filled." +msgstr "bool(int) `more` 와 사각형 `filled`. `more == 0` 이면 스토리의 모든 콘텐츠가 쓰여진 것이고, 그렇지 않으면 더 많은 콘텐츠가 후속 사각형/페이지에 쓰이기를 기다리고 있습니다. 사각형 `filled` 는 실제로 채워진 `where` 의 부분입니다." + +#: ../../story-class.rst:125 6813b9d6cf0a4992aac607d827be601c +msgid "Write the content part prepared by :meth:`Story.place` to the page." +msgstr ":meth:`Story.place` 로 준비된 콘텐츠 부분을 페이지에 씁니다." + +#: ../../story-class.rst:127 883fc316b5194fbebc4f2e1002d07a4a +msgid "" +"the :ref:`Device` created by `dev = writer.begin_page(mediabox)`. The " +"device knows how to call all MuPDF functions needed to write the content." +msgstr "`dev = writer.begin_page(mediabox)` 로 생성된 :ref:`Device`. 장치는 콘텐츠를 쓰는 데 필요한 모든 MuPDF 함수를 호출하는 방법을 알고 있습니다." + +#: ../../story-class.rst:128 15d1012c1f36445b97b2245366f1fe29 +msgid "" +"a matrix for transforming content when writing to the page. An example " +"may be writing rotated text. The default means no transformation (i.e. " +"the :ref:`Identity` matrix)." +msgstr "페이지에 쓸 때 콘텐츠를 변환하는 행렬. 예를 들어 회전된 텍스트를 쓰는 것입니다. 기본값은 변환 없음(즉, :ref:`Identity` 행렬)을 의미합니다." + +#: ../../story-class.rst:132 a4b6e0a215c74c77bc15ee4a585a753c +msgid "" +"Let the Story provide positioning information about certain HTML elements" +" once their place on the current page has been computed - i.e. invoke " +"this method **directly after** :meth:`Story.place`." +msgstr "Story가 현재 페이지에서의 위치가 계산된 후 특정 HTML 요소에 대한 위치 정보를 제공하도록 합니다. 즉, :meth:`Story.place` **직후에** 이 메서드를 호출합니다." + +#: ../../story-class.rst:134 132b23607fe24fd4b386d921fa955b1f +msgid "" +"*Story* will pass position information to *function*. This information " +"can for example be used to generate a Table of Contents." +msgstr "*Story* 는 위치 정보를 *function* 에 전달합니다. 이 정보는 예를 들어 목차를 생성하는 데 사용할 수 있습니다." + +#: ../../story-class.rst:136 9b62cdc7c4734ce9bd97fd06ae689ced +msgid "" +"a Python function accepting an :class:`ElementPosition` object. It will " +"be invoked by the Story object to process positioning information. The " +"function **must** be a callable accepting exactly one argument." +msgstr ":class:`ElementPosition` 객체를 받는 Python 함수. Story 객체에 의해 호출되어 위치 정보를 처리합니다. 함수는 **반드시** 정확히 하나의 인수를 받는 호출 가능한 객체여야 합니다." + +#: ../../story-class.rst:137 95c635a4d01544919b451835ba7cfb5e +msgid "" +"an optional dictionary with any **additional** information that should be" +" added to the :class:`ElementPosition` instance passed to `function`. " +"Like for example the current output page number. Every key in this " +"dictionary must be a string that conforms to the rules for a valid Python" +" identifier. The complete set of information is explained below." +msgstr "`function` 에 전달되는 :class:`ElementPosition` 인스턴스에 추가되어야 하는 **추가** 정보가 있는 선택적 딕셔너리. 예를 들어 현재 출력 페이지 번호입니다. 이 딕셔너리의 모든 키는 유효한 Python 식별자 규칙을 준수하는 문자열이어야 합니다. 전체 정보 세트는 아래에 설명되어 있습니다." + +#: ../../story-class.rst:146 d1a8ec5e26534fb08b5644c78bdd0f35 +msgid "Rewind the story's document to the beginning for starting over its output." +msgstr "출력을 다시 시작하기 위해 스토리 문서를 시작 부분으로 되감습니다." + +#: ../../story-class.rst:150 99e9fa88415b44008dfa1a9212359a94 +msgid "" +"The :htmlTag:`body` part of the story's DOM. This attribute contains the " +":ref:`Xml` node of :htmlTag:`body`. All relevant content for PDF " +"production is contained between \"\" and \"\"." +msgstr "스토리 DOM의 :htmlTag:`body` 부분. 이 속성은 :htmlTag:`body` 의 :ref:`Xml` 노드를 포함합니다. PDF 생성을 위한 모든 관련 콘텐츠는 \"\" 와 \"\" 사이에 포함됩니다." + +#: ../../story-class.rst:154 41b172bf34d0440fadc8322fad80b439 +msgid "" +"Places and draws Story to a `DocumentWriter`. Avoids the need for calling" +" code to implement a loop that calls `Story.place()` and `Story.draw()` " +"etc, at the expense of having to provide at least the `rectfn()` " +"callback." +msgstr "Story를 `DocumentWriter` 에 배치하고 그립니다. `Story.place()` 및 `Story.draw()` 등을 호출하는 루프를 구현하는 호출 코드의 필요성을 피하지만, 최소한 `rectfn()` 콜백을 제공해야 합니다." + +#: ../../story-class.rst:159 f45d6bee9274444588f63a947cb04ff9 +msgid "a `DocumentWriter` or None." +msgstr "`DocumentWriter` 또는 None." + +#: ../../story-class.rst:160 0a82dd0477cc4e6aba46d8bde1ff66cb +msgid "" +"a callable taking `(rect_num: int, filled: Rect)` and returning " +"`(mediabox, rect, ctm)`: * mediabox: None or rect for new page. * rect: " +"The next rect into which content should be placed. * ctm: None or a " +"`Matrix`." +msgstr "" + +#: ../../story-class.rst:160 09db40fd97944cc3bdc056101682d345 +msgid "" +"a callable taking `(rect_num: int, filled: Rect)` and returning " +"`(mediabox, rect, ctm)`:" +msgstr "`(rect_num: int, filled: Rect)` 를 받아 `(mediabox, rect, ctm)` 를 반환하는 호출 가능한 객체:" + +#: ../../story-class.rst:163 ../../story-class.rst:204 +#: 195039e86a0a453b80a1947c0d982191 cc6afdff529d4b18bf96bab124b071b0 +msgid "mediabox: None or rect for new page." +msgstr "mediabox: 새 페이지의 None 또는 rect." + +#: ../../story-class.rst:164 ../../story-class.rst:205 +#: 25c7020d98834950b5d94ff65444d7dd 66c0ba4ebccc4299ab74abd2a830ae53 +msgid "rect: The next rect into which content should be placed." +msgstr "rect: 콘텐츠가 배치될 다음 rect." + +#: ../../story-class.rst:165 15dd25041536413eb3b45f6c0546d4c9 +msgid "ctm: None or a `Matrix`." +msgstr "ctm: None 또는 `Matrix`." + +#: ../../story-class.rst:166 00bf180b2a0c4c8d85c03815119541f1 +msgid "" +"None, or a callable taking `(position: ElementPosition)`: * position:" +" An `ElementPosition` with an extra `.page_num` member. Typically " +"called multiple times as we generate elements that are headings or have " +"an id." +msgstr "" + +#: ../../story-class.rst:166 25928f4a5c5f491488b15662e26bc608 +msgid "None, or a callable taking `(position: ElementPosition)`:" +msgstr "None 또는 `(position: ElementPosition)` 를 받는 호출 가능한 객체:" + +#: ../../story-class.rst:168 2dd05e9f8b994f32855896af88fa138a +msgid "position:" +msgstr "position:" + +#: ../../story-class.rst:169 e39ff5907e3f417a840c59e64a0ce9d8 +msgid "An `ElementPosition` with an extra `.page_num` member." +msgstr "추가 `.page_num` 멤버를 가진 `ElementPosition`." + +#: ../../story-class.rst:170 4892cafe0f7d41f0985e89860b77823a +msgid "" +"Typically called multiple times as we generate elements that are headings" +" or have an id." +msgstr "일반적으로 제목이거나 id를 가진 요소를 생성할 때 여러 번 호출됩니다." + +#: ../../story-class.rst:172 3fa53b922faa4eda8ba2cba1ac636ca9 +msgid "" +"None, or a callable taking `(page_num, mediabox, dev, after)`; called at " +"start (`after=0`) and end (`after=1`) of each page." +msgstr "None 또는 `(page_num, mediabox, dev, after)` 를 받는 호출 가능한 객체. 각 페이지의 시작(`after=0`)과 끝(`after=1`)에서 호출됩니다." + +#: ../../story-class.rst:178 dd5221f0ed8740b9870aee56024e5b7b +msgid "" +"Static method that does iterative layout of html content to a " +"`DocumentWriter`." +msgstr "HTML 콘텐츠를 `DocumentWriter` 에 반복 레이아웃하는 정적 메서드." + +#: ../../story-class.rst:181 30078c22673b4583b6668ac47bc366ff +msgid "" +"For example this allows one to add a table of contents section while " +"ensuring that page numbers are patched up until stable." +msgstr "예를 들어 이것은 페이지 번호가 안정될 때까지 패치되도록 하면서 목차 섹션을 추가할 수 있게 합니다." + +#: ../../story-class.rst:184 c06d6f0e11c445a79282ea1b2b0ad535 +msgid "" +"Repeatedly creates a new `Story` from `(contentfn(), user_css, em, " +"archive)` and lays it out with internal call to `Story.write()`; uses a " +"None writer and extracts the list of `ElementPosition`'s which is passed " +"to the next call of `contentfn()`." +msgstr "`(contentfn(), user_css, em, archive)` 로부터 새 `Story` 를 반복적으로 생성하고 `Story.write()` 내부 호출로 레이아웃합니다. None writer를 사용하고 `ElementPosition` 목록을 추출하여 `contentfn()` 의 다음 호출에 전달합니다." + +#: ../../story-class.rst:190 44779b3ded2c4ee6874e7b1ae2bff004 +msgid "" +"When the html from `contentfn()` becomes unchanged, we do a final " +"iteration using `writer`." +msgstr "`contentfn()` 의 HTML이 변경되지 않으면 `writer` 를 사용하여 최종 반복을 수행합니다." + +#: ../../story-class.rst:193 0f2c4d433e064304a49d4bd0a6ebfe73 +msgid "A `DocumentWriter`." +msgstr "`DocumentWriter`." + +#: ../../story-class.rst:195 368d195d03b147fc837acd54849c93e0 +msgid "" +"A function taking a list of `ElementPositions` and returning a string " +"containing html. The returned html can depend on the list of positions, " +"for example with a table of contents near the start." +msgstr "`ElementPositions` 목록을 받아 HTML을 포함하는 문자열을 반환하는 함수. 반환된 HTML은 위치 목록에 따라 달라질 수 있습니다. 예를 들어 시작 부분 근처에 목차가 있습니다." + +#: ../../story-class.rst:200 1cf1064d178a4eb5abc44f35d1b26213 +msgid "" +"A callable taking `(rect_num: int, filled: Rect)` and returning " +"`(mediabox, rect, ctm)`: * mediabox: None or rect for new page. * rect: " +"The next rect into which content should be placed. * ctm: A `Matrix`." +msgstr "" + +#: ../../story-class.rst:201 9c7835ef50c04228a8a373880c57f7ec +msgid "" +"A callable taking `(rect_num: int, filled: Rect)` and returning " +"`(mediabox, rect, ctm)`:" +msgstr "`(rect_num: int, filled: Rect)` 를 받아 `(mediabox, rect, ctm)` 를 반환하는 호출 가능한 객체:" + +#: ../../story-class.rst:206 ee9f39495b5e42c8abe6db31752b059c +msgid "ctm: A `Matrix`." +msgstr "ctm: `Matrix`." + +#: ../../story-class.rst:207 0e5bb33450b440519eaa4678352a268d +msgid "" +"None, or a callable taking `(page_num, medibox, dev, after)`; called at " +"start (`after=0`) and end (`after=1`) of each page." +msgstr "None 또는 `(page_num, medibox, dev, after)` 를 받는 호출 가능한 객체. 각 페이지의 시작(`after=0`)과 끝(`after=1`)에서 호출됩니다." + +#: ../../story-class.rst:212 1e4fd7df55fb49df898e449e0f6cc1d4 +msgid "" +"If true, we add unique ids to all header tags that don't already have an " +"id. This can help automatic generation of tables of contents." +msgstr "true이면 id가 아직 없는 모든 헤더 태그에 고유 id를 추가합니다. 이것은 목차의 자동 생성에 도움이 될 수 있습니다." + +#: ../../story-class.rst:216 5855dd1c0eb74ba680d81ec3bd7ab855 +msgid "Returns:" +msgstr "반환값:" + +#: ../../story-class.rst:217 b8d9d14cc3f7420cbfcb12cdd3784c27 +msgid "None." +msgstr "None." + +#: ../../story-class.rst:221 22ec8dffec4842c2b36b31e44c148e9b +msgid "" +"Similar to `write()` except that we don't have a `writer` arg and we " +"return a PDF `Document` in which links have been created for each " +"internal html link." +msgstr "`write()` 와 유사하지만 `writer` 인수가 없고 각 내부 HTML 링크에 대해 링크가 생성된 PDF `Document` 를 반환합니다." + +#: ../../story-class.rst:227 cb292a6045f4454589078e45beb372b8 +msgid "" +"Similar to `write_stabilized()` except that we don't have a `writer` arg " +"and instead return a PDF `Document` in which links have been created for " +"each internal html link." +msgstr "`write_stabilized()` 와 유사하지만 `writer` 인수가 없고 대신 각 내부 HTML 링크에 대해 링크가 생성된 PDF `Document` 를 반환합니다." + +#: ../../story-class.rst:233 79e6df9feb764d49bb6c4880d7985f6e +msgid "The result from a `Story.fit*()` method." +msgstr "`Story.fit*()` 메서드의 결과." + +#: ../../story-class.rst:235 2a76b4161e5f46ca816faca601040d90 +msgid "Members:" +msgstr "멤버:" + +#: ../../story-class.rst:237 035ed3847947402d887364c7d5c447e9 +msgid "`big_enough`:" +msgstr "`big_enough`:" + +#: ../../story-class.rst:238 bf717872d31642deaf8eb1605a3012a6 +msgid "`True` if the fit succeeded." +msgstr "적합이 성공하면 `True`." + +#: ../../story-class.rst:239 7320376b01af4fa9a8fa3ae295bbda83 +msgid "`filled`:" +msgstr "`filled`:" + +#: ../../story-class.rst:240 17cc4e2057bd41cc8e2633814392b385 +msgid "From the last call to `Story.place()`." +msgstr "`Story.place()` 에 대한 마지막 호출에서." + +#: ../../story-class.rst:241 e24cc834373e411587bbb7bfa0414333 +msgid "`more`:" +msgstr "`more`:" + +#: ../../story-class.rst:242 4a3e937b059041a7b3a20e0d429f503c +msgid "`False` if the fit succeeded." +msgstr "적합이 성공하면 `False`." + +#: ../../story-class.rst:243 bbbe1925cdb245ad87cc43c74cf72b73 +msgid "`numcalls`:" +msgstr "`numcalls`:" + +#: ../../story-class.rst:244 9e3bcaa3dbf8478a98ff6e4241532bb6 +msgid "Number of calls made to `self.place()`." +msgstr "`self.place()` 에 대한 호출 횟수." + +#: ../../story-class.rst:245 169f3c8877c640d8aa7fb28ee47ab520 +msgid "`parameter`:" +msgstr "`parameter`:" + +#: ../../story-class.rst:246 985d429bb06144c6bcfa903f4c388ebf +msgid "The successful parameter value, or the largest failing value." +msgstr "성공한 매개변수 값 또는 가장 큰 실패 값." + +#: ../../story-class.rst:247 42a31d9fef9248d9a8d194383c59191d +msgid "`rect`:" +msgstr "`rect`:" + +#: ../../story-class.rst:248 902774936ea0439f89fd8ff5b6dfc8e4 +msgid "The rect created from `parameter`." +msgstr "`parameter` 로부터 생성된 rect." + +#: ../../story-class.rst:254 ../../story-class.rst:282 +#: ../../story-class.rst:304 ../../story-class.rst:325 +#: 696c11bfa76d489093846a7c247a4851 853a35b41b0d4e92a0abce39320b0d0b +#: 8e63b26bcbe146e994f59d0598d8ae81 f109c3abb97c461c90ef5083439ae6b7 +msgid "Returns a `Story.FitResult` instance." +msgstr "`Story.FitResult` 인스턴스를 반환합니다." + +#: ../../story-class.rst:256 18ef28643cd147a3a66b0e495f27b656 +msgid "" +"On success, the last call to `self.place()` will have been with the " +"returned rectangle, so `self.draw()` can be used directly." +msgstr "성공 시 `self.place()` 에 대한 마지막 호출은 반환된 사각형으로 수행되므로 `self.draw()` 를 직접 사용할 수 있습니다." + +#: ../../story-class.rst:259 fcc258b789cf4618a282896268872c2f +msgid "" +"A callable taking a floating point `parameter` and returning a " +"`pymupdf.Rect()`. If the rect is empty, we assume the story will not fit " +"and do not call `self.place()`. Must guarantee that `self.place()` " +"behaves monotonically when given rect `fn(parameter`) as `parameter` " +"increases. This usually means that both width and height increase or stay" +" unchanged as `parameter` increases." +msgstr "" + +#: ../../story-class.rst:260 c6955c50c2ba4885973d0c3f04c0e2c5 +msgid "" +"A callable taking a floating point `parameter` and returning a " +"`pymupdf.Rect()`. If the rect is empty, we assume the story will not fit " +"and do not call `self.place()`." +msgstr "부동 소수점 `parameter` 를 받아 `pymupdf.Rect()` 를 반환하는 호출 가능한 객체. rect가 비어 있으면 스토리가 맞지 않는다고 가정하고 `self.place()` 를 호출하지 않습니다." + +#: ../../story-class.rst:264 d7e59ae0c80245ab9c009b98fd8b45c0 +msgid "" +"Must guarantee that `self.place()` behaves monotonically when given rect " +"`fn(parameter`) as `parameter` increases. This usually means that both " +"width and height increase or stay unchanged as `parameter` increases." +msgstr "`parameter` 가 증가할 때 rect `fn(parameter`)가 주어지면 `self.place()` 가 단조롭게 동작하도록 보장해야 합니다. 이것은 일반적으로 `parameter` 가 증가할 때 너비와 높이가 모두 증가하거나 변경되지 않음을 의미합니다." + +#: ../../story-class.rst:268 11dc2ac2cfa948f9b5a1f9820e2552e5 +msgid "Minimum parameter to consider; `None` for -infinity." +msgstr "고려할 최소 매개변수. `None` 이면 -무한대." + +#: ../../story-class.rst:270 318cf2242b354dcfaf2261319967a6e2 +msgid "Maximum parameter to consider; `None` for +infinity." +msgstr "고려할 최대 매개변수. `None` 이면 +무한대." + +#: ../../story-class.rst:272 c04b8320d63941998719b704f3829f97 +msgid "Maximum error in returned `parameter`." +msgstr "반환된 `parameter` 의 최대 오류." + +#: ../../story-class.rst:274 ../../story-class.rst:295 +#: ../../story-class.rst:317 ../../story-class.rst:338 +#: 04ed040f1f414b7c8386ffe687178265 470693ef9de2469a8028547ee1f19ddd +#: 8b4b77e4979541f0a4121fe75de9674d aed40072033645edb4aa0fbcdb14816f +msgid "If true we output diagnostics." +msgstr "true이면 진단 정보를 출력합니다." + +#: ../../story-class.rst:279 44286dc4a32a44f390cb28a04e6cf752 +msgid "" +"Finds smallest value `scale` in range `scale_min..scale_max` where `scale" +" * rect` is large enough to contain the story `self`." +msgstr "`scale * rect` 가 스토리 `self` 를 포함할 수 있을 만큼 큰 `scale_min..scale_max` 범위에서 가장 작은 값 `scale` 을 찾습니다." + +#: ../../story-class.rst:284 ../../story-class.rst:306 +#: bc70968d12674cddba38101f99cb1fbd fdda159f6afc401ebac759335fb3dfec +msgid "width of rect." +msgstr "rect의 너비." + +#: ../../story-class.rst:286 ../../story-class.rst:327 +#: 3ee0663bbd3d4788b49acf35a5a11b7e b17196b122de4057b9427222b9a3e7f4 +msgid "height of rect." +msgstr "rect의 높이." + +#: ../../story-class.rst:288 198e10d6fd8b4243a6c9e1051223c22e +msgid "Minimum scale to consider; must be >= 0." +msgstr "고려할 최소 스케일. >= 0 이어야 합니다." + +#: ../../story-class.rst:290 8fb7f93b830e4d5bb7de7c76d7c7e540 +msgid "Maximum scale to consider, must be >= scale_min or `None` for infinite." +msgstr "고려할 최대 스케일. >= scale_min 이어야 하거나 무한대의 경우 `None`." + +#: ../../story-class.rst:293 f423b2cdc42a427f978455fb05d8b7df +msgid "Maximum error in returned scale." +msgstr "반환된 스케일의 최대 오류." + +#: ../../story-class.rst:300 9dc7b774a8d94c71b557ecfbb9976265 +msgid "" +"Finds smallest height in range `height_min..height_max` where a rect with" +" size `(width, height)` is large enough to contain the story `self`." +msgstr "크기 `(width, height)` 의 rect가 스토리 `self` 를 포함할 수 있을 만큼 큰 `height_min..height_max` 범위에서 가장 작은 높이를 찾습니다." + +#: ../../story-class.rst:308 85ff87d9747942168779a4df514ba339 +msgid "Minimum height to consider; must be >= 0." +msgstr "고려할 최소 높이. >= 0 이어야 합니다." + +#: ../../story-class.rst:310 912d526c91f243f18cb6395c816ca9bc +msgid "Maximum height to consider, must be >= height_min or `None` for infinite." +msgstr "고려할 최대 높이. >= height_min 이어야 하거나 무한대의 경우 `None`." + +#: ../../story-class.rst:313 ../../story-class.rst:334 +#: c1f7875eb4ae4239a6376368ebf24647 c7cca120f409456097470b299bdfb49a +msgid "`(x0, y0)` of rect." +msgstr "rect의 `(x0, y0)`." + +#: ../../story-class.rst:315 f67d83462abe4bbcaff9a80b51a5978f +msgid "Maximum error in returned height." +msgstr "반환된 높이의 최대 오류." + +#: ../../story-class.rst:322 acf77aa0831f4a0386314816cc6f06aa +msgid "" +"Finds smallest width in range `width_min..width_max` where a rect with " +"size `(width, height)` is large enough to contain the story `self`." +msgstr "크기 `(width, height)` 의 rect가 스토리 `self` 를 포함할 수 있을 만큼 큰 `width_min..width_max` 범위에서 가장 작은 너비를 찾습니다." + +#: ../../story-class.rst:329 9bd900ad77c545e490768485d91fc7c8 +msgid "Minimum width to consider; must be >= 0." +msgstr "고려할 최소 너비. >= 0 이어야 합니다." + +#: ../../story-class.rst:331 ff7c27444b38461aa0606500f65534c2 +msgid "Maximum width to consider, must be >= width_min or `None` for infinite." +msgstr "고려할 최대 너비. >= width_min 이어야 하거나 무한대의 경우 `None`." + +#: ../../story-class.rst:336 0b2941234085492388b7df6476fba23f +msgid "Maximum error in returned width." +msgstr "반환된 너비의 최대 오류." + +#: ../../story-class.rst:343 b1ca57aa343940a18c8a31095aa158c9 +msgid "Element Positioning CallBack function" +msgstr "요소 위치 지정 콜백 함수" + +#: ../../story-class.rst:345 091fadf161344745a01b68eb9c135c89 +msgid "" +"The callback function can be used to log information about story output. " +"The function's access to the information is read-only: it has no way to " +"influence the story's output." +msgstr "콜백 함수는 스토리 출력에 대한 정보를 로깅하는 데 사용할 수 있습니다. 함수의 정보 액세스는 읽기 전용입니다. 스토리 출력에 영향을 줄 수 있는 방법이 없습니다." + +#: ../../story-class.rst:347 6228d7d0c75448809d16fd4e876f667e +msgid "" +"A typical loop for executing a story with using this method would look " +"like this::" +msgstr "이 메서드를 사용하여 스토리를 실행하는 일반적인 루프는 다음과 같습니다::" + +#: ../../story-class.rst:379 ae147d021aa143be82a1e049deb89061 +msgid "Attributes of the ElementPosition class" +msgstr "ElementPosition 클래스의 속성" + +#: ../../story-class.rst:380 c1fbd0b7565542d1b95f8c57a58016bd +msgid "" +"Exactly one parameter must be passed to the function provided by " +":meth:`Story.element_positions`. It is an object with the following " +"attributes:" +msgstr ":meth:`Story.element_positions` 에 의해 제공되는 함수에는 정확히 하나의 매개변수가 전달되어야 합니다. 다음 속성을 가진 객체입니다:" + +#: ../../story-class.rst:382 db748bf0d1de49da994057c0c9813003 +msgid "" +"The parameter passed to the `recorder` function is an object with the " +"following attributes:" +msgstr "`recorder` 함수에 전달되는 매개변수는 다음 속성을 가진 객체입니다:" + +#: ../../story-class.rst:384 332f4d6df2e849cda1fb558f9f1bc52e +msgid "`elpos.depth` (int) -- depth of this element in the box structure." +msgstr "`elpos.depth` (int) -- 박스 구조에서 이 요소의 깊이." + +#: ../../story-class.rst:386 43ebf06ffd544102857d5d1e63b02e5e +msgid "" +"`elpos.heading` (int) -- the header level, 0 if no header, 1-6 for " +":htmlTag:`h1` - :htmlTag:`h6`." +msgstr "`elpos.heading` (int) -- 헤더 레벨, 헤더가 없으면 0, :htmlTag:`h1` - :htmlTag:`h6` 의 경우 1-6." + +#: ../../story-class.rst:388 fd08004f2ef1497584d8af90ce1c5a41 +msgid "" +"`elpos.href` (str) -- value of the `href` attribute, or None if not " +"defined." +msgstr "`elpos.href` (str) -- `href` 속성의 값, 정의되지 않았으면 None." + +#: ../../story-class.rst:390 d75122312d1142dc8e2d75061746ee48 +msgid "`elpos.id` (str) -- value of the `id` attribute, or None if not defined." +msgstr "`elpos.id` (str) -- `id` 속성의 값, 정의되지 않았으면 None." + +#: ../../story-class.rst:392 f0d4a253cad54310a3c431f54e394f96 +msgid "`elpos.rect` (tuple) -- element position on page." +msgstr "`elpos.rect` (tuple) -- 페이지에서의 요소 위치." + +#: ../../story-class.rst:394 a66c52c844ca4388889b38841925a406 +msgid "`elpos.text` (str) -- immediate text of the element." +msgstr "`elpos.text` (str) -- 요소의 직접 텍스트." + +#: ../../story-class.rst:396 bed702a812984188bb16fc3565c6d75a +msgid "" +"`elpos.open_close` (int bit field) -- bit 0 set: opens element, bit 1 " +"set: closes element. Relevant for elements that may contain other " +"elements and thus may not immediately be closed after being created / " +"opened." +msgstr "`elpos.open_close` (int 비트 필드) -- 비트 0 설정: 요소 열기, 비트 1 설정: 요소 닫기. 다른 요소를 포함할 수 있어 생성/열린 후 즉시 닫히지 않을 수 있는 요소와 관련됩니다." + +#: ../../story-class.rst:398 9c020d958f7e41739d4c89fc24c82271 +msgid "`elpos.rect_num` (int) -- count of rectangles filled by the story so far." +msgstr "`elpos.rect_num` (int) -- 지금까지 스토리로 채워진 사각형의 개수." + +#: ../../story-class.rst:400 64579e878d5a4437b0267944543f75dc +msgid "" +"`elpos.page_num` (int) -- page number; only present when using " +"`pymupdf.Story.write*()` functions." +msgstr "`elpos.page_num` (int) -- 페이지 번호. `pymupdf.Story.write*()` 함수를 사용할 때만 존재합니다." + +#: ../../footer.rst:46 a8171a5060434652be4eadd0eef0baa1 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/supported-files-table.mo b/docs/locales/ko/LC_MESSAGES/supported-files-table.mo new file mode 100644 index 000000000..18e761b1d Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/supported-files-table.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/supported-files-table.po b/docs/locales/ko/LC_MESSAGES/supported-files-table.po new file mode 100644 index 000000000..319de7961 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/supported-files-table.po @@ -0,0 +1,21 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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" + diff --git a/docs/locales/ko/LC_MESSAGES/textpage.mo b/docs/locales/ko/LC_MESSAGES/textpage.mo new file mode 100644 index 000000000..4a97c7d3f Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/textpage.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/textpage.po b/docs/locales/ko/LC_MESSAGES/textpage.po new file mode 100644 index 000000000..738407cd3 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/textpage.po @@ -0,0 +1,1188 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 a689d6f014ae4b3e996f4ea1430fd7e2 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 fcaf663acdd64264ba54a9b09a7a053d +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 2384969b3a1a48ecb481ced21413e4ab +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" + +#: ../../textpage.rst:7 b50883dcbbd2424db737f428b4204dc7 +msgid "TextPage" +msgstr "TextPage" + +#: ../../textpage.rst:9 6e81bba1ccf7481d8fc21ba0651cd715 +msgid "" +"This class represents text and images shown on a document page. All " +":ref:`MuPDF document types` are supported." +msgstr "이 클래스는 문서 페이지에 표시된 텍스트와 이미지를 나타냅니다. 모든 :ref:`MuPDF 문서 타입` 이 지원됩니다." + +#: ../../textpage.rst:11 214a6f0b55b94183bb1a4fee5b003e96 +msgid "" +"The usual ways to create a textpage are :meth:`DisplayList.get_textpage` " +"and :meth:`Page.get_textpage`. Because there is a limited set of methods " +"in this class, there exist wrappers in :ref:`Page` which are handier to " +"use. The last column of this table shows these corresponding :ref:`Page` " +"methods." +msgstr "텍스트 페이지를 생성하는 일반적인 방법은 :meth:`DisplayList.get_textpage` 와 :meth:`Page.get_textpage` 입니다. 이 클래스의 메서드 세트가 제한적이므로, 더 편리하게 사용할 수 있는 :ref:`Page` 에 래퍼가 존재합니다. 이 테이블의 마지막 열은 이러한 해당 :ref:`Page` 메서드를 보여줍니다." + +#: ../../textpage.rst:13 8974c23cb16b4aa1b56189eff275c6fe +msgid "For a description of what this class is all about, see Appendix 2." +msgstr "이 클래스에 대한 설명은 부록 2를 참조하세요." + +#: ../../textpage.rst:16 a2ef271a41f24f089f82cb6c12de5544 +msgid "**Method**" +msgstr "**메서드**" + +#: ../../textpage.rst:16 5b00ef707e3f4637b40a48d5d422e544 +msgid "**Description**" +msgstr "**설명**" + +#: ../../textpage.rst:16 c508a7963cbb4c77ab691615841f72fb +msgid "page get_text or search method" +msgstr "페이지 get_text 또는 search 메서드" + +#: ../../textpage.rst:18 24790f911d6d4af491f3f0d4a90c5e4e +msgid ":meth:`~.extractText`" +msgstr ":meth:`~.extractText`" + +#: ../../textpage.rst:18 56f3e18347124df290f5bb60a9c6ab6f +msgid "extract plain text" +msgstr "일반 텍스트 추출" + +#: ../../textpage.rst:18 ../../textpage.rst:19 292888a082e041b8820ab5b47243fa82 +#: 587fc832f8b941329c209fc49dd67b0b +msgid "\"text\"" +msgstr "\"text\"" + +#: ../../textpage.rst:19 062786889a8a4ad586cea1bcbfa2bb0d +msgid ":meth:`~.extractTEXT`" +msgstr ":meth:`~.extractTEXT`" + +#: ../../textpage.rst:19 e0b7b72c38c746a4b7c512c66b738f1c +msgid "synonym of previous" +msgstr "이전의 동의어" + +#: ../../textpage.rst:20 98ed5aa1b9884de7858b147ee2bd2f0c +msgid ":meth:`~.extractBLOCKS`" +msgstr ":meth:`~.extractBLOCKS`" + +#: ../../textpage.rst:20 35f208a1af3c4c5c8f17069788e702ca +msgid "plain text grouped in blocks" +msgstr "블록으로 그룹화된 일반 텍스트" + +#: ../../textpage.rst:20 6318f67c8f964981b4a354142092e102 +msgid "\"blocks\"" +msgstr "\"blocks\"" + +#: ../../textpage.rst:21 07a1408ddaf24b158ac6dc5d9fcc8115 +msgid ":meth:`~.extractWORDS`" +msgstr ":meth:`~.extractWORDS`" + +#: ../../textpage.rst:21 52e0458f76ee4231a07829bb051b29ac +msgid "all words with their bbox" +msgstr "바운딩 박스를 포함한 모든 단어" + +#: ../../textpage.rst:21 2efe7bf211e74dc4a731d81393a6e10c +msgid "\"words\"" +msgstr "\"words\"" + +#: ../../textpage.rst:22 7c9da76988c243e0b79a0f2a5c23cee7 +msgid ":meth:`~.extractHTML`" +msgstr ":meth:`~.extractHTML`" + +#: ../../textpage.rst:22 269dcb92057443e096b0cd366dd7ba29 +msgid "page content in HTML format" +msgstr "HTML 형식의 페이지 콘텐츠" + +#: ../../textpage.rst:22 d24ee0e44d5c45e59f125aacaccf3465 +msgid "\"html\"" +msgstr "\"html\"" + +#: ../../textpage.rst:23 388abf5016ba455c959cdd56009a4499 +msgid ":meth:`~.extractXHTML`" +msgstr ":meth:`~.extractXHTML`" + +#: ../../textpage.rst:23 b09f5acedceb4611bc7ea51121eb9bb2 +msgid "page content in XHTML format" +msgstr "XHTML 형식의 페이지 콘텐츠" + +#: ../../textpage.rst:23 416a7019408e492da02693ffd6949a7a +msgid "\"xhtml\"" +msgstr "\"xhtml\"" + +#: ../../textpage.rst:24 ee85d9810eff41caa760d9ffb2a4fed2 +msgid ":meth:`~.extractXML`" +msgstr ":meth:`~.extractXML`" + +#: ../../textpage.rst:24 8ab1b023d2cc42b6ae74cb3b92b8d797 +msgid "page text in XML format" +msgstr "XML 형식의 페이지 텍스트" + +#: ../../textpage.rst:24 fd3d4026c2c045b6a5dc724cd3c1cd16 +msgid "\"xml\"" +msgstr "\"xml\"" + +#: ../../textpage.rst:25 a0d67d42d20d483ba2dc7c60232c4262 +msgid ":meth:`~.extractDICT`" +msgstr ":meth:`~.extractDICT`" + +#: ../../textpage.rst:25 ../../textpage.rst:27 1867105a7ef841cd809711e47e335c93 +#: 8cfc8dba8d384e489e2948bcbd7adaca +msgid "page content in *dict* format" +msgstr "*dict* 형식의 페이지 콘텐츠" + +#: ../../textpage.rst:25 8159466e656146a38f47f43f6bdcb810 +msgid "\"dict\"" +msgstr "\"dict\"" + +#: ../../textpage.rst:26 1d75b88f1edb442898ea8017de3492d7 +msgid ":meth:`~.extractJSON`" +msgstr ":meth:`~.extractJSON`" + +#: ../../textpage.rst:26 ../../textpage.rst:28 7480fba67d534ecc8956acf7902d5aed +#: 82d01a9dbb1d488198ecd836fed442ff +msgid "page content in JSON format" +msgstr "JSON 형식의 페이지 콘텐츠" + +#: ../../textpage.rst:26 78d2d0b851b240db8420aa1f8c823676 +msgid "\"json\"" +msgstr "\"json\"" + +#: ../../textpage.rst:27 1ade4b09c9674544bb58977574f5d593 +msgid ":meth:`~.extractRAWDICT`" +msgstr ":meth:`~.extractRAWDICT`" + +#: ../../textpage.rst:27 3155e2902bcd4713aa47e4919ec46081 +msgid "\"rawdict\"" +msgstr "\"rawdict\"" + +#: ../../textpage.rst:28 b5f0e031790f497694abb5caa6eee204 +msgid ":meth:`~.extractRAWJSON`" +msgstr ":meth:`~.extractRAWJSON`" + +#: ../../textpage.rst:28 9b7e2e49823242bf83ea6a25986488d0 +msgid "\"rawjson\"" +msgstr "\"rawjson\"" + +#: ../../textpage.rst:29 c2c9458e9c4a490087a519b61ecc5b19 +msgid ":meth:`~.search`" +msgstr ":meth:`~.search`" + +#: ../../textpage.rst:29 ee8c8a71aa524335969fbb8af60b211e +msgid "Search for a string in the page" +msgstr "페이지에서 문자열 검색" + +#: ../../textpage.rst:29 f79465ca7ff14a0a80fc365911c70bf6 +msgid ":meth:`Page.search_for`" +msgstr ":meth:`Page.search_for`" + +#: ../../textpage.rst:32 083eef252c154937ae0bc85aa81aff68 +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../textpage.rst:40 f33111b086ad4d72980c782edd305dd0 +msgid "" +"Return a string of the page's complete text. The text is UTF-8 unicode " +"and in the same sequence as specified at the time of document creation." +msgstr "페이지의 전체 텍스트 문자열을 반환합니다. 텍스트는 UTF-8 유니코드이며 문서 생성 시 지정된 순서와 동일합니다." + +#: ../../textpage.rst 3e9d1669f2fe4f15ab3177563f0420e3 +#: 4bd4b9fa21ed426188fe213d2241f4ac 720def9977a743fdb77d7caeb93f8e63 +#: aea747bd7d624e70bc7def00d62df838 ca24753a6b21474daba199227cbdb7cd +#: d0072bc05d7144aca56767bfde82c6a9 e1647eb182054d70be24b2cc9c6381ca +msgid "Parameters" +msgstr "매개변수" + +#: ../../textpage.rst:42 ../../textpage.rst:85 ../../textpage.rst:93 +#: ../../textpage.rst:113 ../../textpage.rst:121 +#: 053cd209c0cd44b08367efe95d323dcb 2e3408186db64af29672df98a2541c3a +#: 88f4b7d0b3014f8ab6a88c7157c764d9 eafc202f0101431bbd82bb8f066f24c2 +#: f7da0622405347bcb10099abdba152a3 +msgid "" +"(new in v1.19.1) sort the output by vertical, then horizontal " +"coordinates. In many cases, this should suffice to generate a \"natural\"" +" reading order." +msgstr "(v1.19.1에서 새로 추가됨) 출력을 수직 좌표, 그 다음 수평 좌표로 정렬합니다. 많은 경우 이것으로 \"자연스러운\" 읽기 순서를 생성할 수 있습니다." + +#: ../../textpage.rst 07f5f0a7fa5f4efbb1093cd496e1425a +#: 0f27872a10dd46fda6c8e7ecaf77c92b 34621dc4778249c49fbd4c5f8fd2fd39 +#: 4c8745e920b8430fadff84a8e977a147 5081234f6b32451d915cc94583c1d60e +#: 9a9a5268dcfc421cb4ca9b69e5030ee1 9f3241fa28914e49a481723379042cd8 +#: c0b2e445162446e1b4a2e0eb834ac7ca f3b8d685f26e44edbe5e23bac745020d +#: f63537f76faf47c884089748bdcbcd8b f8803c61a6fc41fe89a08237112d6d49 +msgid "Return type" +msgstr "반환 타입" + +#: ../../textpage.rst:49 63307d556a584ea19173a54596c7f880 +msgid "" +"Textpage content as a list of text lines grouped by block. Each list " +"items looks like this::" +msgstr "블록별로 그룹화된 텍스트 줄 목록으로 된 텍스트 페이지 콘텐츠. 각 목록 항목은 다음과 같습니다::" + +#: ../../textpage.rst:53 78718be495234f9dbfa93e48e16d1e13 +msgid "" +"The first four entries are the block's bbox coordinates, *block_type* is " +"1 for an image block, 0 for text. *block_no* is the block sequence " +"number. Multiple text lines are joined via line breaks." +msgstr "처음 네 개 항목은 블록의 bbox 좌표이며, *block_type* 은 이미지 블록의 경우 1, 텍스트의 경우 0입니다. *block_no* 는 블록 시퀀스 번호입니다. 여러 텍스트 줄은 줄바꿈으로 연결됩니다." + +#: ../../textpage.rst:55 12f402e2e12346f8b7dd871f590f3197 +msgid "" +"For an image block, its bbox and a text line with some image meta " +"information is included -- **not the image content**." +msgstr "이미지 블록의 경우 bbox와 일부 이미지 메타 정보가 포함된 텍스트 줄이 포함됩니다. **이미지 콘텐츠는 포함되지 않습니다**." + +#: ../../textpage.rst:57 fb2f6c324124423bb74dbd2e4b974806 +msgid "" +"This is a high-speed method with just enough information to output plain " +"text in desired reading sequence." +msgstr "원하는 읽기 순서로 일반 텍스트를 출력하기에 충분한 정보를 제공하는 고속 메서드입니다." + +#: ../../textpage.rst:63 cfb05f044359435fb061d158cb6ef21e +msgid "Changed in v1.23.5: added `delimiters` parameter" +msgstr "v1.23.5에서 변경됨: `delimiters` 매개변수 추가" + +#: ../../textpage.rst:65 e3116b1baa374ce2b67b6002aaae107d +msgid "" +"Textpage content as a list of single words with bbox information. An item" +" of this list looks like this::" +msgstr "bbox 정보가 있는 단일 단어 목록으로 된 텍스트 페이지 콘텐츠. 이 목록의 항목은 다음과 같습니다::" + +#: ../../textpage.rst:69 6f56fac0469e45afa313a96110815e53 +msgid "" +"(new in v1.23.5) use these characters as *additional* word separators. By" +" default, all white spaces (including the non-breaking space `0xA0`) " +"indicate start and end of a word. Now you can specify more characters " +"causing this. For instance, the default will return " +"`\"john.doe@outlook.com\"` as **one** word. If you specify " +"`delimiters=\"@.\"` then the **four** words `\"john\"`, `\"doe\"`, " +"`\"outlook\"`, `\"com\"` will be returned. Other possible uses include " +"ignoring punctuation characters `delimiters=string.punctuation`. The " +"\"word\" strings will not contain any delimiting character." +msgstr "(v1.23.5에서 새로 추가됨) 이러한 문자를 *추가* 단어 구분자로 사용합니다. 기본적으로 모든 공백(줄바꿈 없는 공백 `0xA0` 포함)은 단어의 시작과 끝을 나타냅니다. 이제 이를 유발하는 더 많은 문자를 지정할 수 있습니다. 예를 들어 기본값은 `\"john.doe@outlook.com\"` 을 **하나의** 단어로 반환합니다. `delimiters=\"@.\"` 를 지정하면 **네 개의** 단어 `\"john\"`, `\"doe\"`, `\"outlook\"`, `\"com\"` 이 반환됩니다. 다른 가능한 용도로는 구두점 문자 무시 `delimiters=string.punctuation` 가 있습니다. \"word\" 문자열에는 구분 문자가 포함되지 않습니다." + +#: ../../textpage.rst:71 f122cb9dbcfb43fb8cd911d4aabb4817 +msgid "" +"This is a high-speed method which e.g. allows extracting text from within" +" given areas or recovering the text reading sequence." +msgstr "이것은 예를 들어 주어진 영역 내에서 텍스트를 추출하거나 텍스트 읽기 순서를 복구할 수 있게 하는 고속 메서드입니다." + +#: ../../textpage.rst:77 9fd59d1b4ce240e7ab72d24d4bfe0b1d +msgid "" +"Textpage content as a string in HTML format. This version contains " +"complete formatting and positioning information. Images are included " +"(encoded as base64 strings). You need an HTML package to interpret the " +"output in Python. Your internet browser should be able to adequately " +"display this information, but see :ref:`HTMLQuality`." +msgstr "HTML 형식의 문자열로 된 텍스트 페이지 콘텐츠. 이 버전은 완전한 서식 및 위치 정보를 포함합니다. 이미지가 포함됩니다(base64 문자열로 인코딩됨). Python에서 출력을 해석하려면 HTML 패키지가 필요합니다. 인터넷 브라우저가 이 정보를 적절히 표시할 수 있어야 하지만 :ref:`HTMLQuality` 를 참조하세요." + +#: ../../textpage.rst:83 a07e225c4bf3412585128a2fb86b8200 +msgid "" +"Textpage content as a Python dictionary. Provides same information detail" +" as HTML. See below for the structure." +msgstr "Python 딕셔너리로 된 텍스트 페이지 콘텐츠. HTML과 동일한 정보 세부 사항을 제공합니다. 구조는 아래를 참조하세요." + +#: ../../textpage.rst:91 3c7dcaacfe924c9ab076958b43f75600 +msgid "" +"Textpage content as a JSON string. Created by " +"`json.dumps(TextPage.extractDICT())`. It is included for backlevel " +"compatibility. You will probably use this method ever only for outputting" +" the result to some file. The method detects binary image data and " +"converts them to base64 encoded strings." +msgstr "JSON 문자열로 된 텍스트 페이지 콘텐츠. `json.dumps(TextPage.extractDICT())` 로 생성됩니다. 하위 호환성을 위해 포함되었습니다. 이 메서드는 아마도 결과를 파일로 출력하는 용도로만 사용할 것입니다. 이 메서드는 바이너리 이미지 데이터를 감지하고 base64 인코딩된 문자열로 변환합니다." + +#: ../../textpage.rst:99 87f36a88ced6410383dcdafa2979eae5 +msgid "" +"Textpage content as a string in XHTML format. Text information detail is " +"comparable with :meth:`extractTEXT`, but also contains images (base64 " +"encoded). This method makes no attempt to re-create the original visual " +"appearance." +msgstr "XHTML 형식의 문자열로 된 텍스트 페이지 콘텐츠. 텍스트 정보 세부 사항은 :meth:`extractTEXT` 와 유사하지만 이미지도 포함합니다(base64 인코딩됨). 이 메서드는 원본 시각적 모양을 재현하려고 시도하지 않습니다." + +#: ../../textpage.rst:105 ce4a584473674c4e91533c25a532fe15 +msgid "" +"Textpage content as a string in XML format. This contains complete " +"formatting information about every single character on the page: font, " +"size, line, paragraph, location, color, etc. Contains no images. You need" +" an XML package to interpret the output in Python." +msgstr "XML 형식의 문자열로 된 텍스트 페이지 콘텐츠. 이것은 페이지의 모든 단일 문자에 대한 완전한 서식 정보를 포함합니다: 글꼴, 크기, 줄, 단락, 위치, 색상 등. 이미지는 포함되지 않습니다. Python에서 출력을 해석하려면 XML 패키지가 필요합니다." + +#: ../../textpage.rst:111 53dc5f5e5cc04c54a952877ba4755541 +msgid "" +"Textpage content as a Python dictionary -- technically similar to " +":meth:`extractDICT`, and it contains that information as a subset " +"(including any images). It provides additional detail down to each " +"character, which makes using XML obsolete in many cases. See below for " +"the structure." +msgstr "Python 딕셔너리로 된 텍스트 페이지 콘텐츠. 기술적으로 :meth:`extractDICT` 와 유사하며, 해당 정보를 하위 집합으로 포함합니다(이미지 포함). 각 문자까지 추가 세부 정보를 제공하므로 많은 경우 XML 사용을 불필요하게 만듭니다. 구조는 아래를 참조하세요." + +#: ../../textpage.rst:119 33863035deb9499b8feb6d00b3064acb +msgid "" +"Textpage content as a JSON string. Created by " +"`json.dumps(TextPage.extractRAWDICT())`. You will probably use this " +"method ever only for outputting the result to some file. The method " +"detects binary image data and converts them to base64 encoded strings." +msgstr "JSON 문자열로 된 텍스트 페이지 콘텐츠. `json.dumps(TextPage.extractRAWDICT())` 로 생성됩니다. 이 메서드는 아마도 결과를 파일로 출력하는 용도로만 사용할 것입니다. 이 메서드는 바이너리 이미지 데이터를 감지하고 base64 인코딩된 문자열로 변환합니다." + +#: ../../textpage.rst:127 209053b84b6545e3994a163287facefa +msgid "Changed in v1.18.2" +msgstr "v1.18.2에서 변경됨" + +#: ../../textpage.rst:129 05ffbacb61c7489882f082b48886e8d5 +msgid "Search for *string* and return a list of found locations." +msgstr "*string* 을 검색하고 찾은 위치 목록을 반환합니다." + +#: ../../textpage.rst:131 c71683b946f54d84aff575da2005613b +msgid "" +"the string to search for. Upper and lower cases will all match if needle " +"consists of ASCII letters only -- it does not yet work for \"Ä\" versus " +"\"ä\", etc." +msgstr "검색할 문자열. needle이 ASCII 문자로만 구성된 경우 대소문자가 모두 일치합니다. \"Ä\" 와 \"ä\" 등에는 아직 작동하지 않습니다." + +#: ../../textpage.rst:132 0f1af98486ec43429066d8c48e3dc958 +msgid "return quadrilaterals instead of rectangles." +msgstr "사각형 대신 사각형을 반환합니다." + +#: ../../textpage.rst 943e3f54b51f470ba6d34411ccdabcd3 +msgid "Returns" +msgstr "반환값" + +#: ../../textpage.rst:134 89e19eb80ccd4b318611f268b0f75d7e +msgid "" +"a list of :ref:`Rect` or :ref:`Quad` objects, each surrounding a found " +"*needle* occurrence. As the search string may contain spaces, its parts " +"may be found on different lines. In this case, more than one rectangle " +"(resp. quadrilateral) are returned. **(Changed in v1.18.2)** The method " +"**now supports dehyphenation**, so it will find e.g. \"method\", even if " +"it was hyphenated in two parts \"meth-\" and \"od\" across two lines. The" +" two returned rectangles will contain \"meth\" (no hyphen) and \"od\"." +msgstr ":ref:`Rect` 또는 :ref:`Quad` 객체 목록으로, 각각 찾은 *needle* 발생을 둘러쌉니다. 검색 문자열에 공백이 포함될 수 있으므로 해당 부분이 다른 줄에서 발견될 수 있습니다. 이 경우 둘 이상의 사각형(또는 사각형)이 반환됩니다. **(v1.18.2에서 변경됨)** 이 메서드는 **이제 하이픈 제거를 지원** 하므로 두 줄에 걸쳐 \"meth-\" 와 \"od\" 로 하이픈 처리된 경우에도 예를 들어 \"method\" 를 찾을 수 있습니다. 반환된 두 사각형에는 \"meth\" (하이픈 없음)와 \"od\" 가 포함됩니다." + +#: ../../textpage.rst:136 c134a9fb178648ae8bab433d54e37e2b +msgid "**Overview of changes in v1.18.2:**" +msgstr "**v1.18.2의 변경 사항 개요:**" + +#: ../../textpage.rst:138 d9a3438955224e5685de548903667d74 +msgid "The `hit_max` parameter has been removed: all hits are always returned." +msgstr "`hit_max` 매개변수가 제거되었습니다. 모든 히트가 항상 반환됩니다." + +#: ../../textpage.rst:139 c687c9305d954f6eaea257e2fe5bbe58 +msgid "" +"The `rect` parameter of the :ref:`TextPage` is now respected: only text " +"inside this area is examined. Only characters with fully contained bboxes" +" are considered. The wrapper method :meth:`Page.search_for` " +"correspondingly supports a *clip* parameter." +msgstr ":ref:`TextPage` 의 `rect` 매개변수가 이제 존중됩니다. 이 영역 내의 텍스트만 검사됩니다. 완전히 포함된 bbox를 가진 문자만 고려됩니다. 래퍼 메서드 :meth:`Page.search_for` 는 이에 따라 *clip* 매개변수를 지원합니다." + +#: ../../textpage.rst:140 ec9e270e430341a88939c174a0e838a3 +msgid "**Hyphenated words** are now found." +msgstr "**하이픈 처리된 단어** 가 이제 찾아집니다." + +#: ../../textpage.rst:141 595b14cd29774ef49fd1666b1d37dbb7 +msgid "" +"**Overlapping rectangles** in the same line are now automatically joined." +" We assume that such separations are an artifact created by multiple " +"marked content groups, containing parts of the same search needle." +msgstr "같은 줄의 **겹치는 사각형** 이 이제 자동으로 결합됩니다. 이러한 분리는 동일한 검색 needle의 일부를 포함하는 여러 표시된 콘텐츠 그룹에 의해 생성된 아티팩트라고 가정합니다." + +#: ../../textpage.rst:143 7b283f04f24544e18dc95d6f698f1a39 +msgid "" +"Example Quad versus Rect: when searching for needle \"pymupdf\", then the" +" corresponding entry will either be the blue rectangle, or, if *quads* " +"was specified, the quad *Quad(ul, ur, ll, lr)*." +msgstr "Quad 대 Rect 예시: needle \"pymupdf\" 를 검색할 때 해당 항목은 파란색 사각형이 되거나, *quads* 가 지정된 경우 사각형 *Quad(ul, ur, ll, lr)* 가 됩니다." + +#: ../../textpage.rst:149 22015cb6553240db9caee4c5d4d0a06b +msgid "" +"The rectangle associated with the text page. This either equals the " +"rectangle of the creating page or the `clip` parameter of " +":meth:`Page.get_textpage` and text extraction / searching methods." +msgstr "텍스트 페이지와 연결된 사각형. 이것은 생성 페이지의 사각형이거나 :meth:`Page.get_textpage` 및 텍스트 추출/검색 메서드의 `clip` 매개변수와 같습니다." + +#: ../../textpage.rst:151 e4d7797e393d49f38a2ad6066b720a21 +msgid "" +"The output of text searching and most text extractions **is restricted to" +" this rectangle**. (X)HTML and XML output will however always extract the" +" full page." +msgstr "텍스트 검색 및 대부분의 텍스트 추출 출력은 **이 사각형으로 제한됩니다**. 그러나 (X)HTML 및 XML 출력은 항상 전체 페이지를 추출합니다." + +#: ../../textpage.rst:156 746d4f0331d74f5eb4b706ab194b8b02 +msgid "Structure of Dictionary Outputs" +msgstr "딕셔너리 출력 구조" + +#: ../../textpage.rst:157 ae8559712aa84a3b8f3abc14fba42605 +msgid "" +"Methods :meth:`TextPage.extractDICT`, :meth:`TextPage.extractJSON`, " +":meth:`TextPage.extractRAWDICT`, and :meth:`TextPage.extractRAWJSON` " +"return dictionaries, containing the page's text and image content. The " +"dictionary structures of all four methods are almost equal. They strive " +"to map the text page's information hierarchy of blocks, lines, spans and " +"characters as precisely as possible, by representing each of these by its" +" own sub-dictionary:" +msgstr ":meth:`TextPage.extractDICT`, :meth:`TextPage.extractJSON`, :meth:`TextPage.extractRAWDICT`, :meth:`TextPage.extractRAWJSON` 메서드는 페이지의 텍스트 및 이미지 콘텐츠를 포함하는 딕셔너리를 반환합니다. 네 가지 메서드의 딕셔너리 구조는 거의 동일합니다. 각각을 자체 하위 딕셔너리로 표현하여 텍스트 페이지의 블록, 줄, 범위 및 문자 정보 계층을 가능한 한 정확하게 매핑합니다:" + +#: ../../textpage.rst:159 1fc549b40ec54504aba36b49e614c7cc +msgid "A **page** consists of a list of **block dictionaries**." +msgstr "**페이지** 는 **블록 딕셔너리** 목록으로 구성됩니다." + +#: ../../textpage.rst:160 531deb445eda49c78ee0170f577f2f93 +msgid "A (text) **block** consists of a list of **line dictionaries**." +msgstr "(텍스트) **블록** 은 **줄 딕셔너리** 목록으로 구성됩니다." + +#: ../../textpage.rst:161 5d0d26a55df64fb0bc4619f73f865415 +msgid "A **line** consists of a list of **span dictionaries**." +msgstr "**줄** 은 **범위 딕셔너리** 목록으로 구성됩니다." + +#: ../../textpage.rst:162 d297bff2aae540828c971d533f6fe3bb +msgid "" +"A **span** either consists of the text itself or, for the RAW variants, a" +" list of **character dictionaries**." +msgstr "**범위** 는 텍스트 자체로 구성되거나 RAW 변형의 경우 **문자 딕셔너리** 목록으로 구성됩니다." + +#: ../../textpage.rst:163 37000c1f71684c77a812407e7849a0e0 +msgid "" +"RAW variants: a **character** is a dictionary of its origin, bbox and " +"unicode." +msgstr "RAW 변형: **문자** 는 원본, bbox 및 유니코드의 딕셔너리입니다." + +#: ../../textpage.rst:165 192df2422b5e482bbb29f7afc93e8cdc +msgid "" +"All PyMuPDF geometry objects herein (points, rectangles, matrices) are " +"represented by there **\"like\"** formats: a :data:`rect_like` *tuple* is" +" used instead of a :ref:`Rect`, etc. The reasons for this are performance" +" and memory considerations:" +msgstr "여기에 포함된 모든 |PyMuPDF| 기하 객체(점, 사각형, 행렬)는 **\"like\"** 형식으로 표현됩니다: :ref:`Rect` 대신 :data:`rect_like` *tuple* 이 사용됩니다. 그 이유는 성능 및 메모리 고려 사항입니다:" + +#: ../../textpage.rst:167 517e734e4772478cb6b1bc32cab2ab16 +msgid "" +"This code is written in C, where Python tuples can easily be generated. " +"The geometry objects on the other hand are defined in Python source only." +" A conversion of each Python tuple into its corresponding geometry object" +" would add significant -- and largely unnecessary -- execution time." +msgstr "이 코드는 C로 작성되었으며, Python 튜플을 쉽게 생성할 수 있습니다. 반면 기하 객체는 Python 소스에만 정의되어 있습니다. 각 Python 튜플을 해당 기하 객체로 변환하면 상당한 실행 시간이 추가됩니다(대부분 불필요함)." + +#: ../../textpage.rst:168 a7f4b55b2bb84753bc138ab3a04c2f8a +msgid "" +"A 4-tuple needs about 168 bytes, the corresponding :ref:`Rect` 472 bytes " +"- almost three times the size. A \"dict\" dictionary for a text-heavy " +"page contains 300+ bbox objects -- which thus require about 50 KB storage" +" as 4-tuples versus 140 KB as :ref:`Rect` objects. A \"rawdict\" output " +"for such a page will however contain **4 to 5 thousand** bboxes, so in " +"this case we talk about 750 KB versus 2 MB." +msgstr "4-tuple은 약 168바이트가 필요하고, 해당 :ref:`Rect` 는 472바이트입니다. 거의 3배 크기입니다. 텍스트가 많은 페이지의 \"dict\" 딕셔너리에는 300개 이상의 bbox 객체가 포함되어 있습니다. 따라서 4-tuple로 약 50KB, :ref:`Rect` 객체로 140KB의 저장 공간이 필요합니다. 그러나 이러한 페이지의 \"rawdict\" 출력에는 **4천~5천 개** 의 bbox가 포함되므로, 이 경우 750KB 대 2MB를 말하는 것입니다." + +#: ../../textpage.rst:170 bbdd6aa883a447c5b6bbb24a389b7944 +msgid "" +"Please also note, that only **bboxes** (= :data:`rect_like` 4-tuples) are" +" returned, whereas a :ref:`TextPage` actually has the **full position " +"information** -- in :ref:`Quad` format. The reason for this decision is " +"again a memory consideration: a :data:`quad_like` needs 488 bytes (3 " +"times the size of a :data:`rect_like`). Given the mentioned amounts of " +"generated bboxes, returning :data:`quad_like` information would have a " +"significant impact." +msgstr "또한 **bboxes** (= :data:`rect_like` 4-tuple)만 반환되지만, :ref:`TextPage` 는 실제로 **전체 위치 정보** 를 가지고 있습니다. :ref:`Quad` 형식입니다. 이 결정의 이유는 다시 메모리 고려 사항입니다: :data:`quad_like` 는 488바이트(:data:`rect_like` 크기의 3배)가 필요합니다. 생성된 bbox의 양을 고려하면 :data:`quad_like` 정보를 반환하면 상당한 영향을 미칩니다." + +#: ../../textpage.rst:172 d2d5ce2b47bc4940b491f08fbbaa0027 +msgid "" +"In the vast majority of cases, we are dealing with **horizontal text " +"only**, where bboxes provide entirely sufficient information." +msgstr "대부분의 경우 **수평 텍스트만** 다루며, bbox가 완전히 충분한 정보를 제공합니다." + +#: ../../textpage.rst:174 feb1b497d7a04358ac4fc4f59750eb21 +msgid "" +"In addition, **the full quad information is not lost**: it can be " +"recovered as needed for lines, spans, and characters by using the " +"appropriate function from the following list:" +msgstr "또한 **전체 quad 정보는 손실되지 않습니다**: 다음 목록의 적절한 함수를 사용하여 줄, 범위 및 문자에 대해 필요에 따라 복구할 수 있습니다:" + +#: ../../textpage.rst:176 e89548afd6dc44168e0b77628a3cba31 +msgid ":meth:`recover_quad` -- the quad of a complete span" +msgstr ":meth:`recover_quad` -- 전체 범위의 quad" + +#: ../../textpage.rst:177 27d71bee525843278a01adf552fa7a36 +msgid ":meth:`recover_span_quad` -- the quad of a character subset of a span" +msgstr ":meth:`recover_span_quad` -- 범위의 문자 하위 집합의 quad" + +#: ../../textpage.rst:178 041a2862fe3d48ac95055a9328f85989 +msgid ":meth:`recover_line_quad` -- the quad of a line" +msgstr ":meth:`recover_line_quad` -- 줄의 quad" + +#: ../../textpage.rst:179 66ae40921c104d34aba6daaf7127f04f +msgid ":meth:`recover_char_quad` -- the quad of a character" +msgstr ":meth:`recover_char_quad` -- 문자의 quad" + +#: ../../textpage.rst:181 727a2901b16c4ddd96ae14b244c5424a +msgid "" +"As mentioned, using these functions is ever only needed, if the text is " +"**not written horizontally** -- `line[\"dir\"] != (1, 0)` -- and you need" +" the quad for text marker annotations (:meth:`Page.add_highlight_annot` " +"and friends)." +msgstr "언급한 대로, 이러한 함수 사용은 텍스트가 **수평으로 작성되지 않은** 경우(`line[\"dir\"] != (1, 0)`)에만 필요하며, 텍스트 마커 주석(:meth:`Page.add_highlight_annot` 등)에 quad가 필요한 경우입니다." + +#: ../../textpage.rst:191 7805ac6076c748d18288314bba88341d +msgid "Page Dictionary" +msgstr "페이지 딕셔너리" + +#: ../../textpage.rst:194 ../../textpage.rst:208 ../../textpage.rst:251 +#: ../../textpage.rst:263 ../../textpage.rst:285 ../../textpage.rst:369 +#: 29f9782130d642a8b2fddc4dfd20716c 70f3d2461fad4b3fadb0fc3afaea9f2e +#: 975906fdd1184ad3ad3fd3d27e4993b0 baf341562d684245aa92ddd993c2dd48 +#: bf7900e8b9b5405a8f0d4d83a8bf0411 c6778ca210f143f38e1b9841a02401e9 +msgid "**Key**" +msgstr "**키**" + +#: ../../textpage.rst:194 ../../textpage.rst:208 ../../textpage.rst:251 +#: ../../textpage.rst:263 ../../textpage.rst:285 ../../textpage.rst:369 +#: 264a4f1acc10474eb5e78fe3b5e5823b b4b639c47a4a414db8f8f3bb50ee8dc9 +#: cc9c466c5ba84957921e1ff86a57d116 d94353036c5b40c1846dd829e554f27f +#: f0dc2d1c0f2f41dea26d6f56aa6b3a26 fe805e2ac2f84c418cdee9f01871d787 +msgid "**Value**" +msgstr "**값**" + +#: ../../textpage.rst:196 ../../textpage.rst:214 +#: 07aa10194d0d48eb97c6202f508f7705 8f326282fbe8407aa66c61b1d8bcd062 +msgid "width" +msgstr "width" + +#: ../../textpage.rst:196 f244c49149a243688a1885d014c7a1bb +msgid "width of the `clip` rectangle *(float)*" +msgstr "`clip` 사각형의 너비 *(float)*" + +#: ../../textpage.rst:197 ../../textpage.rst:215 +#: b8882d43fa804c8a9c251b3ec47cef6d bcccca2b99b94b7ea01f4de3b4b7c85a +msgid "height" +msgstr "height" + +#: ../../textpage.rst:197 3100ead6fa2e45f5b61d6969928e4877 +msgid "height of the `clip` rectangle *(float)*" +msgstr "`clip` 사각형의 높이 *(float)*" + +#: ../../textpage.rst:198 c5935e75747b42e799fe04c7f318b0da +msgid "blocks" +msgstr "blocks" + +#: ../../textpage.rst:198 30ab779a07894b089542bb81604f9b47 +msgid "*list* of block dictionaries" +msgstr "블록 딕셔너리의 *list*" + +#: ../../textpage.rst:202 db462c15f35c46f5b52a233a3beed4d0 +msgid "Block Dictionaries" +msgstr "블록 딕셔너리" + +#: ../../textpage.rst:203 952d964d7a5e43c2848616b970e2716c +msgid "" +"Block dictionaries come in two different formats for **image blocks** and" +" for **text blocks**." +msgstr "블록 딕셔너리는 **이미지 블록** 과 **텍스트 블록** 에 대해 두 가지 다른 형식으로 제공됩니다." + +#: ../../textpage.rst:205 238f68f9676441f1bdcff950557a856e +msgid "**Image block:**" +msgstr "**이미지 블록:**" + +#: ../../textpage.rst:210 ../../textpage.rst:253 +#: 800a3c27effc460f9480726ec3a5c729 d35d41a494c04f6285bda0eace697528 +msgid "type" +msgstr "type" + +#: ../../textpage.rst:210 6328d3cec703451097bfaa7cf7f6c65f +msgid "1 = image (``int``)" +msgstr "1 = 이미지 (``int``)" + +#: ../../textpage.rst:211 ../../textpage.rst:254 ../../textpage.rst:265 +#: ../../textpage.rst:287 ../../textpage.rst:372 +#: 13e6c3dfe54549b9b050cea92d99d01a 322f2d6f5b2b44ed9706ad2f98ad459c +#: 4f766fcb9538433a8d4db8a39a80ff3c bc56648f4c414b1eb1faa55dba01ab98 +#: db0fdf56b2254240a588914bece3c707 +msgid "bbox" +msgstr "bbox" + +#: ../../textpage.rst:211 ff4d18f9a8d24d16a31d552e95f6e589 +msgid "image bbox on page (:data:`rect_like`)" +msgstr "페이지의 이미지 bbox (:data:`rect_like`)" + +#: ../../textpage.rst:212 ../../textpage.rst:255 +#: 4c56479091544270885701e21d3794c0 5d311b7030c74d77b291641b825cabc0 +msgid "number" +msgstr "number" + +#: ../../textpage.rst:212 044f427c89414858935273b873628617 +msgid "block count (``int``)" +msgstr "블록 개수 (``int``)" + +#: ../../textpage.rst:213 d457db3dffd648f5b421b9dabda513e8 +msgid "ext" +msgstr "ext" + +#: ../../textpage.rst:213 9a1b2497c15747ccae408e2908b03716 +msgid "image type (``str``), as file extension, see below" +msgstr "이미지 타입 (``str``), 파일 확장자로, 아래 참조" + +#: ../../textpage.rst:214 65917d8aff0a47ae97e1c880700ae5b9 +msgid "original image width (``int``)" +msgstr "원본 이미지 너비 (``int``)" + +#: ../../textpage.rst:215 ef1b2983b8484b67aea4e7c52ec94c5e +msgid "original image height (``int``)" +msgstr "원본 이미지 높이 (``int``)" + +#: ../../textpage.rst:216 cdbc1a0fe83a45878f7d57c8195c2541 +msgid "colorspace" +msgstr "colorspace" + +#: ../../textpage.rst:216 0768d9dd62e74b518365212bb8f2d509 +msgid "colorspace component count (``int``)" +msgstr "색 공간 구성 요소 개수 (``int``)" + +#: ../../textpage.rst:217 c72ef151fd0843acbf96ee02c0b50384 +msgid "xres" +msgstr "xres" + +#: ../../textpage.rst:217 2b798798946e43259c410f01235ab8cf +msgid "resolution in x-direction (``int``) [#f3]_" +msgstr "x 방향 해상도 (``int``) [#f3]_" + +#: ../../textpage.rst:218 711945f5b34049a1b07317557513f490 +msgid "yres" +msgstr "yres" + +#: ../../textpage.rst:218 91a31d61290640b8988418d1a9ebb3ba +msgid "resolution in y-direction (``int``) [#f3]_" +msgstr "y 방향 해상도 (``int``) [#f3]_" + +#: ../../textpage.rst:219 c247c45f267c4a6281d20687be8c99af +msgid "bpc" +msgstr "bpc" + +#: ../../textpage.rst:219 8934e38405664f3fa8f78d65d3a6dba5 +msgid "bits per component (``int``)" +msgstr "구성 요소당 비트 수 (``int``)" + +#: ../../textpage.rst:220 2db498cd52714dd8b5097aa444b17ac0 +msgid "transform" +msgstr "transform" + +#: ../../textpage.rst:220 c07a01fdd4744863a7e7b665d9066376 +msgid "matrix transforming image rect to bbox (:data:`matrix_like`)" +msgstr "이미지 rect를 bbox로 변환하는 행렬 (:data:`matrix_like`)" + +#: ../../textpage.rst:221 ../../textpage.rst:292 +#: 416da7dc62f34728a5e65a5b6eccec10 e5bfbe8873ce4531a1a93eea31b542ab +msgid "size" +msgstr "size" + +#: ../../textpage.rst:221 ef114c513c0140809c273a1fca277935 +msgid "size of the image in bytes (``int``)" +msgstr "바이트 단위의 이미지 크기 (``int``)" + +#: ../../textpage.rst:222 b4442e7378f340ad9bbc40a5bda85f94 +msgid "image" +msgstr "image" + +#: ../../textpage.rst:222 44de8974cd434bbca7c4dea100e9987f +msgid "image content (``bytes``)" +msgstr "이미지 콘텐츠 (``bytes``)" + +#: ../../textpage.rst:223 ce697bda1a494d35a92a1a9b886f4a53 +msgid "mask" +msgstr "mask" + +#: ../../textpage.rst:223 203d79f1d981499da21d8cae601cef42 +msgid "image mask content (``bytes``) for transparent images" +msgstr "투명 이미지의 이미지 마스크 콘텐츠 (``bytes``)" + +#: ../../textpage.rst:226 7b2748f1df1342538dd7b750dd6db1db +msgid "" +"Possible values of the \"ext\" key are \"bmp\", \"gif\", \"jpeg\", " +"\"jpx\" (JPEG 2000), \"jxr\" (JPEG XR), \"png\", \"pnm\", and \"tiff\"." +msgstr "\"ext\" 키의 가능한 값은 \"bmp\", \"gif\", \"jpeg\", \"jpx\" (JPEG 2000), \"jxr\" (JPEG XR), \"png\", \"pnm\", \"tiff\" 입니다." + +#: ../../textpage.rst:230 f165771e95ce4de587ef46d0281ce182 +msgid "" +"An image block is generated for **all and every image occurrence** on the" +" page. Hence there may be duplicates, if an image is shown at different " +"locations." +msgstr "페이지의 **모든 이미지 발생** 에 대해 이미지 블록이 생성됩니다. 따라서 이미지가 다른 위치에 표시되면 중복이 있을 수 있습니다." + +#: ../../textpage.rst:232 34122c8c572a45d7a4acfd1f2cbbbe55 +msgid "" +":ref:`TextPage` and corresponding method :meth:`Page.get_text` are " +"**available for all document types**. Only for PDF documents, methods " +":meth:`Document.get_page_images` / :meth:`Page.get_images` offer some " +"overlapping functionality as far as image lists are concerned. But both " +"lists **may or may not** contain the same items. Any differences are most" +" probably caused by one of the following:" +msgstr ":ref:`TextPage` 및 해당 메서드 :meth:`Page.get_text` 는 **모든 문서 타입에 사용 가능합니다**. PDF 문서의 경우에만 :meth:`Document.get_page_images` / :meth:`Page.get_images` 메서드가 이미지 목록과 관련하여 일부 중복 기능을 제공합니다. 그러나 두 목록은 **같은 항목을 포함할 수도 있고 포함하지 않을 수도 있습니다**. 차이점은 다음 중 하나로 인한 것일 가능성이 높습니다:" + +#: ../../textpage.rst:234 87715f6d6a82452b8ef41b7cbb3b917c +msgid "" +"\"Inline\" images (see page 214 of the :ref:`AdobeManual`) of a PDF page " +"are contained in a textpage, but **do not appear** in " +":meth:`Page.get_images`." +msgstr "PDF 페이지의 \"인라인\" 이미지(:ref:`AdobeManual` 214페이지 참조)는 텍스트 페이지에 포함되지만 :meth:`Page.get_images` 에는 **나타나지 않습니다**." + +#: ../../textpage.rst:235 7671c8c4e14e4452a9de51d3be9f9a57 +msgid "" +"Annotations may also contain images -- these will **not appear** in " +":meth:`Page.get_images`." +msgstr "주석에도 이미지가 포함될 수 있습니다. 이것들은 :meth:`Page.get_images` 에 **나타나지 않습니다**." + +#: ../../textpage.rst:236 528e4366c2844284b6b3e06d85663c2c +msgid "" +"Image blocks in a textpage are generated for **every** image location -- " +"whether or not there are any duplicates. This is in contrast to " +":meth:`Page.get_images`, which will list each image only once (per " +"reference name)." +msgstr "텍스트 페이지의 이미지 블록은 **모든** 이미지 위치에 대해 생성됩니다. 중복이 있는지 여부와 관계없이. 이것은 각 이미지를 한 번만 나열하는 :meth:`Page.get_images` (참조 이름당)와 대조됩니다." + +#: ../../textpage.rst:237 6ba5259a29524a72bae31a85c368deb0 +msgid "" +"Images mentioned in the page's :data:`object` definition will **always** " +"appear in :meth:`Page.get_images` [#f1]_. But it may happen, that there " +"is no \"display\" command in the page's :data:`contents` (erroneously or " +"on purpose). In this case the image will **not appear** in the textpage." +msgstr "페이지의 :data:`object` 정의에 언급된 이미지는 **항상** :meth:`Page.get_images` [#f1]_ 에 나타납니다. 그러나 페이지의 :data:`contents` 에 \"display\" 명령이 없을 수 있습니다(오류 또는 의도적으로). 이 경우 이미지는 텍스트 페이지에 **나타나지 않습니다**." + +#: ../../textpage.rst:239 e7f81738e67441429325db9963571f7d +msgid "" +"The image's \"transformation matrix\" is defined as the matrix, for which" +" the expression `bbox / transform == pymupdf.Rect(0, 0, 1, 1)` is true, " +"lookup details here: :ref:`ImageTransformation`." +msgstr "이미지의 \"변환 행렬\" 은 표현식 `bbox / transform == pymupdf.Rect(0, 0, 1, 1)` 가 참인 행렬로 정의됩니다. 자세한 내용은 :ref:`ImageTransformation` 을 참조하세요." + +#: ../../textpage.rst:241 57bed7561cd444e0b640b95c35da2f85 +msgid "" +"A transparent image may be accompanied by a mask image. This is stored " +"under key `\"mask\"` and has the format of a `DeviceGray` PNG image. " +"Otherwise the value of this key is ``None``. If present, you may be able " +"to recover (an equivalent of) the original image -- i.e. with " +"transparency -- by creating :ref:`Pixmap` objects from the \"image\", " +"respectively \"mask\" values and overlay them. This is not guaranteed to " +"always work because mask images come in multiple formats, of which not " +"all qualify for the conditions under which overlaying Pixmaps are " +"supported. Here is a code snippet:" +msgstr "투명 이미지에는 마스크 이미지가 함께 제공될 수 있습니다. 이것은 키 `\"mask\"` 아래에 저장되며 `DeviceGray` PNG 이미지 형식을 가집니다. 그렇지 않으면 이 키의 값은 ``None`` 입니다. 있는 경우 \"image\" 및 \"mask\" 값에서 :ref:`Pixmap` 객체를 생성하고 오버레이하여 원본 이미지(즉, 투명도 포함)를 복구할 수 있습니다. 마스크 이미지는 여러 형식으로 제공되며, 모든 형식이 Pixmap 오버레이가 지원되는 조건을 충족하지는 않기 때문에 항상 작동한다고 보장할 수는 없습니다. 다음은 코드 스니펫입니다:" + +#: ../../textpage.rst:248 4615f23b245b4db39e8ea23b4d176464 +msgid "**Text block:**" +msgstr "**텍스트 블록:**" + +#: ../../textpage.rst:253 db5d3f31fc8d4153b8fafecfdf3d1727 +msgid "0 = text *(int)*" +msgstr "0 = 텍스트 *(int)*" + +#: ../../textpage.rst:254 6964cf3c7ba24458aae29d347f3f603a +msgid "block rectangle, :data:`rect_like`" +msgstr "블록 사각형, :data:`rect_like`" + +#: ../../textpage.rst:255 731cf949720a4619b5ea681f7764d295 +msgid "block count *(int)*" +msgstr "블록 개수 *(int)*" + +#: ../../textpage.rst:256 3a23e4510e7949e29bf987d16327eb49 +msgid "lines" +msgstr "lines" + +#: ../../textpage.rst:256 ede4e782ec014752989f15767a43462d +msgid "*list* of text line dictionaries" +msgstr "텍스트 줄 딕셔너리의 *list*" + +#: ../../textpage.rst:260 647d1430aba549968a23caa9bd2bf178 +msgid "Line Dictionary" +msgstr "줄 딕셔너리" + +#: ../../textpage.rst:265 88d566f6551a42a29f62a0819ecbed64 +msgid "line rectangle, :data:`rect_like`" +msgstr "줄 사각형, :data:`rect_like`" + +#: ../../textpage.rst:266 bc961e945f144c85a9e1a2193c3a4443 +msgid "wmode" +msgstr "wmode" + +#: ../../textpage.rst:266 220a8c26dda34ae4b15fb120791f0296 +msgid "writing mode *(int)*: 0 = horizontal, 1 = vertical" +msgstr "쓰기 모드 *(int)*: 0 = 수평, 1 = 수직" + +#: ../../textpage.rst:267 b23571753e8641b391f1c7bd3d666faf +msgid "dir" +msgstr "dir" + +#: ../../textpage.rst:267 f040c814bf3643e0b50bb1889d157bc2 +msgid "writing direction, :data:`point_like`" +msgstr "쓰기 방향, :data:`point_like`" + +#: ../../textpage.rst:268 f4df6d31bea14f7d9133d10fe217a237 +msgid "spans" +msgstr "spans" + +#: ../../textpage.rst:268 d2626131157f45bda11a0a0240ae20e0 +msgid "*list* of span dictionaries" +msgstr "범위 딕셔너리의 *list*" + +#: ../../textpage.rst:271 827a258f7a314424b22d7d3077bc4795 +msgid "" +"The value of key *\"dir\"* is the **unit vector** `dir = (cosine, -sine)`" +" of the angle, which the text has relative to the x-axis [#f2]_. See the " +"following picture: The word in each quadrant (counter-clockwise from top-" +"right to bottom-right) is rotated by 30, 120, 210 and 300 degrees " +"respectively." +msgstr "키 *\"dir\"* 의 값은 텍스트가 x축에 대해 가진 각도의 **단위 벡터** `dir = (cosine, -sine)` 입니다 [#f2]_. 다음 그림을 참조하세요: 각 사분면(오른쪽 위에서 오른쪽 아래로 반시계 방향)의 단어는 각각 30, 120, 210, 300도 회전됩니다." + +#: ../../textpage.rst:277 76e3be33b8eb4d20a040a290a7493044 +msgid "Span Dictionary" +msgstr "범위 딕셔너리" + +#: ../../textpage.rst:279 44e867372fca4010ae8c117e6f57244a +msgid "" +"Spans contain the actual text. A line contains **more than one span " +"only**, if it contains text with different font properties." +msgstr "범위에는 실제 텍스트가 포함됩니다. 줄은 다른 글꼴 속성을 가진 텍스트를 포함하는 경우에만 **하나 이상의 범위** 를 포함합니다." + +#: ../../textpage.rst:281 2484e6f332594c488b1ab6e8e45e8358 +msgid "Changed in version 1.14.17 Spans now also have a *bbox* key (again)." +msgstr "버전 1.14.17에서 변경됨: 범위에 이제 *bbox* 키가 다시 있습니다." + +#: ../../textpage.rst:282 fe2deeccb3484496b06cee9c45979177 +msgid "Changed in version 1.17.6 Spans now also have an *origin* key." +msgstr "버전 1.17.6에서 변경됨: 범위에 이제 *origin* 키가 있습니다." + +#: ../../textpage.rst:287 24917424394140498d62e12db012d491 +msgid "span rectangle, :data:`rect_like`" +msgstr "범위 사각형, :data:`rect_like`" + +#: ../../textpage.rst:288 ../../textpage.rst:371 +#: d062895875c246f08ce11e156a46fe6c e4eadb2bf3fd4656a1dcaea2aa762fb2 +msgid "origin" +msgstr "origin" + +#: ../../textpage.rst:288 49dcac4791f7495283b181cd85e5cb96 +msgid "the first character's origin, :data:`point_like`" +msgstr "첫 번째 문자의 원점, :data:`point_like`" + +#: ../../textpage.rst:289 a039c803b12f44f2b903bfd72ff968f0 +msgid "font" +msgstr "font" + +#: ../../textpage.rst:289 e59d2678453347c3b2290c87101bee41 +msgid "font name *(str)*" +msgstr "글꼴 이름 *(str)*" + +#: ../../textpage.rst:290 9789271ef0d44ca8b8b7753a47109329 +msgid "ascender" +msgstr "ascender" + +#: ../../textpage.rst:290 bae202ea90f340c08117616fba695605 +msgid "ascender of the font *(float)*" +msgstr "글꼴의 상승부 *(float)*" + +#: ../../textpage.rst:291 f04de1e03bc64ecb932178642bbf28a2 +msgid "descender" +msgstr "descender" + +#: ../../textpage.rst:291 cab39571402145599cd516740c2cd5e3 +msgid "descender of the font *(float)*" +msgstr "글꼴의 하강부 *(float)*" + +#: ../../textpage.rst:292 7bb34b245d0e4a7a807d37f771540973 +msgid "font size *(float)*" +msgstr "글꼴 크기 *(float)*" + +#: ../../textpage.rst:293 728b3550893a43df91864ece6b6a6c75 +msgid "flags" +msgstr "flags" + +#: ../../textpage.rst:293 d4144f5c31e240ca8a9bc6a9902c4b40 +msgid "font characteristics *(int)*" +msgstr "글꼴 특성 *(int)*" + +#: ../../textpage.rst:294 4ab488b7a402495f924066ec5fa0901d +msgid "char_flags" +msgstr "char_flags" + +#: ../../textpage.rst:294 ac689e1eb3bd44c196f5a43696910e9c +msgid "char characteristics *(int)*" +msgstr "문자 특성 *(int)*" + +#: ../../textpage.rst:295 70dfc6783fdb4c5a8a1e0ad9b92b44fc +msgid "color" +msgstr "color" + +#: ../../textpage.rst:295 0c21ca835d2f477e934a8f5cec1f8a4c +msgid "text color in sRGB format 0xRRGGBB *(int)*." +msgstr "sRGB 형식의 텍스트 색상 0xRRGGBB *(int)*." + +#: ../../textpage.rst:296 8e921b08a2ba477497897d70a87f4977 +msgid "alpha" +msgstr "alpha" + +#: ../../textpage.rst:296 ec794a253afb48ea90cf9d7494caa03b +msgid "text opacity 0..255 *(int)*." +msgstr "텍스트 불투명도 0..255 *(int)*." + +#: ../../textpage.rst:297 72dbc8f290b94f6c88700e6a5df12717 +msgid "text" +msgstr "text" + +#: ../../textpage.rst:297 42bc9c7faaed433c9e3868ab04254f3f +msgid "(only for :meth:`extractDICT`) text *(str)*" +msgstr "(:meth:`extractDICT` 전용) 텍스트 *(str)*" + +#: ../../textpage.rst:298 6c4e864e58554766a1c930bd0e32e581 +msgid "chars" +msgstr "chars" + +#: ../../textpage.rst:298 287db5214934490ba0764caaa9ee699d +msgid "(only for :meth:`extractRAWDICT`) *list* of character dictionaries" +msgstr "(:meth:`extractRAWDICT` 전용) 문자 딕셔너리의 *list*" + +#: ../../textpage.rst:301 6a3a9323a60541ca97db64597a2a451a +msgid "|history_begin|" +msgstr "|history_begin|" + +#: ../../textpage.rst:303 e0b8ee67e36546b0b5b8b155e00eeb45 +msgid "*(New in version 1.25.3.0):* Added *\"alpha\"* item." +msgstr "*(버전 1.25.3.0에서 새로 추가됨):* *\"alpha\"* 항목 추가." + +#: ../../textpage.rst:305 04010301eebf4c2dbf6989108e207ae9 +msgid "" +"*(New in version 1.16.0):* *\"color\"* is the text color encoded in sRGB " +"(int) format, e.g. 0xFF0000 for red. There are functions for converting " +"this integer back to formats (r, g, b) (PDF with float values from 0 to " +"1) :meth:`sRGB_to_pdf`, or (R, G, B), :meth:`sRGB_to_rgb` (with integer " +"values from 0 to 255)." +msgstr "*(버전 1.16.0에서 새로 추가됨):* *\"color\"* 는 sRGB (int) 형식으로 인코딩된 텍스트 색상입니다. 예: 빨간색의 경우 0xFF0000. 이 정수를 다시 형식으로 변환하는 함수가 있습니다: (r, g, b) (0에서 1까지의 float 값, PDF) :meth:`sRGB_to_pdf`, 또는 (R, G, B) :meth:`sRGB_to_rgb` (0에서 255까지의 정수 값)." + +#: ../../textpage.rst:307 744bef29da2f4dbc90404a35ef0fd253 +msgid "" +"*(New in v1.18.5):* *\"ascender\"* and *\"descender\"* are font " +"properties, provided relative to :data:`fontsize` 1. Note that descender " +"is a negative value. The following picture shows the relationship to " +"other values and properties." +msgstr "*(v1.18.5에서 새로 추가됨):* *\"ascender\"* 와 *\"descender\"* 는 :data:`fontsize` 1에 상대적인 글꼴 속성입니다. descender는 음수 값입니다. 다음 그림은 다른 값 및 속성과의 관계를 보여줍니다." + +#: ../../textpage.rst:309 e0a8a997405247f6bb89749ab0b624b7 +msgid "|history_end|" +msgstr "|history_end|" + +#: ../../textpage.rst:314 9b180b7db6ac43e489b8d8e9ccb31622 +msgid "" +"These numbers may be used to compute the minimum height of a character " +"(or span) -- as opposed to the standard height provided in the \"bbox\" " +"values (which actually represents the **line height**). The following " +"code recalculates the span bbox to have a height of **fontsize** exactly " +"fitting the text inside:" +msgstr "이 숫자는 문자(또는 범위)의 최소 높이를 계산하는 데 사용할 수 있습니다. \"bbox\" 값에 제공된 표준 높이(실제로 **줄 높이** 를 나타냄)와 대조됩니다. 다음 코드는 범위 bbox를 **fontsize** 높이로 재계산하여 내부 텍스트에 정확히 맞도록 합니다:" + +#: ../../textpage.rst:324 91c353d85b0a45d7bde9987e275b50b5 +msgid "" +"The above calculation may deliver a **larger** height! This may e.g. " +"happen for OCRed documents, where the risk of all sorts of text artifacts" +" is high. MuPDF tries to come up with a reasonable bbox height, " +"independently from the :data:`fontsize` found in the PDF. So please " +"ensure that the height of `span[\"bbox\"]` is **larger** than " +"`span[\"size\"]`." +msgstr "위 계산은 **더 큰** 높이를 제공할 수 있습니다! 예를 들어 OCR된 문서에서 이런 일이 발생할 수 있으며, 모든 종류의 텍스트 아티팩트 위험이 높습니다. |MuPDF| 는 PDF에서 찾은 :data:`fontsize` 와 독립적으로 합리적인 bbox 높이를 제시하려고 합니다. 따라서 `span[\"bbox\"]` 의 높이가 `span[\"size\"]` 보다 **큰지** 확인하세요." + +#: ../../textpage.rst:326 cfa2fe9816d741889a16e7a98228f45f +msgid "" +"You may request PyMuPDF to do all of the above automatically by executing" +" `pymupdf.TOOLS.set_small_glyph_heights(True)`. This sets a global " +"parameter so that all subsequent text searches and text extractions are " +"based on reduced glyph heights, where meaningful." +msgstr "`pymupdf.TOOLS.set_small_glyph_heights(True)` 를 실행하여 |PyMuPDF| 가 위의 모든 작업을 자동으로 수행하도록 요청할 수 있습니다. 이것은 전역 매개변수를 설정하여 모든 후속 텍스트 검색 및 텍스트 추출이 의미 있는 경우 감소된 글리프 높이를 기반으로 하도록 합니다." + +#: ../../textpage.rst:328 dcd3f3103b3a404ea59ed88e1020efbe +msgid "" +"The following shows the original span rectangle in red and the rectangle " +"with re-computed height in blue." +msgstr "다음은 빨간색으로 표시된 원본 범위 사각형과 파란색으로 표시된 재계산된 높이의 사각형을 보여줍니다." + +#: ../../textpage.rst:334 c4897a84054b4b60ab66d79b8388e431 +msgid "" +"*\"flags\"* is an integer, which represents font properties except for " +"the first bit 0. They are to be interpreted like this:" +msgstr "*\"flags\"* 는 첫 번째 비트 0을 제외한 글꼴 속성을 나타내는 정수입니다. 다음과 같이 해석됩니다:" + +#: ../../textpage.rst:336 817f541495b84011b646fb0f5a0c1eff +msgid "" +"bit 0: superscripted (:data:`TEXT_FONT_SUPERSCRIPT`) -- not a font " +"property, detected by MuPDF code." +msgstr "비트 0: 위첨자 (:data:`TEXT_FONT_SUPERSCRIPT`) -- 글꼴 속성이 아니며 MuPDF 코드에 의해 감지됩니다." + +#: ../../textpage.rst:337 4966d75813f448898822b04faffbe380 +msgid "bit 1: italic (:data:`TEXT_FONT_ITALIC`)" +msgstr "비트 1: 기울임꼴 (:data:`TEXT_FONT_ITALIC`)" + +#: ../../textpage.rst:338 31205a9cd37941e0ac7c7fbbfb19ffc1 +msgid "bit 2: serifed (:data:`TEXT_FONT_SERIFED`)" +msgstr "비트 2: 세리프 (:data:`TEXT_FONT_SERIFED`)" + +#: ../../textpage.rst:339 f887f5fcd078467cbd8ea212d8133aa3 +msgid "bit 3: monospaced (:data:`TEXT_FONT_MONOSPACED`)" +msgstr "비트 3: 고정폭 (:data:`TEXT_FONT_MONOSPACED`)" + +#: ../../textpage.rst:340 075ed56b276245c096a3204cc111339a +msgid "bit 4: bold (:data:`TEXT_FONT_BOLD`)" +msgstr "비트 4: 굵게 (:data:`TEXT_FONT_BOLD`)" + +#: ../../textpage.rst:342 fafa4c4a530a43fa8278e455dd07640f +msgid "Test these characteristics like so:" +msgstr "다음과 같이 이러한 특성을 테스트합니다:" + +#: ../../textpage.rst:348 ffbc346b79aa4a6189253e08eeb6280f +msgid "" +"Bits 1 thru 4 are font properties, i.e. encoded in the font program. " +"Please note, that this information is not necessarily correct or " +"complete: fonts quite often contain wrong data here." +msgstr "비트 1부터 4까지는 글꼴 속성, 즉 글꼴 프로그램에 인코딩된 것입니다. 이 정보가 반드시 정확하거나 완전하지는 않습니다. 글꼴은 여기에 잘못된 데이터를 포함하는 경우가 많습니다." + +#: ../../textpage.rst:350 67a56b648e48459abc86b3d71dded7d7 +msgid "" +"*\"char_flags\"* is an integer, which represents extra character " +"properties:" +msgstr "*\"char_flags\"* 는 추가 문자 속성을 나타내는 정수입니다:" + +#: ../../textpage.rst:352 16e54aeb7318448cb0edbbce096027cc +msgid "bit 0: strikeout." +msgstr "비트 0: 취소선." + +#: ../../textpage.rst:353 f36bc128a5084f419c7b735cc7a5caeb +msgid "bit 1: underline." +msgstr "비트 1: 밑줄." + +#: ../../textpage.rst:354 05f6a81ee7234929b145f42b0eaeb4ee +msgid "bit 2: synthetic (always 0, see char dictionary)." +msgstr "비트 2: 합성 (항상 0, 문자 딕셔너리 참조)." + +#: ../../textpage.rst:355 2d7d278b9b7b46479144808b701ed7da +msgid "bit 3: filled." +msgstr "비트 3: 채움." + +#: ../../textpage.rst:356 a0b8d460dd8a42e69537652330a1f9ee +msgid "bit 4: stroked." +msgstr "비트 4: 획." + +#: ../../textpage.rst:357 430da53ed561403d90a8c2c28cc01a90 +msgid "bit 5: clipped." +msgstr "비트 5: 클리핑." + +#: ../../textpage.rst:359 26fc27f279ca42fba75113be40e54d40 +msgid "" +"For example if not filled and not stroked (`if not (char_flags & 2**3 & " +"2**4): ...`) then the text will be invisible." +msgstr "예를 들어 채워지지 않고 획이 없으면 (`if not (char_flags & 2**3 & 2**4): ...`) 텍스트가 보이지 않습니다." + +#: ../../textpage.rst:362 f68e611505354310ab256d5f4ac755f3 +msgid "(`char_flags` is new in v1.25.2.)" +msgstr "(`char_flags` 는 v1.25.2에서 새로 추가됨.)" + +#: ../../textpage.rst:366 2b6029a504d149d0b74200b8dd10b461 +msgid "Character Dictionary for :meth:`extractRAWDICT`" +msgstr ":meth:`extractRAWDICT` 의 문자 딕셔너리" + +#: ../../textpage.rst:371 e3322f02de66484cb59d9ddf2e914bcb +msgid "character's left baseline point, :data:`point_like`" +msgstr "문자의 왼쪽 기준선 점, :data:`point_like`" + +#: ../../textpage.rst:372 3a206190a9b4495299d14480848ee306 +msgid "character rectangle, :data:`rect_like`" +msgstr "문자 사각형, :data:`rect_like`" + +#: ../../textpage.rst:373 7925e02a5e07443895c900f6450205fa +msgid "synthetic" +msgstr "synthetic" + +#: ../../textpage.rst:373 d557f7b009724b00a3418fb77e4943ce +msgid "bool." +msgstr "bool." + +#: ../../textpage.rst:374 fb692a970116495a977cac2daff0d94b +msgid "c" +msgstr "c" + +#: ../../textpage.rst:374 30e9a39551314a14a169ee11d34c575f +msgid "the character (unicode)" +msgstr "문자 (유니코드)" + +#: ../../textpage.rst:377 504a88fbf1324f19a3ed16c3f2c0c942 +msgid "(`synthetic` is new in v1.25.3.)" +msgstr "(`synthetic` 는 v1.25.3에서 새로 추가됨.)" + +#: ../../textpage.rst:379 9d820af6f3ac446a912245d16d5e7bdd +msgid "" +"This image shows the relationship between a character's bbox and its " +"quad: |textpagechar|" +msgstr "이 이미지는 문자의 bbox와 quad 간의 관계를 보여줍니다: |textpagechar|" + +#: ../../textpage.rst:381 64023f700298486f98b566eac340e37b +#: 7901af22526f478cb0ba76a7cc56288e +msgid "textpagechar" +msgstr "textpagechar" + +#: ../../textpage.rst:386 ab41f5e333004a04a46c0505e9d7bebf +msgid "Footnotes" +msgstr "각주" + +#: ../../textpage.rst:387 9c3377a336cd4477b8afbd4528d4dee0 +msgid "" +"Image specifications for a PDF page are done in a page's (sub-) " +":data:`dictionary`, called `/Resources`. Resource dictionaries can be " +"**inherited** from any of the page's parent objects (usually the " +":data:`catalog` -- the top-level parent). The PDF creator may e.g. define" +" one `/Resources` on file level, naming all images and / or all fonts " +"ever used by any page. In these cases, :meth:`Page.get_images` and " +":meth:`Page.get_fonts` will consequently return the same lists for all " +"pages. If desired, this situation can be reverted using " +":meth:`Page.clean_contents`. After execution, the page's object " +"definition will show fonts and images that are actually used." +msgstr "PDF 페이지의 이미지 사양은 `/Resources` 라는 페이지의 (하위) :data:`dictionary` 에서 수행됩니다. 리소스 딕셔너리는 페이지의 부모 객체(일반적으로 :data:`catalog` -- 최상위 부모) 중 하나에서 **상속** 될 수 있습니다. PDF 생성자는 예를 들어 파일 수준에서 하나의 `/Resources` 를 정의하여 모든 페이지에서 사용된 모든 이미지 및/또는 모든 글꼴을 명명할 수 있습니다. 이 경우 :meth:`Page.get_images` 와 :meth:`Page.get_fonts` 는 결과적으로 모든 페이지에 대해 동일한 목록을 반환합니다. 원하는 경우 :meth:`Page.clean_contents` 를 사용하여 이 상황을 되돌릴 수 있습니다. 실행 후 페이지의 객체 정의는 실제로 사용되는 글꼴과 이미지를 표시합니다." + +#: ../../textpage.rst:389 8ebe9e78accc4c87b80eb50757ed695f +msgid "" +"The coordinate systems of MuPDF and PDF are different in that MuPDF uses " +"the page's top-left point as `(0, 0)`. In PDF, this is the bottom-left " +"point. Therefore, the positive direction for MuPDF's y-axis is **from top" +" to bottom**. This causes the sign change for the sine value here: a " +"**negative** value indicates anti-clockwise rotation of the text." +msgstr "|MuPDF| 와 PDF의 좌표계는 |MuPDF| 가 페이지의 왼쪽 위 점을 `(0, 0)` 으로 사용한다는 점에서 다릅니다. PDF에서는 이것이 왼쪽 아래 점입니다. 따라서 |MuPDF| 의 y축의 양의 방향은 **위에서 아래로** 입니다. 이것은 여기서 사인 값의 부호 변경을 유발합니다: **음수** 값은 텍스트의 반시계 방향 회전을 나타냅니다." + +#: ../../textpage.rst:391 9bfe3c4bcdac45eb9b746197c51d2a7a +msgid "" +"This value is always 96, the default of the PDF interpreter. It **does " +"not reflect** the resolution of the image itself. If you need the image's" +" resolution, use the :meth:`Pixmap.xres` and :meth:`Pixmap.yres` " +"attributes of the :ref:`Pixmap` created from the returned image binary." +msgstr "이 값은 항상 96이며, PDF 인터프리터의 기본값입니다. 이것은 **이미지 자체의 해상도를 반영하지 않습니다**. 이미지의 해상도가 필요한 경우 반환된 이미지 바이너리에서 생성된 :ref:`Pixmap` 의 :meth:`Pixmap.xres` 및 :meth:`Pixmap.yres` 속성을 사용하세요." + +#: ../../footer.rst:46 909bafb54f4646cd8842c5ccd34ceeef +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/textwriter.mo b/docs/locales/ko/LC_MESSAGES/textwriter.mo new file mode 100644 index 000000000..317ce16c6 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/textwriter.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/textwriter.po b/docs/locales/ko/LC_MESSAGES/textwriter.po new file mode 100644 index 000000000..fcdba5856 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/textwriter.po @@ -0,0 +1,607 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 95c1ee7365714a268b45d71ca863b7ee +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 8dbea99845b74a23bde58d46198a17ac +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 cf3d095401604af48e44cc3a35d66bff +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" + +#: ../../textwriter.rst:7 e9730367b10a49359e1d45817a7f7880 +msgid "TextWriter" +msgstr "TextWriter (텍스트 라이터)" + +#: ../../textwriter.rst:9 cda3eb15a6fe4186b26bf8276092c97f +msgid "|pdf_only_class|" +msgstr "|pdf_only_class|" + +#: ../../textwriter.rst:11 db627f8740eb4561a5527a9d4ca4e25f +msgid "New in v1.16.18" +msgstr "v1.16.18에서 새로 추가됨" + +#: ../../textwriter.rst:13 67e48f18fa9440238b3a1969be763ace +msgid "" +"This class represents a MuPDF *text* object. The basic idea is to " +"**decouple (1) text preparation, and (2) text output** to PDF pages." +msgstr "이 클래스는 MuPDF *text* 객체를 나타냅니다. 기본 아이디어는 **(1) 텍스트 준비와 (2) PDF 페이지로의 텍스트 출력을 분리** 하는 것입니다." + +#: ../../textwriter.rst:15 5a301b5eac7846a6a95cae297b7806a2 +msgid "" +"During **preparation**, a text writer stores any number of text pieces " +"(\"spans\") together with their positions and individual font " +"information. The **output** of the writer's prepared content may happen " +"multiple times to any PDF page with a compatible page size." +msgstr "**준비** 중에 텍스트 라이터는 임의의 수의 텍스트 조각(\"스팬\")을 위치 및 개별 글꼴 정보와 함께 저장합니다. 라이터의 준비된 콘텐츠의 **출력** 은 호환되는 페이지 크기를 가진 모든 PDF 페이지에 여러 번 수행될 수 있습니다." + +#: ../../textwriter.rst:17 7cf591fcc0cf40af9d587a72b702b960 +msgid "" +"A text writer is an elegant alternative to methods " +":meth:`Page.insert_text` and friends:" +msgstr "텍스트 라이터는 :meth:`Page.insert_text` 및 유사한 메서드에 대한 우아한 대안입니다:" + +#: ../../textwriter.rst:19 8d88b6d0545142bc9885b1dcbb44a4ea +msgid "" +"**Improved text positioning:** Choose any point where insertion of text " +"should start. Storing text returns the \"cursor position\" after the " +"*last character* of the span." +msgstr "**개선된 텍스트 위치 지정:** 텍스트 삽입이 시작되어야 하는 임의의 지점을 선택합니다. 텍스트 저장은 스팬의 *마지막 문자* 이후의 \"커서 위치\"를 반환합니다." + +#: ../../textwriter.rst:20 4014fff4490f449991524305bfef1c4b +msgid "" +"**Free font choice:** Each text span has its own font and " +":data:`fontsize`. This lets you easily switch when composing a larger " +"text." +msgstr "**자유로운 글꼴 선택:** 각 텍스트 스팬은 자체 글꼴과 :data:`fontsize` 를 가집니다. 이를 통해 더 큰 텍스트를 구성할 때 쉽게 전환할 수 있습니다." + +#: ../../textwriter.rst:21 96e0cdf2386340edafe0ed3b9aa2a211 +msgid "" +"**Automatic fallback fonts:** If a character is not supported by the " +"chosen font, alternative fonts are automatically searched. This " +"significantly reduces the risk of seeing unprintable symbols in the " +"output (\"TOFUs\" -- looking like a small rectangle). PyMuPDF now also " +"comes with the **universal font \"Droid Sans Fallback Regular\"**, which " +"supports **all Latin** characters (including Cyrillic and Greek), and " +"**all CJK** characters (Chinese, Japanese, Korean)." +msgstr "**자동 대체 글꼴:** 선택한 글꼴이 문자를 지원하지 않으면 대체 글꼴이 자동으로 검색됩니다. 이는 출력에서 인쇄할 수 없는 기호(\"TOFUs\" -- 작은 사각형처럼 보임)를 볼 위험을 크게 줄입니다. |PyMuPDF| 는 이제 **모든 라틴** 문자(키릴 문자 및 그리스 문자 포함)와 **모든 CJK** 문자(중국어, 일본어, 한국어)를 지원하는 **범용 글꼴 \"Droid Sans Fallback Regular\"** 를 제공합니다." + +#: ../../textwriter.rst:22 89a8833cb85e46909d178dc372f5aaac +msgid "" +"**Cyrillic and Greek Support:** The :ref:`Base-14-fonts` have integrated " +"support of Cyrillic and Greek characters **without specifying encoding.**" +" Your text may be a mixture of Latin, Greek and Cyrillic." +msgstr "**키릴 문자 및 그리스 문자 지원:** :ref:`Base-14-fonts` 는 **인코딩을 지정하지 않고** 키릴 문자 및 그리스 문자에 대한 통합 지원을 제공합니다. 텍스트는 라틴 문자, 그리스 문자 및 키릴 문자의 혼합일 수 있습니다." + +#: ../../textwriter.rst:23 939bfd358cb14ee1ac3d682b4310030f +msgid "" +"**Transparency support:** Parameter *opacity* is supported. This offers a" +" handy way to create watermark-style text." +msgstr "**투명도 지원:** *opacity* 매개변수가 지원됩니다. 이를 통해 워터마크 스타일의 텍스트를 만드는 편리한 방법을 제공합니다." + +#: ../../textwriter.rst:24 36106b9c863b43c39d4d348af9680b3e +msgid "" +"**Justified text:** Supported for any font -- not just simple fonts as in" +" :meth:`Page.insert_textbox`." +msgstr "**양쪽 정렬 텍스트:** :meth:`Page.insert_textbox` 와 같은 단순 글꼴뿐만 아니라 모든 글꼴에 대해 지원됩니다." + +#: ../../textwriter.rst:25 88d0bcdd76b94defb985b51bd7050a50 +msgid "" +"**Reusability:** A TextWriter object exists independent from PDF pages. " +"It can be written multiple times, either to the same or to other pages, " +"in the same or in different PDFs, choosing different colors or " +"transparency." +msgstr "**재사용성:** TextWriter 객체는 PDF 페이지와 독립적으로 존재합니다. 동일한 페이지 또는 다른 페이지, 동일한 PDF 또는 다른 PDF에 여러 번 작성할 수 있으며, 다른 색상이나 투명도를 선택할 수 있습니다." + +#: ../../textwriter.rst:27 6ef8000439b141009aae765ba8c24479 +msgid "Using this object entails three steps:" +msgstr "이 객체를 사용하려면 세 단계가 필요합니다:" + +#: ../../textwriter.rst:29 55dea84332984f3ca477041ec762edcf +msgid "" +"When **created**, a TextWriter requires a fixed **page rectangle** in " +"relation to which it calculates text positions. A text writer can write " +"to pages of this size only." +msgstr "**생성** 시 TextWriter는 텍스트 위치를 계산하기 위한 고정된 **페이지 사각형** 이 필요합니다. 텍스트 라이터는 이 크기의 페이지에만 쓸 수 있습니다." + +#: ../../textwriter.rst:30 57f72fe6a49d41c7be7ed160f47f3019 +msgid "" +"Store text in the TextWriter using methods :meth:`TextWriter.append`, " +":meth:`TextWriter.appendv` and :meth:`TextWriter.fill_textbox` as often " +"as is desired." +msgstr "원하는 만큼 :meth:`TextWriter.append`, :meth:`TextWriter.appendv` 및 :meth:`TextWriter.fill_textbox` 메서드를 사용하여 TextWriter에 텍스트를 저장합니다." + +#: ../../textwriter.rst:31 ac5cfe5c0bf548bf8358a2cc4efa279b +msgid "Output the TextWriter object on some PDF page(s)." +msgstr "일부 PDF 페이지에 TextWriter 객체를 출력합니다." + +#: ../../textwriter.rst:35 a70f239f39dc44bcbbcc7f367f4f04e8 +msgid "" +"Starting with version 1.17.0, TextWriters **do support** text rotation " +"via the *morph* parameter of :meth:`TextWriter.write_text`." +msgstr "버전 1.17.0부터 TextWriter는 :meth:`TextWriter.write_text` 의 *morph* 매개변수를 통한 텍스트 회전을 **지원합니다**." + +#: ../../textwriter.rst:37 39efcbe7af8242d59a6e61a1577bd093 +msgid "" +"There also exists :meth:`Page.write_text` which combines one or more " +"TextWriters and jointly writes them to a given rectangle and with a given" +" rotation angle -- much like :meth:`Page.show_pdf_page`." +msgstr ":meth:`Page.write_text` 도 존재하며, 하나 이상의 TextWriter를 결합하여 주어진 사각형과 주어진 회전 각도로 공동으로 작성합니다 -- :meth:`Page.show_pdf_page` 와 매우 유사합니다." + +#: ../../textwriter.rst:41 58759c7fac7b4e859398a94c56641cf5 +msgid "**Method / Attribute**" +msgstr "**메서드 / 속성**" + +#: ../../textwriter.rst:41 f8b99b262c4e479daa04854b10a8ca62 +msgid "**Short Description**" +msgstr "**간략 설명**" + +#: ../../textwriter.rst:43 5aef1526d3ed401ebe84391dae14eb4e +msgid ":meth:`~TextWriter.append`" +msgstr ":meth:`~TextWriter.append`" + +#: ../../textwriter.rst:43 8a1f849d010e4a069dd84d412203d33f +msgid "Add text in horizontal write mode" +msgstr "수평 쓰기 모드에서 텍스트 추가" + +#: ../../textwriter.rst:44 a3aab120ca1545a79fce7af51ccd1964 +msgid ":meth:`~TextWriter.appendv`" +msgstr ":meth:`~TextWriter.appendv`" + +#: ../../textwriter.rst:44 30601ff66d064e7bbc6b0711078114c1 +msgid "Add text in vertical write mode" +msgstr "수직 쓰기 모드에서 텍스트 추가" + +#: ../../textwriter.rst:45 665726b1a2f74150b2cf20b54f5d3864 +msgid ":meth:`~TextWriter.fill_textbox`" +msgstr ":meth:`~TextWriter.fill_textbox`" + +#: ../../textwriter.rst:45 79bdf8fe196e481f9e0f7e6b6d83fa39 +msgid "Fill rectangle (horizontal write mode)" +msgstr "사각형 채우기 (수평 쓰기 모드)" + +#: ../../textwriter.rst:46 50d2cf2d0f664964ad637397d702ba01 +msgid ":meth:`~TextWriter.write_text`" +msgstr ":meth:`~TextWriter.write_text`" + +#: ../../textwriter.rst:46 e17f4b99e3a3451090107da06c63083d +msgid "Output TextWriter to a PDF page" +msgstr "TextWriter를 PDF 페이지로 출력" + +#: ../../textwriter.rst:47 b1dd0ce95c524931a45226c559b5fc7f +msgid ":attr:`~TextWriter.color`" +msgstr ":attr:`~TextWriter.color`" + +#: ../../textwriter.rst:47 977d247f29344daebbc7eb2edad63dda +msgid "Text color (can be changed)" +msgstr "텍스트 색상 (변경 가능)" + +#: ../../textwriter.rst:48 a702a69b27f04a1a8bf416872181b83c +msgid ":attr:`~TextWriter.last_point`" +msgstr ":attr:`~TextWriter.last_point`" + +#: ../../textwriter.rst:48 9c6a85c298f542b0ad83608987c80d7c +msgid "Last written character ends here" +msgstr "마지막으로 작성된 문자가 여기서 끝남" + +#: ../../textwriter.rst:49 85bb365488064af39728ae2cff15a95e +msgid ":attr:`~TextWriter.opacity`" +msgstr ":attr:`~TextWriter.opacity`" + +#: ../../textwriter.rst:49 360143b334e144b188b4fc4606f37cd1 +msgid "Text opacity (can be changed)" +msgstr "텍스트 투명도 (변경 가능)" + +#: ../../textwriter.rst:50 44cf6996b53b4136925af2dd23e6d3c3 +msgid ":attr:`~TextWriter.rect`" +msgstr ":attr:`~TextWriter.rect`" + +#: ../../textwriter.rst:50 a79f2dca7b614eaaa5682eae3f4fa368 +msgid "Page rectangle used by this TextWriter" +msgstr "이 TextWriter가 사용하는 페이지 사각형" + +#: ../../textwriter.rst:51 86888b68bbf045c8a8e10712005c4259 +msgid ":attr:`~TextWriter.text_rect`" +msgstr ":attr:`~TextWriter.text_rect`" + +#: ../../textwriter.rst:51 cd277f06068040caa6fda7759192bbd3 +msgid "Area occupied so far" +msgstr "지금까지 차지한 영역" + +#: ../../textwriter.rst:55 07466a577be94bd3ab53ccdfc689e759 +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../textwriter.rst 0671bfe1c02041f88c29cf3ea4be264b +#: 7841a29906a944f189e7e759b6592a97 7cb374b81c074ac69a19656e5756ce8c +#: 800737d8455c4751bf6f9476b3e4a8df ffbf23da457b4c1fbab7452f6745e439 +msgid "Parameters" +msgstr "매개변수" + +#: ../../textwriter.rst:61 1156a360315c4f6cab4971ea0b50224f +msgid "rectangle internally used for text positioning computations." +msgstr "텍스트 위치 계산에 내부적으로 사용되는 사각형." + +#: ../../textwriter.rst:62 51fad4a4f8034a198c2666a029ac959b +msgid "" +"sets the transparency for the text to store here. Values outside the " +"interval `[0, 1)` will be ignored. A value of e.g. 0.5 means 50% " +"transparency." +msgstr "여기에 저장할 텍스트의 투명도를 설정합니다. `[0, 1)` 구간 밖의 값은 무시됩니다. 예를 들어 0.5 값은 50% 투명도를 의미합니다." + +#: ../../textwriter.rst:63 6b628abb5ffe4a5585ddb2b56255b5dd +msgid "" +"the color of the text. All colors are specified as floats *0 <= color <= " +"1*. A single float represents some gray level, a sequence implies the " +"colorspace via its length." +msgstr "텍스트의 색상. 모든 색상은 부동 소수점 *0 <= color <= 1* 로 지정됩니다. 단일 부동 소수점은 일부 회색 레벨을 나타내고, 시퀀스는 길이를 통해 색 공간을 암시합니다." + +#: ../../textwriter.rst:68 0fa13673da764fdaab29ebfad67bf44c +msgid "*Changed in v1.18.9*" +msgstr "*v1.18.9에서 변경됨*" + +#: ../../textwriter.rst:69 ../../textwriter.rst:100 +#: 08713255cee94718b3bc26b0dda8f233 be3763dd7a294137b65bf5a1770830d3 +msgid "*Changed in v1.18.15*" +msgstr "*v1.18.15에서 변경됨*" + +#: ../../textwriter.rst:71 6f8eddc35363416184aad7c44e5d01ef +msgid "Add some new text in horizontal writing." +msgstr "수평 쓰기로 일부 새 텍스트를 추가합니다." + +#: ../../textwriter.rst:73 ../../textwriter.rst:104 +#: 31e8d87141cf44c5890e5151a73047f4 f7e1346516c8429f9cafb3010a03a215 +msgid "start position of the text, the bottom left point of the first character." +msgstr "텍스트의 시작 위치, 첫 번째 문자의 왼쪽 하단 점." + +#: ../../textwriter.rst:74 3b2200db94814c6b84f09e2a67431714 +msgid "" +"a string of arbitrary length. It will be written starting at position " +"\"pos\"." +msgstr "임의 길이의 문자열. \"pos\" 위치에서 시작하여 작성됩니다." + +#: ../../textwriter.rst:75 ../../textwriter.rst:106 +#: 6080d699b79c4e7cabc81e6632904644 8f2fdb3f4ec442f4b7703714fb642f4c +msgid "a :ref:`Font`. If omitted, `pymupdf.Font(\"helv\")` will be used." +msgstr ":ref:`Font`. 생략하면 `pymupdf.Font(\"helv\")` 가 사용됩니다." + +#: ../../textwriter.rst:76 09fbce8fe4ee46b0a95710e2b4761014 +msgid "the :data:`fontsize`, a positive number, default 11." +msgstr ":data:`fontsize`, 양수, 기본값 11." + +#: ../../textwriter.rst:77 ../../textwriter.rst:108 +#: 4483c3fec8c3452cac52b7d831f281c1 87ccb28c8f1b4453af79b92ad4c5aabd +msgid "" +"the language to use, e.g. \"en\" for English. Meaningful values should be" +" compliant with the ISO 639 standards 1, 2, 3 or 5. Reserved for future " +"use: currently has no effect as far as we know." +msgstr "사용할 언어, 예: 영어의 경우 \"en\". 의미 있는 값은 ISO 639 표준 1, 2, 3 또는 5를 준수해야 합니다. 향후 사용을 위해 예약됨: 현재로서는 알려진 바에 따르면 효과가 없습니다." + +#: ../../textwriter.rst:78 d8bd68ad24da40269a51cc710d5053e8 +msgid "" +"*(New in v1.18.9)* whether the text should be written from right to left." +" Applicable for languages like Arabian or Hebrew. Default is ``False``. " +"If ``True``, any Latin parts within the text will automatically " +"converted. There are no other consequences, i.e. " +":attr:`TextWriter.last_point` will still be the rightmost character, and " +"there neither is any alignment taking place. Hence you may want to use " +":meth:`TextWriter.fill_textbox` instead." +msgstr "*(v1.18.9에서 새로 추가)* 텍스트를 오른쪽에서 왼쪽으로 작성할지 여부. 아랍어나 히브리어와 같은 언어에 적용됩니다. 기본값은 ``False`` 입니다. ``True`` 인 경우 텍스트 내의 모든 라틴 문자 부분이 자동으로 변환됩니다. 다른 결과는 없습니다. 즉, :attr:`TextWriter.last_point` 는 여전히 가장 오른쪽 문자이며 정렬도 수행되지 않습니다. 따라서 :meth:`TextWriter.fill_textbox` 를 대신 사용하는 것이 좋을 수 있습니다." + +#: ../../textwriter.rst:79 75daea05a2a449aa9e600dc6f54efa72 +msgid "" +"*(New in v1.18.15)* look for the character's Small Capital version in the" +" font. If present, take that value instead. Otherwise the original " +"character (this font or the fallback font) will be taken. The fallback " +"font will never return small caps. For example, this snippet:: >>> doc =" +" pymupdf.open() >>> page = doc.new_page() >>> text = \"PyMuPDF: the " +"Python bindings for MuPDF\" >>> font = pymupdf.Font(\"figo\") # choose a" +" font with small caps >>> tw = pymupdf.TextWriter(page.rect) >>> " +"tw.append((50,100), text, font=font, small_caps=True) >>> " +"tw.write_text(page) >>> doc.ez_save(\"x.pdf\") will produce this PDF " +"text: .. image:: images/img-smallcaps.*" +msgstr "" + +#: ../../textwriter.rst:79 46eb184e73ae4219ac1e4bed06322f56 +msgid "" +"*(New in v1.18.15)* look for the character's Small Capital version in the" +" font. If present, take that value instead. Otherwise the original " +"character (this font or the fallback font) will be taken. The fallback " +"font will never return small caps. For example, this snippet::" +msgstr "*(v1.18.15에서 새로 추가)* 글꼴에서 문자의 작은 대문자 버전을 찾습니다. 존재하면 해당 값을 사용합니다. 그렇지 않으면 원래 문자(이 글꼴 또는 대체 글꼴)가 사용됩니다. 대체 글꼴은 작은 대문자를 반환하지 않습니다. 예를 들어, 이 코드 조각::" + +#: ../../textwriter.rst:90 973003c33fe84aa69d42e2c43c861a09 +msgid "will produce this PDF text:" +msgstr "이 PDF 텍스트를 생성합니다:" + +#: ../../textwriter.rst 031973dcb92c46dfb30974b0b0277dbb +#: 56067c1753344901a2a112d292086782 6fe2f7cc1d5b405588798ce1725db0d6 +msgid "Returns" +msgstr "반환값" + +#: ../../textwriter.rst:95 ../../textwriter.rst:111 +#: 2916a5791a9446a1be47d9bdde016b5b 2d57d9c3e3404a1b8aaedf35dc4f6d7d +msgid "" +":attr:`text_rect` and :attr:`last_point`. *(Changed in v1.18.0:)* Raises " +"an exception for an unsupported font -- checked via " +":attr:`Font.is_writable`." +msgstr ":attr:`text_rect` 및 :attr:`last_point`. *(v1.18.0에서 변경:)* 지원되지 않는 글꼴에 대해 예외를 발생시킵니다 -- :attr:`Font.is_writable` 을 통해 확인됩니다." + +#: ../../textwriter.rst:102 53cbfa2552fa46b2837c5848f6ae7eed +msgid "Add some new text in vertical, top-to-bottom writing." +msgstr "수직, 위에서 아래로 쓰기로 일부 새 텍스트를 추가합니다." + +#: ../../textwriter.rst:105 77e2561d4b4a448caf4a7b3ecbc624ce +msgid "a string. It will be written starting at position \"pos\"." +msgstr "문자열. \"pos\" 위치에서 시작하여 작성됩니다." + +#: ../../textwriter.rst:107 1195a41741cd44ca8653fce3a3c8b23f +msgid "the :data:`fontsize`, a positive float, default 11." +msgstr ":data:`fontsize`, 양수 부동 소수점, 기본값 11." + +#: ../../textwriter.rst:109 ../../textwriter.rst:133 +#: 48cdfcdb373b4a939b9ac2491aaf9f76 a007fa3bc26e4925bac3b3884fa1d6f4 +msgid "*(New in v1.18.15)* see :meth:`append`." +msgstr "*(v1.18.15에서 새로 추가)* :meth:`append` 를 참조하세요." + +#: ../../textwriter.rst:115 131d2ddda39f47e5b8750ce4e02aacf1 +msgid "" +"Changed in 1.17.3: New parameter `pos` to specify where to start writing " +"within rectangle." +msgstr "1.17.3에서 변경: 사각형 내에서 쓰기를 시작할 위치를 지정하는 새 매개변수 `pos`." + +#: ../../textwriter.rst:116 29062b4cba8b458c9715b63563932eea +msgid "" +"Changed in v1.18.9: Return list of lines which do not fit in rectangle. " +"Support writing right-to-left (e.g. Arabian, Hebrew)." +msgstr "v1.18.9에서 변경: 사각형에 맞지 않는 줄 목록을 반환합니다. 오른쪽에서 왼쪽으로 쓰기 지원(예: 아랍어, 히브리어)." + +#: ../../textwriter.rst:117 1af15893d8c0406eaba47e8cbc605623 +msgid "Changed in v1.18.15: Prefer small caps if supported by the font." +msgstr "v1.18.15에서 변경: 글꼴에서 지원하는 경우 작은 대문자를 선호합니다." + +#: ../../textwriter.rst:119 557382b2514d472bbe73f5017c792395 +msgid "" +"Fill a given rectangle with text in horizontal writing mode. This is a " +"convenience method to use as an alternative for :meth:`append`." +msgstr "수평 쓰기 모드로 주어진 사각형을 텍스트로 채웁니다. 이는 :meth:`append` 의 대안으로 사용할 수 있는 편의 메서드입니다." + +#: ../../textwriter.rst:121 cef4e997c224414e95918704fa70b178 +msgid "the area to fill. No part of the text will appear outside of this." +msgstr "채울 영역. 텍스트의 어떤 부분도 이 영역 밖에 나타나지 않습니다." + +#: ../../textwriter.rst:122 eb9a1f87715c476190b440d505b21385 +msgid "" +"the text. Can be specified as a (UTF-8) string or a list / tuple of " +"strings. A string will first be converted to a list using *splitlines()*." +" Every list item will begin on a new line (forced line breaks)." +msgstr "텍스트. (UTF-8) 문자열 또는 문자열의 리스트/튜플로 지정할 수 있습니다. 문자열은 먼저 *splitlines()* 를 사용하여 리스트로 변환됩니다. 각 리스트 항목은 새 줄에서 시작합니다(강제 줄바꿈)." + +#: ../../textwriter.rst:123 adaa607ca4b34119b1413a21aa5d5703 +msgid "" +"*(new in v1.17.3)* start storing at this point. Default is a point near " +"rectangle top-left." +msgstr "*(v1.17.3에서 새로 추가)* 이 지점에서 저장을 시작합니다. 기본값은 사각형 왼쪽 상단 근처의 점입니다." + +#: ../../textwriter.rst:124 093d30283065429a8003316402078989 +msgid "the :ref:`Font`, default `pymupdf.Font(\"helv\")`." +msgstr ":ref:`Font`, 기본값 `pymupdf.Font(\"helv\")`." + +#: ../../textwriter.rst:125 fa67844b1bdc4fd5b33c77ea89ae7619 +msgid "the :data:`fontsize`." +msgstr ":data:`fontsize`." + +#: ../../textwriter.rst:126 a3f0cf660cc34b2aa6461b460ccc9fd7 +msgid "" +"text alignment. Use one of TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER, " +"TEXT_ALIGN_RIGHT or TEXT_ALIGN_JUSTIFY." +msgstr "텍스트 정렬. TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER, TEXT_ALIGN_RIGHT 또는 TEXT_ALIGN_JUSTIFY 중 하나를 사용합니다." + +#: ../../textwriter.rst:127 fab2e37b003c4547a135db4871ab87f9 +msgid "" +"*(New in v1.18.9)* whether the text should be written from right to left." +" Applicable for languages like Arabian or Hebrew. Default is ``False``. " +"If ``True``, any Latin parts are automatically reverted. You must still " +"set the alignment (if you want right alignment), it does not happen " +"automatically -- the other alignment options remain available as well." +msgstr "*(v1.18.9에서 새로 추가)* 텍스트를 오른쪽에서 왼쪽으로 작성할지 여부. 아랍어나 히브리어와 같은 언어에 적용됩니다. 기본값은 ``False`` 입니다. ``True`` 인 경우 모든 라틴 문자 부분이 자동으로 반전됩니다. 정렬(오른쪽 정렬을 원하는 경우)을 여전히 설정해야 하며, 자동으로 발생하지 않습니다 -- 다른 정렬 옵션도 계속 사용할 수 있습니다." + +#: ../../textwriter.rst:128 fbd4a0182852411d9c83784e6421be47 +msgid "" +"on text overflow do nothing, warn, or raise an exception. Overflow text " +"will never be written. **Changed in v1.18.9:** * Default is ``None``. * " +"The list of overflow lines will be returned." +msgstr "" + +#: ../../textwriter.rst:128 0e6db582f2eb4eb28e4c2efbd9fb40e1 +msgid "" +"on text overflow do nothing, warn, or raise an exception. Overflow text " +"will never be written. **Changed in v1.18.9:**" +msgstr "텍스트 오버플로우 시 아무 작업도 하지 않거나 경고를 표시하거나 예외를 발생시킵니다. 오버플로우 텍스트는 절대 작성되지 않습니다. **v1.18.9에서 변경:**" + +#: ../../textwriter.rst:130 cdae6e2706854c9e826f849d936c11ee +msgid "Default is ``None``." +msgstr "기본값은 ``None`` 입니다." + +#: ../../textwriter.rst:131 1bda032411484b10b23479232b916047 +msgid "The list of overflow lines will be returned." +msgstr "오버플로우 줄 목록이 반환됩니다." + +#: ../../textwriter.rst 035f3f34d091461bbe3cc1d030bfe153 +#: 1871d0ab981b44759c8973a335232ef3 6459020d5302480fb99a57af3fd39d02 +#: 92e14712db2944b694cdf765796b471d d0a0b9758d76412fb2a1f68276a1f782 +#: f3e6dee2f74245bfa95d18620e9bd73d +msgid "Return type" +msgstr "반환 유형" + +#: ../../textwriter.rst:136 396c812b4c0346d69cbc578eaae29744 +msgid "" +"*New in v1.18.9* -- List of lines that did not fit in the rectangle. Each" +" item is a tuple `(text, length)` containing a string and its length (on " +"the page)." +msgstr "*v1.18.9에서 새로 추가* -- 사각형에 맞지 않는 줄 목록. 각 항목은 문자열과 그 길이(페이지에서)를 포함하는 튜플 `(text, length)` 입니다." + +#: ../../textwriter.rst:138 cd3a09fa82ee40e399e27a6aa0c1235d +msgid "" +"Use these methods as often as is required -- there is no technical limit " +"(except memory constraints of your system). You can also mix " +":meth:`append` and text boxes and have multiple of both. Text positioning" +" is exclusively controlled by the insertion point. Therefore there is no " +"need to adhere to any order. *(Changed in v1.18.0:)* Raise an exception " +"for an unsupported font -- checked via :attr:`Font.is_writable`." +msgstr "필요한 만큼 자주 이 메서드를 사용하세요 -- 기술적 제한은 없습니다(시스템의 메모리 제약 제외). :meth:`append` 와 텍스트 상자를 혼합하고 둘 다 여러 개를 가질 수 있습니다. 텍스트 위치 지정은 삽입 지점에 의해서만 제어됩니다. 따라서 순서를 따를 필요가 없습니다. *(v1.18.0에서 변경:)* 지원되지 않는 글꼴에 대해 예외를 발생시킵니다 -- :attr:`Font.is_writable` 을 통해 확인됩니다." + +#: ../../textwriter.rst:143 54709b98b30a47ac89166f31faf2772a +msgid "" +"Write the TextWriter text to a page, which is the only mandatory " +"parameter. The other parameters can be used to temporarily override the " +"values used when the TextWriter was created." +msgstr "TextWriter 텍스트를 페이지에 작성합니다. 이는 유일한 필수 매개변수입니다. 다른 매개변수는 TextWriter가 생성될 때 사용된 값을 임시로 재정의하는 데 사용할 수 있습니다." + +#: ../../textwriter.rst:145 59f4fdcbbc44452680ba4c0c95aa5cff +msgid "write to this :ref:`Page`." +msgstr "이 :ref:`Page` 에 작성합니다." + +#: ../../textwriter.rst:146 ../../textwriter.rst:147 +#: 376b4dcec8264f3db2f6be76d778904b d45c4d5a07474ef4a0cd683fdd04bcdc +msgid "override the value of the TextWriter for this output." +msgstr "이 출력에 대해 TextWriter의 값을 재정의합니다." + +#: ../../textwriter.rst:148 ee07ac03480b41539d94053d359dd9d3 +msgid "" +"modify the text appearance by applying a matrix to it. If provided, this " +"must be a sequence *(fixpoint, matrix)* with a point-like *fixpoint* and " +"a matrix-like *matrix*. A typical example is rotating the text around " +"*fixpoint*." +msgstr "행렬을 적용하여 텍스트 모양을 수정합니다. 제공된 경우 이것은 점과 같은 *fixpoint* 와 행렬과 같은 *matrix* 를 가진 시퀀스 *(fixpoint, matrix)* 여야 합니다. 일반적인 예는 *fixpoint* 주위로 텍스트를 회전하는 것입니다." + +#: ../../textwriter.rst:149 b45dc013b8e740f9bef33593ed5c8711 +msgid "put in foreground (default) or background." +msgstr "전경(기본값) 또는 배경에 배치합니다." + +#: ../../textwriter.rst:150 ba9cfbd9695340699d7179b74412ef18 +msgid "*(new in v1.18.4)* the :data:`xref` of an :data:`OCG` or :data:`OCMD`." +msgstr "*(v1.18.4에서 새로 추가)* :data:`OCG` 또는 :data:`OCMD` 의 :data:`xref`." + +#: ../../textwriter.rst:151 9523549f48f246a3ae03b7bc5f901456 +msgid "" +"The PDF `Tr` operator value. Values: 0 (default), 1, 2, 3 (invisible). " +".. image:: images/img-rendermode.*" +msgstr "" + +#: ../../textwriter.rst:151 78528b40a6544fe0a046dee8ae6857ef +msgid "The PDF `Tr` operator value. Values: 0 (default), 1, 2, 3 (invisible)." +msgstr "PDF `Tr` 연산자 값. 값: 0 (기본값), 1, 2, 3 (보이지 않음)." + +#: ../../textwriter.rst:158 525f73853e924927ad796c65943a368d +msgid "The area currently occupied." +msgstr "현재 차지하고 있는 영역." + +#: ../../textwriter.rst:160 ../../textwriter.rst:184 +#: ba565ed25cdd42f7862fcb93e757cf70 be5a7d304fd0479ea3d522fa0b628537 +msgid ":ref:`Rect`" +msgstr ":ref:`Rect`" + +#: ../../textwriter.rst:164 87ebb8ff55c24240abc1589af86e4a9a +msgid "" +"The \"cursor position\" -- a :ref:`Point` -- after the last written " +"character (its bottom-right)." +msgstr "\"커서 위치\" -- 마지막으로 작성된 문자(오른쪽 하단) 이후의 :ref:`Point`." + +#: ../../textwriter.rst:166 ac55d30024ef4851bc1e890d44698e93 +msgid ":ref:`Point`" +msgstr ":ref:`Point`" + +#: ../../textwriter.rst:170 3f90c9a1dc4c4511a85d2dd1d614e275 +msgid "The text opacity (modifiable)." +msgstr "텍스트 투명도 (수정 가능)." + +#: ../../textwriter.rst:176 40b6c71ad92443f69b941e2ae68ef65d +msgid "The text color (modifiable)." +msgstr "텍스트 색상 (수정 가능)." + +#: ../../textwriter.rst:182 c8c0cc26dcc643b4b7a36449cc37508b +msgid "" +"The page rectangle for which this TextWriter was created. Must not be " +"modified." +msgstr "이 TextWriter가 생성된 페이지 사각형. 수정하면 안 됩니다." + +#: ../../textwriter.rst:187 96d56c1eedc9403da49260989a4dc7c5 +msgid "" +"To see some demo scripts dealing with TextWriter, have a look at `the " +"TextWriter demo scripts `_." +msgstr "TextWriter를 다루는 일부 데모 스크립트를 보려면 `TextWriter 데모 스크립트 `_ 를 참조하세요." + +#: ../../textwriter.rst:189 86f5ad85ef9f430798003667a5d4bba8 +msgid "Opacity and color apply to **all the text** in this object." +msgstr "투명도와 색상은 이 객체의 **모든 텍스트** 에 적용됩니다." + +#: ../../textwriter.rst:190 3fd56e7645674dd592624498a3b40033 +msgid "" +"If you need different colors / transparency, you must create a separate " +"TextWriter. Whenever you determine the color should change, simply append" +" the text to the respective TextWriter using the previously returned " +":attr:`last_point` as position for the new text span." +msgstr "다른 색상/투명도가 필요한 경우 별도의 TextWriter를 생성해야 합니다. 색상이 변경되어야 한다고 판단할 때마다 이전에 반환된 :attr:`last_point` 를 새 텍스트 스팬의 위치로 사용하여 해당 TextWriter에 텍스트를 추가하세요." + +#: ../../textwriter.rst:191 473cca9e82e445e7a947ffeaead9f1d6 +msgid "" +"Appending items or text boxes can occur in arbitrary order: only the " +"position parameter controls where text appears." +msgstr "항목이나 텍스트 상자를 추가하는 것은 임의의 순서로 발생할 수 있습니다: 위치 매개변수만 텍스트가 나타나는 위치를 제어합니다." + +#: ../../textwriter.rst:192 e86c99a3e580410c80b33c1b9273d1e5 +msgid "" +"Font and :data:`fontsize` can freely vary within the same TextWriter. " +"This can be used to let text with different properties appear on the same" +" displayed line: just specify *pos* accordingly, and e.g. set it to " +":attr:`last_point` of the previously added item." +msgstr "글꼴과 :data:`fontsize` 는 동일한 TextWriter 내에서 자유롭게 변경할 수 있습니다. 이를 사용하여 다른 속성을 가진 텍스트가 동일한 표시 줄에 나타나도록 할 수 있습니다: *pos* 를 그에 따라 지정하고, 예를 들어 이전에 추가된 항목의 :attr:`last_point` 로 설정하세요." + +#: ../../textwriter.rst:193 0dd912f04fa84ab7832bd944567f6dc1 +msgid "" +"You can use the *pos* argument of :meth:`TextWriter.fill_textbox` to set " +"the position of the first text character. This allows filling the same " +"textbox with contents from different :ref:`TextWriter` objects, thus " +"allowing for multiple colors, opacities, etc." +msgstr ":meth:`TextWriter.fill_textbox` 의 *pos* 인수를 사용하여 첫 번째 텍스트 문자의 위치를 설정할 수 있습니다. 이를 통해 다른 :ref:`TextWriter` 객체의 콘텐츠로 동일한 텍스트 상자를 채울 수 있으므로 여러 색상, 투명도 등을 허용합니다." + +#: ../../textwriter.rst:194 46ddcc45b9594214860870dcb571f619 +msgid "" +"MuPDF does not support all fonts with this feature, e.g. no Type3 fonts. " +"Starting with v1.18.0 this can be checked via the font attribute " +":attr:`Font.is_writable`. This attribute is also checked when using " +":ref:`TextWriter` methods." +msgstr "|MuPDF| 는 이 기능으로 모든 글꼴을 지원하지 않습니다. 예를 들어 Type3 글꼴은 지원하지 않습니다. v1.18.0부터는 글꼴 속성 :attr:`Font.is_writable` 을 통해 이를 확인할 수 있습니다. 이 속성은 :ref:`TextWriter` 메서드를 사용할 때도 확인됩니다." + +#: ../../footer.rst:46 b6d5682a116d45b9b5a6850c9cfd6f9e +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/the-basics.mo b/docs/locales/ko/LC_MESSAGES/the-basics.mo new file mode 100644 index 000000000..095172aa3 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/the-basics.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/the-basics.po b/docs/locales/ko/LC_MESSAGES/the-basics.po new file mode 100644 index 000000000..30aa886c2 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/the-basics.po @@ -0,0 +1,817 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PyMuPDF 1.26.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-02 16:19+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ko\n" +"Language-Team: ko \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 909f9969c815483692de0eeae2b2c6b8 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 7c546c172c3049238925a5d3d154deac +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 d775abfe51ed4aae97e87841af09650c +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" + +#: ../../the-basics.rst:8 b573d287df3a4994ab9fc76c334671ff +msgid "The Basics" +msgstr "기초" + +#: ../../the-basics.rst:13 f7ad136a192c476f8006b215bda74aeb +msgid "Opening a File" +msgstr "파일 열기" + +#: ../../the-basics.rst:16 02f1cd284e354ff99efcff59db44a1d3 +msgid "To open a file, do the following:" +msgstr "파일을 열려면 다음을 수행합니다:" + +#: ../../the-basics.rst:27 ../../the-basics.rst:58 ../../the-basics.rst:119 +#: ../../the-basics.rst:149 ../../the-basics.rst:199 ../../the-basics.rst:249 +#: ../../the-basics.rst:287 ../../the-basics.rst:377 ../../the-basics.rst:416 +#: ../../the-basics.rst:465 ../../the-basics.rst:551 ../../the-basics.rst:636 +#: ../../the-basics.rst:692 ../../the-basics.rst:884 ../../the-basics.rst:1068 +#: 0068950bcad54023968e3f762f5f517f 05774a0919aa4c5c9c36f6bac5d452ef +#: 0e7e23d4b7bc416cae884504c277d711 1225e0c609dc479ca2f4b881424a32ac +#: 2222ebbac6364d5b9b08e76451ddf9a1 47f2b0f15354473b88fd164c09ab6f50 +#: 4830de8bf34d47e6a2ffef8fe914a53f 7efa68f16195464b9faadc6def36171f +#: 86a29e64e6a24ade8a8ac4da891c7f28 8daf9faca165448ba7a882a6b2cdb4e2 +#: 9f4f8da64538439287fec0bfd34094c4 b84230e6f2734b0b8af4a50458974ebf +#: d5c2e1f3166846bf85914a88c378cfc2 da8824eb7edf4d73aa56dc95df1dd1d1 +#: f53b94d6fdab4636b68a2e80cfc9f035 +msgid "**Taking it further**" +msgstr "**더 알아보기**" + +#: ../../the-basics.rst:29 89354d4f696a4471b78c43ab5c2a5c2a +msgid "" +"See the :ref:`list of supported file types` and " +":ref:`The How to Guide on Opening Files ` for more " +"advanced options." +msgstr "더 고급 옵션은 :ref:`지원되는 파일 타입 목록` 및 :ref:`파일 열기 방법 가이드 ` 를 참조하세요." + +#: ../../the-basics.rst:38 5cac62e394ac45989dbc0d2e8dd159be +msgid "Extract text from a |PDF|" +msgstr "|PDF| 에서 텍스트 추출" + +#: ../../the-basics.rst:40 a0d1eb5ca0da4ab8951f1b2b8623289d +msgid "To extract all the text from a |PDF| file, do the following:" +msgstr "|PDF| 파일에서 모든 텍스트를 추출하려면 다음을 수행합니다:" + +#: ../../the-basics.rst:54 883a6098a76f43d1a5ac736b2cce28a8 +msgid "" +"Of course it is not just |PDF| which can have text extracted - all the " +":ref:`supported document file formats ` such as " +":title:`MOBI`, :title:`EPUB`, :title:`TXT` can have their text extracted." +msgstr "물론 텍스트를 추출할 수 있는 것은 |PDF| 만이 아닙니다 - :ref:`지원되는 문서 파일 형식 ` (예: :title:`MOBI`, :title:`EPUB`, :title:`TXT`) 모두에서 텍스트를 추출할 수 있습니다." + +#: ../../the-basics.rst:60 20545bb8acee4ab784b06e10f8f6c531 +msgid "" +"If your document contains image based text content the use OCR on the " +"page for subsequent text extraction:" +msgstr "문서에 이미지 기반 텍스트 콘텐츠가 포함된 경우 후속 텍스트 추출을 위해 페이지에서 OCR을 사용합니다:" + +#: ../../the-basics.rst:67 ../../the-basics.rst:121 +#: a3622ac2d3a8426eb4bf51fd86910cc2 e6467ed2be7e4603bb2d779b91c7f5b3 +msgid "" +"There are many more examples which explain how to extract text from " +"specific areas or how to extract tables from documents. Please refer to " +"the :ref:`How to Guide for Text`." +msgstr "특정 영역에서 텍스트를 추출하거나 문서에서 테이블을 추출하는 방법을 설명하는 더 많은 예제가 있습니다. :ref:`텍스트 가이드 ` 를 참조하세요." + +#: ../../the-basics.rst:69 707cbcbf6a784fb39564f16a7e3dc032 +msgid "" +"You can now also :ref:`extract text in Markdown " +"format`." +msgstr "이제 :ref:`Markdown 형식으로 텍스트 추출 ` 도 할 수 있습니다." + +#: ../../the-basics.rst:71 ../../the-basics.rst:123 ../../the-basics.rst:153 +#: ../../the-basics.rst:208 ../../the-basics.rst:255 ../../the-basics.rst:291 +#: ../../the-basics.rst:318 ../../the-basics.rst:343 ../../the-basics.rst:383 +#: ../../the-basics.rst:420 ../../the-basics.rst:472 ../../the-basics.rst:498 +#: ../../the-basics.rst:525 ../../the-basics.rst:606 ../../the-basics.rst:657 +#: ../../the-basics.rst:696 ../../the-basics.rst:760 ../../the-basics.rst:819 +#: ../../the-basics.rst:896 ../../the-basics.rst:926 ../../the-basics.rst:962 +#: ../../the-basics.rst:988 ../../the-basics.rst:1072 +#: 07855b8e74cf474bb2c22f4ea1486b77 14463d4aca01470b9aeb4b607b17f5c9 +#: 1c3978a5519a4d36b5e656a91c01ecdf 2c0ea7a221bc482c9799c3a352cb1eb9 +#: 5c80f9f1865449309e09d88d691bb68a 5efa802d04ed4ed89cd05d92421170f6 +#: 67c48e5b292f4e9b9dd54a97ff4accf5 890c419a3008426abe76d049f182b2f8 +#: 89defd51bf04459e9d7361784de9c261 8fd41167904a409080c488f71c5f60e3 +#: 97e7e736a10449a9bb80fe64abc4572d 9a7f26aa2f0a4af2aefe5dbe1f4bd77f +#: a017d665ee0942bc950c27a6f1261a1d a3129d1fc34c489dbce01f464dab1fec +#: a42c9f54e3c1452ba53a839adc35e52c bda2261d0d2e4a559d33aa934c6fc244 +#: bda7623fd6574e8a9c992679676465a3 c499bd5e8117498eb20b5ad1d95592b0 +#: cce4af742f274d3096ca85a76a595aba d7b4b9ff758e46f99007f97eb4ff95c7 +#: dbcf27434c3f43c1850b747a56c81c6d e9ad6ac85a8243b7837a2ba0a008093e +#: fe8941aaa58649e6b9bbe06143ba9fa4 +msgid "**API reference**" +msgstr "**API 참조**" + +#: ../../the-basics.rst:73 b7bf2d8223824a34a302b49fe4ee31fb +msgid ":meth:`Page.get_text`" +msgstr ":meth:`Page.get_text`" + +#: ../../the-basics.rst:85 9ada4b1ef4a24e7493857603dcd93d75 +msgid "Extract images from a |PDF|" +msgstr "|PDF| 에서 이미지 추출" + +#: ../../the-basics.rst:87 5ed12b425f01418ba06929d7c6d08a32 +msgid "To extract all the images from a |PDF| file, do the following:" +msgstr "|PDF| 파일에서 모든 이미지를 추출하려면 다음을 수행합니다:" + +#: ../../the-basics.rst:125 b8190e106cd745da99ebfa71d6dc7550 +msgid ":meth:`Page.get_images`" +msgstr ":meth:`Page.get_images`" + +#: ../../the-basics.rst:126 a75e43c33c564cf6a23b07e3f3d7b4f3 +msgid ":ref:`Pixmap`" +msgstr ":ref:`Pixmap`" + +#: ../../the-basics.rst:133 6faa94d7643a453791a62048e151e9f6 +msgid "Extract vector graphics" +msgstr "벡터 그래픽 추출" + +#: ../../the-basics.rst:135 4f09604cb7f64a9f8e72293ed907ad38 +msgid "To extract all the vector graphics from a document page, do the following:" +msgstr "문서 페이지에서 모든 벡터 그래픽을 추출하려면 다음을 수행합니다:" + +#: ../../the-basics.rst:145 2a5a383743524b57b81c68a8b6342599 +msgid "" +"This will return a dictionary of paths for any vector drawings found on " +"the page." +msgstr "이것은 페이지에서 발견된 모든 벡터 그림에 대한 경로 딕셔너리를 반환합니다." + +#: ../../the-basics.rst:151 225e28d931034158a41317ebaea841d5 +msgid "" +"Please refer to: :ref:`How to Extract " +"Drawings`." +msgstr ":ref:`그림 추출 방법 ` 를 참조하세요." + +#: ../../the-basics.rst:155 6f4863d999e44206b34be29b3deb363e +msgid ":meth:`Page.get_drawings`" +msgstr ":meth:`Page.get_drawings`" + +#: ../../the-basics.rst:166 810da3e647c342ef9dc50496dad28ba4 +msgid "Merging |PDF| files" +msgstr "|PDF| 파일 병합" + +#: ../../the-basics.rst:168 f5160b79b89244d8a6045b6cbdd53e39 +msgid "To merge |PDF| files, do the following:" +msgstr "|PDF| 파일을 병합하려면 다음을 수행합니다:" + +#: ../../the-basics.rst:182 fdc9cd0b81044db2822c364c5561f18d +msgid "Merging |PDF| files with other types of file" +msgstr "다른 타입의 파일과 |PDF| 파일 병합" + +#: ../../the-basics.rst:184 44edda88e0bb4b66bb4b3f4271487f7b +msgid "" +"With :meth:`Document.insert_file` you can invoke the method to merge " +":ref:`supported files` with |PDF|. For example:" +msgstr ":meth:`Document.insert_file` 메서드를 사용하여 :ref:`지원되는 파일` 을 |PDF| 와 병합할 수 있습니다. 예:" + +#: ../../the-basics.rst:201 af6d68b7867f4c02b0b25a870eb70be1 +msgid "" +"It is easy to join PDFs with :meth:`Document.insert_pdf` & " +":meth:`Document.insert_file`. Given open |PDF| documents, you can copy " +"page ranges from one to the other. You can select the point where the " +"copied pages should be placed, you can revert the page sequence and also " +"change page rotation." +msgstr ":meth:`Document.insert_pdf` 및 :meth:`Document.insert_file` 로 PDF를 쉽게 결합할 수 있습니다. 열린 |PDF| 문서가 주어지면 한 문서에서 다른 문서로 페이지 범위를 복사할 수 있습니다. 복사된 페이지가 배치될 지점을 선택하고, 페이지 순서를 되돌리고, 페이지 회전을 변경할 수도 있습니다." + +#: ../../the-basics.rst:203 8c29c60b2e3944278d03602d769f8c7c +msgid "" +"The GUI script `join.py `_ uses this method" +" to join a list of files while also joining the respective table of " +"contents segments. It looks like this:" +msgstr "GUI 스크립트 `join.py `_ 는 이 메서드를 사용하여 파일 목록을 결합하면서 각 목차 세그먼트도 결합합니다. 다음과 같습니다:" + +#: ../../the-basics.rst:210 dfc7e6e8e50b40d19288f88e51710867 +msgid ":meth:`Document.insert_pdf`" +msgstr ":meth:`Document.insert_pdf`" + +#: ../../the-basics.rst:211 3c85c393fc9a47d1a1f4d4bd44f71f7d +msgid ":meth:`Document.insert_file`" +msgstr ":meth:`Document.insert_file`" + +#: ../../the-basics.rst:218 5374c164503d49308ea222d3f1f4ac68 +msgid "Working with Coordinates" +msgstr "좌표 작업" + +#: ../../the-basics.rst:220 32ef87567fbf4591aa33613a467efc43 +msgid "" +"There is one *mathematical term* that you should feel comfortable with " +"when using |PyMuPDF| - **\"coordinates\"**. Please have a quick look at " +"the :ref:`Coordinates` section to understand the coordinate system to " +"help you with positioning objects and understand your document space." +msgstr "|PyMuPDF| 를 사용할 때 익숙해야 할 *수학 용어* 가 하나 있습니다 - **\"좌표\"** 입니다. 객체를 배치하고 문서 공간을 이해하는 데 도움이 되도록 좌표계를 이해하기 위해 :ref:`Coordinates` 섹션을 빠르게 살펴보세요." + +#: ../../the-basics.rst:229 808c51c176874e4f8e4f561f56a7e050 +msgid "Adding a watermark to a |PDF|" +msgstr "|PDF| 에 워터마크 추가" + +#: ../../the-basics.rst:231 e3bd1bcc59dd4871843542cffb69e4d9 +msgid "To add a watermark to a |PDF| file, do the following:" +msgstr "|PDF| 파일에 워터마크를 추가하려면 다음을 수행합니다:" + +#: ../../the-basics.rst:251 a02e5eacf1034f0fae2054ffe20904e8 +msgid "" +"Adding watermarks is essentially as simple as adding an image at the base" +" of each |PDF| page. You should ensure that the image has the required " +"opacity and aspect ratio to make it look the way you need it to." +msgstr "워터마크 추가는 기본적으로 각 |PDF| 페이지 하단에 이미지를 추가하는 것만큼 간단합니다. 필요한 불투명도와 종횡비를 갖도록 이미지를 확인해야 합니다." + +#: ../../the-basics.rst:253 d20d708a49884eba9914d117e2f10133 +msgid "" +"In the example above a new image is created from each file reference, but" +" to be more performant (by saving memory and file size) this image data " +"should be referenced only once - see the code example and explanation on " +":meth:`Page.insert_image` for the implementation." +msgstr "위 예제에서는 각 파일 참조에서 새 이미지가 생성되지만, 더 성능을 높이려면(메모리와 파일 크기를 절약하기 위해) 이 이미지 데이터는 한 번만 참조해야 합니다 - 구현에 대한 코드 예제 및 설명은 :meth:`Page.insert_image` 를 참조하세요." + +#: ../../the-basics.rst:257 3d33f6e4d88f4ad0934fe5db402cbd31 +msgid ":meth:`Page.bound`" +msgstr ":meth:`Page.bound`" + +#: ../../the-basics.rst:258 ../../the-basics.rst:294 +#: 289513e33a19434b93565b65bb3c2d5c fe5190d74fae437cbe633bd7b771d7ef +msgid ":meth:`Page.insert_image`" +msgstr ":meth:`Page.insert_image`" + +#: ../../the-basics.rst:267 13c93c134b884caa94bdb24bcf268c12 +msgid "Adding an image to a |PDF|" +msgstr "|PDF| 에 이미지 추가" + +#: ../../the-basics.rst:269 4c1ed375c4bf445fbb7cbc313de62c6d +msgid "To add an image to a |PDF| file, for example a logo, do the following:" +msgstr "|PDF| 파일에 이미지(예: 로고)를 추가하려면 다음을 수행합니다:" + +#: ../../the-basics.rst:289 de096300347c4213ba1adacf5f0db3f9 +msgid "" +"As with the watermark example you should ensure to be more performant by " +"only referencing the image once if possible - see the code example and " +"explanation on :meth:`Page.insert_image`." +msgstr "워터마크 예제와 마찬가지로 가능한 경우 이미지를 한 번만 참조하여 성능을 높이도록 해야 합니다 - 코드 예제 및 설명은 :meth:`Page.insert_image` 를 참조하세요." + +#: ../../the-basics.rst:293 8945f4f902264ba6b1269f807ddfd71e +msgid ":ref:`Rect`" +msgstr ":ref:`Rect`" + +#: ../../the-basics.rst:303 71949133fcb94c6f98465813be0eb404 +msgid "Rotating a |PDF|" +msgstr "|PDF| 회전" + +#: ../../the-basics.rst:305 7e3ebb344a7348c2bf946c4795d74d92 +msgid "To add a rotation to a page, do the following:" +msgstr "페이지에 회전을 추가하려면 다음을 수행합니다:" + +#: ../../the-basics.rst:320 3d4e339ae052429bb76f09916c436436 +msgid ":meth:`Page.set_rotation`" +msgstr ":meth:`Page.set_rotation`" + +#: ../../the-basics.rst:328 6e2d701fd5f047cda7216925fec76fc7 +msgid "Cropping a |PDF|" +msgstr "|PDF| 자르기" + +#: ../../the-basics.rst:330 b7c23f5face54c169824a13ca7b42f15 +msgid "To crop a page to a defined :ref:`Rect`, do the following:" +msgstr "페이지를 정의된 :ref:`Rect` 로 자르려면 다음을 수행합니다:" + +#: ../../the-basics.rst:345 a6b1cd0d8cad41189d7c67fabc5f334b +msgid ":meth:`Page.set_cropbox`" +msgstr ":meth:`Page.set_cropbox`" + +#: ../../the-basics.rst:354 d575dbec6b32487f8b9cf82c6e30d10c +msgid ":index:`Attaching Files `" +msgstr ":index:`파일 첨부 `" + +#: ../../the-basics.rst:356 c9c54ff0348c471ead7ff5c1018b7d28 +msgid "To attach another file to a page, do the following:" +msgstr "페이지에 다른 파일을 첨부하려면 다음을 수행합니다:" + +#: ../../the-basics.rst:379 3314a0f701fc46868da9fe2bf79bdca5 +msgid "" +"When adding the file with :meth:`Page.add_file_annot` note that the third" +" parameter for the `filename` should include the actual file extension. " +"Without this the attachment possibly will not be able to be recognized as" +" being something which can be opened. For example, if the `filename` is " +"just *\"attachment\"* when view the resulting PDF and attempting to open " +"the attachment you may well get an error. However, with " +"*\"attachment.pdf\"* this can be recognized and opened by PDF viewers as " +"a valid file type." +msgstr ":meth:`Page.add_file_annot` 로 파일을 추가할 때 `filename` 의 세 번째 매개변수에는 실제 파일 확장자가 포함되어야 합니다. 이것이 없으면 첨부 파일이 열 수 있는 것으로 인식되지 않을 수 있습니다. 예를 들어, `filename` 이 단순히 *\"attachment\"* 인 경우 결과 PDF를 보고 첨부 파일을 열려고 하면 오류가 발생할 수 있습니다. 그러나 *\"attachment.pdf\"* 인 경우 PDF 뷰어에서 유효한 파일 타입으로 인식하고 열 수 있습니다." + +#: ../../the-basics.rst:381 b376de22c21a4a678e98898f240e4e68 +msgid "" +"The default icon for the attachment is by default a \"push pin\", however" +" you can change this by setting the `icon` parameter." +msgstr "첨부 파일의 기본 아이콘은 기본적으로 \"push pin\" 이지만, `icon` 매개변수를 설정하여 변경할 수 있습니다." + +#: ../../the-basics.rst:385 ddad44834e324cef9b0c5a12b15fb49e +msgid ":ref:`Point`" +msgstr ":ref:`Point`" + +#: ../../the-basics.rst:386 ../../the-basics.rst:422 +#: b75a50b64e26476e944aa8754f20bf2f f27fcc6d362c42cda221464725dea5af +msgid ":meth:`Document.tobytes`" +msgstr ":meth:`Document.tobytes`" + +#: ../../the-basics.rst:387 0a0ed0f4324040aa8e444b4b4434a966 +msgid ":meth:`Page.add_file_annot`" +msgstr ":meth:`Page.add_file_annot`" + +#: ../../the-basics.rst:396 2c6b15690e394abebe55eb54a8f0e9b4 +msgid ":index:`Embedding Files `" +msgstr ":index:`파일 임베드 `" + +#: ../../the-basics.rst:398 566061a4f08642cf8ce04c7d8822cfb5 +msgid "To embed a file to a document, do the following:" +msgstr "문서에 파일을 임베드하려면 다음을 수행합니다:" + +#: ../../the-basics.rst:418 c7fc5f4b49a94065be458d831ec56a8d +msgid "" +"As with :ref:`attaching files`, when adding " +"the file with :meth:`Document.embfile_add` note that the first parameter " +"for the `filename` should include the actual file extension." +msgstr ":ref:`파일 첨부` 와 마찬가지로 :meth:`Document.embfile_add` 로 파일을 추가할 때 `filename` 의 첫 번째 매개변수에는 실제 파일 확장자가 포함되어야 합니다." + +#: ../../the-basics.rst:423 e86602ef585c432bab7857de813ba158 +msgid ":meth:`Document.embfile_add`" +msgstr ":meth:`Document.embfile_add`" + +#: ../../the-basics.rst:433 1dadf897eed34352b65305be6227cc68 +msgid "Deleting Pages" +msgstr "페이지 삭제" + +#: ../../the-basics.rst:435 b2ec142ee4284464bac65150b104a3c8 +msgid "To delete a page from a document, do the following:" +msgstr "문서에서 페이지를 삭제하려면 다음을 수행합니다:" + +#: ../../the-basics.rst:445 26bcb9712b45488d81fcd37a2c5338dc +msgid "To delete a multiple pages from a document, do the following:" +msgstr "문서에서 여러 페이지를 삭제하려면 다음을 수행합니다:" + +#: ../../the-basics.rst:457 2a651424c7104dda8fccdeb738d8f3d4 +msgid "What happens if I delete a page referred to by bookmarks or hyperlinks?" +msgstr "책갈피나 하이퍼링크가 참조하는 페이지를 삭제하면 어떻게 되나요?" + +#: ../../the-basics.rst:459 268000ef67c644459cb4d5f0f21c3a0f +msgid "" +"A bookmark (entry in the Table of Contents) will become inactive and will" +" no longer navigate to any page." +msgstr "책갈피(목차 항목)는 비활성화되어 더 이상 어떤 페이지로도 이동하지 않습니다." + +#: ../../the-basics.rst:461 c9da611cc8bd48d69c43c3418cd4dba8 +msgid "" +"A hyperlink will be removed from the page that contains it. The visible " +"content on that page will not otherwise be changed in any way." +msgstr "하이퍼링크는 포함된 페이지에서 제거됩니다. 해당 페이지의 표시된 콘텐츠는 다른 방식으로 변경되지 않습니다." + +#: ../../the-basics.rst:467 691f875a941741d08cb1049a5fd7fea0 +msgid "" +"The page index is zero-based, so to delete page 10 of a document you " +"would do the following `doc.delete_page(9)`." +msgstr "페이지 인덱스는 0 기반이므로 문서의 10페이지를 삭제하려면 `doc.delete_page(9)` 를 수행합니다." + +#: ../../the-basics.rst:469 471029bcec864d5c83b56258d14c9a6b +msgid "" +"Similarly, `doc.delete_pages(from_page=9, to_page=14)` will delete pages " +"10 - 15 inclusive." +msgstr "마찬가지로 `doc.delete_pages(from_page=9, to_page=14)` 는 10-15페이지를 포함하여 삭제합니다." + +#: ../../the-basics.rst:474 a6edabe8375f47aab6ecea141c9de9ef +msgid ":meth:`Document.delete_page`" +msgstr ":meth:`Document.delete_page`" + +#: ../../the-basics.rst:475 dc08fba2f443449d9604c358be0f59b2 +msgid ":meth:`Document.delete_pages`" +msgstr ":meth:`Document.delete_pages`" + +#: ../../the-basics.rst:483 94049f92c8ad4d6b8b0024d436ab9235 +msgid "Re-Arranging Pages" +msgstr "페이지 재배열" + +#: ../../the-basics.rst:485 82cc8c6d56974119a12c0c709d30c2d0 +msgid "To change the sequence of pages, i.e. re-arrange pages, do the following:" +msgstr "페이지 순서를 변경하려면(즉, 페이지를 재배열하려면) 다음을 수행합니다:" + +#: ../../the-basics.rst:500 4c1a980fdd2442ae896528a2b043b4d7 +msgid ":meth:`Document.move_page`" +msgstr ":meth:`Document.move_page`" + +#: ../../the-basics.rst:509 1b6a6d6430b64d2fa81c618aa5a36c2a +msgid "Copying Pages" +msgstr "페이지 복사" + +#: ../../the-basics.rst:512 703c6c326a244e3f95a5f9308a4db9f8 +msgid "To copy pages, do the following:" +msgstr "페이지를 복사하려면 다음을 수행합니다:" + +#: ../../the-basics.rst:527 e0f411a53f464a6cb29477e745869390 +msgid ":meth:`Document.copy_page`" +msgstr ":meth:`Document.copy_page`" + +#: ../../the-basics.rst:535 3f3ac486797b4e59a03d43dfd13d0ae9 +msgid "Selecting Pages" +msgstr "페이지 선택" + +#: ../../the-basics.rst:538 c5e43d6789904283afdfc2c3e31f4b3e +msgid "To select pages, do the following:" +msgstr "페이지를 선택하려면 다음을 수행합니다:" + +#: ../../the-basics.rst:553 0c1c3c72d9c542d5a9fd994ca426390d +msgid "" +"With |PyMuPDF| you have all options to copy, move, delete or re-arrange " +"the pages of a |PDF|. Intuitive methods exist that allow you to do this " +"on a page-by-page level, like the :meth:`Document.copy_page` method." +msgstr "|PyMuPDF| 를 사용하면 |PDF| 의 페이지를 복사, 이동, 삭제 또는 재배열할 수 있는 모든 옵션이 있습니다. :meth:`Document.copy_page` 메서드와 같이 페이지별로 수행할 수 있는 직관적인 메서드가 있습니다." + +#: ../../the-basics.rst:555 99b4ed9af68646628e27f7fd50ed6026 +msgid "" +"Or you alternatively prepare a complete new page layout in form of a " +":title:`Python` sequence, that contains the page numbers you want, in the" +" sequence you want, and as many times as you want each page. The " +"following may illustrate what can be done with :meth:`Document.select`" +msgstr "또는 원하는 페이지 번호를 원하는 순서로, 각 페이지를 원하는 횟수만큼 포함하는 :title:`Python` 시퀀스 형식으로 완전히 새로운 페이지 레이아웃을 준비할 수도 있습니다. 다음은 :meth:`Document.select` 로 수행할 수 있는 작업을 보여줍니다" + +#: ../../the-basics.rst:562 6807a098f55f41e08049ad773d010494 +msgid "" +"Now let's prepare a PDF for double-sided printing (on a printer not " +"directly supporting this):" +msgstr "이제 양면 인쇄를 위한 PDF를 준비하겠습니다(이를 직접 지원하지 않는 프린터에서):" + +#: ../../the-basics.rst:564 2bd6434b882a4d8db3c304ffbd3aa687 +msgid "" +"The number of pages is given by `len(doc)` (equal to `doc.page_count`). " +"The following lists represent the even and the odd page numbers, " +"respectively:" +msgstr "페이지 수는 `len(doc)` (또는 `doc.page_count` 와 동일)로 제공됩니다. 다음 목록은 각각 짝수 및 홀수 페이지 번호를 나타냅니다:" + +#: ../../the-basics.rst:571 293d86f017734a8ebc3c3f116fd93ed9 +msgid "" +"This snippet creates the respective sub documents which can then be used " +"to print the document:" +msgstr "이 코드 조각은 문서를 인쇄하는 데 사용할 수 있는 각 하위 문서를 생성합니다:" + +#: ../../the-basics.rst:583 7c03acb1833d4a7e835b8d14d71d52a1 +msgid "" +"For more information also have a look at this Wiki `article " +"`_." +msgstr "자세한 내용은 이 Wiki `문서 `_ 도 참조하세요." + +#: ../../the-basics.rst:586 54ec68649c0e4b609bbc4f4ad4e005cb +msgid "" +"The following example will reverse the order of all pages (**extremely " +"fast:** sub-second time for the 756 pages of the :ref:`AdobeManual`):" +msgstr "다음 예제는 모든 페이지의 순서를 반대로 합니다(**매우 빠름:** :ref:`AdobeManual` 의 756페이지에 대해 1초 미만):" + +#: ../../the-basics.rst:596 bb40e1408cac4faa8820273561325390 +msgid "" +"This snippet duplicates the PDF with itself so that it will contain the " +"pages *0, 1, ..., n, 0, 1, ..., n* **(extremely fast and without " +"noticeably increasing the file size!)**:" +msgstr "이 코드 조각은 PDF를 자체와 중복시켜 *0, 1, ..., n, 0, 1, ..., n* 페이지를 포함하도록 합니다**(매우 빠르고 파일 크기가 눈에 띄게 증가하지 않음!)**" + +#: ../../the-basics.rst:608 2c346b1ac6fe452d96ab804a995e9039 +msgid ":meth:`Document.select`" +msgstr ":meth:`Document.select`" + +#: ../../the-basics.rst:619 0c4e94066fe44ad499c54211fe16aae6 +msgid "Adding Blank Pages" +msgstr "빈 페이지 추가" + +#: ../../the-basics.rst:621 b2cff0e96799476d884ceb9a27a0a394 +msgid "To add a blank page, do the following:" +msgstr "빈 페이지를 추가하려면 다음을 수행합니다:" + +#: ../../the-basics.rst:638 ce36fc6b536c46d4b1f018b19e714a4d +msgid "Use this to create the page with another pre-defined paper format:" +msgstr "다른 사전 정의된 용지 형식으로 페이지를 만들려면 다음을 사용합니다:" + +#: ../../the-basics.rst:646 7d2dc00bc025437295e6e7ac8de51e61 +msgid "" +"The convenience function :meth:`paper_size` knows over 40 industry " +"standard paper formats to choose from. To see them, inspect dictionary " +":attr:`paperSizes`. Pass the desired dictionary key to :meth:`paper_size`" +" to retrieve the paper dimensions. Upper and lower case is supported. If " +"you append \"-L\" to the format name, the landscape version is returned." +msgstr "편의 함수 :meth:`paper_size` 는 선택할 수 있는 40개 이상의 산업 표준 용지 형식을 알고 있습니다. 이를 보려면 딕셔너리 :attr:`paperSizes` 를 검사하세요. 원하는 딕셔너리 키를 :meth:`paper_size` 에 전달하여 용지 크기를 검색합니다. 대소문자가 지원됩니다. 형식 이름에 \"-L\" 을 추가하면 가로 방향 버전이 반환됩니다." + +#: ../../the-basics.rst:648 b44282f4ada544d1b18a337f793bbdfb +msgid "" +"Here is a 3-liner that creates a |PDF|: with one empty page. Its file " +"size is 460 bytes:" +msgstr "다음은 빈 페이지 하나가 있는 |PDF| 를 생성하는 3줄 코드입니다. 파일 크기는 460바이트입니다:" + +#: ../../the-basics.rst:659 af312c05560c44ba8fb88cf29ece1e12 +msgid ":meth:`Document.new_page`" +msgstr ":meth:`Document.new_page`" + +#: ../../the-basics.rst:660 055ca7bfd52e46bda58c8e862bd8e592 +msgid ":attr:`paperSizes`" +msgstr ":attr:`paperSizes`" + +#: ../../the-basics.rst:669 6ec80ca2c8344ab1b10072ee1e7ecfdf +msgid "Inserting Pages with Text Content" +msgstr "텍스트 콘텐츠가 있는 페이지 삽입" + +#: ../../the-basics.rst:671 7c9a1501fb5d405a9f5ad46a99f0b474 +msgid "" +"Using the :meth:`Document.insert_page` method also inserts a new page and" +" accepts the same ``width`` and ``height`` parameters. But it lets you " +"also insert arbitrary text into the new page and returns the number of " +"inserted lines." +msgstr ":meth:`Document.insert_page` 메서드를 사용하면 새 페이지도 삽입되고 동일한 `width` 및 `height` 매개변수를 허용합니다. 하지만 새 페이지에 임의의 텍스트를 삽입할 수 있으며 삽입된 줄 수를 반환합니다." + +#: ../../the-basics.rst:694 815fd32c08dc43ed939c0022fe0cb355 +msgid "" +"The text parameter can be a (sequence of) string (assuming UTF-8 " +"encoding). Insertion will start at :ref:`Point` (50, 72), which is one " +"inch below top of page and 50 points from the left. The number of " +"inserted text lines is returned." +msgstr "텍스트 매개변수는 문자열(또는 문자열 시퀀스)일 수 있습니다(UTF-8 인코딩 가정). 삽입은 :ref:`Point` (50, 72)에서 시작되며, 이는 페이지 상단에서 1인치 아래, 왼쪽에서 50포인트입니다. 삽입된 텍스트 줄 수가 반환됩니다." + +#: ../../the-basics.rst:698 ee1877c30f20440d928f255b6b27ec30 +msgid ":meth:`Document.insert_page`" +msgstr ":meth:`Document.insert_page`" + +#: ../../the-basics.rst:709 3399cdc8dfc44101b644bcf9d0619529 +msgid "Splitting Single Pages" +msgstr "단일 페이지 분할" + +#: ../../the-basics.rst:711 1f3717fc854a40d5a0fd9753b49a88a0 +msgid "" +"This deals with splitting up pages of a |PDF| in arbitrary pieces. For " +"example, you may have a |PDF| with *Letter* format pages which you want " +"to print with a magnification factor of four: each page is split up in 4 " +"pieces which each going to a separate |PDF| page in *Letter* format " +"again." +msgstr "이것은 |PDF| 의 페이지를 임의의 조각으로 분할하는 것을 다룹니다. 예를 들어, 4배 확대 인쇄하려는 *Letter* 형식 페이지가 있는 |PDF| 가 있을 수 있습니다: 각 페이지는 4개 조각으로 분할되며, 각 조각은 다시 *Letter* 형식의 별도 |PDF| 페이지로 이동합니다." + +#: ../../the-basics.rst:754 ../../the-basics.rst:812 +#: 0ece8212e7b845609bb12d9e90ea10a7 e15f29ebe62e4a60a0bbbb8de5608f21 +msgid "Example:" +msgstr "예제:" + +#: ../../the-basics.rst:762 ../../the-basics.rst:821 +#: aca3faccb4c045c097b9959629642eef b75fa5b0807b4f56bffef5b96e756cdd +msgid ":meth:`Page.cropbox_position`" +msgstr ":meth:`Page.cropbox_position`" + +#: ../../the-basics.rst:763 ../../the-basics.rst:822 +#: 0ffa92661611435b91fb6a7e14df8701 2322a38c63f947d589e9b2ec7f1f17f2 +msgid ":meth:`Page.show_pdf_page`" +msgstr ":meth:`Page.show_pdf_page`" + +#: ../../the-basics.rst:773 e866676a9e9f4db28f98f0921db8b45f +msgid "Combining Single Pages" +msgstr "단일 페이지 결합" + +#: ../../the-basics.rst:775 66702d857bfe496f8bd6f6120c0c5137 +msgid "" +"This deals with joining |PDF| pages to form a new |PDF| with pages each " +"combining two or four original ones (also called \"2-up\", \"4-up\", " +"etc.). This could be used to create booklets or thumbnail-like overviews." +msgstr "이것은 |PDF| 페이지를 결합하여 원본 두 개 또는 네 개를 각각 결합한 페이지가 있는 새 |PDF| 를 만드는 것을 다룹니다(\"2-up\", \"4-up\" 등이라고도 함). 이것은 소책자나 썸네일 같은 개요를 만드는 데 사용할 수 있습니다." + +#: ../../the-basics.rst:831 dd61fd34be574893bee88166ee3d19f3 +msgid "|PDF| Encryption & Decryption" +msgstr "|PDF| 암호화 및 복호화" + +#: ../../the-basics.rst:834 16ea9b1cd9f949fdab48b3c4210a4d72 +msgid "" +"Starting with version 1.16.0, |PDF| decryption and encryption (using " +"passwords) are fully supported. You can do the following:" +msgstr "버전 1.16.0부터 |PDF| 복호화 및 암호화(비밀번호 사용)가 완전히 지원됩니다. 다음을 수행할 수 있습니다:" + +#: ../../the-basics.rst:836 3b6def2609e44c32be069c6362839e2f +msgid "" +"Check whether a document is password protected / (still) encrypted " +"(:attr:`Document.needs_pass`, :attr:`Document.is_encrypted`)." +msgstr "문서가 비밀번호로 보호되어 있는지/(여전히) 암호화되어 있는지 확인합니다(:attr:`Document.needs_pass`, :attr:`Document.is_encrypted`)." + +#: ../../the-basics.rst:837 ce41ab81ce8b4386a83878a416a7940a +msgid "Gain access authorization to a document (:meth:`Document.authenticate`)." +msgstr "문서에 대한 액세스 권한을 얻습니다(:meth:`Document.authenticate`)." + +#: ../../the-basics.rst:838 b189a7d59fa543a19cf3c17b16f8d694 +msgid "" +"Set encryption details for PDF files using :meth:`Document.save` or " +":meth:`Document.write` and" +msgstr ":meth:`Document.save` 또는 :meth:`Document.write` 를 사용하여 PDF 파일의 암호화 세부 정보를 설정하고" + +#: ../../the-basics.rst:840 d636f0b456a045fe96ded79e540924a6 +msgid "decrypt or encrypt the content" +msgstr "콘텐츠 복호화 또는 암호화" + +#: ../../the-basics.rst:841 c02d51458a324504be651a75c4b42da7 +msgid "set password(s)" +msgstr "비밀번호 설정" + +#: ../../the-basics.rst:842 a9dbedfc3d3840d2b0ddef263073ee71 +msgid "set the encryption method" +msgstr "암호화 방법 설정" + +#: ../../the-basics.rst:843 8613c50a6710457fb64b656501a9ed53 +msgid "set permission details" +msgstr "권한 세부 정보 설정" + +#: ../../the-basics.rst:845 4d78b28e7d8c479bb687ad0b04fea32f +msgid "A PDF document may have two different passwords:" +msgstr "PDF 문서는 두 가지 다른 비밀번호를 가질 수 있습니다:" + +#: ../../the-basics.rst:847 17b762c8cf4d4efba56eae14ccf0e0e6 +msgid "" +"The **owner password** provides full access rights, including changing " +"passwords, encryption method, or permission detail." +msgstr "**소유자 비밀번호** 는 비밀번호, 암호화 방법 또는 권한 세부 정보 변경을 포함한 전체 액세스 권한을 제공합니다." + +#: ../../the-basics.rst:848 25b92c66fe7843978232636bf038bea9 +msgid "" +"The **user password** provides access to document content according to " +"the established permission details. If present, opening the |PDF| in a " +"viewer will require providing it." +msgstr "**사용자 비밀번호** 는 설정된 권한 세부 정보에 따라 문서 콘텐츠에 대한 액세스를 제공합니다. 있는 경우 뷰어에서 |PDF| 를 열려면 이를 제공해야 합니다." + +#: ../../the-basics.rst:850 1fc241ab15944159a3e960c912753d85 +msgid "" +"Method :meth:`Document.authenticate` will automatically establish access " +"rights according to the password used." +msgstr ":meth:`Document.authenticate` 메서드는 사용된 비밀번호에 따라 액세스 권한을 자동으로 설정합니다." + +#: ../../the-basics.rst:852 5a8ee082646145f0af795201a5cf3f2c +msgid "" +"The following snippet creates a new |PDF| and encrypts it with separate " +"user and owner passwords. Permissions are granted to print, copy and " +"annotate, but no changes are allowed to someone authenticating with the " +"user password." +msgstr "다음 코드 조각은 새 |PDF| 를 생성하고 별도의 사용자 및 소유자 비밀번호로 암호화합니다. 인쇄, 복사 및 주석 달기 권한이 부여되지만 사용자 비밀번호로 인증하는 사람에게는 변경이 허용되지 않습니다." + +#: ../../the-basics.rst:886 bc1d33f5c72f4b7c91414475ea9319ad +msgid "" +"Opening this document with some viewer (Nitro Reader 5) reflects these " +"settings:" +msgstr "일부 뷰어(Nitro Reader 5)로 이 문서를 열면 이러한 설정이 반영됩니다:" + +#: ../../the-basics.rst:890 8d0714fc6e9b483da17392fad5a08ef9 +msgid "" +"**Decrypting** will automatically happen on save as before when no " +"encryption parameters are provided." +msgstr "**복호화** 는 암호화 매개변수가 제공되지 않으면 이전과 같이 저장 시 자동으로 발생합니다." + +#: ../../the-basics.rst:892 5ad13206208e4f04ab1f73c460b95b06 +msgid "" +"To **keep the encryption method** of a PDF save it using " +"`encryption=pymupdf.PDF_ENCRYPT_KEEP`. If `doc.can_save_incrementally() " +"== True`, an incremental save is also possible." +msgstr "PDF의 **암호화 방법을 유지** 하려면 `encryption=pymupdf.PDF_ENCRYPT_KEEP` 를 사용하여 저장합니다. `doc.can_save_incrementally() == True` 인 경우 증분 저장도 가능합니다." + +#: ../../the-basics.rst:894 ea683283b4ae4990996434cbfc824108 +msgid "" +"To **change the encryption method** specify the full range of options " +"above (`encryption`, `owner_pw`, `user_pw`, `permissions`). An " +"incremental save is **not possible** in this case." +msgstr "**암호화 방법을 변경** 하려면 위의 전체 옵션 범위(`encryption`, `owner_pw`, `user_pw`, `permissions`)를 지정합니다. 이 경우 증분 저장은 **불가능** 합니다." + +#: ../../the-basics.rst:898 6b214aa29bc543f4acbac8c3cd3481b0 +msgid ":meth:`Document.save`" +msgstr ":meth:`Document.save`" + +#: ../../the-basics.rst:907 a57f259ce92445d6a5d6c2862dc3cf54 +msgid "Extracting Tables from a :title:`Page`" +msgstr ":title:`Page` 에서 테이블 추출" + +#: ../../the-basics.rst:909 6f9e7f86d5ac46e3b9825c17b82571e4 +msgid "Tables can be found and extracted from any document :ref:`Page`." +msgstr "테이블은 모든 문서 :ref:`Page` 에서 찾고 추출할 수 있습니다." + +#: ../../the-basics.rst:928 b7494b5442a14995a5d2119082615ca8 +msgid ":meth:`Page.find_tables`" +msgstr ":meth:`Page.find_tables`" + +#: ../../the-basics.rst:933 c890052d477340849a65eeee67960e53 +msgid "" +"There is also the `pdf2docx extract tables method`_ which is capable of " +"table extraction if you prefer." +msgstr "원하는 경우 테이블 추출이 가능한 `pdf2docx extract tables method`_ 도 있습니다." + +#: ../../the-basics.rst:942 a282cebe140b45f5b2ed5299e377820a +msgid "Getting Page Links" +msgstr "페이지 링크 가져오기" + +#: ../../the-basics.rst:944 65729bc707934b5eb43017e9a7ccf13f +msgid "Links can be extracted from a :ref:`Page` to return :ref:`Link` objects." +msgstr "링크는 :ref:`Page` 에서 추출하여 :ref:`Link` 객체를 반환할 수 있습니다." + +#: ../../the-basics.rst:964 a413c62db71c4a03bcf604d1cbb23495 +msgid ":meth:`Page.first_link`" +msgstr ":meth:`Page.first_link`" + +#: ../../the-basics.rst:973 9c52975671c8427abba8f3c2386f6cfd +msgid "Getting All Annotations from a Document" +msgstr "문서에서 모든 주석 가져오기" + +#: ../../the-basics.rst:975 6c049fc7e04c48738c8b0a947179c35a +msgid "" +"Annotations (:ref:`Annot`) on pages can be retrieved with the " +"`page.annots()` method." +msgstr "페이지의 주석(:ref:`Annot`)은 `page.annots()` 메서드로 검색할 수 있습니다." + +#: ../../the-basics.rst:990 02ac755f074b4ae28b2dde5d67b4474f +msgid ":meth:`Page.annots`" +msgstr ":meth:`Page.annots`" + +#: ../../the-basics.rst:1000 3d4556c1d28240f2aa6a1c395fc1a1a9 +msgid "Redacting content from a |PDF|" +msgstr "|PDF| 에서 콘텐츠 편집" + +#: ../../the-basics.rst:1002 d99eb5ab89464e8d97d4fc7e46651604 +msgid "" +"Redactions are special types of annotations which can be marked onto a " +"document page to denote an area on the page which should be securely " +"removed. After marking an area with a rectangle then this area will be " +"marked for *redaction*, once the redaction is *applied* then the content " +"is securely removed." +msgstr "편집은 문서 페이지에 표시되어 안전하게 제거해야 하는 페이지 영역을 나타내는 특수한 유형의 주석입니다. 사각형으로 영역을 표시한 후 이 영역은 *편집* 으로 표시되며, 편집이 *적용* 되면 콘텐츠가 안전하게 제거됩니다." + +#: ../../the-basics.rst:1004 223f6cd8cecb4da98e5dd318031c8fda +msgid "" +"For example if we wanted to redact all instances of the name \"Jane Doe\"" +" from a document we could do the following:" +msgstr "예를 들어 문서에서 이름 \"Jane Doe\" 의 모든 인스턴스를 편집하려면 다음을 수행할 수 있습니다:" + +#: ../../the-basics.rst:1032 62dd2d2bb85640b2b62115053f61669a +msgid "" +"Another example could be redacting an area of a page, but not to redact " +"any line art (i.e. vector graphics) within the defined area, by setting a" +" parameter flag as follows:" +msgstr "다른 예제는 페이지의 영역을 편집하되, 다음처럼 매개변수 플래그를 설정하여 정의된 영역 내의 선 아트(즉, 벡터 그래픽)는 편집하지 않는 것입니다:" + +#: ../../the-basics.rst:1063 d9d9f830754d466387849b71b4085d14 +msgid "" +"Once a redacted version of a document is saved then the redacted content " +"in the |PDF| is *irretrievable*. Thus, a redacted area in a document " +"removes text and graphics completely from that area." +msgstr "문서의 편집된 버전이 저장되면 |PDF| 의 편집된 콘텐츠는 *복구할 수 없습니다*. 따라서 문서의 편집된 영역은 해당 영역에서 텍스트와 그래픽을 완전히 제거합니다." + +#: ../../the-basics.rst:1070 946a2796985d485fb5e2ed7acc4289e8 +msgid "" +"The are a few options for creating and applying redactions to a page, for" +" the full API details to understand the parameters to control these " +"options refer to the API reference." +msgstr "페이지에 편집을 생성하고 적용하는 몇 가지 옵션이 있습니다. 이러한 옵션을 제어하는 매개변수를 이해하려면 전체 API 세부 정보는 API 참조를 참조하세요." + +#: ../../the-basics.rst:1074 548f9c1e5ac243f8b4055e2a34c65166 +msgid ":meth:`Page.add_redact_annot`" +msgstr ":meth:`Page.add_redact_annot`" + +#: ../../the-basics.rst:1076 47c9ad1997a44ad7b9d0ef477ee10755 +msgid ":meth:`Page.apply_redactions`" +msgstr ":meth:`Page.apply_redactions`" + +#: ../../the-basics.rst:1086 1a162b81c4bf4f65abc57893d5ffe457 +msgid "Converting PDF Documents" +msgstr "PDF 문서 변환" + +#: ../../the-basics.rst:1088 72cd004015184e5c91130763bcf42e8b +msgid "" +"We recommend the pdf2docx_ library which uses |PyMuPDF| and the **python-" +"docx** library to provide simple document conversion from |PDF| to " +"**DOCX** format." +msgstr "|PyMuPDF| 와 **python-docx** 라이브러리를 사용하여 |PDF| 에서 **DOCX** 형식으로 간단한 문서 변환을 제공하는 pdf2docx_ 라이브러리를 권장합니다." + +#: ../../footer.rst:48 3e0afdfbfd574b1daaa229594686200d +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + +#~ msgid "" +#~ "Using the :meth:`Document.insert_page` method " +#~ "also inserts a new page and " +#~ "accepts the same `width` and `height`" +#~ " parameters. But it lets you also " +#~ "insert arbitrary text into the new " +#~ "page and returns the number of " +#~ "inserted lines." +#~ msgstr "" + diff --git a/docs/locales/ko/LC_MESSAGES/tools.mo b/docs/locales/ko/LC_MESSAGES/tools.mo new file mode 100644 index 000000000..39d4e3e70 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/tools.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/tools.po b/docs/locales/ko/LC_MESSAGES/tools.po new file mode 100644 index 000000000..34d1970bc --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/tools.po @@ -0,0 +1,723 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 0d73a14a6d9b419f84fde1e0a7e33dfb +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 921ceade773644d4b48019b5e3890fb7 +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 a82f7fcc28444c4fb146f56d5780eff7 +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" + +#: ../../tools.rst:6 bf1306c6f8b244acaf911ab721a197e6 +msgid "Tools" +msgstr "Tools" + +#: ../../tools.rst:8 d6c5d72a09a14bd5b21c5508eee3c250 +msgid "" +"This class is a collection of utility methods and attributes, mainly " +"around memory management. To simplify and speed up its use, it is " +"automatically instantiated under the name *TOOLS* when PyMuPDF is " +"imported." +msgstr "이 클래스는 주로 메모리 관리와 관련된 유틸리티 메서드 및 속성의 모음입니다. 사용을 단순화하고 속도를 높이기 위해 PyMuPDF가 가져올 때 *TOOLS* 라는 이름으로 자동 인스턴스화됩니다." + +#: ../../tools.rst:11 9f4695034d1a41088a1a1d353f6e4809 +msgid "**Method / Attribute**" +msgstr "**메서드 / 속성**" + +#: ../../tools.rst:11 f90fa89b5ac8455297a7e999b318a95d +msgid "**Description**" +msgstr "**설명**" + +#: ../../tools.rst:13 3b8fa8bde4af4703bd9f495bf42f0357 +msgid ":meth:`Tools.gen_id`" +msgstr ":meth:`Tools.gen_id`" + +#: ../../tools.rst:13 f4df8c5ade854c22b113521c4432ad43 +msgid "generate a unique identifier" +msgstr "고유 식별자 생성" + +#: ../../tools.rst:14 f8432b4a73fd4daebad6cf69ee75d4d4 +msgid ":meth:`Tools.store_shrink`" +msgstr ":meth:`Tools.store_shrink`" + +#: ../../tools.rst:14 8e71bc4d1dff4fffab79133c5adb84ef +msgid "shrink the storables cache [#f1]_" +msgstr "저장 가능한 캐시 축소 [#f1]_" + +#: ../../tools.rst:15 00c0e3852ea44f5ea91c82ec35aed5c6 +msgid ":meth:`Tools.mupdf_warnings`" +msgstr ":meth:`Tools.mupdf_warnings`" + +#: ../../tools.rst:15 6c729a59131c47e3991d378e1a1d7cf5 +msgid "return the accumulated MuPDF warnings" +msgstr "누적된 MuPDF 경고 반환" + +#: ../../tools.rst:16 7c9ee72296df4159918174ed60bb239f +msgid ":meth:`Tools.mupdf_display_errors`" +msgstr ":meth:`Tools.mupdf_display_errors`" + +#: ../../tools.rst:16 ad79443c20664a909cafe94ef8993c2e +msgid "control whether MuPDF errors are displayed as messages." +msgstr "MuPDF 오류를 메시지로 표시할지 제어합니다." + +#: ../../tools.rst:17 a3c989deda0d478a8f40594bf7839b13 +msgid ":meth:`Tools.mupdf_display_warnings`" +msgstr ":meth:`Tools.mupdf_display_warnings`" + +#: ../../tools.rst:17 3331b000061f4a199137b54996d28f55 +msgid "control whether MuPDF warnings are displayed as messages." +msgstr "MuPDF 경고를 메시지로 표시할지 제어합니다." + +#: ../../tools.rst:18 f77ae8fb589148f0bf492ce7a1e42572 +msgid ":meth:`Tools.reset_mupdf_warnings`" +msgstr ":meth:`Tools.reset_mupdf_warnings`" + +#: ../../tools.rst:18 2cd40e7b15e749f7ba4befb2c7516c7e +msgid "empty MuPDF warnings/errors message buffer." +msgstr "MuPDF 경고/오류 메시지 버퍼 비우기." + +#: ../../tools.rst:19 4447fb5926bd4ba7bec76e747bab9297 +msgid ":meth:`Tools.set_aa_level`" +msgstr ":meth:`Tools.set_aa_level`" + +#: ../../tools.rst:19 2e6c524419ac41e9a6900f4809d65d99 +msgid "set the anti-aliasing values" +msgstr "안티앨리어싱 값 설정" + +#: ../../tools.rst:20 a2dafc1f04fb468e927711809b1b4abb +msgid ":meth:`Tools.set_annot_stem`" +msgstr ":meth:`Tools.set_annot_stem`" + +#: ../../tools.rst:20 ee82321884b340e6a4b6fcffc62f8557 +msgid "set the prefix of new annotation / link ids" +msgstr "새 주석/링크 ID의 접두사 설정" + +#: ../../tools.rst:21 c1bc06eb490b40dab6174b41d9a9ee6c +msgid ":meth:`Tools.set_small_glyph_heights`" +msgstr ":meth:`Tools.set_small_glyph_heights`" + +#: ../../tools.rst:21 15946a92e17a460a9c36b31c32fe3247 +msgid "search and extract using small bbox heights" +msgstr "작은 bbox 높이를 사용하여 검색 및 추출" + +#: ../../tools.rst:22 8ecbbd2dd4e14e78a91df8d330c13ff6 +msgid ":meth:`Tools.set_subset_fontnames`" +msgstr ":meth:`Tools.set_subset_fontnames`" + +#: ../../tools.rst:22 4fa566e4c99645d999c63acedee77f82 +msgid "control suppression of subset fontname tags" +msgstr "서브셋 글꼴 이름 태그 억제 제어" + +#: ../../tools.rst:23 61d6e34abc994469a66c945c3a08e615 +msgid ":meth:`Tools.show_aa_level`" +msgstr ":meth:`Tools.show_aa_level`" + +#: ../../tools.rst:23 a7fd746934534e9d831b150cfe0481c9 +msgid "return the anti-aliasing values" +msgstr "안티앨리어싱 값 반환" + +#: ../../tools.rst:24 c9363164a1784bcaa8761a54aff46d1d +msgid ":meth:`Tools.unset_quad_corrections`" +msgstr ":meth:`Tools.unset_quad_corrections`" + +#: ../../tools.rst:24 5f3c02c8cfbd421e94b18e090cd74703 +msgid "disable PyMuPDF-specific code" +msgstr "PyMuPDF 전용 코드 비활성화" + +#: ../../tools.rst:25 651ff5c6373f471e8d008e9c405305ab +msgid ":attr:`Tools.fitz_config`" +msgstr ":attr:`Tools.fitz_config`" + +#: ../../tools.rst:25 b9e06f68f97a4ae1bbd309ad39720d5d +msgid "configuration settings of PyMuPDF" +msgstr "PyMuPDF의 구성 설정" + +#: ../../tools.rst:26 4df2a633c6da421f9959024a3d94fa3f +msgid ":attr:`Tools.store_maxsize`" +msgstr ":attr:`Tools.store_maxsize`" + +#: ../../tools.rst:26 122b22e68967478289e3a595b9e4e8f7 +msgid "maximum storables cache size" +msgstr "최대 저장 가능한 캐시 크기" + +#: ../../tools.rst:27 d7402c339e7e41708fd85b9e49948078 +msgid ":attr:`Tools.store_size`" +msgstr ":attr:`Tools.store_size`" + +#: ../../tools.rst:27 14ccf353f0934125951cc340919573ee +msgid "current storables cache size" +msgstr "현재 저장 가능한 캐시 크기" + +#: ../../tools.rst:30 2128d557bf1f4f3d9d16ad8e9dba7f05 +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../tools.rst:36 189938171e2b49469e4180e2f35aa327 +msgid "" +"A convenience method returning a unique positive integer which will " +"increase by 1 on every invocation. Example usages include creating unique" +" keys in databases - its creation should be faster than using timestamps " +"by an order of magnitude." +msgstr "호출할 때마다 1씩 증가하는 고유한 양의 정수를 반환하는 편의 메서드입니다. 사용 예에는 데이터베이스에서 고유 키 생성이 포함됩니다. 생성은 타임스탬프 사용보다 한 자릿수 빠를 수 있습니다." + +#: ../../tools.rst:38 695deea765974c6fad7f3e3815d0a10f +msgid "" +"MuPDF has dropped support for this in v1.14.0, so we have re-implemented " +"a similar function with the following differences:" +msgstr "MuPDF는 v1.14.0에서 이것에 대한 지원을 중단했으므로 다음과 같은 차이점이 있는 유사한 함수를 다시 구현했습니다:" + +#: ../../tools.rst:40 a683185479de4917b28d0da3b150aeb8 +msgid "" +"It is not part of MuPDF's global context and not threadsafe (not an issue" +" because we do not support threads in PyMuPDF anyway)." +msgstr "MuPDF의 전역 컨텍스트의 일부가 아니며 스레드 안전하지 않습니다(PyMuPDF에서 어쨌든 스레드를 지원하지 않으므로 문제가 되지 않습니다)." + +#: ../../tools.rst:41 1b2ba6f48de24451a18b344a30157fbd +msgid "" +"It is implemented as *int*. This means that the maximum number is " +"*sys.maxsize*. Should this number ever be exceeded, the counter starts " +"over again at 1." +msgstr "*int* 로 구현됩니다. 즉, 최대 숫자는 *sys.maxsize* 입니다. 이 숫자가 초과되면 카운터가 1부터 다시 시작합니다." + +#: ../../tools.rst 4a3706449679419cbfe46da4fca67368 +#: 4b21a59b097141b5aaf0f44b355bd101 5672ab6b4aba48c892de4d5bb4e0f0b9 +#: 6669bbdf4a3e4020a1d9b48bff99e268 957464664fbc40f0af479085467effc0 +#: 9990614cbe3041348193e004172104db 999752762ad24ea4bf641bfb8ad2f43f +#: c24f35275eaf4e4192cf718cc1f06dbc e55479e7313947a092977c725c75a395 +#: e919810950e6418e9d92a82349a27cc5 +msgid "Return type" +msgstr "반환 유형" + +#: ../../tools.rst 07f96f9c40e24f1993747e0c10a8eff6 +#: 226fe9b32c914b299f5fbc681e42ffc1 22d12df8c6e44432b1b8c0ca643fe26b +#: 6bd8faa6d20a40a2a3317b0b6c56695c 95ff0c78ce0449998879214817772a0f +#: a12efba073594882b138ec467749be24 b15ef08627884b7d9cb926fae2c74680 +#: d317ebc8557f4d41bb1a58c902624a43 de51e2f78e304d46be9085659f5175b0 +msgid "Returns" +msgstr "반환값" + +#: ../../tools.rst:44 cf26039ee2174ec4a0622c0822a413bb +msgid "a unique positive integer." +msgstr "고유한 양의 정수." + +#: ../../tools.rst:49 329f36f70579439ea15f22b38c11d02a +msgid "New in v1.18.6" +msgstr "v1.18.6에서 새로 추가됨" + +#: ../../tools.rst:51 9db0524a2e0b4842a9c038c8912cd9d8 +msgid "Set or inquire the prefix for the id of new annotations, fields or links." +msgstr "새 주석, 필드 또는 링크의 ID 접두사를 설정하거나 조회합니다." + +#: ../../tools.rst 07fc0d2c71f440218ad32d0fa55bd668 +#: 0ac957fb86d34012bc3ca235b75a2815 13711810c96c4b3eba0c108d0199a0a7 +#: 1d1396015b5247a5bd6c115fb3673828 3c06afcb1d6a424383b91978fc6206bc +#: 631e43e526dd46998258d5316be56c67 6605936ea7ec4e80b4bbea17b256c74d +#: 6fee094bef9d4193923a723c70f17922 ddd35b40d05a410cb68e69625771ba39 +msgid "Parameters" +msgstr "매개변수" + +#: ../../tools.rst:53 4b1ab23b0f98420db4907311dec28fb1 +msgid "" +"if omitted, the current value is returned, default is \"fitz\". " +"Annotations, fields / widgets and links technically are subtypes of the " +"same type of object (`/Annot`) in PDF documents. An `/Annot` object may " +"be given a unique identifier within a page. For each of the applicable " +"subtypes, PyMuPDF generates identifiers \"stem-Annn\", \"stem-Wnnn\" or " +"\"stem-Lnnn\" respectively. The number \"nnn\" is used to enforce the " +"required uniqueness." +msgstr "생략하면 현재 값이 반환되며, 기본값은 \"fitz\"입니다. 주석, 필드/위젯 및 링크는 기술적으로 PDF 문서에서 동일한 객체 유형(`/Annot`)의 하위 유형입니다. `/Annot` 객체는 페이지 내에서 고유 식별자를 가질 수 있습니다. 각 적용 가능한 하위 유형에 대해 PyMuPDF는 각각 \"stem-Annn\", \"stem-Wnnn\" 또는 \"stem-Lnnn\" 식별자를 생성합니다. 숫자 \"nnn\"은 필요한 고유성을 강제하는 데 사용됩니다." + +#: ../../tools.rst:56 4f61028eee9146b292fb1b2405da09d1 +msgid "the current value." +msgstr "현재 값." + +#: ../../tools.rst:61 3cb17a9bd0814e1687e04154eec0593c +msgid "New in v1.18.5" +msgstr "v1.18.5에서 새로 추가됨" + +#: ../../tools.rst:63 217da1303cbb4b13b6837e9ca5541ce0 +msgid "" +"Set or inquire reduced bbox heights in text extract and text search " +"methods." +msgstr "텍스트 추출 및 텍스트 검색 메서드에서 축소된 bbox 높이를 설정하거나 조회합니다." + +#: ../../tools.rst:65 56c84534f6434dc8841353567d8b453e +msgid "" +"if omitted or `None`, the current setting is returned. For other values " +"the *bool()* function is applied to set a global variable. If `True`, " +":meth:`Page.search_for` and :meth:`Page.get_text` methods return " +"character, span, line or block bboxes that have a height of *font size*. " +"If `False` (standard setting when PyMuPDF is imported), bbox height will " +"be based on font properties and normally equal *line height*." +msgstr "생략하거나 `None` 이면 현재 설정이 반환됩니다. 다른 값의 경우 *bool()* 함수가 적용되어 전역 변수가 설정됩니다. `True` 인 경우 :meth:`Page.search_for` 및 :meth:`Page.get_text` 메서드는 *글꼴 크기* 의 높이를 가진 문자, 스팬, 줄 또는 블록 bbox를 반환합니다. `False` 인 경우(PyMuPDF를 가져올 때의 표준 설정) bbox 높이는 글꼴 속성을 기반으로 하며 일반적으로 *줄 높이* 와 같습니다." + +#: ../../tools.rst:68 ../../tools.rst:81 ../../tools.rst:95 +#: a176f0944378445b9d91fe21cb93ad4d d1b2c5f192854ac09a19db50d3b38655 +#: f628ee815a1c4d908896ef7b8f14b847 +msgid "``True`` or ``False``." +msgstr "``True`` 또는 ``False``." + +#: ../../tools.rst:70 808cb746a7f74b23b2eccf918a1aee94 +msgid "" +"Text extraction options \"xml\", \"xhtml\" and \"html\", which directly " +"wrap MuPDF code, are not influenced by this." +msgstr "MuPDF 코드를 직접 래핑하는 텍스트 추출 옵션 \"xml\", \"xhtml\" 및 \"html\"은 이것의 영향을 받지 않습니다." + +#: ../../tools.rst:74 897746f738b94bc295467ea1ebcea01b +msgid "New in v1.18.9" +msgstr "v1.18.9에서 새로 추가됨" + +#: ../../tools.rst:76 744e708191de4faa9c2a7dade121573a +msgid "Control suppression of subset fontname tags in text extractions." +msgstr "텍스트 추출에서 서브셋 글꼴 이름 태그 억제를 제어합니다." + +#: ../../tools.rst:78 59d2a8ce838b418a8dc500d85140932e +msgid "" +"if omitted / `None`, the current setting is returned. Arguments " +"evaluating to `True` or `False` set a global variable. If `True`, options" +" \"dict\", \"json\", \"rawdict\" and \"rawjson\" will return e.g. " +"`\"NOHSJV+Calibri-Light\"`, otherwise only `\"Calibri-Light\"` (the " +"default). The setting remains in effect until changed again." +msgstr "생략/`None` 이면 현재 설정이 반환됩니다. `True` 또는 `False` 로 평가되는 인수는 전역 변수를 설정합니다. `True` 인 경우 옵션 \"dict\", \"json\", \"rawdict\" 및 \"rawjson\"은 예를 들어 `\"NOHSJV+Calibri-Light\"` 를 반환하고, 그렇지 않으면 `\"Calibri-Light\"` 만 반환합니다(기본값). 설정은 다시 변경될 때까지 유효합니다." + +#: ../../tools.rst:83 d6465691fb404e9f9138143abb284794 +msgid "" +"Except mentioned above, no other text extraction variants are influenced " +"by this. This is especially true for the options \"xml\", \"xhtml\" and " +"\"html\", which are based on MuPDF code. They extract the font name " +"`\"Calibri-Light\"`, or even just the **family** name -- `Calibri` in " +"this example." +msgstr "위에서 언급한 것 외에는 다른 텍스트 추출 변형은 이것의 영향을 받지 않습니다. 이것은 특히 MuPDF 코드를 기반으로 하는 옵션 \"xml\", \"xhtml\" 및 \"html\"에 해당합니다. 이들은 글꼴 이름 `\"Calibri-Light\"` 또는 **패밀리** 이름만 추출합니다 -- 이 예에서는 `Calibri` 입니다." + +#: ../../tools.rst:88 d588b77e57cf47edadda3e5a2bd2640c +msgid "New in v1.18.10" +msgstr "v1.18.10에서 새로 추가됨" + +#: ../../tools.rst:90 a2f363e88df54db6bf8ab0004f895156 +msgid "" +"Enable / disable PyMuPDF-specific code, that tries to rebuild valid " +"character quads when encountering nonsense in :meth:`Page.get_text` text " +"extractions. This code depends on certain font properties (ascender and " +"descender), which do not exist in rare situations and cause segmentation " +"faults when trying to access them. This method sets a global parameter in" +" PyMuPDF, which suppresses execution of this code." +msgstr "PyMuPDF 전용 코드를 활성화/비활성화합니다. 이 코드는 :meth:`Page.get_text` 텍스트 추출에서 의미 없는 내용을 만날 때 유효한 문자 quad를 재구성하려고 시도합니다. 이 코드는 특정 글꼴 속성(ascender 및 descender)에 의존하며, 이는 드문 상황에서 존재하지 않으며 접근하려고 할 때 세그멘테이션 오류를 일으킵니다. 이 메서드는 PyMuPDF에서 전역 매개변수를 설정하여 이 코드의 실행을 억제합니다." + +#: ../../tools.rst:92 d5e3272b930e4822a2e6c4d5e66a011b +msgid "" +"if omitted or `None`, the current setting is returned. For other values " +"the *bool()* function is applied to set a global variable. If `True`, " +"PyMuPDF will not try to access the resp. font properties and use values " +"`ascender=0.8` and `descender=-0.2` instead." +msgstr "생략하거나 `None` 이면 현재 설정이 반환됩니다. 다른 값의 경우 *bool()* 함수가 적용되어 전역 변수가 설정됩니다. `True` 인 경우 PyMuPDF는 해당 글꼴 속성에 접근하려고 시도하지 않고 대신 `ascender=0.8` 및 `descender=-0.2` 값을 사용합니다." + +#: ../../tools.rst:100 333a61c7d142433ab4fd0f13a7aabc3c +msgid "Reduce the storables cache by a percentage of its current size." +msgstr "저장 가능한 캐시를 현재 크기의 백분율로 줄입니다." + +#: ../../tools.rst:102 5790eaa60b4f4f4cadc19ece9d505603 +msgid "" +"the percentage of current size to free. If 100+ the store will be " +"emptied, if zero, nothing will happen. MuPDF's caching strategy is " +"\"least recently used\", so low-usage elements get deleted first." +msgstr "해제할 현재 크기의 백분율. 100 이상이면 저장소가 비워지고, 0이면 아무 일도 일어나지 않습니다. MuPDF의 캐싱 전략은 \"최근에 사용되지 않은 것\"이므로 사용 빈도가 낮은 요소가 먼저 삭제됩니다." + +#: ../../tools.rst:105 1b9c6e1ac6134c118b552c8a38a7587a +msgid "" +"the new current store size. Depending on the situation, the size " +"reduction may be larger than the requested percentage." +msgstr "새로운 현재 저장소 크기. 상황에 따라 크기 감소가 요청된 백분율보다 클 수 있습니다." + +#: ../../tools.rst:109 ../../tools.rst:119 5be5f274ce2740e89346b52c7e37e06a +#: b90faa6a9e97498798492c9d79a9bf6d +msgid "New in version 1.16.14" +msgstr "버전 1.16.14에서 새로 추가됨" + +#: ../../tools.rst:111 1f5fae3d0c1e48c8a312f344dfa41fc0 +msgid "" +"Return the current anti-aliasing values. These values control the " +"rendering quality of graphics and text elements." +msgstr "현재 안티앨리어싱 값을 반환합니다. 이 값들은 그래픽 및 텍스트 요소의 렌더링 품질을 제어합니다." + +#: ../../tools.rst:114 e6976bc95bab4023b63ca1064c6a68ca +msgid "" +"A dictionary with the following initial content: `{'graphics': 8, 'text':" +" 8, 'graphics_min_line_width': 0.0}`." +msgstr "다음 초기 내용을 가진 딕셔너리: `{'graphics': 8, 'text': 8, 'graphics_min_line_width': 0.0}`." + +#: ../../tools.rst:121 911a1d5a1cb24741a60e13fc35d16874 +msgid "" +"Set the new number of bits to use for anti-aliasing. The same value is " +"taken currently for graphics and text rendering. This might change in a " +"future MuPDF release." +msgstr "안티앨리어싱에 사용할 새로운 비트 수를 설정합니다. 현재 그래픽 및 텍스트 렌더링에 동일한 값이 사용됩니다. 이것은 향후 MuPDF 릴리스에서 변경될 수 있습니다." + +#: ../../tools.rst:123 926fa10830264d0c8cfbe04143b5486e +msgid "" +"an integer ranging between 0 and 8. Value outside this range will be " +"silently changed to valid values. The value will remain in effect " +"throughout the current session or until changed again." +msgstr "0과 8 사이의 정수. 이 범위를 벗어난 값은 자동으로 유효한 값으로 변경됩니다. 값은 현재 세션 동안 또는 다시 변경될 때까지 유효합니다." + +#: ../../tools.rst:128 ../../tools.rst:167 144d6b730a8649498527dfd19b461f43 +#: 3a2e5f71bfd04dd5a13298d81dc0c38c +msgid "New in version 1.16.0" +msgstr "버전 1.16.0에서 새로 추가됨" + +#: ../../tools.rst:130 2d91e313160b448ea59abdf6c66b4a0d +msgid "Empty MuPDF warnings message buffer." +msgstr "MuPDF 경고 메시지 버퍼 비우기." + +#: ../../tools.rst:135 92b7764848884178b4a41b5d1ff2caa3 +msgid "Control whether MuPDF errors should be displayed as |PyMuPDF| messages." +msgstr "MuPDF 오류를 |PyMuPDF| 메시지로 표시할지 제어합니다." + +#: ../../tools.rst:138 ../../tools.rst:154 1d6bb3c5c84647d58a7d5ed4b5a92b2c +#: e72ab3692a3e4261b45203c6bfa6fd63 +msgid "If `None`, the current setting is left unchanged." +msgstr "`None` 이면 현재 설정이 변경되지 않습니다." + +#: ../../tools.rst:139 c2abcce114b8497dae07e3ea0bc60591 +msgid "" +"Otherwise changes the current setting to `bool(value)`; if ``True``, " +"future MuPDF errors will be shown as :ref:`Messages`." +msgstr "그렇지 않으면 현재 설정을 `bool(value)` 로 변경합니다. ``True`` 인 경우 향후 MuPDF 오류가 :ref:`Messages` 로 표시됩니다." + +#: ../../tools.rst:141 a4be68a89b5d4042996ecf157036e027 +msgid "" +"Regardless of this setting, MuPDF errors will always be stored in the " +"warnings store." +msgstr "이 설정과 관계없이 MuPDF 오류는 항상 경고 저장소에 저장됩니다." + +#: ../../tools.rst:142 ../../tools.rst:158 23ee905f3f0e48319c7c3638b644070d +#: b94e26874cea438aa7f0653a55f1414f +msgid "Upon import of |PyMuPDF| this value is ``True``." +msgstr "|PyMuPDF| 를 가져올 때 이 값은 ``True`` 입니다." + +#: ../../tools.rst:144 ../../tools.rst:160 380a472c7f0440deadd5f2a66e36cd6d +#: ec3080d72d284985b697f158380df6b2 +msgid "The current setting as ``True`` or ``False``." +msgstr "``True`` 또는 ``False`` 로 표시된 현재 설정." + +#: ../../tools.rst:146 ../../tools.rst:162 7482f516a78043879c8c3e587e6ecbe6 +#: c135c85d22654225b7e4564087de3d01 +msgid "New in version 1.16.8" +msgstr "버전 1.16.8에서 새로 추가됨" + +#: ../../tools.rst:151 35926b1a764d48ae80b23f5dd83f3451 +msgid "Control whether MuPDF warnings should be displayed as |PyMuPDF| messages." +msgstr "MuPDF 경고를 |PyMuPDF| 메시지로 표시할지 제어합니다." + +#: ../../tools.rst:155 16b5294227bd4af28cbe50a51eb464b5 +msgid "" +"Otherwise changes the current setting to `bool(value)`; if ``True``, " +"future MuPDF warnings will be shown as :ref:`Messages`." +msgstr "그렇지 않으면 현재 설정을 `bool(value)` 로 변경합니다. ``True`` 인 경우 향후 MuPDF 경고가 :ref:`Messages` 로 표시됩니다." + +#: ../../tools.rst:157 f7cf6d0e1c1543b09eed6f3596cc274c +msgid "" +"Regardless of this setting, MuPDF warnings will always be stored in the " +"warnings store." +msgstr "이 설정과 관계없이 MuPDF 경고는 항상 경고 저장소에 저장됩니다." + +#: ../../tools.rst:169 a3f7042644dd47c383bcc0f2188e0677 +msgid "" +"Return all stored MuPDF messages as a string with interspersed line-" +"breaks." +msgstr "줄바꿈이 섞인 문자열로 저장된 모든 MuPDF 메시지를 반환합니다." + +#: ../../tools.rst:171 287a6a8e83ba40cebec9beb0cce433ad +msgid "*(new in version 1.16.7)* whether to automatically empty the store." +msgstr "*(버전 1.16.7에서 새로 추가됨)* 저장소를 자동으로 비울지 여부." + +#: ../../tools.rst:176 0b1e9109776c417d9631077a29280c56 +msgid "" +"A dictionary containing the actual values used for configuring PyMuPDF " +"and MuPDF. Also refer to the installation chapter. This is an overview of" +" the keys, each of which describes the status of a support aspect." +msgstr "PyMuPDF 및 MuPDF 구성에 사용되는 실제 값을 포함하는 딕셔너리. 설치 장도 참조하세요. 이것은 각 키가 지원 측면의 상태를 설명하는 키의 개요입니다." + +#: ../../tools.rst:179 29eef430a5db42389b1ed5ded77ee8dc +msgid "**Key**" +msgstr "**키**" + +#: ../../tools.rst:179 8ec8d2564994434abd178d4f3c3f4c27 +msgid "**Support included for ...**" +msgstr "**다음에 대한 지원 포함 ...**" + +#: ../../tools.rst:181 b78162547f5b4e87a989c50674465ac3 +msgid "plotter-g" +msgstr "plotter-g" + +#: ../../tools.rst:181 a6e78ff6069e4d3ba0c8d22a1dd3e306 +msgid "Gray colorspace rendering" +msgstr "회색 색 공간 렌더링" + +#: ../../tools.rst:182 018d6608637142b39977343ce2007a00 +msgid "plotter-rgb" +msgstr "plotter-rgb" + +#: ../../tools.rst:182 e760fa73ba9244e5a70d3038f62eedc0 +msgid "RGB colorspace rendering" +msgstr "RGB 색 공간 렌더링" + +#: ../../tools.rst:183 0ebf2b22dcae46a4ac0e108cd380d920 +msgid "plotter-cmyk" +msgstr "plotter-cmyk" + +#: ../../tools.rst:183 219cf41f7248407fb5018ae49943793b +msgid "CMYK colorspcae rendering" +msgstr "CMYK 색 공간 렌더링" + +#: ../../tools.rst:184 3c60e398c9bf4ea1a21599b87752ff86 +msgid "plotter-n" +msgstr "plotter-n" + +#: ../../tools.rst:184 769eb710317c41a480dbc570a4cee0f1 +msgid "overprint rendering" +msgstr "오버프린트 렌더링" + +#: ../../tools.rst:185 de0c1cb2bd6e4d3f9218813213738b89 +msgid "pdf" +msgstr "pdf" + +#: ../../tools.rst:185 0eb90b0c563943b092427c844fa84d82 +msgid "PDF documents" +msgstr "PDF 문서" + +#: ../../tools.rst:186 b99df5adf3fa4e9f9146cf0f5b29995a +msgid "xps" +msgstr "xps" + +#: ../../tools.rst:186 9489b74272084bbeb3d2c279e697ecf2 +msgid "XPS documents" +msgstr "XPS 문서" + +#: ../../tools.rst:187 d2a4ee5c893b4b87a0166bbe1856cda6 +msgid "svg" +msgstr "svg" + +#: ../../tools.rst:187 e551c61cd7e441449280f9359dec7dc7 +msgid "SVG documents" +msgstr "SVG 문서" + +#: ../../tools.rst:188 577bc099e8ac44c9b26c26942341b2c7 +msgid "cbz" +msgstr "cbz" + +#: ../../tools.rst:188 ebc6a4b501dc4f6b962a645852e681d1 +msgid "CBZ documents" +msgstr "CBZ 문서" + +#: ../../tools.rst:189 64ec1daad09243c88803ed7eb5709835 +msgid "img" +msgstr "img" + +#: ../../tools.rst:189 7d744907b35241c78b99cc180e6b9113 +msgid "IMG documents" +msgstr "IMG 문서" + +#: ../../tools.rst:190 bb12f79a20f04779acd3ed438cfbbc96 +msgid "html" +msgstr "html" + +#: ../../tools.rst:190 bb3a4a4575c943969b56f0af2d838d7e +msgid "HTML documents" +msgstr "HTML 문서" + +#: ../../tools.rst:191 ab3d19b472154fce925a82f813fe20c5 +msgid "epub" +msgstr "epub" + +#: ../../tools.rst:191 44a8aabb49ac41458e987ca800cc7eac +msgid "EPUB documents" +msgstr "EPUB 문서" + +#: ../../tools.rst:192 4a9f9a0ca3fe4cc79bc5b83c962ebe17 +msgid "jpx" +msgstr "jpx" + +#: ../../tools.rst:192 5ab6d3192a344c83a9666aadf1016b5b +msgid "JPEG2000 images" +msgstr "JPEG2000 이미지" + +#: ../../tools.rst:193 b74ed5834b3d4fd081414ff7634e74ec +msgid "js" +msgstr "js" + +#: ../../tools.rst:193 36672693f4374487a530bf0c3af9832c +msgid "JavaScript" +msgstr "JavaScript" + +#: ../../tools.rst:194 adc238844f2c4040bbd4a86abbf6039a +msgid "tofu" +msgstr "tofu" + +#: ../../tools.rst:194 558f9de6ca4f46dd808cfbf415f7ce06 +msgid "all TOFU fonts" +msgstr "모든 TOFU 글꼴" + +#: ../../tools.rst:195 3f1c381eadc64b8db7d515ae9eba3984 +msgid "tofu-cjk" +msgstr "tofu-cjk" + +#: ../../tools.rst:195 ea40b88f4fdd4d1eb43a2a6bf6e8f5ba +msgid "CJK font subset (China, Japan, Korea)" +msgstr "CJK 글꼴 서브셋 (중국, 일본, 한국)" + +#: ../../tools.rst:196 a4f1e69f4b814edb83e603a1355259dc +msgid "tofu-cjk-ext" +msgstr "tofu-cjk-ext" + +#: ../../tools.rst:196 c377019167934982a83d55627ae3ba2c +msgid "CJK font extensions" +msgstr "CJK 글꼴 확장" + +#: ../../tools.rst:197 0fc7a1646f7646738d72ec2061e7691c +msgid "tofu-cjk-lang" +msgstr "tofu-cjk-lang" + +#: ../../tools.rst:197 66d5555a5824418a9f35c3b2b71e4b88 +msgid "CJK font language extensions" +msgstr "CJK 글꼴 언어 확장" + +#: ../../tools.rst:198 1b5d5d0dbd32445593b767b2483e3060 +msgid "tofu-emoji" +msgstr "tofu-emoji" + +#: ../../tools.rst:198 0cdbcf60f7d64d39b197db2579600064 +msgid "TOFU emoji fonts" +msgstr "TOFU 이모지 글꼴" + +#: ../../tools.rst:199 7fc6679d779c41719fccabfb090325fa +msgid "tofu-historic" +msgstr "tofu-historic" + +#: ../../tools.rst:199 9cbba9254c32429899b6b2dac733f20d +msgid "TOFU historic fonts" +msgstr "TOFU 역사적 글꼴" + +#: ../../tools.rst:200 2ef2e1b8fab04ed5b5cf6812262986b0 +msgid "tofu-symbol" +msgstr "tofu-symbol" + +#: ../../tools.rst:200 70b9a0a97d0f47deb48c32f026c189b8 +msgid "TOFU symbol fonts" +msgstr "TOFU 기호 글꼴" + +#: ../../tools.rst:201 84425b54341d4ddf86a53d5636ce6d6c +msgid "tofu-sil" +msgstr "tofu-sil" + +#: ../../tools.rst:201 eb589864b3f14b24adedd043685a8f64 +msgid "TOFU SIL fonts" +msgstr "TOFU SIL 글꼴" + +#: ../../tools.rst:202 755f0012ad0c4aea8e9a52a0776c2c81 +msgid "icc" +msgstr "icc" + +#: ../../tools.rst:202 5358baa2b811434fb799602302fdbe35 +msgid "ICC profiles" +msgstr "ICC 프로필" + +#: ../../tools.rst:203 1ea2192091824ca8a0a392c9dc10f890 +msgid "py-memory" +msgstr "py-memory" + +#: ../../tools.rst:203 9cb31e10c386492c9cbb9a5e2265ace3 +msgid "using Python memory management [#f2]_" +msgstr "Python 메모리 관리 사용 [#f2]_" + +#: ../../tools.rst:204 dec087f849db4162a867ce6d93c08a53 +msgid "base14" +msgstr "base14" + +#: ../../tools.rst:204 69f5e80bd30c411d97af4b8a75e364ec +msgid "Base-14 fonts (should always be true)" +msgstr "Base-14 글꼴 (항상 true여야 함)" + +#: ../../tools.rst:207 3a669d605b904f36b9308d04b1fad7df +msgid "" +"For an explanation of the term \"TOFU\" see `this Wikipedia article " +"`_::" +msgstr "\"TOFU\" 용어에 대한 설명은 `이 위키피디아 기사 `_ 를 참조하세요::" + +#: ../../tools.rst:241 bf3651fc67ee458a8794cf46e18bdaa0 +msgid "" +"Maximum storables cache size in bytes. |PyMuPDF| is generated with a " +"value of 268'435'456 (256 MB, the default value), which you should " +"therefore always see here. If this value is zero, then an \"unlimited\" " +"growth is permitted." +msgstr "최대 저장 가능한 캐시 크기(바이트). |PyMuPDF| 는 268'435'456(256 MB, 기본값) 값으로 생성되므로 여기서 항상 이 값을 볼 수 있습니다. 이 값이 0이면 \"무제한\" 증가가 허용됩니다." + +#: ../../tools.rst:247 cd118310efc74373a064388fb69baf0b +msgid "" +"Current storables cache size in bytes. This value may change (and will " +"usually increase) with every use of a |PyMuPDF| function. It will " +"(automatically) decrease only when :attr:`Tools.store_maxsize` is going " +"to be exceeded: in this case, |MuPDF| will evict low-usage objects until " +"the value is again in range." +msgstr "현재 저장 가능한 캐시 크기(바이트). 이 값은 |PyMuPDF| 함수를 사용할 때마다 변경될 수 있으며(일반적으로 증가) :attr:`Tools.store_maxsize` 가 초과될 때만 (자동으로) 감소합니다. 이 경우 |MuPDF| 는 값이 다시 범위 내에 있을 때까지 사용 빈도가 낮은 객체를 제거합니다." + +#: ../../tools.rst:252 eb29156bef9747b0801b3a3a7cb7b827 +msgid "Example Session" +msgstr "예제 세션" + +#: ../../tools.rst:288 4ea509ba0cce45108ae592589157ef48 +msgid "Footnotes" +msgstr "각주" + +#: ../../tools.rst:289 eac7cbc90f544d38b17f9aaecb25533b +msgid "" +"This memory area is internally used by MuPDF, and it serves as a cache " +"for objects that have already been read and interpreted, thus improving " +"performance. The most bulky object types are images and also fonts. When " +"an application starts up the MuPDF library (in our case this happens as " +"part of *import pymupdf*), it must specify a maximum size for this area. " +"PyMuPDF's uses the default value (256 MB) to limit memory consumption. " +"Use the methods here to control or investigate store usage. For example: " +"even after a document has been closed and all related objects have been " +"deleted, the store usage may still not drop down to zero. So you might " +"want to enforce that before opening another document." +msgstr "이 메모리 영역은 MuPDF에서 내부적으로 사용되며, 이미 읽고 해석된 객체에 대한 캐시 역할을 하여 성능을 향상시킵니다. 가장 큰 객체 유형은 이미지와 글꼴입니다. 애플리케이션이 MuPDF 라이브러리를 시작할 때(*import pymupdf* 의 일부로 발생) 이 영역에 대한 최대 크기를 지정해야 합니다. PyMuPDF는 기본값(256 MB)을 사용하여 메모리 소비를 제한합니다. 여기서 메서드를 사용하여 저장소 사용을 제어하거나 조사하세요. 예를 들어: 문서가 닫히고 관련 객체가 모두 삭제된 후에도 저장소 사용량이 여전히 0으로 떨어지지 않을 수 있습니다. 따라서 다른 문서를 열기 전에 이를 강제로 실행할 수 있습니다." + +#: ../../tools.rst:291 762bd894d82742c9b21223dc22c6390d +msgid "" +"By default PyMuPDF and MuPDF use `malloc()`/`free()` for dynamic memory " +"management. One can instead force them to use the Python allocation " +"functions `PyMem_New()`/`PyMem_Del()`, by modifying *fitz/fitz.i* to do " +"`#define JM_MEMORY 1` and rebuilding PyMuPDF." +msgstr "기본적으로 PyMuPDF와 MuPDF는 동적 메모리 관리에 `malloc()`/`free()` 를 사용합니다. 대신 *fitz/fitz.i* 를 수정하여 `#define JM_MEMORY 1` 을 수행하고 PyMuPDF를 다시 빌드하여 Python 할당 함수 `PyMem_New()`/`PyMem_Del()` 을 사용하도록 강제할 수 있습니다." + +#: ../../footer.rst:46 78ca850d896b41bda3d3e7d7c4795819 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/tutorial.mo b/docs/locales/ko/LC_MESSAGES/tutorial.mo new file mode 100644 index 000000000..838dab89a Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/tutorial.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/tutorial.po b/docs/locales/ko/LC_MESSAGES/tutorial.po new file mode 100644 index 000000000..9d49b26e5 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/tutorial.po @@ -0,0 +1,1108 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 af1c872c0c8149488a828ec57db0d05a +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 5f296e40a5a84c7db71c20c23cf034c9 +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 6ce8107c629e456a909666cce87fe6bd +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" + +#: ../../tutorial.rst:8 939af6d1c28b485eb4ff9f7d7027d32c +msgid "Tutorial" +msgstr "튜토리얼" + +#: ../../tutorial.rst:12 4f39e913a37d45aaaae25d581b6b21a5 +msgid "" +"This tutorial will show you the use of |PyMuPDF|, |MuPDF| in Python, step" +" by step." +msgstr "이 튜토리얼은 Python에서 |PyMuPDF|, |MuPDF| 사용법을 단계별로 보여줍니다." + +#: ../../tutorial.rst:14 5a427c507e6b44479862e8eb2c0a69ba +msgid "" +"Because |MuPDF| supports not only PDF, but also XPS, OpenXPS, CBZ, CBR, " +"FB2 and EPUB formats, so does |PyMuPDF| [#f1]_. Nevertheless, for the " +"sake of brevity we will only talk about PDF files. At places where indeed" +" only PDF files are supported, this will be mentioned explicitly." +msgstr "|MuPDF| 가 PDF뿐만 아니라 XPS, OpenXPS, CBZ, CBR, FB2, EPUB 형식도 지원하므로 |PyMuPDF| 도 마찬가지입니다 [#f1]_. 그러나 간결성을 위해 PDF 파일만 다룹니다. PDF 파일만 지원되는 경우에는 명시적으로 언급합니다." + +#: ../../tutorial.rst:16 b2c324e1eda6484681a5b98002f9f022 +msgid "" +"In addition to this introduction, please do visit PyMuPDF's `YouTube " +"Channel `_ which covers most of the " +"following in the form of YouTube \"Shorts\" and longer videos." +msgstr "이 소개 외에도 |PyMuPDF| 의 `YouTube 채널 `_ 을 방문하시기 바랍니다. YouTube \"Shorts\" 및 더 긴 비디오 형식으로 대부분의 내용을 다루고 있습니다." + +#: ../../tutorial.rst:19 c23da3317c5d43fdadba3fa7c99c3afc +msgid "Importing the Bindings" +msgstr "바인딩 가져오기" + +#: ../../tutorial.rst:20 a04dcd4a09c3420f950b46d664276cd8 +msgid "" +"The Python bindings to MuPDF are made available by this import statement." +" We also show here how your version can be checked::" +msgstr "이 import 문으로 |MuPDF| 에 대한 Python 바인딩을 사용할 수 있습니다. 여기서 버전을 확인하는 방법도 보여줍니다::" + +#: ../../tutorial.rst:30 56adbb5b22484758912815cc290316d8 +msgid "Note on the Name *fitz*" +msgstr "*fitz* 이름에 대한 참고사항" + +#: ../../tutorial.rst:32 3b2a413d1d2040d38bbc841d83f98d16 +msgid "" +"Old versions of |PyMuPDF| had their **Python** import name as `fitz`. " +"Newer versions use `pymupdf` instead, and offer `fitz` as a fallback so " +"that old code will still work." +msgstr "이전 버전의 |PyMuPDF| 는 **Python** import 이름이 `fitz` 였습니다. 최신 버전은 대신 `pymupdf` 를 사용하며, 이전 코드가 계속 작동하도록 `fitz` 를 대체 옵션으로 제공합니다." + +#: ../../tutorial.rst:34 e7ad072736bc434da33243355f43a143 +msgid "The reason for the name `fitz` is a historical curiosity:" +msgstr "`fitz` 라는 이름의 이유는 역사적인 호기심입니다:" + +#: ../../tutorial.rst:36 0a1388985e214bc8803f67a3cdc99664 +msgid "The original rendering library for MuPDF was called *Libart*." +msgstr "|MuPDF| 의 원래 렌더링 라이브러리는 *Libart* 라고 불렸습니다." + +#: ../../tutorial.rst:38 6bb98d1d5fd843a9a823b5a023f389e8 +msgid "" +"*\"After Artifex Software acquired the MuPDF project, the development " +"focus shifted on writing a new modern graphics library called \"Fitz\". " +"Fitz was originally intended as an R&D project to replace the aging " +"Ghostscript graphics library, but has instead become the rendering engine" +" powering MuPDF.\"* (Quoted from `Wikipedia " +"`_)." +msgstr "*\"Artifex Software가 MuPDF 프로젝트를 인수한 후, 개발 초점은 \"Fitz\"라는 새로운 현대적인 그래픽 라이브러리 작성으로 옮겨졌습니다. Fitz는 원래 노후화된 Ghostscript 그래픽 라이브러리를 대체하기 위한 R&D 프로젝트로 의도되었지만, 대신 MuPDF를 구동하는 렌더링 엔진이 되었습니다.\"* (`Wikipedia `_ 에서 인용)." + +#: ../../tutorial.rst:42 f0b608072e0948f0a8d5019e86f78ae4 +msgid "" +"Use of legacy name `fitz` can fail if defunct pypi.org package `fitz` is " +"installed; see :ref:`problems-after-installation`." +msgstr "사용되지 않는 pypi.org 패키지 `fitz` 가 설치된 경우 레거시 이름 `fitz` 사용이 실패할 수 있습니다. :ref:`problems-after-installation` 을 참조하세요." + +#: ../../tutorial.rst:48 5b6f4f47d3d14b3dabbafb6419e1bfd3 +msgid "Opening a Document" +msgstr "문서 열기" + +#: ../../tutorial.rst:50 bad87b705ed349689aeb233740a2a4dd +msgid "" +"To access a :ref:`supported document`, it must be " +"opened with the following statement::" +msgstr ":ref:`지원되는 문서` 에 액세스하려면 다음 문으로 열어야 합니다::" + +#: ../../tutorial.rst:54 8ee29d11c6664eaba2d74e39fe256992 +msgid "" +"This creates the :ref:`Document` object *doc*. *filename* must be a " +"Python string (or a `pathlib.Path`) specifying the name of an existing " +"file." +msgstr "이것은 :ref:`Document` 객체 *doc* 을 생성합니다. *filename* 은 기존 파일의 이름을 지정하는 Python 문자열(또는 `pathlib.Path`)이어야 합니다." + +#: ../../tutorial.rst:56 fd7dc22114c4467ea703f11c5e4ddad9 +msgid "" +"It is also possible to open a document from memory data, or to create a " +"new, empty PDF. See :ref:`Document` for details. You can also use " +":ref:`Document` as a *context manager*." +msgstr "메모리 데이터에서 문서를 열거나 새로운 빈 PDF를 생성할 수도 있습니다. 자세한 내용은 :ref:`Document` 를 참조하세요. :ref:`Document` 를 *context manager* 로 사용할 수도 있습니다." + +#: ../../tutorial.rst:58 e53b2ee3b09744bba7d0a597e3110a06 +msgid "" +"A document contains many attributes and functions. Among them are meta " +"information (like \"author\" or \"subject\"), number of total pages, " +"outline and encryption information." +msgstr "문서에는 많은 속성과 함수가 포함되어 있습니다. 그 중에는 메타 정보(\"author\" 또는 \"subject\" 등), 총 페이지 수, 개요 및 암호화 정보가 있습니다." + +#: ../../tutorial.rst:61 ed2d7a85b35c446faacb3600235eef21 +msgid "Some :ref:`Document` Methods and Attributes" +msgstr "일부 :ref:`Document` 메서드 및 속성" + +#: ../../tutorial.rst:64 3b4470725538483087f6877a0b238a75 +msgid "**Method / Attribute**" +msgstr "**메서드 / 속성**" + +#: ../../tutorial.rst:64 348a919c08be4e7bacbcbdebf6aadceb +msgid "**Description**" +msgstr "**설명**" + +#: ../../tutorial.rst:66 3c58bb5e0cfd4357bf595f5730c490f5 +msgid ":attr:`Document.page_count`" +msgstr ":attr:`Document.page_count`" + +#: ../../tutorial.rst:66 71bcf48456184a0a864819c5c6c6b639 +msgid "the number of pages (*int*)" +msgstr "페이지 수 (*int*)" + +#: ../../tutorial.rst:67 a9ca3bea8587466696f8c3a412c51474 +msgid ":attr:`Document.metadata`" +msgstr ":attr:`Document.metadata`" + +#: ../../tutorial.rst:67 5d63c2f5c2bf442da412566cddc8f0da +msgid "the metadata (*dict*)" +msgstr "메타데이터 (*dict*)" + +#: ../../tutorial.rst:68 3a230f9d11cf49c8abaabfc21332281a +msgid ":meth:`Document.get_toc`" +msgstr ":meth:`Document.get_toc`" + +#: ../../tutorial.rst:68 670c25d439184b3d864535494e4bc345 +msgid "get the table of contents (*list*)" +msgstr "목차 가져오기 (*list*)" + +#: ../../tutorial.rst:69 4dbf36bdcc774cfe94f6fe488e23ab70 +msgid ":meth:`Document.load_page`" +msgstr ":meth:`Document.load_page`" + +#: ../../tutorial.rst:69 6a5260a61382415882e9d006c179fe90 +msgid "read a :ref:`Page`" +msgstr ":ref:`Page` 읽기" + +#: ../../tutorial.rst:73 d6bc5b209b1c4e7aa5b367e616992438 +msgid "Accessing Meta Data" +msgstr "메타데이터 액세스" + +#: ../../tutorial.rst:74 5eeb7a67a3834701bda60567079af358 +msgid "" +"PyMuPDF fully supports standard metadata. :attr:`Document.metadata` is a " +"Python dictionary with the following keys. It is available for **all " +"document types**, though not all entries may always contain data. For " +"details of their meanings and formats consult the respective manuals, " +"e.g. :ref:`AdobeManual` for PDF. Further information can also be found in" +" chapter :ref:`Document`. The meta data fields are strings or ``None`` if" +" not otherwise indicated. Also be aware that not all of them always " +"contain meaningful data -- even if they are not ``None``." +msgstr "|PyMuPDF| 는 표준 메타데이터를 완전히 지원합니다. :attr:`Document.metadata` 는 다음 키를 가진 Python 딕셔너리입니다. **모든 문서 타입** 에서 사용할 수 있지만, 모든 항목이 항상 데이터를 포함하지는 않을 수 있습니다. 의미와 형식에 대한 자세한 내용은 각 매뉴얼(예: PDF의 경우 :ref:`AdobeManual`)을 참조하세요. 추가 정보는 :ref:`Document` 장에서도 찾을 수 있습니다. 메타데이터 필드는 달리 표시되지 않는 한 문자열 또는 ``None`` 입니다. 또한 모든 필드가 항상 의미 있는 데이터를 포함하는 것은 아니라는 점에 유의하세요. ``None`` 이 아니더라도 그렇습니다." + +#: ../../tutorial.rst:77 6c9a21d704a241029ce9b7f001b7bac5 +msgid "Key" +msgstr "키" + +#: ../../tutorial.rst:77 8400973337594bcf8e3da33817744ccf +msgid "Value" +msgstr "값" + +#: ../../tutorial.rst:79 6aa5ce470f8642c4af491e28af8bc999 +msgid "producer" +msgstr "producer" + +#: ../../tutorial.rst:79 52ee9d5cf1d94e4e824f1486804c0a49 +msgid "producer (producing software)" +msgstr "생성자(생성 소프트웨어)" + +#: ../../tutorial.rst:80 85a0fa96090940f499052abc68aac361 +msgid "format" +msgstr "format" + +#: ../../tutorial.rst:80 cd1a7dc5cfca479ca59b0e5e2b00f5bb +msgid "format: 'PDF-1.4', 'EPUB', etc." +msgstr "형식: 'PDF-1.4', 'EPUB' 등" + +#: ../../tutorial.rst:81 96773e4fde41492a8fbc9d8e0dfffe01 +msgid "encryption" +msgstr "encryption" + +#: ../../tutorial.rst:81 4b242b9f88fb40e4847a8ad0358789ec +msgid "encryption method used if any" +msgstr "사용된 암호화 방법(있는 경우)" + +#: ../../tutorial.rst:82 520e1f5cffc3419faccbecacb778ad88 +#: adc5542c41534ce68fe9d02192b1f9e0 +msgid "author" +msgstr "author" + +#: ../../tutorial.rst:83 d593bfa2f3f1464ca98020a5d8cc2d74 +msgid "modDate" +msgstr "modDate" + +#: ../../tutorial.rst:83 49db626a877e41699ba02058512b97d9 +msgid "date of last modification" +msgstr "마지막 수정 날짜" + +#: ../../tutorial.rst:84 ac0f4c311d9d4f91b366556afa0eac07 +#: cad667882e9247ed9a8465e9e8f6f30e +msgid "keywords" +msgstr "keywords" + +#: ../../tutorial.rst:85 4a12c1d082794891871985009346217e +#: 9afee53342a24f749bd6b1695ceba4ca +msgid "title" +msgstr "title" + +#: ../../tutorial.rst:86 0659f2376ae84f0694559432c6acc6ab +msgid "creationDate" +msgstr "creationDate" + +#: ../../tutorial.rst:86 c3e9c7f2af964de1a4ea55d6dfc87ae7 +msgid "date of creation" +msgstr "생성 날짜" + +#: ../../tutorial.rst:87 f7336bfddb6c47da8c979a965fd0e200 +msgid "creator" +msgstr "creator" + +#: ../../tutorial.rst:87 cde7dc3a8d604edeb4df81869876cc12 +msgid "creating application" +msgstr "생성 애플리케이션" + +#: ../../tutorial.rst:88 59f646e95f21440aab80a6d9eaee2cb5 +#: dfcc9986b7404e3ea4869973f3300afb +msgid "subject" +msgstr "subject" + +#: ../../tutorial.rst:91 e212f47f482f4ba086c347c1ee602818 +msgid "" +"Apart from these standard metadata, **PDF documents** starting from PDF " +"version 1.4 may also contain so-called *\"metadata streams\"* (see also " +":data:`stream`). Information in such streams is coded in XML. PyMuPDF " +"deliberately contains no XML components for this purpose (the " +":ref:`PyMuPDF Xml class` is a helper class intended to access the " +"DOM content of a :ref:`Story` object), so we do not directly support " +"access to information contained therein. But you can extract the stream " +"as a whole, inspect or modify it using a package like `lxml`_ and then " +"store the result back into the PDF. If you want, you can also delete this" +" data altogether." +msgstr "이러한 표준 메타데이터 외에도 PDF 버전 1.4부터 시작하는 **PDF 문서** 는 소위 *\"metadata streams\"* (:data:`stream` 도 참조)를 포함할 수도 있습니다. 이러한 스트림의 정보는 XML로 인코딩됩니다. |PyMuPDF| 는 의도적으로 이 목적을 위한 XML 구성 요소를 포함하지 않습니다(:ref:`PyMuPDF Xml class` 는 :ref:`Story` 객체의 DOM 콘텐츠에 액세스하기 위한 헬퍼 클래스입니다). 따라서 그 안에 포함된 정보에 대한 직접 액세스를 지원하지 않습니다. 그러나 스트림 전체를 추출하고 `lxml`_ 같은 패키지를 사용하여 검사하거나 수정한 다음 결과를 PDF에 다시 저장할 수 있습니다. 원하는 경우 이 데이터를 완전히 삭제할 수도 있습니다." + +#: ../../tutorial.rst:93 5ec202ac5c494be3bf62e68bf5ba28b1 +msgid "" +"There are two utility scripts in the repository that `metadata import " +"(PDF only)`_ resp. `metadata export`_ metadata from resp. to CSV files." +msgstr "저장소에는 CSV 파일에서 메타데이터를 가져오거나(`metadata import (PDF only)`_) CSV 파일로 내보내는(`metadata export`_) 두 가지 유틸리티 스크립트가 있습니다." + +#: ../../tutorial.rst:96 1d31369f6b884d08a61b700b01e9e7b1 +msgid "Working with Outlines" +msgstr "개요 작업" + +#: ../../tutorial.rst:97 fe8e22242a324f349fca363f8d0f6348 +msgid "" +"The easiest way to get all outlines (also called \"bookmarks\") of a " +"document, is by loading its *table of contents*::" +msgstr "문서의 모든 개요(\"bookmarks\"라고도 함)를 가져오는 가장 쉬운 방법은 *목차* 를 로드하는 것입니다::" + +#: ../../tutorial.rst:101 4fe54a9ca0244cd9871ba72a155cbe95 +msgid "" +"This will return a Python list of lists *[[lvl, title, page, ...], ...]* " +"which looks much like a conventional table of contents found in books." +msgstr "이것은 책에서 볼 수 있는 일반적인 목차와 매우 유사한 Python 리스트의 리스트 *[[lvl, title, page, ...], ...]* 를 반환합니다." + +#: ../../tutorial.rst:103 a0df1526a42e4d88bf1fb24bf14c2392 +msgid "" +"*lvl* is the hierarchy level of the entry (starting from 1), *title* is " +"the entry's title, and *page* the page number (1-based!). Other " +"parameters describe details of the bookmark target." +msgstr "*lvl* 은 항목의 계층 레벨(1부터 시작), *title* 은 항목의 제목, *page* 는 페이지 번호(1 기반!)입니다. 다른 매개변수는 북마크 대상의 세부 정보를 설명합니다." + +#: ../../tutorial.rst:105 f60efb5302364edfb64c7775c185929b +msgid "" +"There are two utility scripts in the repository that `toc import (PDF " +"only)`_ resp. `toc export`_ table of contents from resp. to CSV files." +msgstr "저장소에는 CSV 파일에서 목차를 가져오거나(`toc import (PDF only)`_) CSV 파일로 내보내는(`toc export`_) 두 가지 유틸리티 스크립트가 있습니다." + +#: ../../tutorial.rst:108 f7e0d8ac5cd64bbfb19d5a7680f37840 +msgid "Working with Pages" +msgstr "페이지 작업" + +#: ../../tutorial.rst:109 bea68ab57a6a4ec49fa98a57625daec3 +msgid ":ref:`Page` handling is at the core of MuPDF's functionality." +msgstr ":ref:`Page` 처리는 |MuPDF| 기능의 핵심입니다." + +#: ../../tutorial.rst:111 705fbd37cfd04f5eb2725ee74973716c +msgid "" +"You can render a page into a raster or vector (SVG) image, optionally " +"zooming, rotating, shifting or shearing it." +msgstr "페이지를 래스터 또는 벡터(SVG) 이미지로 렌더링할 수 있으며, 선택적으로 확대/축소, 회전, 이동 또는 기울이기를 할 수 있습니다." + +#: ../../tutorial.rst:112 07346e73ca2f4851bcb7243ed707f0c5 +msgid "" +"You can extract a page's text and images in many formats and search for " +"text strings." +msgstr "페이지의 텍스트와 이미지를 여러 형식으로 추출하고 텍스트 문자열을 검색할 수 있습니다." + +#: ../../tutorial.rst:113 b10390460b7e469d933d4b0bca64cbd8 +msgid "" +"For PDF documents many more methods are available to add text or images " +"to pages." +msgstr "PDF 문서의 경우 페이지에 텍스트나 이미지를 추가하는 더 많은 메서드를 사용할 수 있습니다." + +#: ../../tutorial.rst:115 634af7e840c34aba910ebc8b50aac6b1 +msgid "" +"First, a :ref:`Page` must be created. This is a method of " +":ref:`Document`::" +msgstr "먼저 :ref:`Page` 를 생성해야 합니다. 이것은 :ref:`Document` 의 메서드입니다::" + +#: ../../tutorial.rst:120 e13781020ec34c48a1d29405c5d4063b +msgid "" +"Any integer `-∞ < pno < page_count` is possible here. Negative numbers " +"count backwards from the end, so *doc[-1]* is the last page, like with " +"Python sequences." +msgstr "여기서는 `-∞ < pno < page_count` 범위의 정수가 가능합니다. 음수는 끝에서 역순으로 계산되므로 Python 시퀀스와 같이 *doc[-1]* 은 마지막 페이지입니다." + +#: ../../tutorial.rst:122 4e28316907e444489cfbf10a12e27bba +msgid "" +"Some more advanced way would be using the document as an **iterator** " +"over its pages::" +msgstr "더 고급 방법은 문서를 페이지에 대한 **반복자** 로 사용하는 것입니다::" + +#: ../../tutorial.rst:136 84e73234fd424852a2b36c0bc15b2d9d +msgid "Once you have your page, here is what you would typically do with it:" +msgstr "페이지를 얻으면 일반적으로 다음과 같은 작업을 수행합니다:" + +#: ../../tutorial.rst:139 088737b71af34948b17fbe30a60a9dc4 +msgid "Inspecting the Links, Annotations or Form Fields of a Page" +msgstr "페이지의 링크, 주석 또는 양식 필드 검사" + +#: ../../tutorial.rst:140 80600b8ed5664159a8aad4e5b6706037 +msgid "" +"Links are shown as \"hot areas\" when a document is displayed with some " +"viewer software. If you click while your cursor shows a hand symbol, you " +"will usually be taken to the target that is encoded in that hot area. " +"Here is how to get all links::" +msgstr "링크는 문서가 뷰어 소프트웨어로 표시될 때 \"hot areas\"로 표시됩니다. 커서가 손 기호를 표시하는 동안 클릭하면 일반적으로 해당 hot area에 인코딩된 대상으로 이동합니다. 모든 링크를 가져오는 방법은 다음과 같습니다::" + +#: ../../tutorial.rst:145 5b90391005b24d46b953ffde747dbd80 +msgid "" +"*links* is a Python list of dictionaries. For details see " +":meth:`Page.get_links`." +msgstr "*links* 는 딕셔너리의 Python 리스트입니다. 자세한 내용은 :meth:`Page.get_links` 를 참조하세요." + +#: ../../tutorial.rst:147 19b388140fd44ace88779d4d2f85e3f5 +msgid "You can also use an iterator which emits one link at a time::" +msgstr "한 번에 하나의 링크를 생성하는 반복자를 사용할 수도 있습니다::" + +#: ../../tutorial.rst:152 972adb409c6b4d1781d1976cb040f944 +msgid "" +"If dealing with a PDF document page, there may also exist annotations " +"(:ref:`Annot`) or form fields (:ref:`Widget`), each of which have their " +"own iterators::" +msgstr "PDF 문서 페이지를 다루는 경우 주석(:ref:`Annot`) 또는 양식 필드(:ref:`Widget`)가 있을 수도 있으며, 각각 고유한 반복자를 가집니다::" + +#: ../../tutorial.rst:162 354960511fbd4e299b3561f27464ffa6 +msgid "Rendering a Page" +msgstr "페이지 렌더링" + +#: ../../tutorial.rst:163 4b29e0e4b9f04b54a4b12db45462cebe +msgid "This example creates a **raster** image of a page's content::" +msgstr "이 예제는 페이지 콘텐츠의 **래스터** 이미지를 생성합니다::" + +#: ../../tutorial.rst:167 b23c4b5d3b5345f0add5cb0dffaa6255 +msgid "" +"``pix`` is a :ref:`Pixmap` object which (in this case) contains an " +"**RGB** image of the page, ready to be used for many purposes. Method " +":meth:`Page.get_pixmap` offers lots of variations for controlling the " +"image: resolution / DPI, colorspace (e.g. to produce a grayscale image or" +" an image with a subtractive color scheme), transparency, rotation, " +"mirroring, shifting, shearing, etc. For example: to create an **RGBA** " +"image (i.e. containing an alpha channel), specify *pix = " +"page.get_pixmap(alpha=True)*." +msgstr "``pix`` 는 (이 경우) 페이지의 **RGB** 이미지를 포함하는 :ref:`Pixmap` 객체로, 다양한 용도로 사용할 준비가 되어 있습니다. :meth:`Page.get_pixmap` 메서드는 이미지를 제어하기 위한 많은 변형을 제공합니다: 해상도/DPI, 색 공간(예: 그레이스케일 이미지 또는 감산 색상 체계의 이미지 생성), 투명도, 회전, 미러링, 이동, 기울이기 등. 예를 들어: **RGBA** 이미지(즉, 알파 채널 포함)를 생성하려면 *pix = page.get_pixmap(alpha=True)* 를 지정하세요." + +#: ../../tutorial.rst:169 e2331fb68ff848cab6245b27ba5f4079 +msgid "" +"A :ref:`Pixmap` contains a number of methods and attributes which are " +"referenced below. Among them are the integers ``width``, ``height`` (each" +" in pixels) and ``stride`` (number of bytes of one horizontal image " +"line). Attribute ``samples`` represents a rectangular area of bytes " +"representing the image data (a Python ``bytes`` object)." +msgstr ":ref:`Pixmap` 은 아래에서 참조되는 많은 메서드와 속성을 포함합니다. 그 중에는 정수 ``width``, ``height`` (각각 픽셀 단위) 및 ``stride`` (한 수평 이미지 라인의 바이트 수)가 있습니다. 속성 ``samples`` 는 이미지 데이터를 나타내는 바이트의 사각형 영역(Python ``bytes`` 객체)을 나타냅니다." + +#: ../../tutorial.rst:171 03e8c67cd34a4299bbacfe8abd40de63 +msgid "" +"You can also create a **vector** image of a page by using " +":meth:`Page.get_svg_image`. Refer to this `Vector Image Support page`_ " +"for details." +msgstr ":meth:`Page.get_svg_image` 를 사용하여 페이지의 **벡터** 이미지를 생성할 수도 있습니다. 자세한 내용은 `Vector Image Support page`_ 를 참조하세요." + +#: ../../tutorial.rst:174 c887d409be174ceca947d6b32e881d03 +msgid "Saving the Page Image in a File" +msgstr "파일에 페이지 이미지 저장" + +#: ../../tutorial.rst:175 5e39659faf42451083abd892ba3bdb4e +msgid "We can simply store the image in a PNG file::" +msgstr "이미지를 PNG 파일에 간단히 저장할 수 있습니다::" + +#: ../../tutorial.rst:180 7ef7b19218354906a6c5d511a0672a1f +msgid "Displaying the Image in GUIs" +msgstr "GUI에서 이미지 표시" + +#: ../../tutorial.rst:181 f6651c84f3d54689abdaff0d00a3095e +msgid "" +"We can also use it in GUI dialog managers. :attr:`Pixmap.samples` " +"represents an area of bytes of all the pixels as a Python bytes object. " +"Here are some examples, find more in the `examples`_ directory." +msgstr "GUI 대화 상자 관리자에서도 사용할 수 있습니다. :attr:`Pixmap.samples` 는 모든 픽셀의 바이트 영역을 Python bytes 객체로 나타냅니다. 다음은 몇 가지 예입니다. `examples`_ 디렉토리에서 더 많은 예를 찾을 수 있습니다." + +#: ../../tutorial.rst:184 93b0ff029516467ca4a36bb526aeb687 +msgid "wxPython" +msgstr "wxPython" + +#: ../../tutorial.rst:185 6f03843027834dda8394ee85d04238d5 +msgid "" +"Consult their documentation for adjustments to RGB(A) pixmaps and, " +"potentially, specifics for your wxPython release::" +msgstr "RGB(A) pixmap 조정 및 wxPython 릴리스별 세부 사항에 대해서는 해당 문서를 참조하세요::" + +#: ../../tutorial.rst:193 b6f1e9b15675411e9bd7023777e4b99a +msgid "Tkinter" +msgstr "Tkinter" + +#: ../../tutorial.rst:194 c11e72b65c0e4368a0fe00c748909105 +msgid "Please also see section 3.19 of the `Pillow documentation`_::" +msgstr "`Pillow documentation`_ 의 섹션 3.19도 참조하세요::" + +#: ../../tutorial.rst:203 41e53493133b4606b75fc48aa4b02d6b +msgid "The following **avoids using Pillow**::" +msgstr "다음은 **Pillow 사용을 피합니다**::" + +#: ../../tutorial.rst:210 2d36aa26bccf4e5ba49ede95aef20a49 +msgid "" +"If you are looking for a complete Tkinter script paging through **any " +"supported** document, `here it is!`_. It can also zoom into pages, and it" +" runs under Python 2 or 3. It requires the extremely handy `PySimpleGUI`_" +" pure Python package." +msgstr "**지원되는 모든** 문서를 페이지로 나누는 완전한 Tkinter 스크립트를 찾고 있다면 `여기 있습니다!`_. 페이지 확대도 가능하며 Python 2 또는 3에서 실행됩니다. 매우 편리한 `PySimpleGUI`_ 순수 Python 패키지가 필요합니다." + +#: ../../tutorial.rst:213 9a88cb97b2d9452ab197250569501e5f +msgid "PyQt4, PyQt5, PySide" +msgstr "PyQt4, PyQt5, PySide" + +#: ../../tutorial.rst:214 daeac83261ba4066a7dc604d3aa562f2 +msgid "Please also see section 3.16 of the `Pillow documentation`_::" +msgstr "`Pillow documentation`_ 의 섹션 3.16도 참조하세요::" + +#: ../../tutorial.rst:223 b85add3e93e4499b89e82f1646430a26 +msgid "" +"Again, you also can get along **without using Pillow.** Qt's `QImage` " +"luckily supports native Python pointers, so the following is the " +"recommended way to create Qt images::" +msgstr "다시 말하지만, **Pillow를 사용하지 않고도** 진행할 수 있습니다. Qt의 `QImage` 는 다행히 네이티브 Python 포인터를 지원하므로 다음은 Qt 이미지를 생성하는 권장 방법입니다::" + +#: ../../tutorial.rst:233 0fcb7bc54009424fa20575e22fb06d0e +msgid "Extracting Text and Images" +msgstr "텍스트 및 이미지 추출" + +#: ../../tutorial.rst:234 f5900cc6c4924334a0f4bf4d1bdae4ae +msgid "" +"We can also extract all text, images and other information of a page in " +"many different forms, and levels of detail::" +msgstr "페이지의 모든 텍스트, 이미지 및 기타 정보를 다양한 형식과 세부 수준으로 추출할 수도 있습니다::" + +#: ../../tutorial.rst:238 48bff694040b45549010d3b53435733b +msgid "" +"Use one of the following strings for *opt* to obtain different formats " +"[#f2]_:" +msgstr "다양한 형식을 얻으려면 *opt* 에 다음 문자열 중 하나를 사용하세요 [#f2]_:" + +#: ../../tutorial.rst:240 3c9203fe338a46629695295936dc44a4 +msgid "" +"**\"text\"**: (default) plain text with line breaks. No formatting, no " +"text position details, no images." +msgstr "**\"text\"**: (기본값) 줄바꿈이 있는 일반 텍스트. 서식 없음, 텍스트 위치 세부 정보 없음, 이미지 없음." + +#: ../../tutorial.rst:242 ef523faacbb4433e9599b78451f9a623 +msgid "**\"blocks\"**: generate a list of text blocks (= paragraphs)." +msgstr "**\"blocks\"**: 텍스트 블록(= 단락) 목록 생성." + +#: ../../tutorial.rst:244 494f2cbaf4dc4d3595b54a18d8165a4f +msgid "**\"words\"**: generate a list of words (strings not containing spaces)." +msgstr "**\"words\"**: 단어 목록 생성(공백을 포함하지 않는 문자열)." + +#: ../../tutorial.rst:246 f95d696f7efa4e48a4fe4018638ee139 +msgid "" +"**\"html\"**: creates a full visual version of the page including any " +"images. This can be displayed with your internet browser." +msgstr "**\"html\"**: 이미지를 포함한 페이지의 전체 시각적 버전 생성. 인터넷 브라우저로 표시할 수 있습니다." + +#: ../../tutorial.rst:248 8f24748d78b04cc6b92c29fcae8ff8ca +msgid "" +"**\"dict\"** / **\"json\"**: same information level as HTML, but provided" +" as a Python dictionary or resp. JSON string. See " +":meth:`TextPage.extractDICT` for details of its structure." +msgstr "**\"dict\"** / **\"json\"**: HTML과 동일한 정보 수준이지만 Python 딕셔너리 또는 JSON 문자열로 제공됩니다. 구조에 대한 자세한 내용은 :meth:`TextPage.extractDICT` 를 참조하세요." + +#: ../../tutorial.rst:250 266283a205584bb98dd88e0282b81b8a +msgid "" +"**\"rawdict\"** / **\"rawjson\"**: a super-set of **\"dict\"** / " +"**\"json\"**. It additionally provides character detail information like " +"XML. See :meth:`TextPage.extractRAWDICT` for details of its structure." +msgstr "**\"rawdict\"** / **\"rawjson\"**: **\"dict\"** / **\"json\"** 의 상위 집합. XML과 같은 문자 세부 정보를 추가로 제공합니다. 구조에 대한 자세한 내용은 :meth:`TextPage.extractRAWDICT` 를 참조하세요." + +#: ../../tutorial.rst:252 be5015a7daf84be89659b718295dcaf6 +msgid "" +"**\"xhtml\"**: text information level as the TEXT version but includes " +"images. Can also be displayed by internet browsers." +msgstr "**\"xhtml\"**: TEXT 버전과 동일한 텍스트 정보 수준이지만 이미지를 포함합니다. 인터넷 브라우저로도 표시할 수 있습니다." + +#: ../../tutorial.rst:254 6a9fccccc2af470dbe418b64d95196fb +msgid "" +"**\"xml\"**: contains no images, but full position and font information " +"down to each single text character. Use an XML module to interpret." +msgstr "**\"xml\"**: 이미지는 포함하지 않지만 각 단일 텍스트 문자까지 전체 위치 및 글꼴 정보를 포함합니다. XML 모듈을 사용하여 해석합니다." + +#: ../../tutorial.rst:256 c2fb29629d574544ba6240118706a993 +msgid "" +"To give you an idea about the output of these alternatives, we did text " +"example extracts. See :ref:`Appendix1`." +msgstr "이러한 대안의 출력에 대한 아이디어를 제공하기 위해 텍스트 예제 추출을 수행했습니다. :ref:`Appendix1` 을 참조하세요." + +#: ../../tutorial.rst:259 6fcbe8fa549f4672940aa6a7baa43298 +msgid "Searching for Text" +msgstr "텍스트 검색" + +#: ../../tutorial.rst:260 055f0da706d34efba1868870cc7ac25e +msgid "You can find out, exactly where on a page a certain text string appears::" +msgstr "페이지에서 특정 텍스트 문자열이 정확히 어디에 나타나는지 확인할 수 있습니다::" + +#: ../../tutorial.rst:264 fa6460b021d44b8aba602b1940777f99 +msgid "" +"This delivers a list of rectangles (see :ref:`Rect`), each of which " +"surrounds one occurrence of the string \"mupdf\" (case insensitive). You " +"could use this information to e.g. highlight those areas (PDF only) or " +"create a cross reference of the document." +msgstr "이것은 사각형 목록(:ref:`Rect` 참조)을 제공하며, 각각은 문자열 \"mupdf\" 의 한 번 발생을 둘러쌉니다(대소문자 구분 안 함). 이 정보를 사용하여 예를 들어 해당 영역을 강조 표시하거나(PDF만) 문서의 상호 참조를 생성할 수 있습니다." + +#: ../../tutorial.rst:266 9602ff0fbee54febb5a9bce0eb7643a8 +msgid "" +"Please also do have a look at chapter :ref:`cooperation` and at demo " +"programs `demo.py`_ and `demo-lowlevel.py`_. Among other things they " +"contain details on how the :ref:`TextPage`, :ref:`Device` and " +":ref:`DisplayList` classes can be used for a more direct control, e.g. " +"when performance considerations suggest it." +msgstr ":ref:`cooperation` 장과 데모 프로그램 `demo.py`_ 및 `demo-lowlevel.py`_ 도 살펴보세요. 특히 성능 고려 사항이 제안될 때 :ref:`TextPage`, :ref:`Device` 및 :ref:`DisplayList` 클래스를 더 직접적으로 제어하는 방법에 대한 세부 정보를 포함합니다." + +#: ../../tutorial.rst:273 d532b1e3d0b249d5863b7d1af292f56f +msgid "Stories: Generating PDF from HTML Source" +msgstr "Stories: HTML 소스에서 PDF 생성" + +#: ../../tutorial.rst:275 416352710d134781921a3400fd5b5ef0 +msgid "" +"The :ref:`Story` class is a new feature of PyMuPDF version 1.21.0. It " +"represents support for MuPDF's **\"story\"** interface." +msgstr ":ref:`Story` 클래스는 |PyMuPDF| 버전 1.21.0의 새로운 기능입니다. |MuPDF| 의 **\"story\"** 인터페이스 지원을 나타냅니다." + +#: ../../tutorial.rst:277 accd3e3fc6d547b78b274237642033d6 +msgid "" +"The following is a quote from the book `\"MuPDF Explored\"`_ by Robin " +"Watts from `Artifex`_:" +msgstr "다음은 `Artifex`_ 의 Robin Watts가 쓴 `\"MuPDF Explored\"`_ 책에서 인용한 내용입니다:" + +#: ../../tutorial.rst:281 47e500970eb842949a968db6adee0910 +msgid "" +"*Stories provide a way to easily layout styled content for use with " +"devices, such as those offered by Document Writers (...). The concept of " +"a story comes from desktop publishing, which in turn (...) gets it from " +"newspapers. If you consider a traditional newspaper layout, it will " +"consist of various news articles (stories) that are laid out into " +"multiple columns, possibly across multiple pages.*" +msgstr "*Stories는 Document Writers가 제공하는 것과 같은 장치에서 사용할 수 있도록 스타일이 지정된 콘텐츠를 쉽게 레이아웃하는 방법을 제공합니다(...). story의 개념은 데스크톱 출판에서 나왔으며, 이는 차례로(...) 신문에서 가져온 것입니다. 전통적인 신문 레이아웃을 고려하면 여러 열로 배치되고 여러 페이지에 걸칠 수 있는 다양한 뉴스 기사(stories)로 구성됩니다.*" + +#: ../../tutorial.rst:283 27ebf650cfb746b6ae9e42bdde508478 +msgid "" +"*Accordingly, MuPDF uses a story to represent a flow of text with styling" +" information. The user of the story can then supply a sequence of " +"rectangles into which the story will be laid out, and the positioned text" +" can then be drawn to an output device. This keeps the concept of the " +"text itself (the story) to be separated from the areas into which the " +"text should be flowed (the layout).*" +msgstr "*따라서 |MuPDF| 는 스타일 정보가 있는 텍스트 흐름을 나타내기 위해 story를 사용합니다. story 사용자는 story가 배치될 사각형 시퀀스를 제공할 수 있으며, 배치된 텍스트는 출력 장치에 그려질 수 있습니다. 이것은 텍스트 자체(story)의 개념을 텍스트가 흐를 영역(레이아웃)과 분리된 상태로 유지합니다.*" + +#: ../../tutorial.rst:287 7da64d937fe84390a33b56158c76d219 +msgid "" +"A Story works somewhat similar to an internet browser: It faithfully " +"parses and renders HTML hypertext and also optional stylesheets (CSS). " +"But its **output is a PDF** -- not web pages." +msgstr "Story는 인터넷 브라우저와 다소 유사하게 작동합니다: HTML 하이퍼텍스트와 선택적 스타일시트(CSS)를 충실하게 구문 분석하고 렌더링합니다. 그러나 **출력은 PDF** 입니다. 웹 페이지가 아닙니다." + +#: ../../tutorial.rst:290 290d5414b6754a0a8cec4ef553811e70 +msgid "" +"When creating a :ref:`Story`, the input from up to three different " +"information sources is taken into account. All these items are optional." +msgstr ":ref:`Story` 를 생성할 때 최대 세 가지 다른 정보 소스의 입력이 고려됩니다. 이러한 항목은 모두 선택 사항입니다." + +#: ../../tutorial.rst:292 b76811f3a6e94ca48849af027b1e4aa7 +msgid "" +"HTML source code, either a Python string or **created by the script** " +"using methods of :ref:`Xml`." +msgstr "HTML 소스 코드, Python 문자열이거나 :ref:`Xml` 의 메서드를 사용하여 **스크립트로 생성된** 것." + +#: ../../tutorial.rst:294 631005d36d9d478eb1222c6746a62f78 +msgid "" +"CSS (Cascaded Style Sheet) source code, provided as a Python string. CSS " +"can be used to provide styling information (text font size, color, etc.) " +"like it would happen for web pages. Obviously, this string may also be " +"read from a file." +msgstr "CSS(Cascaded Style Sheet) 소스 코드, Python 문자열로 제공됩니다. CSS는 웹 페이지에서와 같이 스타일 정보(텍스트 글꼴 크기, 색상 등)를 제공하는 데 사용할 수 있습니다. 명백히 이 문자열은 파일에서 읽을 수도 있습니다." + +#: ../../tutorial.rst:296 b555903aaf064df4ac02bf4379ecd84b +msgid "" +"An :ref:`Archive` **must be used** whenever the DOM references images, or" +" uses text fonts except the standard :ref:`Base-14-Fonts`, CJK fonts and " +"the NOTO fonts generated into the PyMuPDF binary." +msgstr "DOM이 이미지를 참조하거나 표준 :ref:`Base-14-Fonts`, CJK 글꼴 및 |PyMuPDF| 바이너리에 생성된 NOTO 글꼴을 제외한 텍스트 글꼴을 사용할 때마다 :ref:`Archive` **를 사용해야 합니다**." + +#: ../../tutorial.rst:299 5a5a7775caf44157ab99d4fb18a08da0 +msgid "" +"The :ref:`API` allows creating DOMs completely from scratch, " +"including desired styling information. It can also be used to modify or " +"extend **provided** HTML: text can be deleted or replaced, or its styling" +" can be changed. Text -- for example extracted from databases -- can also" +" be added and fill template-like HTML documents." +msgstr ":ref:`API` 는 원하는 스타일 정보를 포함하여 처음부터 DOM을 생성할 수 있게 합니다. 또한 **제공된** HTML을 수정하거나 확장하는 데 사용할 수 있습니다: 텍스트를 삭제하거나 교체하거나 스타일을 변경할 수 있습니다. 데이터베이스에서 추출한 것과 같은 텍스트도 추가하고 템플릿과 같은 HTML 문서를 채울 수 있습니다." + +#: ../../tutorial.rst:301 eff1f356f57a4a5baa32893df82ccc7f +msgid "" +"It is **not required** to provide syntactically complete HTML documents: " +"snippets like `Hello World!` are fully accepted, and many /" +" most syntax errors are automatically corrected." +msgstr "구문적으로 완전한 HTML 문서를 제공할 **필요는 없습니다**: `Hello World!` 와 같은 스니펫이 완전히 허용되며 많은/대부분의 구문 오류가 자동으로 수정됩니다." + +#: ../../tutorial.rst:303 365fa2cc06434ed8ad7429aaf3a63265 +msgid "" +"After the HTML is considered complete, it can be used to create a PDF " +"document. This happens via the new :ref:`DocumentWriter` class. The " +"programmer calls its methods to create a new empty page, and passes " +"rectangles to the Story to fill them." +msgstr "HTML이 완료된 것으로 간주되면 PDF 문서를 생성하는 데 사용할 수 있습니다. 이것은 새로운 :ref:`DocumentWriter` 클래스를 통해 수행됩니다. 프로그래머는 메서드를 호출하여 새로운 빈 페이지를 만들고 Story에 사각형을 전달하여 채웁니다." + +#: ../../tutorial.rst:305 3291ca47108e47b19f4b0bc0a5a4027b +msgid "" +"The story in turn will return completion codes indicating whether or not " +"more content is waiting to be written. Which part of the content will " +"land in which rectangle or on which page is automatically determined by " +"the story itself -- it cannot be influenced other than by providing the " +"rectangles." +msgstr "story는 차례로 더 많은 콘텐츠가 작성되기를 기다리고 있는지 여부를 나타내는 완료 코드를 반환합니다. 콘텐츠의 어느 부분이 어떤 사각형이나 어떤 페이지에 배치될지는 story 자체에 의해 자동으로 결정됩니다. 사각형을 제공하는 것 외에는 영향을 줄 수 없습니다." + +#: ../../tutorial.rst:307 bd9d9dd769be42d4b2431ad4fac946e4 +msgid "" +"Please see the :ref:`Stories recipes` for a number of " +"typical use cases." +msgstr "일반적인 사용 사례는 :ref:`Stories recipes` 를 참조하세요." + +#: ../../tutorial.rst:311 b4514f2b40064533bbf026420a0260d7 +msgid "PDF Maintenance" +msgstr "PDF 유지보수" + +#: ../../tutorial.rst:312 76f8cae636954def812f6bd6aa4d9077 +msgid "" +"PDFs are the only document type that can be **modified** using PyMuPDF. " +"Other file types are read-only." +msgstr "PDF는 |PyMuPDF| 를 사용하여 **수정** 할 수 있는 유일한 문서 타입입니다. 다른 파일 타입은 읽기 전용입니다." + +#: ../../tutorial.rst:314 6d192d43c9e24232be29c65e1e0c1018 +msgid "" +"However, you can convert **any document** (including images) to a PDF and" +" then apply all PyMuPDF features to the conversion result. Find out more " +"here :meth:`Document.convert_to_pdf`, and also look at the demo script " +"`pdf-converter.py`_ which can convert any :ref:`supported " +"document` to PDF." +msgstr "그러나 **모든 문서** (이미지 포함)를 PDF로 변환한 다음 변환 결과에 모든 |PyMuPDF| 기능을 적용할 수 있습니다. 자세한 내용은 :meth:`Document.convert_to_pdf` 를 참조하고, 모든 :ref:` 지원되는 문서` 를 PDF로 변환할 수 있는 데모 스크립트 `pdf-converter.py`_ 도 살펴보세요." + +#: ../../tutorial.rst:316 05d7bbe4027a4e9b98372c4707c22cd4 +msgid "" +":meth:`Document.save()` always stores a PDF in its current (potentially " +"modified) state on disk." +msgstr ":meth:`Document.save()` 는 항상 PDF를 현재(잠재적으로 수정된) 상태로 디스크에 저장합니다." + +#: ../../tutorial.rst:318 400c516b51f0441a9c6ac7d433101329 +msgid "" +"You normally can choose whether to save to a new file, or just append " +"your modifications to the existing one (\"incremental save\"), which " +"often is very much faster." +msgstr "일반적으로 새 파일에 저장할지 또는 기존 파일에 수정 사항만 추가할지(\"incremental save\") 선택할 수 있으며, 후자가 종종 훨씬 빠릅니다." + +#: ../../tutorial.rst:320 57fdfcd11a1245249d7e837f37b43094 +msgid "" +"The following describes ways how you can manipulate PDF documents. This " +"description is by no means complete: much more can be found in the " +"following chapters." +msgstr "다음은 PDF 문서를 조작하는 방법을 설명합니다. 이 설명은 결코 완전하지 않습니다. 다음 장에서 더 많은 내용을 찾을 수 있습니다." + +#: ../../tutorial.rst:323 ec4c85ec57124203b67f52652f082b88 +msgid "Modifying, Creating, Re-arranging and Deleting Pages" +msgstr "페이지 수정, 생성, 재배열 및 삭제" + +#: ../../tutorial.rst:324 625ab390c172404fbdc7aa9520874495 +msgid "" +"There are several ways to manipulate the so-called **page tree** (a " +"structure describing all the pages) of a PDF:" +msgstr "PDF의 소위 **페이지 트리** (모든 페이지를 설명하는 구조)를 조작하는 여러 방법이 있습니다:" + +#: ../../tutorial.rst:326 159259eb9e4145daa6c13b2ad767f12e +msgid "" +":meth:`Document.delete_page` and :meth:`Document.delete_pages` delete " +"pages." +msgstr ":meth:`Document.delete_page` 및 :meth:`Document.delete_pages` 는 페이지를 삭제합니다." + +#: ../../tutorial.rst:328 473d5897fff649019f539d6232e91f44 +msgid "" +":meth:`Document.copy_page`, :meth:`Document.fullcopy_page` and " +":meth:`Document.move_page` copy or move a page to other locations within " +"the same document." +msgstr ":meth:`Document.copy_page`, :meth:`Document.fullcopy_page` 및 :meth:`Document.move_page` 는 페이지를 같은 문서 내의 다른 위치로 복사하거나 이동합니다." + +#: ../../tutorial.rst:330 1e6c19e64c734426bec58da4dfbe7e0b +msgid "" +":meth:`Document.select` shrinks a PDF down to selected pages. Parameter " +"is a sequence [#f3]_ of the page numbers that you want to keep. These " +"integers must all be in range *0 <= i < page_count*. When executed, all " +"pages **missing** in this list will be deleted. Remaining pages will " +"occur **in the sequence and as many times (!) as you specify them**." +msgstr ":meth:`Document.select` 는 PDF를 선택한 페이지로 축소합니다. 매개변수는 유지하려는 페이지 번호의 시퀀스 [#f3]_ 입니다. 이러한 정수는 모두 *0 <= i < page_count* 범위에 있어야 합니다. 실행되면 이 목록에 **없는** 모든 페이지가 삭제됩니다. 남은 페이지는 **시퀀스에서 지정한 횟수만큼(!) 나타납니다**." + +#: ../../tutorial.rst:332 1032d54636274cfab2c769409afa76e0 +msgid "So you can easily create new PDFs with" +msgstr "따라서 다음과 같은 새 PDF를 쉽게 만들 수 있습니다:" + +#: ../../tutorial.rst:334 e8415caf00594110bef2b948c89abcbd +msgid "the first or last 10 pages," +msgstr "처음 또는 마지막 10페이지," + +#: ../../tutorial.rst:335 fc336f721207413b95dce987329adfad +msgid "only the odd or only the even pages (for doing double-sided printing)," +msgstr "홀수 페이지만 또는 짝수 페이지만(양면 인쇄용)," + +#: ../../tutorial.rst:336 3a6929bd1e7d4e178ef1549c9c67d87a +msgid "pages that **do** or **don't** contain a given text," +msgstr "주어진 텍스트를 **포함하는** 또는 **포함하지 않는** 페이지," + +#: ../../tutorial.rst:337 968ba746356447208207a1cee391ea52 +msgid "reverse the page sequence, ..." +msgstr "페이지 시퀀스 반전, ..." + +#: ../../tutorial.rst:339 1c2ed724e9564be1a8841011462e53a1 +msgid "... whatever you can think of." +msgstr "... 생각할 수 있는 모든 것." + +#: ../../tutorial.rst:341 3a7dc1aa206e4858a930d0cc0ce437cf +msgid "" +"The saved new document will contain links, annotations and bookmarks that" +" are still valid (i.a.w. either pointing to a selected page or to some " +"external resource)." +msgstr "저장된 새 문서는 여전히 유효한 링크, 주석 및 북마크를 포함합니다(즉, 선택한 페이지 또는 일부 외부 리소스를 가리킴)." + +#: ../../tutorial.rst:343 62273df02f3a43edaca93b7b9899b551 +msgid "" +":meth:`Document.insert_page` and :meth:`Document.new_page` insert new " +"pages." +msgstr ":meth:`Document.insert_page` 및 :meth:`Document.new_page` 는 새 페이지를 삽입합니다." + +#: ../../tutorial.rst:345 62ec5bdcc4854cc0ab7b5a9c5de8295e +msgid "" +"Pages themselves can moreover be modified by a range of methods (e.g. " +"page rotation, annotation and link maintenance, text and image " +"insertion)." +msgstr "페이지 자체는 다양한 메서드(예: 페이지 회전, 주석 및 링크 유지보수, 텍스트 및 이미지 삽입)로 수정할 수 있습니다." + +#: ../../tutorial.rst:348 f481a1f85523458ba716bfffa017ecc2 +msgid "Joining and Splitting PDF Documents" +msgstr "PDF 문서 결합 및 분할" + +#: ../../tutorial.rst:350 5c4f9e715c364f99ab85e02a35390a54 +msgid "" +"Method :meth:`Document.insert_pdf` copies pages **between different** PDF" +" documents. Here is a simple **joiner** example (*doc1* and *doc2* being " +"opened PDFs)::" +msgstr ":meth:`Document.insert_pdf` 메서드는 **다른** PDF 문서 간에 페이지를 복사합니다. 다음은 간단한 **결합** 예제입니다(*doc1* 및 *doc2* 는 열린 PDF)::" + +#: ../../tutorial.rst:355 76e1ca6378be4c7780b008c6aa0147b1 +msgid "" +"Here is a snippet that **splits** *doc1*. It creates a new document of " +"its first and its last 10 pages::" +msgstr "다음은 *doc1* 을 **분할** 하는 스니펫입니다. 처음 10페이지와 마지막 10페이지로 새 문서를 만듭니다::" + +#: ../../tutorial.rst:362 425d928677684aaebd2c13acc306cc3a +msgid "" +"More can be found in the :ref:`Document` chapter. Also have a look at " +"`PDFjoiner.py`_." +msgstr "더 많은 내용은 :ref:`Document` 장에서 찾을 수 있습니다. `PDFjoiner.py`_ 도 살펴보세요." + +#: ../../tutorial.rst:365 3a32f81f55af4ff2942e6a5bda5351e4 +msgid "Embedding Data" +msgstr "데이터 임베딩" + +#: ../../tutorial.rst:367 e8c1a07274464e69b5716d2cfcd333a2 +msgid "" +"PDFs can be used as containers for arbitrary data (executables, other " +"PDFs, text or binary files, etc.) much like ZIP archives." +msgstr "PDF는 ZIP 아카이브와 매우 유사하게 임의의 데이터(실행 파일, 다른 PDF, 텍스트 또는 바이너리 파일 등)의 컨테이너로 사용할 수 있습니다." + +#: ../../tutorial.rst:369 e53116859c304e5d8cae52bca7615d49 +msgid "" +"PyMuPDF fully supports this feature via :ref:`Document` ``embfile_*`` " +"methods and attributes. For some detail read :ref:`Appendix 3`, consult " +"the Wiki on `dealing with embedding files`_, or the example scripts " +"`embedded-copy.py`_, `embedded-export.py`_, `embedded-import.py`_, and " +"`embedded-list.py`_." +msgstr "|PyMuPDF| 는 :ref:`Document` ``embfile_*`` 메서드 및 속성을 통해 이 기능을 완전히 지원합니다. 자세한 내용은 :ref:`Appendix 3` 을 읽거나, `dealing with embedding files`_ 에 대한 Wiki를 참조하거나, 예제 스크립트 `embedded-copy.py`_, `embedded-export.py`_, `embedded-import.py`_, `embedded-list.py`_ 를 살펴보세요." + +#: ../../tutorial.rst:373 7e063cc85bf74b67af328699883eabcd +msgid "Saving" +msgstr "저장" + +#: ../../tutorial.rst:375 ddc980f323444d9a888df621e5e4413a +msgid "" +"As mentioned above, :meth:`Document.save` will **always** save the " +"document in its current state." +msgstr "위에서 언급한 대로 :meth:`Document.save` 는 **항상** 문서를 현재 상태로 저장합니다." + +#: ../../tutorial.rst:377 938eb4bca93d44e7ad9d9db6a21b0197 +msgid "" +"You can write changes back to the **original PDF** by specifying option " +"``incremental=True``. This process is (usually) **extremely fast**, since" +" changes are **appended to the original file** without completely " +"rewriting it." +msgstr "``incremental=True`` 옵션을 지정하여 변경 사항을 **원본 PDF** 에 다시 쓸 수 있습니다. 이 프로세스는 (일반적으로) **매우 빠릅니다**. 파일을 완전히 다시 쓰지 않고 변경 사항을 **원본 파일에 추가** 하기 때문입니다." + +#: ../../tutorial.rst:379 34a90e8b41204457b27c7bf4c896ed07 +msgid "" +":meth:`Document.save` options correspond to options of MuPDF's command " +"line utility *mutool clean*, see the following table." +msgstr ":meth:`Document.save` 옵션은 |MuPDF| 의 명령줄 유틸리티 *mutool clean* 의 옵션에 해당합니다. 다음 표를 참조하세요." + +#: ../../tutorial.rst:382 1163070c3e2e478c9edfeeef99960201 +msgid "**Save Option**" +msgstr "**저장 옵션**" + +#: ../../tutorial.rst:382 94311b1ebca3478a8d7bf6f6d522fd8b +msgid "**mutool**" +msgstr "**mutool**" + +#: ../../tutorial.rst:382 962d3ef8846c431c8e9dfdf9d487bfb1 +msgid "**Effect**" +msgstr "**효과**" + +#: ../../tutorial.rst:384 b65cf8acc8bc476f8334931a4c8a17b8 +msgid "garbage=1" +msgstr "garbage=1" + +#: ../../tutorial.rst:384 6b4221531c1b4915975145d5a46840f9 +msgid "g" +msgstr "g" + +#: ../../tutorial.rst:384 b773213735d5433a912d7d50de094b58 +msgid "garbage collect unused objects" +msgstr "사용하지 않는 객체 가비지 수집" + +#: ../../tutorial.rst:385 9bb3557107484b32b9d48ee883975e41 +msgid "garbage=2" +msgstr "garbage=2" + +#: ../../tutorial.rst:385 e5d8266ec4434156843ae8d329cb1234 +msgid "gg" +msgstr "gg" + +#: ../../tutorial.rst:385 5d1cd64ee4a44495b52e5808a4c51ebf +msgid "in addition to 1, compact :data:`xref` tables" +msgstr "1에 추가하여 :data:`xref` 테이블 압축" + +#: ../../tutorial.rst:386 5846a30c454d494b9cb77c2612b7e3ba +msgid "garbage=3" +msgstr "garbage=3" + +#: ../../tutorial.rst:386 8499a2c0b7254ddfbc44cba627532452 +msgid "ggg" +msgstr "ggg" + +#: ../../tutorial.rst:386 349d1afd120c468c8663d3467baf0a1d +msgid "in addition to 2, merge duplicate objects" +msgstr "2에 추가하여 중복 객체 병합" + +#: ../../tutorial.rst:387 f97513200d184db2818ef3272e06659d +msgid "garbage=4" +msgstr "garbage=4" + +#: ../../tutorial.rst:387 8818b59f9bf3464e8ff2acae77c152f2 +msgid "gggg" +msgstr "gggg" + +#: ../../tutorial.rst:387 c284ddf0b0794e979bfa728c57373d83 +msgid "in addition to 3, merge duplicate stream content" +msgstr "3에 추가하여 중복 스트림 콘텐츠 병합" + +#: ../../tutorial.rst:388 7874a21a2a374610abddf1cbd7efb717 +msgid "clean=True" +msgstr "clean=True" + +#: ../../tutorial.rst:388 c1e6bac1097a452a8399150c1e9c8279 +msgid "cs" +msgstr "cs" + +#: ../../tutorial.rst:388 9ddc64830c9040ed8451f02ed2741816 +msgid "clean and sanitize content streams" +msgstr "콘텐츠 스트림 정리 및 정화" + +#: ../../tutorial.rst:389 c2f486c396c84db0ba07db1c9ee5a7ae +msgid "deflate=True" +msgstr "deflate=True" + +#: ../../tutorial.rst:389 49a98a67d15747c98e6ca70bb53f3c51 +msgid "z" +msgstr "z" + +#: ../../tutorial.rst:389 37e910e46f2247d3a69e36dbd0748d94 +msgid "deflate uncompressed streams" +msgstr "압축되지 않은 스트림 압축" + +#: ../../tutorial.rst:390 7ffbd7aa96264ff1902b58f73b4fd092 +msgid "deflate_images=True" +msgstr "deflate_images=True" + +#: ../../tutorial.rst:390 83ea4c4b317d488092885540eb84f939 +msgid "i" +msgstr "i" + +#: ../../tutorial.rst:390 4e719956c06a4d49bb8d10a19576ee42 +msgid "deflate image streams" +msgstr "이미지 스트림 압축" + +#: ../../tutorial.rst:391 c33f6052e9494538ae7f4e1191c64fd2 +msgid "deflate_fonts=True" +msgstr "deflate_fonts=True" + +#: ../../tutorial.rst:391 9786f972e1be4a16b85ffee8b754ec19 +msgid "f" +msgstr "f" + +#: ../../tutorial.rst:391 79fefb0533874ecb8a096e7db7f10332 +msgid "deflate fontfile streams" +msgstr "글꼴 파일 스트림 압축" + +#: ../../tutorial.rst:392 423d166f2fc54b4498a9377a2dd30960 +msgid "ascii=True" +msgstr "ascii=True" + +#: ../../tutorial.rst:392 a67143a6cbe040c590ae0a63a0fe9234 +msgid "a" +msgstr "a" + +#: ../../tutorial.rst:392 59590f861522439b8f81250d3941e06c +msgid "convert binary data to ASCII format" +msgstr "바이너리 데이터를 ASCII 형식으로 변환" + +#: ../../tutorial.rst:393 86236a9e66cf4150970d92080d6e1583 +msgid "linear=True" +msgstr "linear=True" + +#: ../../tutorial.rst:393 5893e24f2faa4060ba0c43aa63dbd263 +msgid "l" +msgstr "l" + +#: ../../tutorial.rst:393 0dec5675398e49978e78651893a99395 +msgid "create a linearized version" +msgstr "선형화된 버전 생성" + +#: ../../tutorial.rst:394 febbe58d4b104f8bbe950ccccccb1859 +msgid "expand=True" +msgstr "expand=True" + +#: ../../tutorial.rst:394 ef0e028a01314e21a0d744ca0d2ad01f +msgid "d" +msgstr "d" + +#: ../../tutorial.rst:394 09ec7a0736e34a67aa68a9542195d17e +msgid "decompress all streams" +msgstr "모든 스트림 압축 해제" + +#: ../../tutorial.rst:397 e917b060c085407fb80a474e3bec75e9 +msgid "" +"For an explanation of terms like ``object``, ``stream``, ``xref`` consult" +" the :ref:`Glossary` chapter." +msgstr "``object``, ``stream``, ``xref`` 와 같은 용어에 대한 설명은 :ref:`Glossary` 장을 참조하세요." + +#: ../../tutorial.rst:399 dcb5dc3e6c3a41349a7db5e5052ed2e0 +msgid "" +"For example, ``mutool clean -ggggz file.pdf`` yields excellent " +"compression results. It corresponds to ``doc.save(filename, garbage=4, " +"deflate=True)``." +msgstr "예를 들어 ``mutool clean -ggggz file.pdf`` 는 우수한 압축 결과를 제공합니다. 이것은 ``doc.save(filename, garbage=4, deflate=True)`` 에 해당합니다." + +#: ../../tutorial.rst:402 c79ea0512d3b44e78f142255268af6ac +msgid "Closing" +msgstr "닫기" + +#: ../../tutorial.rst:403 f745b8b8cfd64cd0955b6d9c72baa5f3 +msgid "" +"It is often desirable to \"close\" a document to relinquish control of " +"the underlying file to the OS, while your program continues." +msgstr "프로그램이 계속 실행되는 동안 기본 파일에 대한 제어를 OS에 반환하기 위해 문서를 \"닫는\" 것이 종종 바람직합니다." + +#: ../../tutorial.rst:405 6ec44b753b01413a9bcbd6b21a1310d7 +msgid "" +"This can be achieved by the :meth:`Document.close` method. Apart from " +"closing the underlying file, buffer areas associated with the document " +"will be freed." +msgstr "이것은 :meth:`Document.close` 메서드로 달성할 수 있습니다. 기본 파일을 닫는 것 외에도 문서와 연결된 버퍼 영역이 해제됩니다." + +#: ../../tutorial.rst:408 88cb960755d5457da5441939ff0c836d +msgid "Further Reading" +msgstr "추가 읽기" + +#: ../../tutorial.rst:409 079337447add4588b00679495c0756c6 +msgid "" +"Also have a look at PyMuPDF's `Wiki`_ pages. Especially those named in " +"the sidebar under title **\"Recipes\"** cover over 15 topics written in " +"\"How-To\" style." +msgstr "|PyMuPDF| 의 `Wiki`_ 페이지도 살펴보세요. 특히 사이드바의 **\"Recipes\"** 제목 아래에 나열된 항목은 \"How-To\" 스타일로 작성된 15개 이상의 주제를 다룹니다." + +#: ../../tutorial.rst:411 4ff206365d3c46319f8786732294335f +msgid "" +"This document also contains a :ref:`FAQ`. This chapter has close " +"connection to the aforementioned recipes, and it will be extended with " +"more content over time." +msgstr "이 문서에는 :ref:`FAQ` 도 포함되어 있습니다. 이 장은 앞서 언급한 recipes와 밀접한 관련이 있으며, 시간이 지나면서 더 많은 콘텐츠로 확장될 것입니다." + +#: ../../tutorial.rst:418 8469cb98a4bc46da95e015537403452d +msgid "Footnotes" +msgstr "각주" + +#: ../../tutorial.rst:419 7abfecf3e58542b0859cd575498948f7 +msgid "" +"PyMuPDF lets you also open several image file types just like normal " +"documents. See section :ref:`ImageFiles` in chapter :ref:`Pixmap` for " +"more comments." +msgstr "|PyMuPDF| 는 일반 문서처럼 여러 이미지 파일 타입을 열 수 있게 합니다. 자세한 내용은 :ref:`Pixmap` 장의 :ref:`ImageFiles` 섹션을 참조하세요." + +#: ../../tutorial.rst:421 70b740aad28644b395c85b6a12f20f0e +msgid "" +":meth:`Page.get_text` is a convenience wrapper for several methods of " +"another PyMuPDF class, :ref:`TextPage`. The names of these methods " +"correspond to the argument string passed to :meth:`Page.get_text` \\: " +"*Page.get_text(\"dict\")* is equivalent to *TextPage.extractDICT()* \\." +msgstr ":meth:`Page.get_text` 는 다른 |PyMuPDF| 클래스인 :ref:`TextPage` 의 여러 메서드에 대한 편의 래퍼입니다. 이러한 메서드의 이름은 :meth:`Page.get_text` 에 전달된 인수 문자열에 해당합니다: *Page.get_text(\"dict\")* 는 *TextPage.extractDICT()* 와 동일합니다." + +#: ../../tutorial.rst:423 13eddbfd7bd64cd49e523d76972c7368 +msgid "" +"\"Sequences\" are Python objects conforming to the sequence protocol. " +"These objects implement a method named *__getitem__()*. Best known " +"examples are Python tuples and lists. But *array.array*, *numpy.array* " +"and PyMuPDF's \"geometry\" objects (:ref:`Algebra`) are sequences, too. " +"Refer to :ref:`SequenceTypes` for details." +msgstr "\"Sequences\"는 시퀀스 프로토콜을 준수하는 Python 객체입니다. 이러한 객체는 *__getitem__()* 이라는 메서드를 구현합니다. 가장 잘 알려진 예는 Python 튜플과 리스트입니다. 그러나 *array.array*, *numpy.array* 및 |PyMuPDF| 의 \"geometry\" 객체(:ref:`Algebra`)도 시퀀스입니다. 자세한 내용은 :ref:`SequenceTypes` 를 참조하세요." + +#: ../../footer.rst:46 34f591e7f8ab491b884b15a32b4f508e +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/vars.mo b/docs/locales/ko/LC_MESSAGES/vars.mo new file mode 100644 index 000000000..01409d640 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/vars.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/vars.po b/docs/locales/ko/LC_MESSAGES/vars.po new file mode 100644 index 000000000..aa513beac --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/vars.po @@ -0,0 +1,805 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 b5ad9d8dc172425eb69cab3f7d6af3f1 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 469b53fb216c416cab35e3785cb83220 +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 3fc4b25efb434bdd9a36d5ea7c1bb7e4 +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" + +#: ../../vars.rst:5 f49c06cd5a6f4032b8cd339c64a77df1 +msgid "Constants and Enumerations" +msgstr "상수 및 열거형" + +#: ../../vars.rst:6 49759909465a4d1794c2b500ea92ef1d +msgid "" +"Constants and enumerations of :title:`MuPDF` as implemented by |PyMuPDF|." +" Each of the following values is accessible as `pymupdf.value`." +msgstr "|PyMuPDF| 에서 구현한 :title:`MuPDF` 의 상수 및 열거형. 다음 각 값은 `pymupdf.value` 로 접근할 수 있습니다." + +#: ../../vars.rst:10 32fc3323ad3f4cdfb477267318e012bc +msgid "Constants" +msgstr "상수" + +#: ../../vars.rst:14 5b27640ef1ee4e98bea1cf03003160a1 +msgid "Predefined Python list of valid :ref:`Base-14-Fonts`." +msgstr "유효한 :ref:`Base-14-Fonts` 의 사전 정의된 Python 목록." + +#: ../../vars.rst 03741e7ad1a44d5299f6572dedaca7b4 +#: 049f7b4ff1974e208b3a904e6026a510 05d7b5730e6142eb96888bc1f1fbcc93 +#: 0651bf5144c1497e884e5c0cc6076c5a 0d7a04755856497fa83f67a8849b2425 +#: 26435fd0d5d24581abb8057002bce4cc 340ebf4c39ec45d4bfe3a768d8345ba6 +#: 4305209c628b41b484db244a821e36a6 441240ad284b456d8fe847ecb191b0f1 +#: 5ba5705e35594ba28d545462f311e0f9 61aa981fd8a346deaaf51a3d4c08d34a +#: 6ca990f8a13b4358bbabc20892811cc3 771ae51b4e044a81ae255f6c908697fb +#: 84cd0a4cb52c4fec9fe883c2ad4ace9d 850da1d028064e8191dfa082a3f82827 +#: 8792cce457a84f11b18d64b74d8debc3 8a25036eb68c414abfb7ad4fa62d7229 +#: 92c64e0683614c6c9deb6668c7f4b761 a2004991370a40408515cf83163b6ffb +#: cdbf08fc2b5b4750b45132b7ec6c2616 d06dea99fa0a4e3cbee4b2b714c43296 +#: f03ecc8098ca4cc181b8356bd7a2bb91 f3646d6d4cee48e0b1af3350ce178eec +#: f7af32255ccb4f66a37175278b7b7087 fddcade3afa241b8a81b00e45d91f2a4 +msgid "type" +msgstr "유형" + +#: ../../vars.rst:16 669fb77a7bdd4fbcb224507f1b8d7932 +msgid "list" +msgstr "list" + +#: ../../vars.rst:20 b3ae8b9f4f43444aa8fdc74de25f17f0 +msgid "Predefined RGB colorspace *pymupdf.Colorspace(pymupdf.CS_RGB)*." +msgstr "사전 정의된 RGB 색 공간 *pymupdf.Colorspace(pymupdf.CS_RGB)*." + +#: ../../vars.rst:22 ../../vars.rst:28 ../../vars.rst:34 +#: 19f89992935a4f8e839adc1511263368 204d25d273a7452cb5ba5e71b6869076 +#: 79e2265294cd409f800e1e4a446e2ccf +msgid ":ref:`Colorspace`" +msgstr ":ref:`Colorspace`" + +#: ../../vars.rst:26 6a13d5103eb54565bf88415ab0ddc8c5 +msgid "Predefined GRAY colorspace *pymupdf.Colorspace(pymupdf.CS_GRAY)*." +msgstr "사전 정의된 GRAY 색 공간 *pymupdf.Colorspace(pymupdf.CS_GRAY)*." + +#: ../../vars.rst:32 7321e72d393e42a3b735759e78d1800e +msgid "Predefined CMYK colorspace *pymupdf.Colorspace(pymupdf.CS_CMYK)*." +msgstr "사전 정의된 CMYK 색 공간 *pymupdf.Colorspace(pymupdf.CS_CMYK)*." + +#: ../../vars.rst:38 69ab2345dd374ad1873f76d16292717c +msgid "1 -- Type of :ref:`Colorspace` is RGBA" +msgstr "1 -- :ref:`Colorspace` 유형은 RGBA" + +#: ../../vars.rst:40 ../../vars.rst:46 ../../vars.rst:52 ../../vars.rst:324 +#: ../../vars.rst:330 ../../vars.rst:339 ../../vars.rst:348 ../../vars.rst:354 +#: ../../vars.rst:360 015aafcf193f4fd986c01b2543bb2157 +#: 0a5dae970bce40d4a3ef066a7b52120d 648ca70552324683a3f2d83756f7f850 +#: 9b976dcffb04497a9119e83b6b78aab2 ab0b93519cea4419af8c90b1cc9d3a36 +#: b6975d022fb6464bb4f18e4ee6bd73fa c2c115fb5ad14e8da9970160f490f151 +#: c3202da1e321403b976247fc2a19756a d3d462436758488a8dab6f328e27425e +msgid "int" +msgstr "int" + +#: ../../vars.rst:44 23b50446130242d885968a5027985060 +msgid "2 -- Type of :ref:`Colorspace` is GRAY" +msgstr "2 -- :ref:`Colorspace` 유형은 GRAY" + +#: ../../vars.rst:50 9cf5e34e2e83453799d96f7be872aa7b +msgid "3 -- Type of :ref:`Colorspace` is CMYK" +msgstr "3 -- :ref:`Colorspace` 유형은 CMYK" + +#: ../../vars.rst:56 22d14edcfed74d6ba68f180a5162d3bc +msgid "'x.xx.x' -- MuPDF version that is being used by PyMuPDF." +msgstr "'x.xx.x' -- PyMuPDF에서 사용 중인 MuPDF 버전." + +#: ../../vars.rst:58 ../../vars.rst:70 24ffecb2a7de45fbbce9cac71b9ad2c2 +#: 4162b0bbb82145f5863294fee9b84fcb +msgid "string" +msgstr "string" + +#: ../../vars.rst:62 22fa0f6343d143a783918bf5d77c0101 +msgid "MuPDF version as a tuple of integers, `(major, minor, patch)`." +msgstr "정수 튜플로 표현된 MuPDF 버전, `(major, minor, patch)`." + +#: ../../vars.rst:64 ../../vars.rst:76 ../../vars.rst:86 +#: 2f0bacf105574469a7a2f46854047382 ad5b78a4130443e0b9cb7a3e7209521d +#: d8a2a6e3dcc44d9a96a1324281332fc4 +msgid "tuple" +msgstr "tuple" + +#: ../../vars.rst:68 44158f3deff845c6a420df354f39c1ae +msgid "'x.xx.x' -- PyMuPDF version." +msgstr "'x.xx.x' -- PyMuPDF 버전." + +#: ../../vars.rst:74 503076c6013f48dea2d5aff3c0bfffe3 +msgid "PyMuPDF version as a tuple of integers, `(major, minor, patch)`." +msgstr "정수 튜플로 표현된 PyMuPDF 버전, `(major, minor, patch)`." + +#: ../../vars.rst:80 ../../vars.rst:98 60b862b7a373462c8b0819e549788e84 +#: c79955e7841e4b48a637775a61cfbd69 +msgid "Disabled (set to None) in 1.26.1." +msgstr "1.26.1에서 비활성화됨(None으로 설정)." + +#: ../../vars.rst:84 fff27c04ee62442897c643c5bfb60fd8 +msgid "" +"(pymupdf_version, mupdf_version, timestamp) -- combined version " +"information where `timestamp` is the generation point in time formatted " +"as \"YYYYMMDDhhmmss\"." +msgstr "(pymupdf_version, mupdf_version, timestamp) -- 결합된 버전 정보. `timestamp` 는 \"YYYYMMDDhhmmss\" 형식의 생성 시점입니다." + +#: ../../vars.rst:90 4fbbccb8f9024a63a332534e6a7d0d2e +msgid "Legacy equivalent to `mupdf_version`." +msgstr "`mupdf_version` 과 동일한 레거시." + +#: ../../vars.rst:94 24f0ff9e8cf44c5fba17fe9c4bd63d7f +msgid "Legacy equivalent to `pymupdf_version`." +msgstr "`pymupdf_version` 과 동일한 레거시." + +#: ../../vars.rst:104 4dce9933f18a45198a4633f8fefe9d07 +msgid "Document Permissions" +msgstr "문서 권한" + +#: ../../vars.rst:107 ../../vars.rst:125 ../../vars.rst:138 +#: 69c0225036764f13b91eaa9dd3d4b5a1 8e2f223c79664413ba8ac6afd092c3fa +#: a0a9b218a32347e18401eec3e71b51c6 +msgid "Code" +msgstr "코드" + +#: ../../vars.rst:107 c680e8bb0a64489fbe38ff0350dae277 +msgid "Permitted Action" +msgstr "허용된 작업" + +#: ../../vars.rst:109 a79221d078824de999e2f0ccf27939da +msgid "PDF_PERM_PRINT" +msgstr "PDF_PERM_PRINT" + +#: ../../vars.rst:109 634b2c786f6946a99a89687ae863c63d +msgid "Print the document" +msgstr "문서 인쇄" + +#: ../../vars.rst:110 488e117f6ad841e4b5ebe9ca302ecd70 +msgid "PDF_PERM_MODIFY" +msgstr "PDF_PERM_MODIFY" + +#: ../../vars.rst:110 a868ac82b5084146a37a1633ab518c6c +msgid "Modify the document's contents" +msgstr "문서 내용 수정" + +#: ../../vars.rst:111 18ef7dd19b374b5ebfdb3cec757c73ac +msgid "PDF_PERM_COPY" +msgstr "PDF_PERM_COPY" + +#: ../../vars.rst:111 8f52d72b641b40d285393c8d0bdf12b3 +msgid "Copy or otherwise extract text and graphics" +msgstr "텍스트 및 그래픽 복사 또는 추출" + +#: ../../vars.rst:112 9e025ab3d4f741e2a325152bc6f8a701 +msgid "PDF_PERM_ANNOTATE" +msgstr "PDF_PERM_ANNOTATE" + +#: ../../vars.rst:112 cb0beab224b94270bdabfc3bd1ceacc6 +msgid "Add or modify text annotations and interactive form fields" +msgstr "텍스트 주석 및 대화형 양식 필드 추가 또는 수정" + +#: ../../vars.rst:113 65f9a8539a38426e9d9edea861734d4d +msgid "PDF_PERM_FORM" +msgstr "PDF_PERM_FORM" + +#: ../../vars.rst:113 9880c191956741d1ada6315e712e1df3 +msgid "Fill in forms and sign the document" +msgstr "양식 작성 및 문서 서명" + +#: ../../vars.rst:114 419137e25c424c91876fed826c5a5bb0 +msgid "PDF_PERM_ACCESSIBILITY" +msgstr "PDF_PERM_ACCESSIBILITY" + +#: ../../vars.rst:114 c90f5be96ba842199ff198fe845a93a8 +msgid "Obsolete, always permitted" +msgstr "사용 중단됨, 항상 허용됨" + +#: ../../vars.rst:115 2ac0ea137a68490a808035fe357a1eb5 +msgid "PDF_PERM_ASSEMBLE" +msgstr "PDF_PERM_ASSEMBLE" + +#: ../../vars.rst:115 ee21ef3d77b543aa83b85d5966fa800c +msgid "Insert, rotate, or delete pages, bookmarks, thumbnail images" +msgstr "페이지, 책갈피, 썸네일 이미지 삽입, 회전 또는 삭제" + +#: ../../vars.rst:116 12f225fa0c204cecae58e07d185ee517 +msgid "PDF_PERM_PRINT_HQ" +msgstr "PDF_PERM_PRINT_HQ" + +#: ../../vars.rst:116 40cb4480233843f686a1bb405c551ad8 +msgid "High quality printing" +msgstr "고품질 인쇄" + +#: ../../vars.rst:122 c7730f8c05a4440dabe25baa7a267683 +msgid "PDF Optional Content Codes" +msgstr "PDF 선택적 콘텐츠 코드" + +#: ../../vars.rst:125 ../../vars.rst:138 063e2ffd14154f0ebe27a414e68d96c6 +#: fe257d4a0ce0417dba5855c9020e0ca1 +msgid "Meaning" +msgstr "의미" + +#: ../../vars.rst:127 fe2012971224466ea97a0fb2a812c5d5 +msgid "PDF_OC_ON" +msgstr "PDF_OC_ON" + +#: ../../vars.rst:127 420c6f19787341418e8a584a6befd890 +msgid "Set an OCG to ON temporarily" +msgstr "OCG를 일시적으로 ON으로 설정" + +#: ../../vars.rst:128 2c29aec5886a45cfae0e991402caad13 +msgid "PDF_OC_TOGGLE" +msgstr "PDF_OC_TOGGLE" + +#: ../../vars.rst:128 a7ebc40cd09c47a3867c2d73be2fdc36 +msgid "Toggle OCG status temporarily" +msgstr "OCG 상태를 일시적으로 토글" + +#: ../../vars.rst:129 4b06b1f6475a41cb8d448d28fbf5dd24 +msgid "PDF_OC_OFF" +msgstr "PDF_OC_OFF" + +#: ../../vars.rst:129 8a6a1199c65a44ba85224f9de436969f +msgid "Set an OCG to OFF temporarily" +msgstr "OCG를 일시적으로 OFF로 설정" + +#: ../../vars.rst:135 2b7b50430a24457fafc7cd3943e62be7 +msgid "PDF encryption method codes" +msgstr "PDF 암호화 방법 코드" + +#: ../../vars.rst:140 a3c958105b9a4e8db59f50cb6ab72b3f +msgid "PDF_ENCRYPT_KEEP" +msgstr "PDF_ENCRYPT_KEEP" + +#: ../../vars.rst:140 30102a9f273a4422a20bf1aa06b451e6 +msgid "do not change" +msgstr "변경하지 않음" + +#: ../../vars.rst:141 57fd2541dc9c472e9d50b26ef7cd6daf +msgid "PDF_ENCRYPT_NONE" +msgstr "PDF_ENCRYPT_NONE" + +#: ../../vars.rst:141 49f9186cb5ae45cd9064cb575b6d5385 +msgid "remove any encryption" +msgstr "모든 암호화 제거" + +#: ../../vars.rst:142 49fe127596b048f4a7ea339156fdf19d +msgid "PDF_ENCRYPT_RC4_40" +msgstr "PDF_ENCRYPT_RC4_40" + +#: ../../vars.rst:142 5e3374e98bdc43a199f2fd85dcc18580 +msgid "RC4 40 bit" +msgstr "RC4 40비트" + +#: ../../vars.rst:143 178727ee434846ad808cce5a8aaad74f +msgid "PDF_ENCRYPT_RC4_128" +msgstr "PDF_ENCRYPT_RC4_128" + +#: ../../vars.rst:143 a3c8b50a7af8456a966bcd7de122f754 +msgid "RC4 128 bit" +msgstr "RC4 128비트" + +#: ../../vars.rst:144 1ccff559acbb47a8a81bae717b32c4c8 +msgid "PDF_ENCRYPT_AES_128" +msgstr "PDF_ENCRYPT_AES_128" + +#: ../../vars.rst:144 d1fdccc17e4348788f55154c73a66ddd +msgid "*Advanced Encryption Standard* 128 bit" +msgstr "*고급 암호화 표준* 128비트" + +#: ../../vars.rst:145 6052a9f31b7f4ec0b078312655adc0d5 +msgid "PDF_ENCRYPT_AES_256" +msgstr "PDF_ENCRYPT_AES_256" + +#: ../../vars.rst:145 14eb7ccec2184fbbb74c67eb54aeaa93 +msgid "*Advanced Encryption Standard* 256 bit" +msgstr "*고급 암호화 표준* 256비트" + +#: ../../vars.rst:146 0e8a697210064a68a4acb78e4798c066 +msgid "PDF_ENCRYPT_UNKNOWN" +msgstr "PDF_ENCRYPT_UNKNOWN" + +#: ../../vars.rst:146 c4ff9f33d8bf406baac59afdedce3393 +msgid "unknown" +msgstr "알 수 없음" + +#: ../../vars.rst:152 41ce5d42a96641298f59e62ca328c3ad +msgid "Font File Extensions" +msgstr "글꼴 파일 확장자" + +#: ../../vars.rst:153 a5aa4b1442b84096a3364986edc00478 +msgid "" +"The table show file extensions you should use when saving fontfile " +"buffers extracted from a PDF. This string is returned by " +":meth:`Document.get_page_fonts`, :meth:`Page.get_fonts` and " +":meth:`Document.extract_font`." +msgstr "이 표는 PDF에서 추출한 글꼴 파일 버퍼를 저장할 때 사용해야 하는 파일 확장자를 보여줍니다. 이 문자열은 :meth:`Document.get_page_fonts`, :meth:`Page.get_fonts` 및 :meth:`Document.extract_font` 에 의해 반환됩니다." + +#: ../../vars.rst:156 0052347b09ef46dd84c581597bacb35f +msgid "Ext" +msgstr "확장자" + +#: ../../vars.rst:156 2d2cd27d463f4ff0997dae7caa6b83b6 +msgid "Description" +msgstr "설명" + +#: ../../vars.rst:158 112b17f0de1840a08e0864ed1e9fad0c +msgid "ttf" +msgstr "ttf" + +#: ../../vars.rst:158 0cb8088360d7427baefcf5281b49766b +msgid "TrueType font" +msgstr "TrueType 글꼴" + +#: ../../vars.rst:159 c2a6b6d61d0e40d583db103da173e32f +msgid "pfa" +msgstr "pfa" + +#: ../../vars.rst:159 5a1d03107af64f5981ab318e0360c9af +msgid "Postscript for ASCII font (various subtypes)" +msgstr "ASCII 글꼴용 Postscript (다양한 하위 유형)" + +#: ../../vars.rst:160 86be9bafc4174236b68e13a9dac7e5c8 +msgid "cff" +msgstr "cff" + +#: ../../vars.rst:160 8675d363e0c9499ab403a49e9cda22a1 +msgid "Type1C font (compressed font equivalent to Type1)" +msgstr "Type1C 글꼴 (Type1과 동등한 압축 글꼴)" + +#: ../../vars.rst:161 4c60a1421ea7458e81092448bae7a1d8 +msgid "cid" +msgstr "cid" + +#: ../../vars.rst:161 cf49f17f14d346f89b4ace2ba62a022f +msgid "character identifier font (postscript format)" +msgstr "문자 식별자 글꼴 (postscript 형식)" + +#: ../../vars.rst:162 fc39dc6369a74d13baa2932ca54039b7 +msgid "otf" +msgstr "otf" + +#: ../../vars.rst:162 e6d68a78565e4efdbdabf3ad08977b53 +msgid "OpenType font" +msgstr "OpenType 글꼴" + +#: ../../vars.rst:163 b7864b379d2a4c898a5538edf898a0a6 +msgid "n/a" +msgstr "해당 없음" + +#: ../../vars.rst:163 d276c42e480048c98e84446e521418fb +msgid "not extractable, e.g. :ref:`Base-14-Fonts`, Type 3 fonts and others" +msgstr "추출할 수 없음, 예: :ref:`Base-14-Fonts`, Type 3 글꼴 및 기타" + +#: ../../vars.rst:169 30a554d8b43e4399ac3db70eb4861a79 +msgid "Text Alignment" +msgstr "텍스트 정렬" + +#: ../../vars.rst:172 c285bb937c45411c9e8428e8cbc6d5ce +msgid "0 -- align left." +msgstr "0 -- 왼쪽 정렬." + +#: ../../vars.rst:176 f6c2ead9ebb844e2a50572a57dbf9a86 +msgid "1 -- align center." +msgstr "1 -- 가운데 정렬." + +#: ../../vars.rst:180 8e82db4889224a20909e002199177be8 +msgid "2 -- align right." +msgstr "2 -- 오른쪽 정렬." + +#: ../../vars.rst:184 75af6aadfef54289894f0d114de9eeae +msgid "3 -- align justify." +msgstr "3 -- 양쪽 정렬." + +#: ../../vars.rst:191 cf47b8894ae04d868274979275d334ee +msgid "Font Properties" +msgstr "글꼴 속성" + +#: ../../vars.rst:192 5c56a8ed6d794191b089c5b738da3cf9 +msgid "" +"Please note that the following bits are derived from what a font has to " +"say about its properties. It may not be (and quite often is not) correct." +msgstr "다음 비트는 글꼴이 자신의 속성에 대해 말하는 내용에서 파생됩니다. 정확하지 않을 수 있으며(그리고 종종 그렇습니다)." + +#: ../../vars.rst:196 d8f06c39601c4b96bd13ea9e078c40ce +msgid "" +"1 -- the character or span is a superscript. This property is computed by" +" MuPDF and not part of any font information." +msgstr "1 -- 문자 또는 스팬이 위첨자입니다. 이 속성은 MuPDF에 의해 계산되며 글꼴 정보의 일부가 아닙니다." + +#: ../../vars.rst:200 d21771d5f06e4862a5dc0a350e8a4def +msgid "2 -- the font is italic." +msgstr "2 -- 글꼴이 이탤릭체입니다." + +#: ../../vars.rst:204 c25bebd41297409da31265769924b7c0 +msgid "4 -- the font is serifed." +msgstr "4 -- 글꼴이 세리프입니다." + +#: ../../vars.rst:208 b4a15a033d644c66b6b71cd52bef75b0 +msgid "8 -- the font is mono-spaced." +msgstr "8 -- 글꼴이 고정폭입니다." + +#: ../../vars.rst:212 fd8f231700104de8a26b9fa17f57dca6 +msgid "16 -- the font is bold." +msgstr "16 -- 글꼴이 굵게입니다." + +#: ../../vars.rst:215 ae7fc7375fe24bcab9635e7ecaf45788 +msgid "Text Extraction Flags" +msgstr "텍스트 추출 플래그" + +#: ../../vars.rst:216 b53381821bdc40c69b532bc7e53092be +msgid "" +"Option bits controlling the amount of data, that are parsed into a " +":ref:`TextPage`." +msgstr ":ref:`TextPage` 로 파싱되는 데이터 양을 제어하는 옵션 비트." + +#: ../../vars.rst:218 4e0693fb1e8f4c7e991b270de3d35b6c +msgid "" +"For the PyMuPDF programmer, some combination (using Python's `|` " +"operator, or simply use `+`) of these values are aggregated in the " +"``flags`` integer, a parameter of all text search and text extraction " +"methods. Depending on the individual method, different default " +"combinations of the values are used. Please use a value that meets your " +"situation. Especially make sure to switch off image extraction unless you" +" really need them. The impact on performance and memory is significant!" +msgstr "PyMuPDF 프로그래머의 경우, 이러한 값의 일부 조합(Python의 `|` 연산자를 사용하거나 단순히 `+` 사용)이 모든 텍스트 검색 및 텍스트 추출 메서드의 매개변수인 ``flags`` 정수에 집계됩니다. 개별 메서드에 따라 다른 기본 값 조합이 사용됩니다. 상황에 맞는 값을 사용하세요. 특히 실제로 필요하지 않은 경우 이미지 추출을 끄는 것이 중요합니다. 성능과 메모리에 미치는 영향이 큽니다!" + +#: ../../vars.rst:222 e2a36dbf69d04d888507fc509ee2b720 +msgid "" +"1 -- If set, ligatures are passed through to the application in their " +"original form. Otherwise ligatures are expanded into their constituent " +"parts, e.g. the ligature \"ffi\" is expanded into three eparate " +"characters f, f and i. Default is \"on\" in PyMuPDF. MuPDF supports the " +"following 7 ligatures: \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", , " +"\"ft\", \"st\"." +msgstr "1 -- 설정되면 합자가 원래 형태로 애플리케이션에 전달됩니다. 그렇지 않으면 합자가 구성 요소로 확장됩니다. 예를 들어 합자 \"ffi\"는 세 개의 별도 문자 f, f, i로 확장됩니다. PyMuPDF의 기본값은 \"on\"입니다. MuPDF는 다음 7개의 합자를 지원합니다: \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"ft\", \"st\"." + +#: ../../vars.rst:226 03ceff6db720488f91e124b08d5a1e41 +msgid "" +"2 -- If set, whitespace is passed through. Otherwise any type of " +"horizontal whitespace (including horizontal tabs) will be replaced with " +"space characters of variable width. Default is \"on\" in PyMuPDF." +msgstr "2 -- 설정되면 공백이 그대로 전달됩니다. 그렇지 않으면 모든 유형의 수평 공백(수평 탭 포함)이 가변 너비의 공백 문자로 대체됩니다. PyMuPDF의 기본값은 \"on\"입니다." + +#: ../../vars.rst:230 cf99390225b04a8996e5580bd96fe830 +msgid "" +"4 -- If set, then images will be stored in the :ref:`TextPage`. This " +"causes the presence of (usually large!) binary image content in the " +"output of text extractions of types \"blocks\", \"dict\", \"json\", " +"\"rawdict\", \"rawjson\", \"html\", and \"xhtml\" and is the default " +"there. If used with \"blocks\" however, only image metadata will be " +"returned, not the image itself." +msgstr "4 -- 설정되면 이미지가 :ref:`TextPage` 에 저장됩니다. 이것은 \"blocks\", \"dict\", \"json\", \"rawdict\", \"rawjson\", \"html\", \"xhtml\" 유형의 텍스트 추출 출력에 (보통 큰!) 바이너리 이미지 콘텐츠가 포함되게 하며, 여기서 기본값입니다. 그러나 \"blocks\"와 함께 사용하면 이미지 자체가 아닌 이미지 메타데이터만 반환됩니다." + +#: ../../vars.rst:234 2681e56367fe46aa936b2b5870294639 +msgid "" +"8 -- If set, Mupdf will not try to add missing space characters where " +"there are large gaps between characters. In PDF, the creator often does " +"not insert spaces to point to the next character's position, but will " +"provide the direct location address. The default in PyMuPDF is \"off\" --" +" so spaces **will be generated**." +msgstr "8 -- 설정되면 MuPDF는 문자 사이에 큰 간격이 있는 곳에 누락된 공백 문자를 추가하려고 시도하지 않습니다. PDF에서 작성자는 종종 다음 문자 위치를 가리키는 공백을 삽입하지 않고 직접 위치 주소를 제공합니다. PyMuPDF의 기본값은 \"off\"입니다 -- 따라서 공백이 **생성됩니다**." + +#: ../../vars.rst:238 cb25cbf3acb74d84824fa410aed54abd +msgid "" +"16 -- Ignore hyphens at line ends and join with next line. Used " +"internally with the text search functions. However, it is generally " +"available: if on, text extractions will return joined text lines (or " +"spans) with the ending hyphen of the first line eliminated. So two " +"separate spans **\"first meth-\"** and **\"od leads to wrong results\"** " +"on different lines will be joined to one span **\"first method leads to " +"wrong results\"** and correspondingly updated bboxes: the characters of " +"the resulting span will no longer have identical y-coordinates." +msgstr "16 -- 줄 끝의 하이픈을 무시하고 다음 줄과 결합합니다. 텍스트 검색 함수와 함께 내부적으로 사용됩니다. 그러나 일반적으로 사용 가능합니다: 켜면 텍스트 추출은 첫 번째 줄의 끝 하이픈이 제거된 결합된 텍스트 줄(또는 스팬)을 반환합니다. 따라서 다른 줄에 있는 두 개의 별도 스팬 **\"first meth-\"** 및 **\"od leads to wrong results\"** 는 하나의 스팬 **\"first method leads to wrong results\"** 로 결합되고 그에 따라 bbox가 업데이트됩니다: 결과 스팬의 문자는 더 이상 동일한 y 좌표를 가지지 않습니다." + +#: ../../vars.rst:242 19c2601d343547ba88a56aac0f0c8ff5 +msgid "" +"32 -- Generate a new line for every span. Not used (\"off\") in PyMuPDF, " +"but available for your use. Every line in \"dict\", \"json\", " +"\"rawdict\", \"rawjson\" will contain exactly one span." +msgstr "32 -- 각 스팬에 대해 새 줄을 생성합니다. PyMuPDF에서는 사용되지 않지만(\"off\") 사용할 수 있습니다. \"dict\", \"json\", \"rawdict\", \"rawjson\"의 모든 줄은 정확히 하나의 스팬을 포함합니다." + +#: ../../vars.rst:246 87e941b789f8436e998a2f3801575756 +msgid "" +"64 -- Characters entirely outside a page's **mediabox** or contained in " +"other \"clipped\" areas will be ignored. This is default in PyMuPDF." +msgstr "64 -- 페이지의 **mediabox** 완전히 밖에 있거나 다른 \"클리핑된\" 영역에 포함된 문자는 무시됩니다. 이것은 PyMuPDF의 기본값입니다." + +#: ../../vars.rst:250 befbc341b1674e348a9396c99be1ac8a +msgid "" +"128 -- Use raw character codes instead of U+FFFD. This is the default for" +" **text extraction** in PyMuPDF. If you **want to detect** when encoding " +"information is missing or uncertain, toggle this flag and scan for the " +"presence of U+FFFD (= `chr(0xfffd)`) code points in the resulting text." +msgstr "128 -- U+FFFD 대신 원시 문자 코드를 사용합니다. 이것은 PyMuPDF에서 **텍스트 추출** 의 기본값입니다. 인코딩 정보가 누락되거나 불확실할 때 **감지하려면** 이 플래그를 토글하고 결과 텍스트에서 U+FFFD(= `chr(0xfffd)`) 코드 포인트의 존재를 스캔하세요." + +#: ../../vars.rst:254 328eded5e21c495986514848f3acd090 +msgid "256 -- Not supported." +msgstr "256 -- 지원되지 않음." + +#: ../../vars.rst:258 c2468f6ee1364a9aacd5178c2e2e1f03 +msgid "" +"512 -- Ignore metric values of all fonts when computing character " +"boundary boxes -- most prominently the `ascender " +"`_ and `descender " +"`_ values. Instead, follow the " +"drawing commands of each character's glyph and compute its rectangle " +"hull. This is the smallest rectangle wrapping all points used for drawing" +" the visual appearance - see the :ref:`Shape` class for understanding the" +" background. This will especially result in individual character heights." +" For instance a (white) space will have a **bbox of height 0** (because " +"nothing is drawn) -- in contrast to the non-zero boundary box generated " +"when using font metrics. This option may be useful to cope with getting " +"meaningful boundary boxes even for fonts containing errors. Its use will " +"slow down text extraction somewhat because of the incurred computational " +"effort." +msgstr "" +"512 -- 문자 경계 상자를 계산할 때 모든 글꼴의 메트릭 값을 무시합니다 -- 가장 " +"두드러지게 `ascender " +"`_ 및 `descender " +"`_ 값입니다. 대신 각 문자의 글리프의 " +"그리기 명령을 따르고 해당 사각형 경계를 계산합니다. 이것은 시각적 모양을 그리는 " +"데 사용된 모든 점을 감싸는 가장 작은 사각형입니다 - 배경을 이해하려면 " +":ref:`Shape` 클래스를 참조하세요. 이것은 특히 개별 문자 높이를 초래합니다. " +"예를 들어 (흰색) 공백은 **높이가 0인 bbox** 를 가집니다(아무것도 그려지지 않기 " +"때문) -- 글꼴 메트릭을 사용할 때 생성되는 0이 아닌 경계 상자와 대조됩니다. 이 " +"옵션은 오류가 포함된 글꼴에 대해서도 의미 있는 경계 상자를 얻는 데 유용할 수 " +"있습니다. 발생하는 계산 작업으로 인해 사용 시 텍스트 추출 속도가 다소 느려집니다." + +#: ../../vars.rst:260 0d005cfd39294c549dcb076c7db6a438 +msgid "" +"Note that this has no effect by default - one must also disable the " +"global quad corrections setting with " +"`pymupdf.TOOLS.unset_quad_corrections(True)`." +msgstr "기본적으로는 효과가 없습니다 - `pymupdf.TOOLS.unset_quad_corrections(True)` 로 전역 quad 보정 설정도 비활성화해야 합니다." + +#: ../../vars.rst:265 26addbea02e84233b6230ff416c3f839 +msgid "1024 -- Not supported." +msgstr "1024 -- 지원되지 않음." + +#: ../../vars.rst:269 71ca80b7b9a0453f96fbe2509cc882f8 +msgid "" +"2048 -- Ignore built-in differences between text appearing in e.g. PDF " +"viewers versus text stored in the PDF. See :ref:`AdobeManual`, page 615 " +"for background. If set, the **stored** (\"replacement\" text) is ignored " +"in favor of the displayed text." +msgstr "" +"2048 -- PDF 뷰어 등에 나타나는 텍스트와 PDF에 저장된 텍스트 간의 내장된 " +"차이를 무시합니다. 배경은 :ref:`AdobeManual` 615페이지를 참조하세요. 설정되면 " +"**저장된** (\"대체\" 텍스트)이 무시되고 표시된 텍스트가 우선됩니다." + +#: ../../vars.rst:273 a2280aa3922d45a0b01eec12d3b1828e +msgid "4096 -- Attempt to segment page into different regions." +msgstr "4096 -- 페이지를 다른 영역으로 분할하려고 시도합니다." + +#: ../../vars.rst:275 6055e0ec2f2640a4a69c769d60051dd1 +msgid "" +"The following constants represent the default combinations of the above " +"for text extraction and searching:" +msgstr "다음 상수는 텍스트 추출 및 검색을 위한 위의 기본 조합을 나타냅니다:" + +#: ../../vars.rst:279 ../../vars.rst:283 ../../vars.rst:287 ../../vars.rst:307 +#: 18445061c2274e3094f8e223b2f97d8b 4848e850ecdd4b71ae9e0fe4bd1bd2ab +#: 7e1253a470a94b4bad14d5086ec64c03 b78142b94eed4f5ca84f11c2fef8b074 +msgid "" +"`TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP " +"| TEXT_USE_CID_FOR_UNKNOWN_UNICODE`" +msgstr "" +"`TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP " +"| TEXT_USE_CID_FOR_UNKNOWN_UNICODE`" + +#: ../../vars.rst:291 ../../vars.rst:295 ../../vars.rst:299 ../../vars.rst:303 +#: 1cef0274d54745cead1031d1bca2799f 2fbf2a5e26ee49eb868428bcbb529499 +#: 9fdd1b123b4e4f2fa9c013d23a2b966c ffe8940542984cda9c70ce1c925581dc +msgid "" +"`TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP " +"| TEXT_PRESERVE_IMAGES | TEXT_USE_CID_FOR_UNKNOWN_UNICODE`" +msgstr "" +"`TEXT_PRESERVE_LIGATURES | TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP " +"| TEXT_PRESERVE_IMAGES | TEXT_USE_CID_FOR_UNKNOWN_UNICODE`" + +#: ../../vars.rst:311 bb90ee72173049c7a370c67ba9105b23 +msgid "`TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_DEHYPHENATE`" +msgstr "`TEXT_PRESERVE_WHITESPACE | TEXT_MEDIABOX_CLIP | TEXT_DEHYPHENATE`" + +#: ../../vars.rst:317 f588bfe5d7214e09848d2ea66fc226e0 +msgid "Link Destination Kinds" +msgstr "링크 대상 종류" + +#: ../../vars.rst:318 25e6f87b871146ab8c9d29979584f4b3 +msgid "Possible values of :attr:`linkDest.kind` (link destination kind)." +msgstr ":attr:`linkDest.kind` (링크 대상 종류)의 가능한 값." + +#: ../../vars.rst:322 93386ed82cc246f889866c47a3647e09 +msgid "0 -- No destination. Indicates a dummy link." +msgstr "0 -- 대상 없음. 더미 링크를 나타냅니다." + +#: ../../vars.rst:328 55d8c4d1bc6e4ff7896e13f3fcbbfa74 +msgid "1 -- Points to a place in this document." +msgstr "1 -- 이 문서의 위치를 가리킵니다." + +#: ../../vars.rst:334 17fd7d0b788140929657b02c096290f0 +msgid "" +"2 -- Points to a URI -- typically a resource specified with internet " +"syntax." +msgstr "2 -- URI를 가리킵니다 -- 일반적으로 인터넷 구문으로 지정된 리소스." + +#: ../../vars.rst:336 c2c977e93a6b466686c3ec774112b806 +msgid "" +"PyMuPDF treats any external link that contains a colon and does not start" +" with `file:`, as `LINK_URI`." +msgstr "PyMuPDF는 콜론을 포함하고 `file:` 로 시작하지 않는 모든 외부 링크를 `LINK_URI` 로 처리합니다." + +#: ../../vars.rst:343 f2f74244f1ff419e9d052ead3e767a51 +msgid "3 -- Launch (open) another file (of any \"executable\" type)." +msgstr "3 -- 다른 파일(모든 \"실행 가능한\" 유형)을 실행(열기)합니다." + +#: ../../vars.rst:345 80fd06d08b3a4bbd91c5550c158e44a4 +msgid "" +"|PyMuPDF| treats any external link that starts with `file:` or doesn't " +"contain a colon, as `LINK_LAUNCH`." +msgstr "|PyMuPDF| 는 `file:` 로 시작하거나 콜론을 포함하지 않는 모든 외부 링크를 `LINK_LAUNCH` 로 처리합니다." + +#: ../../vars.rst:352 953c280a5a2c4081b49b4428360d0b70 +msgid "4 -- points to a named location." +msgstr "4 -- 명명된 위치를 가리킵니다." + +#: ../../vars.rst:358 c2dd6d723df94a729c602ab39198e6e3 +msgid "5 -- Points to a place in another PDF document." +msgstr "5 -- 다른 PDF 문서의 위치를 가리킵니다." + +#: ../../vars.rst:365 13d9db49dc764ad2943a0bd89bf1eccd +msgid "Link Destination Flags" +msgstr "링크 대상 플래그" + +#: ../../vars.rst:367 d3b19de8c19a4cca93ae0614069136aa +msgid "" +"The rightmost byte of this integer is a bit field, so test the truth of " +"these bits with the *&* operator." +msgstr "이 정수의 가장 오른쪽 바이트는 비트 필드이므로 *&* 연산자로 이러한 비트의 참을 테스트하세요." + +#: ../../vars.rst:371 adfb385a3f204afa96eae840376cfaaf +msgid "1 (bit 0) Top left x value is valid" +msgstr "1 (비트 0) 왼쪽 상단 x 값이 유효함" + +#: ../../vars.rst:373 ../../vars.rst:379 ../../vars.rst:385 ../../vars.rst:391 +#: ../../vars.rst:397 ../../vars.rst:403 ../../vars.rst:409 +#: 45d5d66079ad4119a37daf32345170ea 68ec9fd7a3194726abc3dd123922506c +#: 802dc57d84e340dda07eb08e1fa533ea a78880c24f194e0183ba7acb53112b5c +#: b54e07447ebd48d08adcaa6c2330efd7 cc044f3983144e34b9ec5e221c661f84 +#: de33e1ca908e4329acf8e771d8062395 +msgid "bool" +msgstr "bool" + +#: ../../vars.rst:377 f6bb945288e84c2ea7af6535127f5686 +msgid "2 (bit 1) Top left y value is valid" +msgstr "2 (비트 1) 왼쪽 상단 y 값이 유효함" + +#: ../../vars.rst:383 1429f391f08e4098bf3648e649655ce7 +msgid "4 (bit 2) Bottom right x value is valid" +msgstr "4 (비트 2) 오른쪽 하단 x 값이 유효함" + +#: ../../vars.rst:389 dd2f2b2b41774030b5c2a8b95d745273 +msgid "8 (bit 3) Bottom right y value is valid" +msgstr "8 (비트 3) 오른쪽 하단 y 값이 유효함" + +#: ../../vars.rst:395 62df816d97ee45ccab57344fe8d25a10 +msgid "16 (bit 4) Horizontal fit" +msgstr "16 (비트 4) 수평 맞춤" + +#: ../../vars.rst:401 78e6492677c146c4a8d9bf5ea9d48be1 +msgid "32 (bit 5) Vertical fit" +msgstr "32 (비트 5) 수직 맞춤" + +#: ../../vars.rst:407 40d05c050d174b918e1b5d3b4e8d4671 +msgid "64 (bit 6) Bottom right x is a zoom figure" +msgstr "64 (비트 6) 오른쪽 하단 x는 확대/축소 수치" + +#: ../../vars.rst:413 136d76a8f9eb46c88e7d3a181650da73 +msgid "Annotation Related Constants" +msgstr "주석 관련 상수" + +#: ../../vars.rst:414 0afb6c758143449fb56a0b04ab704888 +msgid "See chapter 8.4.5, pp. 615 of the :ref:`AdobeManual` for details." +msgstr "자세한 내용은 :ref:`AdobeManual` 615페이지의 8.4.5장을 참조하세요." + +#: ../../vars.rst:419 c080cb77d13c409a8faecbcbd760910c +msgid "Annotation Types" +msgstr "주석 유형" + +#: ../../vars.rst:420 d20a798f8f554b5d8529e31b8816197f +msgid "" +"These identifiers also cover **links** and **widgets**: the PDF " +"specification technically handles them all in the same way, whereas " +"|MuPDF| (and PyMuPDF) treats them as three basically different types of " +"objects." +msgstr "이 식별자는 **링크** 및 **위젯** 도 포함합니다: PDF 사양은 기술적으로 모두 동일한 방식으로 처리하지만, |MuPDF| (및 PyMuPDF)는 이를 기본적으로 세 가지 다른 유형의 객체로 처리합니다." + +#: ../../vars.rst:457 713c32c363bd480cba99fcadd3fa3555 +msgid "Annotation Flag Bits" +msgstr "주석 플래그 비트" + +#: ../../vars.rst:474 9fdaae6162c54afea314aa849239b470 +msgid "Annotation Line Ending Styles" +msgstr "주석 선 끝 스타일" + +#: ../../vars.rst:490 3e407ea8c72444ebba3331d472a6a25a +msgid "Widget Constants" +msgstr "위젯 상수" + +#: ../../vars.rst:495 96ec99e51a7e4985a737ba02c17541ac +msgid "Widget Types (*field_type*)" +msgstr "위젯 유형 (*field_type*)" + +#: ../../vars.rst:508 755546e537074e1aaa1b792a365b879a +msgid "Text Widget Subtypes (*text_format*)" +msgstr "텍스트 위젯 하위 유형 (*text_format*)" + +#: ../../vars.rst:519 2d435f5842544cc5ad764fc27d6e30db +msgid "Widget flags (*field_flags*)" +msgstr "위젯 플래그 (*field_flags*)" + +#: ../../vars.rst:520 1be2e082d5f24d78b93633d42c3ab6b3 +msgid "**Common to all field types**::" +msgstr "**모든 필드 유형에 공통**::" + +#: ../../vars.rst:526 9a70d77fe1724d00a6baf6703369f739 +msgid "**Text widgets**::" +msgstr "**텍스트 위젯**::" + +#: ../../vars.rst:536 a70d3da20a7a4996843ce3b94a65f844 +msgid "**Button widgets**::" +msgstr "**버튼 위젯**::" + +#: ../../vars.rst:543 33f39c42d34a4fa49140b193aec55d00 +msgid "**Choice widgets**::" +msgstr "**선택 위젯**::" + +#: ../../vars.rst:556 05602853929445cfb71dfca4dc7fb284 +msgid "PDF Standard Blend Modes" +msgstr "PDF 표준 블렌드 모드" + +#: ../../vars.rst:558 d1da99abe9c4449e9af156616a68a1c3 +msgid "For an explanation see :ref:`AdobeManual`, page 324::" +msgstr "설명은 :ref:`AdobeManual` 324페이지를 참조하세요::" + +#: ../../vars.rst:581 72834b1fb7fb47c6982ed3593f7600d3 +msgid "Stamp Annotation Icons" +msgstr "스탬프 주석 아이콘" + +#: ../../vars.rst:582 71aa56b7b0644cef8475af050d9bccf3 +msgid "MuPDF has defined the following icons for **rubber stamp** annotations::" +msgstr "MuPDF는 **고무 스탬프** 주석에 대해 다음 아이콘을 정의했습니다::" + +#: ../../footer.rst:46 7b627849860f4ae7a235d36a44c7c566 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/version.mo b/docs/locales/ko/LC_MESSAGES/version.mo new file mode 100644 index 000000000..f347083e9 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/version.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/version.po b/docs/locales/ko/LC_MESSAGES/version.po new file mode 100644 index 000000000..00695a87e --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/version.po @@ -0,0 +1,55 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PyMuPDF 1.26.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-02 16:19+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ko\n" +"Language-Team: ko \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" + +#: ../../version.rst:1 d1fbe6ff1d5549fb8be875f6d37c584b +msgid "This documentation covers PyMuPDF |version|." +msgstr "이 문서는 PyMuPDF |version| 을 다룹니다." + +#: ../../version.rst:3 133bf913bb004c8ca82964184ed7628c +msgid "" +"The major and minor versions of PyMuPDF and MuPDF will always be the " +"same. Only the third qualifier (patch level) may deviate from that of " +"MuPDF." +msgstr "|PyMuPDF| 와 |MuPDF| 의 주 버전과 부 버전은 항상 동일합니다. 세 번째 한정자(패치 레벨)만 |MuPDF| 와 다를 수 있습니다." + +#: ../../version.rst:5 994720d99f72419ebd711b2cf71dcefb +msgid "" +"Typically PyMuPDF is released more frequently than MuPDF so it will often" +" be the case that the patch level of PyMuPDF will be greater than the " +"embedded MuPDF." +msgstr "일반적으로 PyMuPDF는 MuPDF보다 더 자주 릴리스되므로, PyMuPDF의 패치 레벨이 내장된 MuPDF보다 높은 경우가 많습니다." + +#: ../../version.rst:9 371aa251e8314b9aad7c870f54636f80 +msgid "For example PyMuPDF-1.24.5 contains MuPDF-1.24.2." +msgstr "예를 들어 PyMuPDF-1.24.5는 MuPDF-1.24.2를 포함합니다." + +#: ../../version.rst:11 7c7d7d87d7e14441959c236fee7d2ee5 +msgid "Also see `pymupdf_version` and `mupdf_version`." +msgstr "`pymupdf_version` 및 `mupdf_version` 도 참조하세요." + +#~ msgid "" +#~ "The major and minor versions of " +#~ "|PyMuPDF| and |MuPDF| will always be " +#~ "the same. Only the third qualifier " +#~ "(patch level) may deviate from that " +#~ "of |MuPDF|." +#~ msgstr "" + diff --git a/docs/locales/ko/LC_MESSAGES/widget.mo b/docs/locales/ko/LC_MESSAGES/widget.mo new file mode 100644 index 000000000..3f024869b Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/widget.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/widget.po b/docs/locales/ko/LC_MESSAGES/widget.po new file mode 100644 index 000000000..41a00f0e9 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/widget.po @@ -0,0 +1,608 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 9be7fe8ece684722b20723502ba6e81a +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 4fd0b4c61f30429d928c92ebb1081bc3 +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 8395c05a667445b68d678e31a6c9296f +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" + +#: ../../widget.rst:7 b5bf7834aa6d4acc80837502b85e97c1 +msgid "Widget" +msgstr "Widget (위젯)" + +#: ../../widget.rst:9 db658752009445c5a3459712f6b25c8f +msgid "|pdf_only_class|" +msgstr "|pdf_only_class|" + +#: ../../widget.rst:11 d1312e8bf60148598975d49439011b6c +msgid "" +"This class represents a PDF Form field, also called a \"widget\". " +"Throughout this documentation, we are using these terms synonymously. " +"Fields technically are a special case of PDF annotations, which allow " +"users with limited permissions to enter information in a PDF. This is " +"primarily used for filling out forms." +msgstr "이 클래스는 PDF 폼 필드(또한 \"위젯\"이라고도 함)를 나타냅니다. 이 문서 전체에서 이 용어들을 동의어로 사용합니다. 필드는 기술적으로 PDF 주석의 특수한 경우이며, 제한된 권한을 가진 사용자가 PDF에 정보를 입력할 수 있게 합니다. 이것은 주로 양식 작성에 사용됩니다." + +#: ../../widget.rst:13 6befe4905ed146a2ab8cfd92d1d923bc +msgid "" +"Like annotations, widgets live on PDF pages. Similar to annotations, the " +"first widget on a page is accessible via :attr:`Page.first_widget` and " +"subsequent widgets can be accessed via the :attr:`Widget.next` property." +msgstr "주석과 마찬가지로 위젯은 PDF 페이지에 존재합니다. 주석과 유사하게, 페이지의 첫 번째 위젯은 :attr:`Page.first_widget` 를 통해 접근할 수 있으며, 이후 위젯은 :attr:`Widget.next` 속성을 통해 접근할 수 있습니다." + +#: ../../widget.rst:15 f5dcbec91e9446b1bc886ab894d9b27c +msgid "" +"Like annotations, widgets also lose connection to their page when the " +"page becomes unavailable, please see `here " +"`_ for details. This is relevant " +"especially when updating the widget: this will fail if the original page " +"object is no longer available." +msgstr "주석과 마찬가지로 위젯도 페이지를 사용할 수 없게 되면 페이지와의 연결을 잃습니다. 자세한 내용은 `여기 `_ 를 참조하세요. 이것은 특히 위젯을 업데이트할 때 관련이 있습니다: 원본 페이지 객체를 더 이상 사용할 수 없으면 실패합니다." + +#: ../../widget.rst:17 23ea64f7e0164b6788a0c02783469bef +msgid "" +"*(Changed in version 1.16.0)* MuPDF no longer treats widgets as a subset " +"of general annotations. Consequently, :attr:`Page.first_annot` and " +":meth:`Annot.next` will deliver **non-widget annotations exclusively**, " +"and be ``None`` if only form fields exist on a page. Vice versa, " +":attr:`Page.first_widget` and :meth:`Widget.next` will only show widgets." +" This design decision is purely internal to MuPDF; technically, links, " +"annotations and fields have a lot in common and also continue to share " +"the better part of their code within (Py-) MuPDF." +msgstr "*(버전 1.16.0에서 변경)* |MuPDF| 는 더 이상 위젯을 일반 주석의 하위 집합으로 처리하지 않습니다. 결과적으로 :attr:`Page.first_annot` 및 :meth:`Annot.next` 는 **위젯이 아닌 주석만** 제공하며, 페이지에 폼 필드만 존재하는 경우 ``None`` 이 됩니다. 반대로 :attr:`Page.first_widget` 및 :meth:`Widget.next` 는 위젯만 표시합니다. 이 설계 결정은 순전히 |MuPDF| 내부적인 것입니다. 기술적으로 링크, 주석 및 필드는 많은 공통점이 있으며 (Py-) |MuPDF| 내에서 코드의 대부분을 계속 공유합니다." + +#: ../../widget.rst:20 4c382afc381347e990494e4d0e1c78f7 +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../widget.rst:26 f56bf175166444f7920a252639d09199 +msgid "*New in version 1.18.15*" +msgstr "*버전 1.18.15에서 새로 추가됨*" + +#: ../../widget.rst:28 00cee4b5b9734e0484ff17718afb7614 +msgid "" +"Return the names of On / Off (i.e. selected / clicked or not) states a " +"button field may have. While the 'Off' state usually is also named like " +"so, the 'On' state is often given a name relating to the functional " +"context, for example 'Yes', 'Female', etc." +msgstr "버튼 필드가 가질 수 있는 On/Off(즉, 선택/클릭 여부) 상태의 이름을 반환합니다. 'Off' 상태는 일반적으로 그렇게 명명되지만, 'On' 상태는 기능적 맥락과 관련된 이름(예: 'Yes', 'Female' 등)이 자주 지정됩니다." + +#: ../../widget.rst:30 7d6a3ae94e2742d5a84bf396789e24e1 +msgid "" +"This method helps finding out the possible values of :attr:`field_value` " +"in these cases." +msgstr "이 메서드는 이러한 경우 :attr:`field_value` 의 가능한 값을 찾는 데 도움이 됩니다." + +#: ../../widget.rst 3ba59739b0504accbfb45a04c8b24a7f +#: ac61f1c8af7547ca9e4696981cd7c001 +msgid "returns" +msgstr "반환값" + +#: ../../widget.rst:32 dc0ef726c74e4a249337ee6f20cdd308 +msgid "" +"a dictionary with the names of 'On' and 'Off' for the *normal* and the " +"*pressed-down* appearance of button widgets. The following example shows " +"that the \"selected\" value is \"Male\":" +msgstr "*normal* 및 *pressed-down* 모양의 버튼 위젯에 대한 'On' 및 'Off' 이름을 가진 딕셔너리. 다음 예제는 \"selected\" 값이 \"Male\"임을 보여줍니다:" + +#: ../../widget.rst:40 dca66819e96f4f19a12d511c1409a188 +msgid "New in version 1.22.2" +msgstr "버전 1.22.2에서 새로 추가됨" + +#: ../../widget.rst:42 72cfa1c4a4794fdebcf176d87534ed11 +msgid "" +"Return the value of the \"ON\" state of check boxes and radio buttons. " +"For check boxes this is always the value \"Yes\". For radio buttons, this" +" is the value to select / activate the button." +msgstr "체크박스 및 라디오 버튼의 \"ON\" 상태 값을 반환합니다. 체크박스의 경우 이것은 항상 \"Yes\" 값입니다. 라디오 버튼의 경우 이것은 버튼을 선택/활성화하는 값입니다." + +#: ../../widget.rst:44 ef6612006aa6463b9f062200357220e8 +msgid "" +"the value that sets the button to \"selected\". For non-checkbox, non-" +"radiobutton fields, always `None` is returned. For check boxes the return" +" is `True`. For radio buttons this is the value \"Male\" in the following" +" example:" +msgstr "버튼을 \"selected\"로 설정하는 값. 체크박스가 아니고 라디오 버튼이 아닌 필드의 경우 항상 `None` 이 반환됩니다. 체크박스의 경우 반환값은 `True` 입니다. 라디오 버튼의 경우 다음 예제에서 값은 \"Male\"입니다:" + +#: ../../widget.rst:51 149007e65bf84de18e2eb1c2afe8bf71 +msgid "" +"So for check boxes and radio buttons, the recommended method to set them " +"to \"selected\", or to check the state is the following:" +msgstr "따라서 체크박스 및 라디오 버튼의 경우 \"selected\"로 설정하거나 상태를 확인하는 권장 방법은 다음과 같습니다:" + +#: ../../widget.rst:60 9b42ee70ae144a8b92f71cf466956b05 +msgid "" +"After any changes to a widget, this **method must be used** to reflect " +"changes in the PDF [#f1]_." +msgstr "위젯에 대한 변경 사항이 있은 후, PDF에 변경 사항을 반영하려면 이 **메서드를 사용해야 합니다** [#f1]_." + +#: ../../widget.rst f9afde507f67494fbafed9da093edc2c +msgid "Parameters" +msgstr "매개변수" + +#: ../../widget.rst:62 4a0049c3506c40d99e4aba3b7c10c027 +msgid "" +"if ``True``, the widget's :attr:`Widget.field_flags` are copied to the " +"``Parent`` object (if present) and all widgets named in its ``Kids`` " +"array. This provides a convenient way to -- for example -- set all " +"instances of the widget to read-only, no matter on which page they may " +"occur [#f2]_." +msgstr "``True`` 인 경우 위젯의 :attr:`Widget.field_flags` 가 ``Parent`` 객체(존재하는 경우)와 ``Kids`` 배열에 명명된 모든 위젯에 복사됩니다. 이를 통해 예를 들어 위젯의 모든 인스턴스를 읽기 전용으로 설정할 수 있는 편리한 방법을 제공합니다. 어떤 페이지에 나타나든 상관없이 [#f2]_." + +#: ../../widget.rst:66 ad4e8312e49447b68aa62039c7138968 +msgid "" +"Reset the field's value to its default -- if defined -- or remove it. Do " +"not forget to issue :meth:`update` afterwards." +msgstr "필드 값을 기본값으로 재설정합니다(정의된 경우) 또는 제거합니다. 이후 :meth:`update` 를 호출하는 것을 잊지 마세요." + +#: ../../widget.rst:70 ac472167a7e14f4290ac8a193c79160c +msgid "" +"Point to the next form field on the page. The last widget returns " +"``None``." +msgstr "페이지의 다음 폼 필드를 가리킵니다. 마지막 위젯은 ``None`` 을 반환합니다." + +#: ../../widget.rst:74 1f2d580b4eca4c468f4a0e6592281c85 +msgid "" +"A list of up to 4 floats defining the field's border color. Default value" +" is ``None`` which causes border style and border width to be ignored." +msgstr "필드의 테두리 색상을 정의하는 최대 4개의 float 목록. 기본값은 ``None`` 으로, 테두리 스타일과 테두리 너비가 무시됩니다." + +#: ../../widget.rst:78 4d75daab990241b7a3b26a0e4ab3a3f3 +msgid "" +"A string defining the line style of the field's border. See " +":attr:`Annot.border`. Default is \"s\" (\"Solid\") -- a continuous line. " +"Only the first character (upper or lower case) will be regarded when " +"creating a widget." +msgstr "필드 테두리의 선 스타일을 정의하는 문자열. :attr:`Annot.border` 를 참조하세요. 기본값은 \"s\"(\"Solid\") -- 연속선입니다. 위젯을 생성할 때 첫 번째 문자(대문자 또는 소문자)만 고려됩니다." + +#: ../../widget.rst:82 a3b4c3bbfb544efd99ac42ab92c5d596 +msgid "A float defining the width of the border line. Default is 1." +msgstr "테두리 선의 너비를 정의하는 float. 기본값은 1입니다." + +#: ../../widget.rst:86 8abf38d7b6a540acb99b929363d614c3 +msgid "" +"A list/tuple of integers defining the dash properties of the border line." +" This is only meaningful if *border_style == \"D\"* and " +":attr:`border_color` is provided." +msgstr "테두리 선의 대시 속성을 정의하는 정수 목록/튜플. *border_style == \"D\"* 이고 :attr:`border_color` 가 제공된 경우에만 의미가 있습니다." + +#: ../../widget.rst:90 89fa9c260a8c49f0b07ea1b251cece4e +msgid "" +"Python sequence of strings defining the valid choices of list boxes and " +"combo boxes. For these widget types, this property is mandatory and must " +"contain at least two items. Ignored for other types." +msgstr "리스트 박스 및 콤보 박스의 유효한 선택 항목을 정의하는 문자열의 Python 시퀀스. 이러한 위젯 유형의 경우 이 속성은 필수이며 최소 두 개의 항목을 포함해야 합니다. 다른 유형에서는 무시됩니다." + +#: ../../widget.rst:94 d429d2ef1dd644d79f98b280f55ad276 +msgid "" +"A mandatory string defining the field's name. No checking for duplicates " +"takes place." +msgstr "필드 이름을 정의하는 필수 문자열. 중복 확인은 수행되지 않습니다." + +#: ../../widget.rst:98 3e1f3a12889b40cdb2687c5e1e275082 +msgid "" +"An optional string containing an \"alternate\" field name. Typically used" +" for any notes, help on field usage, etc. Default is the field name." +msgstr "\"대체\" 필드 이름을 포함하는 선택적 문자열. 일반적으로 필드 사용에 대한 메모, 도움말 등에 사용됩니다. 기본값은 필드 이름입니다." + +#: ../../widget.rst:102 02bb3f5a570947e98e225720d915a4b5 +msgid "The value of the field." +msgstr "필드의 값." + +#: ../../widget.rst:106 159866e898664171a44d8b61241d2731 +msgid "" +"An integer defining a large amount of properties of a field. Be careful " +"when changing this attribute as this may change the field type." +msgstr "필드의 많은 속성을 정의하는 정수. 이 속성을 변경할 때는 주의하세요. 필드 유형이 변경될 수 있습니다." + +#: ../../widget.rst:110 62966a5f68404db5822a72647d202b90 +msgid "" +"A mandatory integer defining the field type. This is a value in the range" +" of 0 to 6. It cannot be changed when updating the widget." +msgstr "필드 유형을 정의하는 필수 정수. 이것은 0부터 6까지의 범위 값입니다. 위젯을 업데이트할 때 변경할 수 없습니다." + +#: ../../widget.rst:114 a9fbed37d8be4f51b900e87522083cb4 +msgid "A string describing (and derived from) the field type." +msgstr "필드 유형을 설명하는(및 필드 유형에서 파생된) 문자열." + +#: ../../widget.rst:118 0893214230bb4b998907cfb864bf8047 +msgid "A list of up to 4 floats defining the field's background color." +msgstr "필드의 배경색을 정의하는 최대 4개의 float 목록." + +#: ../../widget.rst:122 864cf589b08549bca7920c38f91caa48 +msgid "The caption string of a button-type field." +msgstr "버튼 유형 필드의 캡션 문자열." + +#: ../../widget.rst:126 d1ed58b8e9784d0f9f5368aa781d8db2 +msgid "A bool indicating the signing status of a signature field, else ``None``." +msgstr "서명 필드의 서명 상태를 나타내는 bool, 그렇지 않으면 ``None``." + +#: ../../widget.rst:130 fd9f9f5619ec4ae69d780dcfdcaf1cf5 +msgid "The rectangle containing the field." +msgstr "필드를 포함하는 사각형." + +#: ../../widget.rst:134 32a4055906494c169f91575f408fd75e +msgid "" +"A list of **1, 3 or 4 floats** defining the text color. Default value is " +"black (`[0, 0, 0]`)." +msgstr "텍스트 색상을 정의하는 **1, 3 또는 4개의 float** 목록. 기본값은 검은색(`[0, 0, 0]`)입니다." + +#: ../../widget.rst:138 f951f27a175047e6ad58a7ee9d45d202 +msgid "" +"A string defining the font to be used. Default and replacement for " +"invalid values is *\"Helv\"*. For valid font reference names see the " +"table below." +msgstr "사용할 글꼴을 정의하는 문자열. 기본값 및 잘못된 값의 대체값은 *\"Helv\"* 입니다. 유효한 글꼴 참조 이름은 아래 표를 참조하세요." + +#: ../../widget.rst:142 93d6bab5e8ed4964b445aaff3f5a666e +msgid "" +"A float defining the text :data:`fontsize`. Default value is zero, which " +"causes PDF viewer software to dynamically choose a size suitable for the " +"annotation's rectangle and text amount." +msgstr "텍스트 :data:`fontsize` 를 정의하는 float. 기본값은 0이며, PDF 뷰어 소프트웨어가 주석의 사각형과 텍스트 양에 적합한 크기를 동적으로 선택하도록 합니다." + +#: ../../widget.rst:146 a1ded660efa640cd9b872d5a1fffdb1f +msgid "" +"An integer defining the maximum number of text characters. PDF viewers " +"will (should) not accept a longer text." +msgstr "텍스트 문자의 최대 개수를 정의하는 정수. PDF 뷰어는 더 긴 텍스트를 받아들이지 않습니다(받아들이지 않아야 합니다)." + +#: ../../widget.rst:150 68eac259cd954e619832866bde7c37e3 +msgid "" +"An integer defining acceptable text types (e.g. numeric, date, time, " +"etc.). For reference only for the time being -- will be ignored when " +"creating or updating widgets." +msgstr "허용 가능한 텍스트 유형(예: 숫자, 날짜, 시간 등)을 정의하는 정수. 현재는 참고용으로만 사용되며 위젯을 생성하거나 업데이트할 때 무시됩니다." + +#: ../../widget.rst:154 9df210c84ecd4845b952f6d3cc9195cc +msgid "The PDF :data:`xref` of the widget." +msgstr "위젯의 PDF :data:`xref`." + +#: ../../widget.rst:158 ../../widget.rst:164 ../../widget.rst:170 +#: ../../widget.rst:176 ../../widget.rst:182 6ac3abf289404eeaafe2d71129cccf4f +#: 8034826ba5bf458fa878c3dfe0dcb46e 8155dfc13cad413eb75cd134942ce80a +#: b8eb6a539c4941e6b3212dc4474dfd75 c5b33ed64c7043db966de5404c881830 +msgid "New in version 1.16.12" +msgstr "버전 1.16.12에서 새로 추가됨" + +#: ../../widget.rst:160 27f8421d8a374cd587fc385b05348e06 +msgid "" +"JavaScript text (unicode) for an action associated with the widget, or " +"``None``. This is the only script action supported for **button type** " +"widgets." +msgstr "위젯과 연결된 동작에 대한 JavaScript 텍스트(유니코드) 또는 ``None``. 이것은 **버튼 유형** 위젯에서 지원하는 유일한 스크립트 동작입니다." + +#: ../../widget.rst:166 bbc99abeab574327895dbdfadb016871 +msgid "" +"JavaScript text (unicode) to be performed when the user types a key-" +"stroke into a text field or combo box or modifies the selection in a " +"scrollable list box. This action can check the keystroke for validity and" +" reject or modify it. ``None`` if not present." +msgstr "사용자가 텍스트 필드나 콤보 박스에 키 입력을 하거나 스크롤 가능한 리스트 박스에서 선택을 수정할 때 실행할 JavaScript 텍스트(유니코드). 이 동작은 키 입력의 유효성을 확인하고 거부하거나 수정할 수 있습니다. 존재하지 않으면 ``None``." + +#: ../../widget.rst:172 49c953662fc846e4ab3a5754771075d5 +msgid "" +"JavaScript text (unicode) to be performed before the field is formatted " +"to display its current value. This action can modify the field’s value " +"before formatting. ``None`` if not present." +msgstr "필드가 현재 값을 표시하기 위해 포맷되기 전에 실행할 JavaScript 텍스트(유니코드). 이 동작은 포맷하기 전에 필드 값을 수정할 수 있습니다. 존재하지 않으면 ``None``." + +#: ../../widget.rst:178 f099a7380085444088d138037fc88009 +msgid "" +"JavaScript text (unicode) to be performed when the field’s value is " +"changed. This action can check the new value for validity. ``None`` if " +"not present." +msgstr "필드 값이 변경될 때 실행할 JavaScript 텍스트(유니코드). 이 동작은 새 값의 유효성을 확인할 수 있습니다. 존재하지 않으면 ``None``." + +#: ../../widget.rst:184 195412bc8f7645c7af94839cbeef56c7 +msgid "" +"JavaScript text (unicode) to be performed to recalculate the value of " +"this field when that of another field changes. ``None`` if not present." +msgstr "다른 필드의 값이 변경될 때 이 필드의 값을 다시 계산하기 위해 실행할 JavaScript 텍스트(유니코드). 존재하지 않으면 ``None``." + +#: ../../widget.rst:188 ../../widget.rst:194 be53028b2eeb496e91e645ddedbecf73 +#: caaac82450ae43fd84f1684ee16cc1aa +msgid "New in version 1.22.6" +msgstr "버전 1.22.6에서 새로 추가됨" + +#: ../../widget.rst:190 66757bee21264b4591997469672bf407 +msgid "" +"JavaScript text (unicode) to be performed on losing the focus of this " +"field. ``None`` if not present." +msgstr "이 필드의 포커스를 잃을 때 실행할 JavaScript 텍스트(유니코드). 존재하지 않으면 ``None``." + +#: ../../widget.rst:196 6d86df2f110242b9b322d96488384f39 +msgid "" +"JavaScript text (unicode) to be performed on focusing this field. " +"``None`` if not present." +msgstr "이 필드에 포커스를 맞출 때 실행할 JavaScript 텍스트(유니코드). 존재하지 않으면 ``None``." + +#: ../../widget.rst:200 31230d72253b4583a09b8159f40329f4 +msgid "For **adding** or **changing** one of the above scripts," +msgstr "위의 스크립트 중 하나를 **추가** 하거나 **변경** 하려면," + +#: ../../widget.rst:201 3d2a3d82396442afb52dfc4cdd423495 +msgid "" +"just put the appropriate JavaScript source code in the widget attribute. " +"To **remove** a script, set the respective attribute to ``None``." +msgstr "위젯 속성에 적절한 JavaScript 소스 코드를 넣으세요. 스크립트를 **제거** 하려면 해당 속성을 ``None`` 으로 설정하세요." + +#: ../../widget.rst:204 8ae6388eebe44c248ddac814e91ade75 +msgid "Button fields only support :attr:`script`." +msgstr "버튼 필드는 :attr:`script` 만 지원합니다." + +#: ../../widget.rst:205 eaf4aaf730aa470bac28fa589c1d9a75 +msgid "Other script entries will automatically be set to ``None``." +msgstr "다른 스크립트 항목은 자동으로 ``None`` 으로 설정됩니다." + +#: ../../widget.rst:207 1574012d10e54a92850485e41d1ffedf +msgid "" +"It is worthwhile to look at `this " +"`_ manual with lots of " +"information about Adobe's standard scripts for various field types. For " +"example, if you want to add a text field representing a date, you may " +"want to store the following scripts. They will ensure pattern-compatible " +"date formats and display date pickers in supporting viewers::" +msgstr "다양한 필드 유형에 대한 Adobe의 표준 스크립트에 대한 많은 정보가 포함된 `이 매뉴얼 `_ 을 살펴보는 것이 좋습니다. 예를 들어, 날짜를 나타내는 텍스트 필드를 추가하려면 다음 스크립트를 저장할 수 있습니다. 이것들은 패턴 호환 날짜 형식을 보장하고 지원하는 뷰어에서 날짜 선택기를 표시합니다::" + +#: ../../widget.rst:219 c65b215c2ad34e7488b15662ebd4d3bb +msgid "Standard Fonts for Widgets" +msgstr "위젯용 표준 글꼴" + +#: ../../widget.rst:220 cdad1a06914d4e0096cf6f84a03b0434 +msgid "" +"Widgets use their own resources object ``/DR``. A widget resources object" +" must at least contain a ``/Font`` object. Widget fonts are independent " +"from page fonts. We currently support the 14 PDF base fonts using the " +"following fixed reference names, or any name of an already existing field" +" font. When specifying a text font for new or changed widgets, **either**" +" choose one in the first table column (upper and lower case supported), " +"**or** one of the already existing form fonts. In the latter case, " +"spelling must exactly match." +msgstr "위젯은 자체 리소스 객체 ``/DR`` 를 사용합니다. 위젯 리소스 객체는 최소한 ``/Font`` 객체를 포함해야 합니다. 위젯 글꼴은 페이지 글꼴과 독립적입니다. 현재 다음 고정 참조 이름을 사용하여 14개의 PDF 기본 글꼴을 지원하거나, 이미 존재하는 필드 글꼴의 이름을 사용합니다. 새 위젯이나 변경된 위젯에 대한 텍스트 글꼴을 지정할 때 **첫 번째 테이블 열에서 하나를 선택하거나** (대소문자 지원), **이미 존재하는 폼 글꼴 중 하나를 선택** 하세요. 후자의 경우 철자가 정확히 일치해야 합니다." + +#: ../../widget.rst:222 7fd5734a55b445cc854e109cbc203e17 +msgid "" +"To find out already existing field fonts, inspect the list " +":attr:`Document.FormFonts`." +msgstr "이미 존재하는 필드 글꼴을 확인하려면 :attr:`Document.FormFonts` 목록을 검사하세요." + +#: ../../widget.rst:225 989af4e78c0847918dbff49079157c49 +msgid "**Reference**" +msgstr "**참조**" + +#: ../../widget.rst:225 2a3d30a6f94b40939fd222ac5505a0c3 +msgid "**Base14 Fontname**" +msgstr "**Base14 글꼴 이름**" + +#: ../../widget.rst:227 352a551d7b7d4200932f4f74ab639993 +msgid "CoBI" +msgstr "CoBI" + +#: ../../widget.rst:227 97b97d88ac2049608397f18450ce94f9 +msgid "Courier-BoldOblique" +msgstr "Courier-BoldOblique" + +#: ../../widget.rst:228 5784d31036e8451ea00333ebfc861db7 +msgid "CoBo" +msgstr "CoBo" + +#: ../../widget.rst:228 f62fddbdd0ec4ca5a7de461de53b6f58 +msgid "Courier-Bold" +msgstr "Courier-Bold" + +#: ../../widget.rst:229 7b2ab33a398843e2b2becf0f64045392 +msgid "CoIt" +msgstr "CoIt" + +#: ../../widget.rst:229 053e2cadb71446e3938febe4ef984f31 +msgid "Courier-Oblique" +msgstr "Courier-Oblique" + +#: ../../widget.rst:230 4f7d11706d4b41ec968dff1ac8fb677f +msgid "Cour" +msgstr "Cour" + +#: ../../widget.rst:230 bc034dde385b406280bef75f575a2672 +msgid "Courier" +msgstr "Courier" + +#: ../../widget.rst:231 ff774f899f274ee5a81ee1e6d1959b8c +msgid "HeBI" +msgstr "HeBI" + +#: ../../widget.rst:231 172ee9521a2348cd9f506babd8af5f10 +msgid "Helvetica-BoldOblique" +msgstr "Helvetica-BoldOblique" + +#: ../../widget.rst:232 79d0f51c58f54f67a759e45d17d9ffc6 +msgid "HeBo" +msgstr "HeBo" + +#: ../../widget.rst:232 467053b50fdf4b6a970d48f6d4cc2e1a +msgid "Helvetica-Bold" +msgstr "Helvetica-Bold" + +#: ../../widget.rst:233 5abb199e534a4b2985760322156b7819 +msgid "HeIt" +msgstr "HeIt" + +#: ../../widget.rst:233 8d472db0bc5a44caa9de71c566f7cb7e +msgid "Helvetica-Oblique" +msgstr "Helvetica-Oblique" + +#: ../../widget.rst:234 d03174f7c84045ea9ef98507a09fa344 +msgid "Helv" +msgstr "Helv" + +#: ../../widget.rst:234 bbec46b6db884fb29167ffc50a0c7dcb +msgid "Helvetica **(default)**" +msgstr "Helvetica **(기본값)**" + +#: ../../widget.rst:235 cd1c089129784daeb903d5ef116ea70b +msgid "Symb" +msgstr "Symb" + +#: ../../widget.rst:235 81ad28b580f44ba78513b1abebbc40bc +msgid "Symbol" +msgstr "Symbol" + +#: ../../widget.rst:236 de4c92826dc94244b1b8ef026ab90a2e +msgid "TiBI" +msgstr "TiBI" + +#: ../../widget.rst:236 3dc417d13f2d4a6cbb1233643dc93f65 +msgid "Times-BoldItalic" +msgstr "Times-BoldItalic" + +#: ../../widget.rst:237 43969ece08334ca685bd92f021cd1884 +msgid "TiBo" +msgstr "TiBo" + +#: ../../widget.rst:237 32b0cc34477144ffb88eb7565f2a0533 +msgid "Times-Bold" +msgstr "Times-Bold" + +#: ../../widget.rst:238 a1252968a11c4601b7341a5c9ad95394 +msgid "TiIt" +msgstr "TiIt" + +#: ../../widget.rst:238 8cdd804d025940c8b5d05a9397419bdc +msgid "Times-Italic" +msgstr "Times-Italic" + +#: ../../widget.rst:239 4d07f298c6d14909b518fad20ea5e681 +msgid "TiRo" +msgstr "TiRo" + +#: ../../widget.rst:239 b7c540028a3d4cedb72159dba9849432 +msgid "Times-Roman" +msgstr "Times-Roman" + +#: ../../widget.rst:240 58ea0b46026f4588b999a9ca93163980 +msgid "ZaDb" +msgstr "ZaDb" + +#: ../../widget.rst:240 2e0483edf38749a1928b25d20ab9055a +msgid "ZapfDingbats" +msgstr "ZapfDingbats" + +#: ../../widget.rst:243 a31f0eb06f284c738ae3404fb14e5e42 +msgid "" +"You are generally free to use any font for every widget. However, we " +"recommend using ``ZaDb`` (\"ZapfDingbats\") and :data:`fontsize` 0 for " +"check boxes: typical viewers will put a correctly sized tickmark in the " +"field's rectangle, when it is clicked." +msgstr "일반적으로 모든 위젯에 대해 어떤 글꼴이든 자유롭게 사용할 수 있습니다. 그러나 체크박스의 경우 ``ZaDb`` (\"ZapfDingbats\") 및 :data:`fontsize` 0을 사용하는 것을 권장합니다: 일반적인 뷰어는 클릭할 때 필드의 사각형에 올바른 크기의 체크 표시를 넣습니다." + +#: ../../widget.rst:246 25ed10dbd2a14216bbd4ed04f57c98cd +msgid "Supported Widget Types" +msgstr "지원되는 위젯 유형" + +#: ../../widget.rst:247 8cb59d1d5bd14f098f5fc408b8849853 +msgid "" +"PyMuPDF supports the creation and update of many, but not all widget " +"types." +msgstr "|PyMuPDF| 는 많은 위젯 유형의 생성 및 업데이트를 지원하지만, 모든 위젯 유형을 지원하는 것은 아닙니다." + +#: ../../widget.rst:249 8461bca05ec547fabc82884dedd125bb +msgid "text (`PDF_WIDGET_TYPE_TEXT`)" +msgstr "텍스트 (`PDF_WIDGET_TYPE_TEXT`)" + +#: ../../widget.rst:250 4c1a2929bc174c79bd4b539f47d803f2 +msgid "push button (`PDF_WIDGET_TYPE_BUTTON`)" +msgstr "푸시 버튼 (`PDF_WIDGET_TYPE_BUTTON`)" + +#: ../../widget.rst:251 c8546d5d5e834b6bb9bf78579650d52d +msgid "check box (`PDF_WIDGET_TYPE_CHECKBOX`)" +msgstr "체크박스 (`PDF_WIDGET_TYPE_CHECKBOX`)" + +#: ../../widget.rst:252 90c82cab0fe4443ab3b6c96bde056ab8 +msgid "combo box (`PDF_WIDGET_TYPE_COMBOBOX`)" +msgstr "콤보 박스 (`PDF_WIDGET_TYPE_COMBOBOX`)" + +#: ../../widget.rst:253 466344d91d064ed5a8d839e9b95d1988 +msgid "list box (`PDF_WIDGET_TYPE_LISTBOX`)" +msgstr "리스트 박스 (`PDF_WIDGET_TYPE_LISTBOX`)" + +#: ../../widget.rst:254 315046b3a75448dd80a03dc3287c68fe +msgid "" +"radio button (`PDF_WIDGET_TYPE_RADIOBUTTON`): PyMuPDF does not currently " +"support the **creation** of groups of (interconnected) radio buttons, " +"where setting one button automatically unsets the other buttons in the " +"group. The widget object also does not reflect the presence of a button " +"group. However: consistently selecting (or unselecting) a radio button is" +" supported. This includes correctly setting the value maintained in the " +"owning button group. Selecting a radio button may be done by either " +"assigning `True` or `field.on_state()` to the field value. **De-" +"selecting** the button should be done assigning `False`." +msgstr "라디오 버튼 (`PDF_WIDGET_TYPE_RADIOBUTTON`): |PyMuPDF| 는 현재 (상호 연결된) 라디오 버튼 그룹의 **생성** 을 지원하지 않습니다. 한 버튼을 설정하면 그룹의 다른 버튼이 자동으로 해제됩니다. 위젯 객체는 버튼 그룹의 존재를 반영하지 않습니다. 그러나: 라디오 버튼을 일관되게 선택(또는 선택 해제)하는 것은 지원됩니다. 여기에는 소유 버튼 그룹에서 유지되는 값을 올바르게 설정하는 것이 포함됩니다. 라디오 버튼을 선택하는 것은 필드 값에 `True` 또는 `field.on_state()` 를 할당하여 수행할 수 있습니다. 버튼 **선택 해제** 는 `False` 를 할당하여 수행해야 합니다." + +#: ../../widget.rst:255 b7ca95506bb743bf8bc9d51686c700fc +msgid "" +"signature (`PDF_WIDGET_TYPE_SIGNATURE`) **read only** -- no update or " +"creation of signatures." +msgstr "서명 (`PDF_WIDGET_TYPE_SIGNATURE`) **읽기 전용** -- 서명 업데이트 또는 생성 없음." + +#: ../../widget.rst:258 b53b3f3d840749208db6e32b83f6d04d +msgid "Footnotes" +msgstr "각주" + +#: ../../widget.rst:259 3eaba62dde8347e2a386454b987a2ed7 +msgid "" +"If you intend to re-access a new or updated field (e.g. for making a " +"pixmap), make sure to reload the page first. Either close and re-open the" +" document, or load another page first, or simply do `page = " +"doc.reload_page(page)`." +msgstr "새 필드나 업데이트된 필드에 다시 접근하려는 경우(예: 픽스맵 생성) 먼저 페이지를 다시 로드해야 합니다. 문서를 닫고 다시 열거나, 다른 페이지를 먼저 로드하거나, 간단히 `page = doc.reload_page(page)` 를 수행하세요." + +#: ../../widget.rst:261 148f6fb2b3f74450a3f794e012c04772 +msgid "" +"Among other purposes, ``Parent`` objects are also used to facilitate " +"multiple occurrences of a field (on the same or on different pages). The " +"``Kids`` array in this ``Parent`` object contains the cross references of" +" all widgets that are \"copies\" of the same field. Whenever the field " +"value of any \"kid\" widget is changed, all the other kids are " +"immediately updated too. This is a very efficient way to handle multiple " +"copies of the same field, e.g. for filling out forms. This simultaneous " +"update only happens for :attr:`Widget.field value`. The new parameter " +"``sync_flags`` extends this to :attr:`Widget.field_flags`. This cannot be" +" automated in the same way as for the field value to allow for more " +"flexibility." +msgstr "다른 목적 중에서 ``Parent`` 객체는 필드의 여러 발생(같은 페이지 또는 다른 페이지에)을 용이하게 하는 데에도 사용됩니다. 이 ``Parent`` 객체의 ``Kids`` 배열은 동일한 필드의 \"복사본\"인 모든 위젯의 교차 참조를 포함합니다. \"kid\" 위젯의 필드 값이 변경될 때마다 다른 모든 kids도 즉시 업데이트됩니다. 이것은 같은 필드의 여러 복사본을 처리하는 매우 효율적인 방법입니다. 예를 들어 양식 작성에 사용됩니다. 이 동시 업데이트는 :attr:`Widget.field value` 에 대해서만 발생합니다. 새 매개변수 ``sync_flags`` 는 이를 :attr:`Widget.field_flags` 로 확장합니다. 더 많은 유연성을 허용하기 위해 필드 값과 동일한 방식으로 자동화할 수 없습니다." + +#: ../../footer.rst:46 00e495d1b07b4fb7afe8b0b3fc2b91b4 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/xml-class.mo b/docs/locales/ko/LC_MESSAGES/xml-class.mo new file mode 100644 index 000000000..c474d8e01 Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/xml-class.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/xml-class.po b/docs/locales/ko/LC_MESSAGES/xml-class.po new file mode 100644 index 000000000..7b31ca6c0 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/xml-class.po @@ -0,0 +1,1071 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PyMuPDF 1.26.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-12-03 09:30+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ko\n" +"Language-Team: ko \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.17.0\n" + +#: ../../header.rst:-1 ed98a333448b4887914630a5de49f19a +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 cda7864bd6cb46cd906155fc2d06eb89 +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 b693e8da5abe4227a083012cc8103fca +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" + +#: ../../xml-class.rst:7 e50ebb3c4d5c4feda9d8282fdc5ffaeb +msgid "Xml" +msgstr "Xml" + +#: ../../xml-class.rst:11 8459b446e9bd4af5a330a44105902123 +msgid "New in v1.21.0" +msgstr "v1.21.0 에서 새로 추가됨" + +#: ../../xml-class.rst:13 d2debef004f14adfb792ab0d1ea7ea88 +msgid "" +"This represents an HTML or an XML node. It is a helper class intended to " +"access the DOM (Document Object Model) content of a :ref:`Story` object." +msgstr "" +"이것은 HTML 또는 XML 노드를 나타냅니다. :ref:`Story` 객체의 DOM(Document Object Model) " +"콘텐츠에 액세스하기 위한 헬퍼 클래스입니다." + +#: ../../xml-class.rst:15 14ab416bec2a4f7eb7f16bde88da3ce2 +msgid "" +"There is no need to ever directly construct an :ref:`Xml` object: after " +"creating a :ref:`Story`, simply take :attr:`Story.body` -- which is an " +"Xml node -- and use it to navigate your way through the story's DOM." +msgstr "" +":ref:`Xml` 객체를 직접 생성할 필요는 없습니다: :ref:`Story` 를 생성한 후 단순히 " +":attr:`Story.body` (Xml 노드)를 가져와 스토리의 DOM을 탐색하는 데 사용하세요." + +#: ../../xml-class.rst:19 1ff0c788ff7545fb96b56af99ee3e0a7 +msgid "**Method / Attribute**" +msgstr "**메서드 / 속성**" + +#: ../../xml-class.rst:19 c32ff8180e3148f5ac8a1a0e4fbd44be +msgid "**Description**" +msgstr "**설명**" + +#: ../../xml-class.rst:21 bed67d61200b4f0aacbf74acccda80e3 +msgid ":meth:`~.add_bullet_list`" +msgstr ":meth:`~.add_bullet_list`" + +#: ../../xml-class.rst:21 58a9340e599b4537a98193837f61ed21 +msgid "Add a :htmlTag:`ul` tag - bulleted list, context manager." +msgstr ":htmlTag:`ul` 태그 추가 - 불릿 목록, 컨텍스트 매니저." + +#: ../../xml-class.rst:22 9c06610248694be19672bc74726fe7a1 +msgid ":meth:`~.add_codeblock`" +msgstr ":meth:`~.add_codeblock`" + +#: ../../xml-class.rst:22 e03fce97fc1c4485b4ed438dcfa589ea +msgid "Add a :htmlTag:`pre` tag, context manager." +msgstr ":htmlTag:`pre` 태그 추가, 컨텍스트 매니저." + +#: ../../xml-class.rst:23 3343ffac757b42c0a4b4f8d2ca00aaef +msgid ":meth:`~.add_description_list`" +msgstr ":meth:`~.add_description_list`" + +#: ../../xml-class.rst:23 23c0254efb6d4087bfa74d7ca410ec92 +msgid "Add a :htmlTag:`dl` tag, context manager." +msgstr ":htmlTag:`dl` 태그 추가, 컨텍스트 매니저." + +#: ../../xml-class.rst:24 9119362458ae4f17a2ef89f729f32373 +msgid ":meth:`~.add_division`" +msgstr ":meth:`~.add_division`" + +#: ../../xml-class.rst:24 7e04a7789665496db5078e87d6c81350 +msgid "add a :htmlTag:`div` tag (renamed from “section”), context manager." +msgstr ":htmlTag:`div` 태그 추가(“section”에서 이름 변경), 컨텍스트 매니저." + +#: ../../xml-class.rst:25 70fbc87b6be8435583e12d042de78491 +msgid ":meth:`~.add_header`" +msgstr ":meth:`~.add_header`" + +#: ../../xml-class.rst:25 7a4857be283545b1a78b05d4a7a0467b +msgid "Add a header tag (one of :htmlTag:`h1` to :htmlTag:`h6`), context manager." +msgstr "헤더 태그 추가(:htmlTag:`h1` ~ :htmlTag:`h6` 중 하나), 컨텍스트 매니저." + +#: ../../xml-class.rst:26 6d66e3e04e534e5581b83b86bfb1a802 +msgid ":meth:`~.add_horizontal_line`" +msgstr ":meth:`~.add_horizontal_line`" + +#: ../../xml-class.rst:26 23f5482c4a9c4b7d875751cb669e52fd +msgid "Add a :htmlTag:`hr` tag." +msgstr ":htmlTag:`hr` 태그 추가." + +#: ../../xml-class.rst:27 e52a5dae28dd4513b88d05c0a4397237 +msgid ":meth:`~.add_image`" +msgstr ":meth:`~.add_image`" + +#: ../../xml-class.rst:27 7dd038f55d0941249c97a617a6075c4f +msgid "Add a :htmlTag:`img` tag." +msgstr ":htmlTag:`img` 태그 추가." + +#: ../../xml-class.rst:28 12026fdfd30347fb90a89a426dfa6843 +msgid ":meth:`~.add_link`" +msgstr ":meth:`~.add_link`" + +#: ../../xml-class.rst:28 c0d7d501bcfa4bf19e55d60774ed8346 +msgid "Add a :htmlTag:`a` tag." +msgstr ":htmlTag:`a` 태그 추가." + +#: ../../xml-class.rst:29 0c874d7eb4a24776b75476759d792ac3 +msgid ":meth:`~.add_number_list`" +msgstr ":meth:`~.add_number_list`" + +#: ../../xml-class.rst:29 8f48fb94a00a4274aa70418af5a315d8 +msgid "Add a :htmlTag:`ol` tag, context manager." +msgstr ":htmlTag:`ol` 태그 추가, 컨텍스트 매니저." + +#: ../../xml-class.rst:30 0d7d7fd6a8f442e3b330d2ed8e2d3ae1 +msgid ":meth:`~.add_paragraph`" +msgstr ":meth:`~.add_paragraph`" + +#: ../../xml-class.rst:30 e494547a61e44f3d9ea45f067f3de220 +msgid "Add a :htmlTag:`p` tag." +msgstr ":htmlTag:`p` 태그 추가." + +#: ../../xml-class.rst:31 ec19e6cf23634df79dde0434e20e634a +msgid ":meth:`~.add_span`" +msgstr ":meth:`~.add_span`" + +#: ../../xml-class.rst:31 5d96649419b84f9d9df8c0181ca44fb7 +msgid "Add a :htmlTag:`span` tag, context manager." +msgstr ":htmlTag:`span` 태그 추가, 컨텍스트 매니저." + +#: ../../xml-class.rst:32 9c5bbdc52ebf49b79197d08b06938f09 +msgid ":meth:`~.add_subscript`" +msgstr ":meth:`~.add_subscript`" + +#: ../../xml-class.rst:32 8c9a0c7d7e4d451fa071ed2e4743cc20 +msgid "" +"Add subscript text(:htmlTag:`sub` tag) - inline element, treated like " +"text." +msgstr "아래첨자 텍스트 추가(:htmlTag:`sub` 태그) - 인라인 요소, 텍스트처럼 처리됩니다." + +#: ../../xml-class.rst:33 56eea7a8c34c4e85bf3e08779e96b5ea +msgid ":meth:`~.add_superscript`" +msgstr ":meth:`~.add_superscript`" + +#: ../../xml-class.rst:33 ab759e84a2c3405eb25d36a03dd85997 +msgid "" +"Add subscript text (:htmlTag:`sup` tag) - inline element, treated like " +"text." +msgstr "위첨자 텍스트 추가(:htmlTag:`sup` 태그) - 인라인 요소, 텍스트처럼 처리됩니다." + +#: ../../xml-class.rst:34 6b9f3b0a71c84eeb8e13ba521a67288c +msgid ":meth:`~.add_code`" +msgstr ":meth:`~.add_code`" + +#: ../../xml-class.rst:34 ../../xml-class.rst:35 ../../xml-class.rst:36 +#: ../../xml-class.rst:37 5bcb0d50e2bb46b2a6f792e3f82f23c0 +#: 6286fc4f2bf34d939839ab3897974dac 663faea7bc304553a7c5bd23ae2ca42a +#: 9d4732e3cf3447dbab81a3764aa04b3d +msgid "Add code text (:htmlTag:`code` tag) - inline element, treated like text." +msgstr "코드 텍스트 추가(:htmlTag:`code` 태그) - 인라인 요소, 텍스트처럼 처리됩니다." + +#: ../../xml-class.rst:35 36bddbf021b2409fb2aa99cf1356df2b +msgid ":meth:`~.add_var`" +msgstr ":meth:`~.add_var`" + +#: ../../xml-class.rst:36 05699304cc954f389932529cb4bc06b3 +msgid ":meth:`~.add_samp`" +msgstr ":meth:`~.add_samp`" + +#: ../../xml-class.rst:37 119929ceb54c4bd0922ef4710c88b67a +msgid ":meth:`~.add_kbd`" +msgstr ":meth:`~.add_kbd`" + +#: ../../xml-class.rst:38 fa67c459b1a94b2bb9d528bb4d279866 +msgid ":meth:`~.add_text`" +msgstr ":meth:`~.add_text`" + +#: ../../xml-class.rst:38 ../../xml-class.rst:162 +#: 69ad3795bdff49a6a4c840098fbd1c8b c0627134be5440cd804e621517945927 +msgid "Add a text string. Line breaks ``\\n`` are honored as :htmlTag:`br` tags." +msgstr "텍스트 문자열 추가. 줄바꿈 ``\\n`` 은 :htmlTag:`br` 태그로 처리됩니다." + +#: ../../xml-class.rst:39 a98056baf3e04d2cb661f2078c05704a +msgid ":meth:`~.append_child`" +msgstr ":meth:`~.append_child`" + +#: ../../xml-class.rst:39 18c4dca5a6574be987d4c4161650ca4b +msgid "Append a child node." +msgstr "자식 노드를 추가합니다." + +#: ../../xml-class.rst:40 4809359e7dbf47d0a5f5134d701b689a +msgid ":meth:`~.clone`" +msgstr ":meth:`~.clone`" + +#: ../../xml-class.rst:40 d333be626baf48a8ac39807b83cdd8be +msgid "Make a copy if this node." +msgstr "이 노드의 복사본을 만듭니다." + +#: ../../xml-class.rst:41 9a1130d2be3142909ea7c0912166a0f2 +msgid ":meth:`~.create_element`" +msgstr ":meth:`~.create_element`" + +#: ../../xml-class.rst:41 1a46a86ef6e84eceb1c268058f46cd85 +msgid "Make a new node with a given tag name." +msgstr "주어진 태그 이름으로 새 노드를 만듭니다." + +#: ../../xml-class.rst:42 db997b2687de482b83f5bc357fc4b215 +msgid ":meth:`~.create_text_node`" +msgstr ":meth:`~.create_text_node`" + +#: ../../xml-class.rst:42 ../../xml-class.rst:306 +#: 0c24293c6f454cf8ac5e9e378e6d49df ab5a32784a7244a0b2c1a1bbdd20c908 +msgid "Create direct text for the current node." +msgstr "현재 노드에 대한 직접 텍스트를 생성합니다." + +#: ../../xml-class.rst:43 b53e49d497e340ba8d87d21bca63ee08 +msgid ":meth:`~.find`" +msgstr ":meth:`~.find`" + +#: ../../xml-class.rst:43 54e83a9f44b545e9bfe1a2b06258a179 +msgid "Find a sub-node with given properties." +msgstr "주어진 속성을 가진 하위 노드를 찾습니다." + +#: ../../xml-class.rst:44 279258dff67b40a986c18f707623ce7b +msgid ":meth:`~.find_next`" +msgstr ":meth:`~.find_next`" + +#: ../../xml-class.rst:44 54393fb756ce48a1935a45fa6c483fd9 +msgid "Repeat previous \"find\" with the same criteria." +msgstr "동일한 기준으로 이전 \"find\" 를 반복합니다." + +#: ../../xml-class.rst:45 536488e527e642478653b6c87079f25d +msgid ":meth:`~.insert_after`" +msgstr ":meth:`~.insert_after`" + +#: ../../xml-class.rst:45 3c35e0b8245c4d3894e3e33f8c437b0c +msgid "Insert an element after current node." +msgstr "현재 노드 뒤에 요소를 삽입합니다." + +#: ../../xml-class.rst:46 f8abe4048c244c3dbdc13b3c4e5ad69a +msgid ":meth:`~.insert_before`" +msgstr ":meth:`~.insert_before`" + +#: ../../xml-class.rst:46 297894701e8b45be843568131def067b +msgid "Insert an element before current node." +msgstr "현재 노드 앞에 요소를 삽입합니다." + +#: ../../xml-class.rst:47 8dfc91e812d545cc915f8fe33c6b5fbf +msgid ":meth:`~.remove`" +msgstr ":meth:`~.remove`" + +#: ../../xml-class.rst:47 5d36ebaefdd54b1982ac6726613e2112 +msgid "Remove this node." +msgstr "이 노드를 제거합니다." + +#: ../../xml-class.rst:48 96abe1793f174eec994fb30aab4effea +msgid ":meth:`~.set_align`" +msgstr ":meth:`~.set_align`" + +#: ../../xml-class.rst:48 a55a6f5e66e2493cbd7dbc5b956f1a3e +msgid "Set the alignment using a CSS style spec. Only works for block-level tags." +msgstr "CSS 스타일 사양을 사용하여 정렬을 설정합니다. 블록 레벨 태그에만 작동합니다." + +#: ../../xml-class.rst:49 ea21515c71e24b0188b60a1a70913497 +msgid ":meth:`~.set_attribute`" +msgstr ":meth:`~.set_attribute`" + +#: ../../xml-class.rst:49 ../../xml-class.rst:172 +#: c52ac8e27b044dd68190bd1c067c3c3e cb302d2f3079458ca8d3ceb266e47cbd +msgid "Set an arbitrary key to some value (which may be empty)." +msgstr "임의의 키를 일부 값(비어 있을 수 있음)으로 설정합니다." + +#: ../../xml-class.rst:50 03813ecb5505495185805991093ca9d3 +msgid ":meth:`~.set_bgcolor`" +msgstr ":meth:`~.set_bgcolor`" + +#: ../../xml-class.rst:50 ../../xml-class.rst:199 +#: 7b89b00dcad741248713dda7ba5d06d0 994f5e2b0df34266bde8fc8388e3045e +msgid "Set the background color. Only works for block-level tags." +msgstr "배경색을 설정합니다. 블록 레벨 태그에만 작동합니다." + +#: ../../xml-class.rst:51 7352b4b42f8a4f8392bc82e0c98aba56 +msgid ":meth:`~.set_bold`" +msgstr ":meth:`~.set_bold`" + +#: ../../xml-class.rst:51 ../../xml-class.rst:205 +#: 756c1471bfe7439482da584fb5e10c44 8ba71a63948e473599b07b28a86a490c +msgid "Set bold on or off or to some string value." +msgstr "굵게를 켜거나 끄거나 일부 문자열 값으로 설정합니다." + +#: ../../xml-class.rst:52 11e420e055184eb8b13706473ad5a325 +msgid ":meth:`~.set_color`" +msgstr ":meth:`~.set_color`" + +#: ../../xml-class.rst:52 43619286063e475b9ca8e799b0ed6b26 +msgid "Set text color." +msgstr "텍스트 색상을 설정합니다." + +#: ../../xml-class.rst:53 cf8a517ba10a451d9578a9c6a0f414b6 +msgid ":meth:`~.set_columns`" +msgstr ":meth:`~.set_columns`" + +#: ../../xml-class.rst:53 f418d11d24d44223a434608e1ae690f8 +msgid "Set the number of columns. Argument may be any valid number or string." +msgstr "열 수를 설정합니다. 인수는 유효한 숫자 또는 문자열일 수 있습니다." + +#: ../../xml-class.rst:54 4c848bf493914ddcbfd8d32d1526f510 +msgid ":meth:`~.set_font`" +msgstr ":meth:`~.set_font`" + +#: ../../xml-class.rst:54 362b271a59604e4f957f8702d7ef2b53 +msgid "Set the font-family, e.g. “sans-serif”." +msgstr "글꼴 패밀리를 설정합니다. 예: “sans-serif”." + +#: ../../xml-class.rst:55 ff571b94a01a477fba4693ef0a1b492f +msgid ":meth:`~.set_fontsize`" +msgstr ":meth:`~.set_fontsize`" + +#: ../../xml-class.rst:55 e94b2ea525e24124a168317cd6071fdc +msgid "Set the font size. Either a float or a valid HTML/CSS string." +msgstr "글꼴 크기를 설정합니다. float 또는 유효한 HTML/CSS 문자열입니다." + +#: ../../xml-class.rst:56 1feb11c650204bb0bfece8527099e866 +msgid ":meth:`~.set_id`" +msgstr ":meth:`~.set_id`" + +#: ../../xml-class.rst:56 4b5b5816aa62459e9d8baab00f0edc99 +msgid "Set a :htmlTag:`id`. A check for uniqueness is performed." +msgstr ":htmlTag:`id` 를 설정합니다. 고유성 검사가 수행됩니다." + +#: ../../xml-class.rst:57 ce34ec1e82914fb1b1b90bb31d40470d +msgid ":meth:`~.set_italic`" +msgstr ":meth:`~.set_italic`" + +#: ../../xml-class.rst:57 4e45de6be07840af90c12e676fd9c5ae +msgid "Set italic on or off or to some string value." +msgstr "기울임꼴을 켜거나 끄거나 일부 문자열 값으로 설정합니다." + +#: ../../xml-class.rst:58 11c92dcf021e4d5cbb52560db075d9fe +msgid ":meth:`~.set_leading`" +msgstr ":meth:`~.set_leading`" + +#: ../../xml-class.rst:58 ../../xml-class.rst:249 +#: 0313848222a04025b98a78e2faf28cf8 269609b91bb44ac7880bff03d7847f2a +msgid "" +"Set inter-block text distance (`-mupdf-leading`), only works on block-" +"level nodes." +msgstr "블록 간 텍스트 거리(`-mupdf-leading`)를 설정합니다. 블록 레벨 노드에만 작동합니다." + +#: ../../xml-class.rst:59 15f03bc6829c4d129ca26b81e84a6eb6 +msgid ":meth:`~.set_lineheight`" +msgstr ":meth:`~.set_lineheight`" + +#: ../../xml-class.rst:59 01673ca076f64027883cfb4fe9c97046 +msgid "Set height of a line. Float like 1.5, which sets to `1.5 * fontsize`." +msgstr "줄 높이를 설정합니다. 1.5와 같은 float는 `1.5 * fontsize` 로 설정됩니다." + +#: ../../xml-class.rst:60 41bdd81afe8e46d1a7038efdc95fb1f4 +msgid ":meth:`~.set_margins`" +msgstr ":meth:`~.set_margins`" + +#: ../../xml-class.rst:60 ffba6357a0f54dfa979916919ace72b6 +msgid "Set the margin(s), float or string with up to 4 values." +msgstr "여백을 설정합니다. 최대 4개의 값을 가진 float 또는 문자열입니다." + +#: ../../xml-class.rst:61 19d802eea7664074a119a0ca9611d63a +msgid ":meth:`~.set_pagebreak_after`" +msgstr ":meth:`~.set_pagebreak_after`" + +#: ../../xml-class.rst:61 ../../xml-class.rst:267 +#: 635579fb8b334ef496c13d09aa9b2a24 bbb7b82028684c03935a74cc78c43f79 +msgid "Insert a page break after this node." +msgstr "이 노드 뒤에 페이지 나누기를 삽입합니다." + +#: ../../xml-class.rst:62 d9f038d12f844c37bba8348d97d4c4a4 +msgid ":meth:`~.set_pagebreak_before`" +msgstr ":meth:`~.set_pagebreak_before`" + +#: ../../xml-class.rst:62 ../../xml-class.rst:271 +#: 5c16b15d44844c4dacb4a296d0ebf537 83dfe30bd4c54eeaa4fc51696b2e4189 +msgid "Insert a page break before this node." +msgstr "이 노드 앞에 페이지 나누기를 삽입합니다." + +#: ../../xml-class.rst:63 4986e5fa09f34f80a02ffebc470181cb +msgid ":meth:`~.set_properties`" +msgstr ":meth:`~.set_properties`" + +#: ../../xml-class.rst:63 8aa5fb55e133414bb1a07fa48f8c495a +msgid "Set any or all desired properties in one call." +msgstr "한 번의 호출로 원하는 모든 속성을 설정합니다." + +#: ../../xml-class.rst:64 8bd74a9264e847218ff74d28819f9b3a +msgid ":meth:`~.add_style`" +msgstr ":meth:`~.add_style`" + +#: ../../xml-class.rst:64 696084f4662f4afa8f1d2f9fe9803858 +msgid "Set (add) a “style” that is not supported by its own `set_` method." +msgstr "자체 `set_` 메서드로 지원되지 않는 “style” 을 설정(추가)합니다." + +#: ../../xml-class.rst:65 6783ab89d34e4bb1beacc5d2ebee9ba1 +msgid ":meth:`~.add_class`" +msgstr ":meth:`~.add_class`" + +#: ../../xml-class.rst:65 26d405ede2ea47bf85cdce1edf045fe7 +msgid "Set (add) a “class” attribute." +msgstr "“class” 속성을 설정(추가)합니다." + +#: ../../xml-class.rst:66 0de080acfdf143efbf77e424fd977b61 +msgid ":meth:`~.set_text_indent`" +msgstr ":meth:`~.set_text_indent`" + +#: ../../xml-class.rst:66 a7815d341b0d4bec895b0cc65db7a8a9 +msgid "" +"Set indentation for first textblock line. Only works for block-level " +"nodes." +msgstr "첫 번째 텍스트 블록 줄의 들여쓰기를 설정합니다. 블록 레벨 노드에만 작동합니다." + +#: ../../xml-class.rst:67 73ba9526545c47ae8c78f869547404a1 +msgid ":attr:`~.tagname`" +msgstr ":attr:`~.tagname`" + +#: ../../xml-class.rst:67 ../../xml-class.rst:370 +#: 48584833c9fe4ca985f37c45ad2c3d76 d9381cddd5514b6fadcac87352ef53c1 +msgid "Either the HTML tag name like :htmlTag:`p` or `None` if a text node." +msgstr ":htmlTag:`p` 와 같은 HTML 태그 이름이거나 텍스트 노드인 경우 `None` 입니다." + +#: ../../xml-class.rst:68 6abc57bcb9f4408d90fa105b05243e71 +msgid ":attr:`~.text`" +msgstr ":attr:`~.text`" + +#: ../../xml-class.rst:68 ../../xml-class.rst:374 +#: 4cf7d8eb06994aaf8da0a99630a2b88f dd52e4753283435ab62a4e5cf08c3c67 +msgid "Either the node's text or `None` if a tag node." +msgstr "노드의 텍스트이거나 태그 노드인 경우 `None` 입니다." + +#: ../../xml-class.rst:69 c80ecae6e2374362bda69ab5f6f83bb5 +msgid ":attr:`~.is_text`" +msgstr ":attr:`~.is_text`" + +#: ../../xml-class.rst:69 7058d637f998456c9acd2330b63e694d +msgid "Check if the node is a text." +msgstr "노드가 텍스트인지 확인합니다." + +#: ../../xml-class.rst:70 1866cee8d0c84959a92ba46715af839b +msgid ":attr:`~.first_child`" +msgstr ":attr:`~.first_child`" + +#: ../../xml-class.rst:70 ../../xml-class.rst:382 +#: 238d1286994b4be289304b0355f413cf 6fcf64063e504c83874560e24334da81 +msgid "Contains the first node one level below this one (or `None`)." +msgstr "이 노드보다 한 단계 아래의 첫 번째 노드를 포함합니다(또는 `None`)." + +#: ../../xml-class.rst:71 851a9238caa94b969efa1adb031498b6 +msgid ":attr:`~.last_child`" +msgstr ":attr:`~.last_child`" + +#: ../../xml-class.rst:71 ../../xml-class.rst:386 +#: 0048d0bc3d6642349608efc96461213e 7f4b0ba5d00f4ce2baef3b1f449e84bc +msgid "Contains the last node one level below this one (or `None`)." +msgstr "이 노드보다 한 단계 아래의 마지막 노드를 포함합니다(또는 `None`)." + +#: ../../xml-class.rst:72 e31062e64395499283472e5f0cce8591 +msgid ":attr:`~.next`" +msgstr ":attr:`~.next`" + +#: ../../xml-class.rst:72 ../../xml-class.rst:390 +#: 74da4c4190d2452ea26e9a031c65d9c0 76197938be5e4a7cb15873e3587d6473 +msgid "The next node at the same level (or `None`)." +msgstr "같은 레벨의 다음 노드(또는 `None`)." + +#: ../../xml-class.rst:73 00b770d5e9494151944f8ca72875704f +msgid ":attr:`~.previous`" +msgstr ":attr:`~.previous`" + +#: ../../xml-class.rst:73 ../../xml-class.rst:394 +#: de9653bc4d6d46fdb546a8b1020ade72 f0b4ecf139a546ab893551141166f15b +msgid "The previous node at the same level." +msgstr "같은 레벨의 이전 노드." + +#: ../../xml-class.rst:74 324f133ed2e54ac28e45a08cd4deb6ee +msgid ":attr:`~.root`" +msgstr ":attr:`~.root`" + +#: ../../xml-class.rst:74 ../../xml-class.rst:398 +#: 5ee16878f554413ab4a0ef55e762dd20 b84698fd03b74ab2a6bf011ec67a7c31 +msgid "The top node of the DOM, which hence has the tagname :htmlTag:`html`." +msgstr "DOM의 최상위 노드로, 따라서 태그 이름이 :htmlTag:`html` 입니다." + +#: ../../xml-class.rst:79 9cc8e3fdf4f345fabd4b30db4fa7b2df +msgid "**Class API**" +msgstr "**클래스 API**" + +#: ../../xml-class.rst:85 2e41fcde489d4a928300d15f33e3e110 +msgid "" +"Add an :htmlTag:`ul` tag - bulleted list, context manager. See `ul " +"`_." +msgstr "" +":htmlTag:`ul` 태그 추가 - 불릿 목록, 컨텍스트 매니저. `ul `_ 를 참조하세요." + +#: ../../xml-class.rst:89 8cbdd27873fd4c138f660770ffd885c0 +msgid "" +"Add a :htmlTag:`pre` tag, context manager. See `pre " +"`_." +msgstr "" +":htmlTag:`pre` 태그 추가, 컨텍스트 매니저. `pre `_ 를 참조하세요." + +#: ../../xml-class.rst:93 4c52e991f2d1486fb520ada7b65ecf60 +msgid "" +"Add a :htmlTag:`dl` tag, context manager. See `dl " +"`_." +msgstr "" +":htmlTag:`dl` 태그 추가, 컨텍스트 매니저. `dl `_ 를 참조하세요." + +#: ../../xml-class.rst:97 97dd62a837dc41eaa3e350af10039f9e +msgid "" +"Add a :htmlTag:`div` tag, context manager. See `div " +"`_." +msgstr "" +":htmlTag:`div` 태그 추가, 컨텍스트 매니저. `div `_ 를 참조하세요." + +#: ../../xml-class.rst:101 75c8952433194970b978abc00b3b97b8 +msgid "" +"Add a header tag (one of :htmlTag:`h1` to :htmlTag:`h6`), context " +"manager. See `headings `_." +msgstr "" +"헤더 태그 추가(:htmlTag:`h1` ~ :htmlTag:`h6` 중 하나), 컨텍스트 매니저. `headings " +"`_ 를 참조하세요." + +#: ../../xml-class.rst 071ee6894c3048e98dcde2ce36b62fe0 +#: 07f4e7a4d07742a09eb64bac4f8e7f47 18d5dca41f9148d989d31b098cc7068b +#: 2513b123c6ad435aaf40448eb9661ffd 2552e11c47ee4b3083c32e3e42fd2227 +#: 2b9417956fe4424d9bdc4167f4fe27f0 4b45aea1b75e4f5a8493bb97947f7670 +#: 5a7226878eaf4bf4a8d146aefd9fc6c2 6c8408dac31f401ca4b20970c770d909 +#: 6ecf5c2861b5443e8422f34c3df4c6d4 7175254a32ea4b3a969c0812d221bcc0 +#: 8160ce73204e4f67a9c2729a2ae2fe0a 8430e36693a446708867badbfd49b16f +#: 8db3cbff4c56472d9086e987c0ff90d5 8f2186fb783d4c99b915b40831a80551 +#: 9fee7d00425e495a9ea52cdcdb1105df a0e8644184de4688befedd1b1f6b1f48 +#: a936bac1d8f84238927172f0c1b1a9f9 ac6183c17f40424fbf98f29ac05b6d7c +#: ad072640a531401a90210d2c5ddcb035 bcc06f6598a5432cbef93a7b8e8f51ab +#: bd8f12e471e54f19a3231352d44d77e8 d643adfc3ba14ca9a6eb51fd2e03a7bd +#: ec41031277d64f758e22602fd6090f70 f0477f34f1c24a31976ab44e62cf544b +#: f58492282617408fbf640c0870739c87 fc36c0decdf847d59b50e8f8db732c05 +msgid "Parameters" +msgstr "매개변수" + +#: ../../xml-class.rst:103 512df5124cdc4ee9b171d85403bf5626 +msgid "a value 1 - 6." +msgstr "1 - 6 사이의 값." + +#: ../../xml-class.rst:107 1d8612c571cf4a7b9374d9ace7b2f9db +msgid "" +"Add a :htmlTag:`hr` tag. See `hr `_." +msgstr "" +":htmlTag:`hr` 태그 추가. `hr `_ 를 참조하세요." + +#: ../../xml-class.rst:111 c7287c022bd74ffb8a4456a54fbab923 +msgid "" +"Add an :htmlTag:`img` tag. This causes the inclusion of the named image " +"in the DOM." +msgstr ":htmlTag:`img` 태그 추가. 이것은 DOM에 명명된 이미지를 포함시킵니다." + +#: ../../xml-class.rst:113 803faa071c22481ca0eb93e0dfe4a50c +msgid "" +"the filename of the image. This **must be the member name** of some entry" +" of the :ref:`Archive` parameter of the :ref:`Story` constructor." +msgstr "이미지의 파일명. 이것은 :ref:`Story` 생성자의 :ref:`Archive` 매개변수 항목의 **멤버 이름** 이어야 합니다." + +#: ../../xml-class.rst:114 e30e974b6d8f40e2a1f1ee4faf38c16e +msgid "" +"if provided, either an absolute (int) value, or a percentage string like " +"\"30%\". A percentage value refers to the width of the specified `where` " +"rectangle in :meth:`Story.place`. If this value is provided and `height` " +"is omitted, the image will be included keeping its aspect ratio." +msgstr "" +"제공된 경우 절대(int) 값 또는 \"30%\" 와 같은 백분율 문자열입니다. 백분율 값은 :meth:`Story.place` 의" +" 지정된 `where` 사각형의 너비를 나타냅니다. 이 값이 제공되고 `height` 가 생략되면 이미지는 종횡비를 유지하면서 " +"포함됩니다." + +#: ../../xml-class.rst:115 c0a019f0782f47a5941d4ff3a82604c2 +msgid "" +"if provided, either an absolute (int) value, or a percentage string like " +"\"30%\". A percentage value refers to the height of the specified `where`" +" rectangle in :meth:`Story.place`. If this value is provided and `width` " +"is omitted, the image's aspect ratio will be honored." +msgstr "" +"제공된 경우 절대(int) 값 또는 \"30%\" 와 같은 백분율 문자열입니다. 백분율 값은 :meth:`Story.place` 의" +" 지정된 `where` 사각형의 높이를 나타냅니다. 이 값이 제공되고 `width` 가 생략되면 이미지의 종횡비가 유지됩니다." + +#: ../../xml-class.rst:119 6222aa6b43c84a56996f4df07038c376 +msgid "Add an :htmlTag:`a` tag - inline element, treated like text." +msgstr ":htmlTag:`a` 태그 추가 - 인라인 요소, 텍스트처럼 처리됩니다." + +#: ../../xml-class.rst:121 fdb4bad9f0de43c296f9e0a510b0be66 +msgid "the URL target." +msgstr "URL 대상." + +#: ../../xml-class.rst:122 f986906bddca4fce889f02adb8c3edfa +msgid "the text to display. If omitted, the `href` text is shown instead." +msgstr "표시할 텍스트. 생략하면 `href` 텍스트가 대신 표시됩니다." + +#: ../../xml-class.rst:126 92be3d9375f54667873b6fe8ca12fa51 +msgid "Add an :htmlTag:`ol` tag, context manager." +msgstr ":htmlTag:`ol` 태그 추가, 컨텍스트 매니저." + +#: ../../xml-class.rst:130 f4d77e1cdb65420fa7405be7460b249f +msgid "Add a :htmlTag:`p` tag, context manager." +msgstr ":htmlTag:`p` 태그 추가, 컨텍스트 매니저." + +#: ../../xml-class.rst:134 29eaf25ddba343e692000d7110886a16 +msgid "Add a :htmlTag:`span` tag, context manager. See `span`_" +msgstr ":htmlTag:`span` 태그 추가, 컨텍스트 매니저. `span`_ 를 참조하세요" + +#: ../../xml-class.rst:138 dccc012fd1c245d9a82d12506448b061 +msgid "" +"Add \"subscript\" text(:htmlTag:`sub` tag) - inline element, treated like" +" text." +msgstr "\"아래첨자\" 텍스트 추가(:htmlTag:`sub` 태그) - 인라인 요소, 텍스트처럼 처리됩니다." + +#: ../../xml-class.rst:142 cf804acbbb5f464b8f6397266f166088 +msgid "" +"Add \"superscript\" text (:htmlTag:`sup` tag) - inline element, treated " +"like text." +msgstr "\"위첨자\" 텍스트 추가(:htmlTag:`sup` 태그) - 인라인 요소, 텍스트처럼 처리됩니다." + +#: ../../xml-class.rst:146 8dc97f93b0274ec5bce1de3b4ff37925 +msgid "" +"Add \"code\" text (:htmlTag:`code` tag) - inline element, treated like " +"text." +msgstr "\"코드\" 텍스트 추가(:htmlTag:`code` 태그) - 인라인 요소, 텍스트처럼 처리됩니다." + +#: ../../xml-class.rst:150 7ba6387f382a47489d0ce8bcdcf295b7 +msgid "" +"Add \"variable\" text (:htmlTag:`var` tag) - inline element, treated like" +" text." +msgstr "\"변수\" 텍스트 추가(:htmlTag:`var` 태그) - 인라인 요소, 텍스트처럼 처리됩니다." + +#: ../../xml-class.rst:154 f838fe3c409c4c24b69164831b3e719a +msgid "" +"Add \"sample output\" text (:htmlTag:`samp` tag) - inline element, " +"treated like text." +msgstr "\"샘플 출력\" 텍스트 추가(:htmlTag:`samp` 태그) - 인라인 요소, 텍스트처럼 처리됩니다." + +#: ../../xml-class.rst:158 e0ac1ab1ff06451286d193648fa3012e +msgid "" +"Add \"keyboard input\" text (:htmlTag:`kbd` tag) - inline element, " +"treated like text." +msgstr "\"키보드 입력\" 텍스트 추가(:htmlTag:`kbd` 태그) - 인라인 요소, 텍스트처럼 처리됩니다." + +#: ../../xml-class.rst:166 fb7159ea6f3e454687d447905e1fb63e +msgid "Set the text alignment. Only works for block-level tags." +msgstr "텍스트 정렬을 설정합니다. 블록 레벨 태그에만 작동합니다." + +#: ../../xml-class.rst:168 66bce7c8f20f4b2987deadc2e78c5e17 +msgid "" +"either one of the :ref:`TextAlign` or the `text-align " +"`_ values." +msgstr "" +":ref:`TextAlign` 중 하나 또는 `text-align `_ 값." + +#: ../../xml-class.rst:174 ../../xml-class.rst:187 ../../xml-class.rst:195 +#: d7aad8433d4b4ae28b02feced7823c68 ed342f6d55a241d08a69381dee663b2f +#: efe9866f00ec4947a478509974de173a +msgid "the name of the attribute." +msgstr "속성의 이름." + +#: ../../xml-class.rst:175 830437471d0e48c785ca5e15b55e435f +msgid "the (optional) value of the attribute." +msgstr "속성의 (선택적) 값." + +#: ../../xml-class.rst:179 60d418fba6084ff28607414510c9266a +msgid "Retrieve all attributes of the current nodes as a dictionary." +msgstr "현재 노드의 모든 속성을 딕셔너리로 검색합니다." + +#: ../../xml-class.rst 2a701f48413144dab311db1561eb1c0e +#: c37952141e1f421b8ce9ae427841107e cc52891e847543b59823983f02b914d4 +#: da7ccff444ac4cea98762959deb04bf2 dfda8cf8c928444b9a36c099258dcd98 +#: e957c78900eb4dc6b0ef81f303dc9a49 f1f773fbd025444c85403f7249ce73a3 +msgid "Returns" +msgstr "반환값" + +#: ../../xml-class.rst:181 03d7a82f94c4440ca4de7313573c205e +msgid "a dictionary with the attributes and their values of the node." +msgstr "노드의 속성과 값이 있는 딕셔너리." + +#: ../../xml-class.rst:185 64fde0623dc74f35a18bdd2e5f525e1a +msgid "Get the attribute value of `key`." +msgstr "`key` 의 속성 값을 가져옵니다." + +#: ../../xml-class.rst:189 75de20320c6e4393bd9bb242e39953b5 +msgid "a string with the value of `key`." +msgstr "`key` 의 값을 가진 문자열." + +#: ../../xml-class.rst:193 60c7b6c3758a4d87ae2aba6bbd8119d9 +msgid "Remove the attribute `key` from the node." +msgstr "노드에서 속성 `key` 를 제거합니다." + +#: ../../xml-class.rst:201 e5de65082c214d558cbb52a710140364 +msgid "" +"either an RGB value like (255, 0, 0) (for \"red\") or a valid " +"`background-color `_ value." +msgstr "" +"(255, 0, 0)(\"red\"의 경우)와 같은 RGB 값 또는 유효한 `background-color " +"`_ 값." + +#: ../../xml-class.rst:207 cc773c1679604ba6b0c57266774838b3 +msgid "" +"`True`, `False` or a valid `font-weight `_ value." +msgstr "" +"`True`, `False` 또는 유효한 `font-weight `_ 값." + +#: ../../xml-class.rst:211 d90edf95aa3c4c75b9e7500594da74b2 +msgid "Set the color of the text following." +msgstr "다음 텍스트의 색상을 설정합니다." + +#: ../../xml-class.rst:213 dd4f443acc6e4824b8cbe2bfe79d6923 +msgid "" +"either an RGB value like (255, 0, 0) (for \"red\") or a valid `color " +"`_ value." +msgstr "" +"(255, 0, 0)(\"red\"의 경우)와 같은 RGB 값 또는 유효한 `color " +"`_ 값." + +#: ../../xml-class.rst:217 d077d7854b80478dacf03fa0669683dd +msgid "Set the number of columns." +msgstr "열 수를 설정합니다." + +#: ../../xml-class.rst:219 96343b27b1504159919805d5df4e0f45 +msgid "" +"a valid `columns `_ value." +msgstr "" +"유효한 `columns `_" +" 값." + +#: ../../xml-class.rst:221 74ba294325804581ab5480e351d416dc +msgid "Currently ignored - supported in a future MuPDF version." +msgstr "현재 무시됨 - 향후 MuPDF 버전에서 지원됩니다." + +#: ../../xml-class.rst:225 cc957f31c573429db439f0f119f8b79a +msgid "Set the font-family." +msgstr "글꼴 패밀리를 설정합니다." + +#: ../../xml-class.rst:227 2ee787378e4543f8aa556edc1b69e9f4 +msgid "e.g. \"sans-serif\"." +msgstr "예: \"sans-serif\"." + +#: ../../xml-class.rst:231 2c45062745bc4642a19aa67d3d79273b +msgid "Set the font size for text following." +msgstr "다음 텍스트의 글꼴 크기를 설정합니다." + +#: ../../xml-class.rst:233 ec2f8b7640cf481eb1fa289645417c1f +msgid "" +"a float or a valid `font-size `_ value." +msgstr "" +"float 또는 유효한 `font-size `_ 값." + +#: ../../xml-class.rst:237 febde85bc5fd4f8ea34b31ed63f36672 +msgid "" +"Set a :htmlTag:`id`. This serves as a unique identification of the node " +"within the DOM. Use it to easily locate the node to inspect or modify it." +" A check for uniqueness is performed." +msgstr "" +":htmlTag:`id` 를 설정합니다. 이것은 DOM 내에서 노드의 고유 식별자 역할을 합니다. 노드를 쉽게 찾아 검사하거나 " +"수정하는 데 사용하세요. 고유성 검사가 수행됩니다." + +#: ../../xml-class.rst:239 e37b1314ab6d42b0a2ec907c5db6d0dd +msgid "id string of the node." +msgstr "노드의 id 문자열." + +#: ../../xml-class.rst:243 aa326115828c452382e6d09902d27dab +msgid "Set italic on or off or to some string value for the text following it." +msgstr "다음 텍스트에 대해 기울임꼴을 켜거나 끄거나 일부 문자열 값으로 설정합니다." + +#: ../../xml-class.rst:245 5fb40161298741eb829c7b4bd4131f42 +msgid "" +"`True`, `False` or some valid `font-style `_ value." +msgstr "" +"`True`, `False` 또는 유효한 `font-style `_ 값." + +#: ../../xml-class.rst:251 2ff6178aa7a4490cb0b3b797e692f3b3 +msgid "the distance in points to the previous block." +msgstr "이전 블록까지의 거리(포인트 단위)." + +#: ../../xml-class.rst:255 aa0c45b2f59b4dba8ff847821f1805b3 +msgid "Set height of a line." +msgstr "줄 높이를 설정합니다." + +#: ../../xml-class.rst:257 816223093e62465d9c778a7599f93b30 +msgid "" +"a float like 1.5 (which sets to `1.5 * fontsize`), or some valid `line-" +"height `_ " +"value." +msgstr "" +"1.5와 같은 float(`1.5 * fontsize` 로 설정됨) 또는 유효한 `line-height " +"`_ 값." + +#: ../../xml-class.rst:261 ab5060c3426c487d9c1f1b68eb6d3c69 +msgid "Set the margin(s)." +msgstr "여백을 설정합니다." + +#: ../../xml-class.rst:263 eb0e87c661e741e7ac93e7749a905007 +msgid "" +"float or string with up to 4 values. See `CSS documentation " +"`_." +msgstr "" +"최대 4개의 값을 가진 float 또는 문자열. `CSS documentation " +"`_ 를 참조하세요." + +#: ../../xml-class.rst:275 0157cb04fc7e41299f0dc0a351924d25 +msgid "" +"Set any or all desired properties in one call. The meaning of argument " +"values equal the values of the corresponding `set_` methods." +msgstr "한 번의 호출로 원하는 모든 속성을 설정합니다. 인수 값의 의미는 해당 `set_` 메서드의 값과 같습니다." + +#: ../../xml-class.rst:277 0bd79cbc338f46fb9d6dbca48839d876 +msgid "" +"The properties set by this method are directly attached to the node, " +"whereas every `set_` method generates a new :htmlTag:`span` below the " +"current node that has the respective property. So to e.g. \"globally\" " +"set some property for the :htmlTag:`body`, this method must be used." +msgstr "" +"이 메서드로 설정된 속성은 노드에 직접 연결되지만, 모든 `set_` 메서드는 해당 속성을 가진 새 :htmlTag:`span` 을" +" 현재 노드 아래에 생성합니다. 따라서 예를 들어 :htmlTag:`body` 에 대해 일부 속성을 \"전역적으로\" 설정하려면 이" +" 메서드를 사용해야 합니다." + +#: ../../xml-class.rst:281 d0e7dcd50d50443298496ec86ea5f06f +msgid "Set (add) some style attribute not supported by its own `set_` method." +msgstr "자체 `set_` 메서드로 지원되지 않는 일부 스타일 속성을 설정(추가)합니다." + +#: ../../xml-class.rst:283 89724c2b528143acb5bf27d647496828 +msgid "any valid CSS style value." +msgstr "유효한 CSS 스타일 값." + +#: ../../xml-class.rst:287 5d883179b1f24ccb981b1a229346ba04 +msgid "Set (add) some \"class\" attribute." +msgstr "\"class\" 속성을 설정(추가)합니다." + +#: ../../xml-class.rst:289 3389956444bb4b60ad401df187e94d35 +msgid "" +"the name of the class. Must have been defined in either the HTML or the " +"CSS source of the DOM." +msgstr "클래스의 이름. DOM의 HTML 또는 CSS 소스에 정의되어 있어야 합니다." + +#: ../../xml-class.rst:293 c56792aa596943509620fa4f964b76df +msgid "" +"Set indentation for the first textblock line. Only works for block-level " +"nodes." +msgstr "첫 번째 텍스트 블록 줄의 들여쓰기를 설정합니다. 블록 레벨 노드에만 작동합니다." + +#: ../../xml-class.rst:295 a8dbb4085cbe4b2a8faf0e4dedeaac64 +msgid "" +"a valid `text-indent `_ value. Please note that negative values do not work." +msgstr "" +"유효한 `text-indent `_ 값. 음수 값은 작동하지 않습니다." + +#: ../../xml-class.rst:300 34b0b40691834d299f9242060c378272 +msgid "" +"Append a child node. This is a low-level method used by other methods " +"like :meth:`Xml.add_paragraph`." +msgstr "자식 노드를 추가합니다. 이것은 :meth:`Xml.add_paragraph` 와 같은 다른 메서드에서 사용하는 저수준 메서드입니다." + +#: ../../xml-class.rst:302 4c13861f3a074b469917e2e88ad6c284 +msgid "the :ref:`Xml` node to append." +msgstr "추가할 :ref:`Xml` 노드." + +#: ../../xml-class.rst:308 96d40261c6e84cceaf10bd528d633399 +msgid "the text to append." +msgstr "추가할 텍스트." + +#: ../../xml-class.rst 474ed85eaea94b85a254b07bf5054bf1 +#: 72f9935368ec4cb5b008689ec052a3a5 7be3b6d6eee5465187b72a87498fa9c7 +#: d92af6de71cf4f6b9697f66106f46df6 +msgid "Return type" +msgstr "반환 타입" + +#: ../../xml-class.rst:310 ../../xml-class.rst:319 +#: 248a06ef868840be803afcb1c276fbfa 69466f3d8b5847bd8ddfddfc7474f0d6 +msgid ":ref:`Xml`" +msgstr ":ref:`Xml`" + +#: ../../xml-class.rst:311 17a38613ac3c4a1a8c69cf5d7140b0b2 +msgid "the created element." +msgstr "생성된 요소." + +#: ../../xml-class.rst:315 e3a170c5762240faba5225ad0ad8a408 +msgid "" +"Create a new node with a given tag. This a low-level method used by other" +" methods like :meth:`Xml.add_paragraph`." +msgstr "" +"주어진 태그로 새 노드를 생성합니다. 이것은 :meth:`Xml.add_paragraph` 와 같은 다른 메서드에서 사용하는 저수준" +" 메서드입니다." + +#: ../../xml-class.rst:317 f16e668926f44a5ebc013218d888af8b +msgid "the element tag." +msgstr "요소 태그." + +#: ../../xml-class.rst:320 50c7ac51012d41ef83aca12b4c6bfd13 +msgid "" +"the created element. To actually bind it to the DOM, use " +":meth:`Xml.append_child`." +msgstr "생성된 요소. 실제로 DOM에 바인딩하려면 :meth:`Xml.append_child` 를 사용하세요." + +#: ../../xml-class.rst:324 a74da9bcb64a4677bdab647d12b9698d +msgid "Insert the given element `elem` before this node." +msgstr "주어진 요소 `elem` 을 이 노드 앞에 삽입합니다." + +#: ../../xml-class.rst:326 ../../xml-class.rst:332 +#: a03dabcd2f5e44909735e0fa454a622a ac47ac263e2644b9a6a056f2b71dd185 +msgid "some :ref:`Xml` element." +msgstr "일부 :ref:`Xml` 요소." + +#: ../../xml-class.rst:330 2285051e65084c86bdb3ac4c50b6ee73 +msgid "Insert the given element `elem` after this node." +msgstr "주어진 요소 `elem` 을 이 노드 뒤에 삽입합니다." + +#: ../../xml-class.rst:336 efebb24cc65b4bf7810de7852eee4bb3 +msgid "" +"Make a copy of this node, which then may be appended (using " +":meth:`Xml.append_child`) or inserted (using one of " +":meth:`Xml.insert_before`, :meth:`Xml.insert_after`) in this DOM." +msgstr "" +"이 노드의 복사본을 만듭니다. 그런 다음 이 DOM에 추가( :meth:`Xml.append_child` 사용)하거나 삽입( " +":meth:`Xml.insert_before`, :meth:`Xml.insert_after` 중 하나 사용)할 수 있습니다." + +#: ../../xml-class.rst:338 443c529ea1eb4979bac6aa87b07e5ae5 +msgid "the clone (:ref:`Xml`) of the current node." +msgstr "현재 노드의 복제본(:ref:`Xml`)." + +#: ../../xml-class.rst:342 47ec6b03e3584446a21cae3e9dfc740e +msgid "Remove this node from the DOM." +msgstr "이 노드를 DOM에서 제거합니다." + +#: ../../xml-class.rst:347 436c60e603974335862d86319e3ad149 +msgid "For debugging purposes, print this node's structure in a simplified form." +msgstr "디버깅 목적으로 이 노드의 구조를 간소화된 형태로 출력합니다." + +#: ../../xml-class.rst:351 6eb8a8f3e0e242169288042ca92620ce +msgid "" +"Under the current node, find the first node with the given `tag`, " +"attribute `att` and value `match`." +msgstr "현재 노드 아래에서 주어진 `tag`, 속성 `att` 및 값 `match` 를 가진 첫 번째 노드를 찾습니다." + +#: ../../xml-class.rst:353 15e37abf37614b23be73a14603937165 +msgid "restrict search to this tag. May be `None` for unrestricted searches." +msgstr "이 태그로 검색을 제한합니다. 제한 없는 검색의 경우 `None` 일 수 있습니다." + +#: ../../xml-class.rst:354 f745373d2e69452e985e2dac159ea5c2 +msgid "check this attribute. May be `None`." +msgstr "이 속성을 확인합니다. `None` 일 수 있습니다." + +#: ../../xml-class.rst:355 165356d315d24c0a8ed99526c1b01dd7 +msgid "the desired attribute value to match. May be `None`." +msgstr "일치시킬 원하는 속성 값. `None` 일 수 있습니다." + +#: ../../xml-class.rst:357 ../../xml-class.rst:364 +#: 01f3aba4e08b4252b10413f4311480f2 f48e420675664a59bc388c905451c4fc +msgid ":ref:`Xml`." +msgstr ":ref:`Xml`." + +#: ../../xml-class.rst:358 ccbc86d49fc74fa5b0de1f0336c0fce8 +msgid "`None` if nothing found, otherwise the first matching node." +msgstr "찾은 것이 없으면 `None`, 그렇지 않으면 첫 번째 일치하는 노드." + +#: ../../xml-class.rst:362 b0c5a67c416d423d838e1bf344e4819d +msgid "" +"Continue a previous :meth:`Xml.find` (or :meth:`find_next`) with the same" +" values." +msgstr "동일한 값으로 이전 :meth:`Xml.find` (또는 :meth:`find_next`) 를 계속합니다." + +#: ../../xml-class.rst:365 57c7ab6c7b504406b51c6e8574ddec4b +msgid "`None` if none more found, otherwise the next matching node." +msgstr "더 이상 찾은 것이 없으면 `None`, 그렇지 않으면 다음 일치하는 노드." + +#: ../../xml-class.rst:378 89934d92ed6140979716d32f3cc7a713 +msgid "Check if a text node." +msgstr "텍스트 노드인지 확인합니다." + +#: ../../xml-class.rst:402 400a4f578b98416091fc04c3e3347a91 +msgid "Setting Text properties" +msgstr "텍스트 속성 설정" + +#: ../../xml-class.rst:404 3fa3fea9963b4eba99ff8e83ed31ee32 +msgid "" +"In HTML tags can be nested such that innermost text **inherits " +"properties** from the tag enveloping its parent tag. For example " +"`

some bold textthis is bold and italicregular text

`." +msgstr "" +"HTML에서 태그는 가장 안쪽 텍스트가 부모 태그를 감싸는 태그로부터 **속성을 상속** 하도록 중첩될 수 있습니다. 예: " +"`

some bold textthis is bold and italicregular text

`." + +#: ../../xml-class.rst:406 eed0c2145e1647ee82f831b11a407df7 +msgid "" +"To achieve the same effect, methods like :meth:`Xml.set_bold` and " +":meth:`Xml.set_italic` each open a temporary :htmlTag:`span` with the " +"desired property underneath the current node." +msgstr "" +"동일한 효과를 얻기 위해 :meth:`Xml.set_bold` 및 :meth:`Xml.set_italic` 와 같은 메서드는 각각 " +"현재 노드 아래에 원하는 속성을 가진 임시 :htmlTag:`span` 을 엽니다." + +#: ../../xml-class.rst:408 f93907c09e2e4f8983b02e2797060870 +msgid "" +"In addition, these methods return there parent node, so they can be " +"concatenated with each other." +msgstr "또한 이러한 메서드는 부모 노드를 반환하므로 서로 연결할 수 있습니다." + +#: ../../xml-class.rst:413 6c46240a1795450497d3b9f26c22b085 +msgid "Context Manager support" +msgstr "컨텍스트 매니저 지원" + +#: ../../xml-class.rst:414 ebbde3aa8eae44eaa2eb7717c33fd3c7 +msgid "The standard way to add nodes to a DOM is this::" +msgstr "DOM에 노드를 추가하는 표준 방법은 다음과 같습니다::" + +#: ../../xml-class.rst:427 aa6e31a0372e4c5082cdb4ff60b21766 +msgid "" +"Methods that are flagged as \"context managers\" can conveniently be used" +" in this way::" +msgstr "\"컨텍스트 매니저\" 로 표시된 메서드는 다음과 같이 편리하게 사용할 수 있습니다::" + +#: ../../footer.rst:57 3237dfa1d64d4115b40cd8888565be39 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/locales/ko/LC_MESSAGES/znames.mo b/docs/locales/ko/LC_MESSAGES/znames.mo new file mode 100644 index 000000000..0315d811c Binary files /dev/null and b/docs/locales/ko/LC_MESSAGES/znames.mo differ diff --git a/docs/locales/ko/LC_MESSAGES/znames.po b/docs/locales/ko/LC_MESSAGES/znames.po new file mode 100644 index 000000000..32e0cb6e0 --- /dev/null +++ b/docs/locales/ko/LC_MESSAGES/znames.po @@ -0,0 +1,108 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2015-2025, Artifex +# This file is distributed under the same license as the PyMuPDF package. +# FIRST AUTHOR , 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 \n" +"Language: ko\n" +"Language-Team: ko \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 0eb4a369e5b94c7489997eb18eb43347 +msgid "Artifex" +msgstr "Artifex" + +#: ../../header.rst:-1 d0b7be7b87414f0dacea935473d04f43 +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 caca777a734049198ad1a788ab3304f9 +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" + +#: ../../znames.rst:7 083b7e0a5a2b460f8da6d411d620371a +msgid "Deprecated Names" +msgstr "사용 중단된 이름" + +#: ../../znames.rst:9 e3a203bb6f834ba0a39fa9d32da05a58 +msgid "" +"The original naming convention for methods and properties has been " +"\"camelCase\". Since its creation around 2013, a tremendous increase of " +"functionality has happened in PyMuPDF -- and with it a corresponding " +"increase in classes, methods and properties. In too many cases, this has " +"led to non-intuitive, illogical and ugly names, difficult to memorize or " +"guess." +msgstr "메서드와 속성의 원래 명명 규칙은 \"camelCase\"였습니다. 2013년경 생성 이후 PyMuPDF에서 기능이 크게 증가했고, 이에 따라 클래스, 메서드, 속성도 증가했습니다. 많은 경우 직관적이지 않고 논리적이지 않으며 기억하거나 추측하기 어려운 이름이 생겼습니다." + +#: ../../znames.rst:11 d001aeecdacb4bd59a62961dbc1370dd +msgid "" +"A few versions ago, I therefore decided to shift gears and switch to a " +"\"snake_cased\" naming standard. This was a major effort, which needed a " +"step-wise approach. I think am done with it now (version 1.18.14)." +msgstr "몇 버전 전, 단계적 접근이 필요한 큰 작업이었지만 \"snake_cased\" 명명 표준으로 전환하기로 했습니다. 이제는 완료된 것으로 봅니다(버전 1.18.14)." + +#: ../../znames.rst:14 6f07346687c14dbb83e38186df94b743 +msgid "" +"The following list maps deprecated names to their new versions. For " +"example, property `pageCount` became `page_count` in the :ref:`Document` " +"class. There also are less obvious name changes, e.g. method `getPNGdata`" +" was renamed to `tobytes` in the :ref:`Pixmap` class." +msgstr "다음 목록은 사용 중단된 이름을 새 버전에 매핑합니다. 예를 들어, 속성 `pageCount` 는 :ref:`Document` 클래스에서 `page_count` 가 되었습니다. 덜 명확한 이름 변경도 있습니다. 예를 들어 메서드 `getPNGdata` 는 :ref:`Pixmap` 클래스에서 `tobytes` 로 이름이 변경되었습니다." + +#: ../../znames.rst:16 cc7e51d7a5144cd290ff0b79249d442c +msgid "" +"Names of classes (camel case) and package-wide constants (the majority is" +" upper case) remain untouched." +msgstr "클래스 이름(카멜 케이스)과 패키지 전체 상수(대부분 대문자)는 변경되지 않았습니다." + +#: ../../znames.rst:18 6e79bdebc3d2434394db7e65ce997c71 +msgid "" +"Old names will remain available as deprecated aliases through MuPDF " +"version 1.19.0 and **be removed** in the version that follows it - " +"probably version 1.20.0, but this depends on upstream decisions (MuPDF)." +msgstr "이전 이름은 MuPDF 버전 1.19.0까지 사용 중단된 별칭으로 사용 가능하며, 그 이후 버전(아마도 버전 1.20.0이지만, 이는 상류 결정(MuPDF)에 따라 다름)에서 **제거됩니다**." + +#: ../../znames.rst:20 dbf4b6c8f3134ca596bd0a822ffd2e9b +msgid "" +"Starting with version 1.19.0, we will issue deprecation warnings on " +"`sys.stderr` like `Deprecation: 'newPage' removed from class 'Document' " +"after v1.19.0 - use 'new_page'.` when aliased methods are being used. " +"Using a deprecated property will not cause this type of warning." +msgstr "버전 1.19.0부터 별칭 메서드가 사용될 때 `sys.stderr` 에 `Deprecation: 'newPage' removed from class 'Document' after v1.19.0 - use 'new_page'.` 와 같은 사용 중단 경고를 발행합니다. 사용 중단된 속성을 사용해도 이 유형의 경고는 발생하지 않습니다." + +#: ../../znames.rst:22 2f0d5cce9e2e4f5e8541eb4b6fc686ed +msgid "" +"Starting immediately, all deprecated objects (methods and properties) " +"will show a copy of the original's docstring, **prefixed** with the " +"deprecation message, for example::" +msgstr "즉시부터 모든 사용 중단된 객체(메서드 및 속성)는 원본의 docstring 복사본을 표시하며, 사용 중단 메시지가 **접두사** 로 붙습니다. 예:" + +#: ../../znames.rst:39 8e4f2cae0e38499bbf0543f4bdfb1885 +msgid "" +"There is a utility script `alias-changer.py `_ which can be used to " +"do mass-renames in your scripts. It accepts either a single file or a " +"folder as argument. If a folder is supplied, all its Python files and " +"those of its subfolders are changed. Optionally, backups of the scripts " +"can be taken." +msgstr "스크립트에서 대량 이름 변경을 수행하는 데 사용할 수 있는 유틸리티 스크립트 `alias-changer.py `_ 가 있습니다. 단일 파일 또는 폴더를 인수로 받습니다. 폴더가 제공되면 해당 폴더의 모든 Python 파일과 하위 폴더의 파일이 변경됩니다. 선택적으로 스크립트의 백업을 만들 수 있습니다." + +#: ../../footer.rst:46 52ab1685187a4ce284f0a14818fcf934 +msgid "This documentation covers all versions up to |version|." +msgstr "이 문서는 |version| 버전까지의 모든 버전을 다룹니다." + diff --git a/docs/supported-files-table.rst b/docs/supported-files-table.rst index 588c4b8ce..b0dcd7476 100644 --- a/docs/supported-files-table.rst +++ b/docs/supported-files-table.rst @@ -154,6 +154,18 @@ return "出力フォーマット"; } + } else if (lang == "ko") { + if (str=="File type") { + return "파일 유형"; + } else if (str=="Document Formats") { + return "문서 형식"; + } else if (str=="Image Formats") { + return "이미지 형식"; + } else if (str=="Input formats") { + return "입력 형식"; + } else if (str=="Output formats") { + return "출력 형식"; + } } return str;