109109 SummaryOutputFormat ,
110110 SummaryOutputType ,
111111 TranslateOutputFormat ,
112- TranslateOutputType ,
113112)
114113
115114DEFAULT_BASE_URL = "https://api.pdfrest.com"
@@ -2166,20 +2165,19 @@ def translate_pdf_text(
21662165 source_language : str | None = None ,
21672166 pages : PdfPageSelection | None = None ,
21682167 output_format : TranslateOutputFormat = "markdown" ,
2169- output_type : TranslateOutputType = "json" ,
21702168 output : str | None = None ,
21712169 extra_query : Query | None = None ,
21722170 extra_headers : AnyMapping | None = None ,
21732171 extra_body : Body | None = None ,
21742172 timeout : TimeoutTypes | None = None ,
21752173 ) -> TranslatePdfTextResponse :
2176- """Translate the textual content of a PDF, Markdown, or text document."""
2174+ """Translate the textual content of a PDF, Markdown, or text document (JSON) ."""
21772175
21782176 payload : dict [str , Any ] = {
21792177 "files" : file ,
21802178 "target_language" : target_language ,
21812179 "output_format" : output_format ,
2182- "output_type" : output_type ,
2180+ "output_type" : "json" ,
21832181 }
21842182 if source_language is not None :
21852183 payload ["source_language" ] = source_language
@@ -2203,6 +2201,45 @@ def translate_pdf_text(
22032201 raw_payload = self ._send_request (request )
22042202 return TranslatePdfTextResponse .model_validate (raw_payload )
22052203
2204+ def translate_pdf_text_to_file (
2205+ self ,
2206+ file : PdfRestFile | Sequence [PdfRestFile ],
2207+ * ,
2208+ target_language : str ,
2209+ source_language : str | None = None ,
2210+ pages : PdfPageSelection | None = None ,
2211+ output_format : TranslateOutputFormat = "markdown" ,
2212+ output : str | None = None ,
2213+ extra_query : Query | None = None ,
2214+ extra_headers : AnyMapping | None = None ,
2215+ extra_body : Body | None = None ,
2216+ timeout : TimeoutTypes | None = None ,
2217+ ) -> PdfRestFileBasedResponse :
2218+ """Translate textual content and receive a file-based response."""
2219+
2220+ payload : dict [str , Any ] = {
2221+ "files" : file ,
2222+ "target_language" : target_language ,
2223+ "output_format" : output_format ,
2224+ "output_type" : "file" ,
2225+ }
2226+ if source_language is not None :
2227+ payload ["source_language" ] = source_language
2228+ if pages is not None :
2229+ payload ["pages" ] = pages
2230+ if output is not None :
2231+ payload ["output" ] = output
2232+
2233+ return self ._post_file_operation (
2234+ endpoint = "/translated-pdf-text" ,
2235+ payload = payload ,
2236+ payload_model = TranslatePdfTextPayload ,
2237+ extra_query = extra_query ,
2238+ extra_headers = extra_headers ,
2239+ extra_body = extra_body ,
2240+ timeout = timeout ,
2241+ )
2242+
22062243 def extract_images (
22072244 self ,
22082245 file : PdfRestFile | Sequence [PdfRestFile ],
@@ -2881,20 +2918,19 @@ async def translate_pdf_text(
28812918 source_language : str | None = None ,
28822919 pages : PdfPageSelection | None = None ,
28832920 output_format : TranslateOutputFormat = "markdown" ,
2884- output_type : TranslateOutputType = "json" ,
28852921 output : str | None = None ,
28862922 extra_query : Query | None = None ,
28872923 extra_headers : AnyMapping | None = None ,
28882924 extra_body : Body | None = None ,
28892925 timeout : TimeoutTypes | None = None ,
28902926 ) -> TranslatePdfTextResponse :
2891- """Translate the textual content of a PDF, Markdown, or text document."""
2927+ """Translate the textual content of a PDF, Markdown, or text document (JSON) ."""
28922928
28932929 payload : dict [str , Any ] = {
28942930 "files" : file ,
28952931 "target_language" : target_language ,
28962932 "output_format" : output_format ,
2897- "output_type" : output_type ,
2933+ "output_type" : "json" ,
28982934 }
28992935 if source_language is not None :
29002936 payload ["source_language" ] = source_language
@@ -2918,6 +2954,45 @@ async def translate_pdf_text(
29182954 raw_payload = await self ._send_request (request )
29192955 return TranslatePdfTextResponse .model_validate (raw_payload )
29202956
2957+ async def translate_pdf_text_to_file (
2958+ self ,
2959+ file : PdfRestFile | Sequence [PdfRestFile ],
2960+ * ,
2961+ target_language : str ,
2962+ source_language : str | None = None ,
2963+ pages : PdfPageSelection | None = None ,
2964+ output_format : TranslateOutputFormat = "markdown" ,
2965+ output : str | None = None ,
2966+ extra_query : Query | None = None ,
2967+ extra_headers : AnyMapping | None = None ,
2968+ extra_body : Body | None = None ,
2969+ timeout : TimeoutTypes | None = None ,
2970+ ) -> PdfRestFileBasedResponse :
2971+ """Translate textual content and receive a file-based response."""
2972+
2973+ payload : dict [str , Any ] = {
2974+ "files" : file ,
2975+ "target_language" : target_language ,
2976+ "output_format" : output_format ,
2977+ "output_type" : "file" ,
2978+ }
2979+ if source_language is not None :
2980+ payload ["source_language" ] = source_language
2981+ if pages is not None :
2982+ payload ["pages" ] = pages
2983+ if output is not None :
2984+ payload ["output" ] = output
2985+
2986+ return await self ._post_file_operation (
2987+ endpoint = "/translated-pdf-text" ,
2988+ payload = payload ,
2989+ payload_model = TranslatePdfTextPayload ,
2990+ extra_query = extra_query ,
2991+ extra_headers = extra_headers ,
2992+ extra_body = extra_body ,
2993+ timeout = timeout ,
2994+ )
2995+
29212996 async def extract_images (
29222997 self ,
29232998 file : PdfRestFile | Sequence [PdfRestFile ],
0 commit comments