تبدیل Base64 به PDF
PDFی را که یک API یا پایگاهداده به شکل Base64 تحویل داده، به سندی برگردانید که بتوانید بخوانید و ذخیره کنید.
رمزگشایی آنلاین Base64 به PDF
بسیاری از APIها نمیتوانند یک فایل را جداگانه بفرستند، پس آن را به شکل یک رشته بلند Base64 داخل JSON میگذارند: برچسب ارسال مرسوله، فاکتور، صورتحساب بانکی و گزارشهای تولیدشده اینطور میرسند. PDFهایی که در ستونهای پایگاهداده یا متن خام ایمیل ذخیره شدهاند هم همینطورند. این صفحه همان کدگذار و رمزگشای Base64 است که طوری تنظیم شده که هنگام چسباندن رمزگشایی کند و نتیجه را در یک نمایشگر PDF نشان دهد.
رمزگشایی بهصورت محلی در مرورگر شما انجام میشود و پیشنمایش از نمایشگر PDF خود مرورگر استفاده میکند، پس سند هرگز آپلود نمیشود.
شناختن PDF در قالب Base64
هر PDF با بایتهای %PDF- شروع میشود که در Base64 به JVBERi0 تبدیل میشوند. اگر رشتهای در پاسخ یک API با این هفت نویسه شروع شود، یک PDF است. رشتهای که با data:application/pdf;base64, شروع میشود همان چیز است با یک برچسب در ابتدا، و ابزار آن برچسب را خودش حذف میکند.
مشکلات رایج
- اسلشهای escapeشده: JSON ممکن است بهجای
/عبارت\/را نشان دهد. مقدار را از پاسخ تجزیهشده کپی کنید، یا اول\/را با/جایگزین کنید. - نقلقولهای کپیشده: نویسههای
"دو طرف بخشی از Base64 نیستند و رشته را نامعتبر میکنند. - Base64URL: رشتههایی که از
-و_استفاده میکنند خودکار تبدیل میشوند. - نمایشگری ظاهر نمیشود: داده PDF نیست. ابزار باز هم فایل را برای دانلود ارائه میدهد و نامش را بر اساس نوعی که تشخیص داده میگذارد.
انجام همین کار در کد
| محیط | رمزگشایی به فایل |
|---|---|
| Linux / macOS | base64 -d in.txt > out.pdf |
| PowerShell | [IO.File]::WriteAllBytes('out.pdf', [Convert]::FromBase64String($s)) |
| Python | open('out.pdf', 'wb').write(base64.b64decode(s)) |
| Node.js | fs.writeFileSync('out.pdf', Buffer.from(s, 'base64')) |
برای انواع دیگر فایل، رمزگشایی Base64 متن، تصویر و هر داده باینری را پوشش میدهد. برای ساختن PDF از تصویرها، از تبدیل عکس به PDF استفاده کنید.