안녕하세요 ![]()
현재 React 웹뷰 환경에서 @react-pdf/renderer를 이용하여 PDF 미리보기 및 다운로드 기능을 구현하려고 합니다.
-
PDF 파일을 Base64로 인코딩한 문자열 형태로 받아서 열거나 다운로드 받을 수 있는 방법이 있는지 궁금합니다.
-
또한
@tossteam/toss-app-bridge의sendPDF기능을 앱인 토스 환경에서 사용할 수 있는지도 확인 부탁드립니다.
안녕하세요 ![]()
현재 React 웹뷰 환경에서 @react-pdf/renderer를 이용하여 PDF 미리보기 및 다운로드 기능을 구현하려고 합니다.
PDF 파일을 Base64로 인코딩한 문자열 형태로 받아서 열거나 다운로드 받을 수 있는 방법이 있는지 궁금합니다.
또한 @tossteam/toss-app-bridge의 sendPDF 기능을 앱인 토스 환경에서 사용할 수 있는지도 확인 부탁드립니다.
가이드 안내드립니다.
안녕하세요! ![]()
파일 다운로드 시 ‘파일을 저장하시겠습니까?’라는 팝업은 정상적으로 뜨는데, 확인을 누르면 실제 저장은 되지 않고 샌드박스 앱이 종료됩니다.
또, 같은 과정을 두 번째 시도하면 동일한 파일이 이미 존재한다는 에러 메시지가 나타납니다. 혹시 동일한 이름의 파일도 덮어쓰기가 가능하도록 설정할 수 있는 방법이 있을까요?
const handleSave = async () => {
const pdfData = await generatePDFData();
const filename = "test.pdf";
try {
await saveBase64Data({
data: pdfData,
fileName: filename,
mimeType: "application/pdf",
});
} catch (error) {
console.error("데이터 저장에 실패했어요:", error);
}
};
*pdfData (Base64 인코딩 데이터)
JVBERi0xLjMKJf////8KOSAwIG9iago8PAovVHlwZSAvRXh0R1N0YXRlCi9jYSAxCj4+CmVuZG9iago4IDAgb2JqCjw8Ci9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL01lZGlhQm94IFswIDAgNTk1LjI4MDAyOSA4NDEuODkwMDE1XQovQ29udGVudHMgNiAwIFIKL1Jlc291cmNlcyA3IDAgUgovVXNlclVuaXQgMQo+PgplbmRvYmoKNyAwIG9iago8PAovUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KL0V4dEdTdGF0ZSA8PAovR3MxIDkgMCBSCj4+Ci9Gb250IDw8Ci9GMiAxMCAwIFIKPj4KL0NvbG9yU3BhY2UgPDwKPj4KPj4KZW5kb2JqCjEyIDAgb2JqCihyZWFjdC1wZGYpCmVuZG9iagoxMyAwIG9iagoocmVhY3QtcGRmKQplbmRvYmoKMTQgMCBvYmoKKEQ6MjAyNTA5MTkwMjQ4MjJaKQplbmRvYmoKMTEgMCBvYmoKPDwKL1Byb2R1Y2VyIDEyIDAgUgovQ3JlYXRvciAxMyAwIFIKL0NyZWF0aW9uRGF0ZSAxNCAwIFIKPj4KZW5kb2JqCjE2IDAgb2JqCjw8Ci9UeXBlIC9Gb250RGVzY3JpcHRvcgovRm9udE5hbWUgL09MTVRHVCtOYW51bUdvdGhpYy1FeHRyYUJvbGQKL0ZsYWdzIDQKL0ZvbnRCQm94IFstMTggLTIyMyAxMDMxIDg1OF0KL0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA5MjAKL0Rlc2NlbnQgLTIzMAovQ2FwSGVpZ2h0IDcwMAovWEhlaWdodCA1MDAKL1N0ZW1WIDAKL0ZvbnRGaWxlMiAxNSAwIFIKPj4KZW5kb2JqCjE3IDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9DSURGb250VHlwZTIKL0Jhc2VGb250IC9PTE1UR1QrTmFudW1Hb3RoaWMtRXh0cmFCb2xkCi9DSURTeXN0ZW1JbmZvIDw8Ci9SZWdpc3RyeSAoQWRvYmUpCi9PcmRlcmluZyAoSWRlbnRpdHkpCi9TdXBwbGVtZW50IDAKPj4KL0ZvbnREZXNjcmlwdG9yIDE2IDAgUgovVyBb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ZWFtCmVuZG9iagoxOCAwIG9iago8PAovTGVuZ3RoIDI3OAovRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeJxdkctqwzAQRff6ilmmi+BHHTcBISjpxos+qNsPkKWxK6hlIcsL/331agoVSHB05w7DneLaPXVaOSje7CJ6dDAqLS2uy2YFwoCT0qSqQSrhMsVXzNyQwpv7fXU4d3pcgFICULx7eXV2h8OjXAa8C3+vVqJVeoLD57WPP/1mzDfOqB2UhDGQOPp2z9y88BmhiNZjJ72u3H70rr+Kj90g1JGrNJJYJK6GC7RcT0ho6Q+joz+MoJb/5Cq7hlF8cftbHd8IFaOyakSCmlFR8ybBvVfq4ZygCZ46e04BThnaAE32PERoE5wZHcohKxffuuWXBDx2q+K8ebAweUj5lorYrPWBxFXEJEIGSuNtW2YxwRXvD57fi9YKZW5kc3RyZWFtCmVuZG9iago2IDAgb2JqCjw8Ci9MZW5ndGggMjYxCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nL1RTUsEMQy951fkDzibdPo1IB4WdcHbSsGDeJAyq8Lswjjg7zetFjoyI3pZ0pbkNX15SRlJ7ILl8Job3xGxwXiEUSxdHcF0plGeSHUSDvNwPYh1YkU9rOD/QSPQnHIWrgcxdzTks1iEV3jAE2x2E+PLBJvr/uMt9ve7LcYJSJ5qZme1I+O9ai3+DZriKZdZbuC9hwPs84xH4KyDkSmt79EvgAWSbRtjE/hDbE5IlUszYy7Ca3+8DRVpdRWE+VYhewwHeLwkAa8kIzmqOG1xtDhPGO7gJki1wmdM45HOqtHItkWV+11e62SC9swCfdHUFed5UZxwaKe+xO1z+do+AXFDwlAKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgMTkKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAxMjQ2IDAwMDAwIG4gCjAwMDAwMDEzMDMgMDAwMDAgbiAKMDAwMDAwMTE1OSAwMDAwMCBuIAowMDAwMDAxMTM4IDAwMDAwIG4gCjAwMDAwMDEzNTAgMDAwMDAgbiAKMDAwMDAwNDg2MiAwMDAwMCBuIAowMDAwMDAwMTg5IDAwMDAwIG4gCjAwMDAwMDAwNTkgMDAwMDAgbiAKMDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDAwOTgyIDAwMDAwIG4gCjAwMDAwMDA0MTcgMDAwMDAgbiAKMDAwMDAwMDMyNSAwMDAwMCBuIAowMDAwMDAwMzUzIDAwMDAwIG4gCjAwMDAwMDAzODEgMDAwMDAgbiAKMDAwMDAwMTM5MyAwMDAwMCBuIAowMDAwMDAwNDkzIDAwMDAwIG4gCjAwMDAwMDA3MTIgMDAwMDAgbiAKMDAwMDAwNDUxMSAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDE5Ci9Sb290IDMgMCBSCi9JbmZvIDExIDAgUgovSUQgWzxjMmU3ODBhY2NiNjc0NjM3MzU4YjA2ZjY2Yzc2MzRlMD4gPGMyZTc4MGFjY2I2NzQ2MzczNThiMDZmNjZjNzYzNGUwPl0KPj4Kc3RhcnR4cmVmCjUxOTUKJSVFT0YK
혹시 출시하기 QR코드에서도 발생하는 증상인지 확인 가능하실까요?
네..같은 증상이 발생합니다 ![]()
메시지 공유하기 기능처럼 pdf파일 공유하기가 가능한지도 문의드립니다!![]()
파일 공유하는 기능은 별도로 제공되지 않고 있어요
다운로드시 앱 튕기는건 제가 사용을 잘못하고있는걸까요..?
안녕하세요 ![]()
전달주신 pdfData로 시도하였는데, 정상적으로 pdf 파일이 저장되고 있습니다 ![]()
아래 코드를 첨부드려요!
const handleSave = async () => {
const pdfData = 'JVBERi0xLjMKJf////8KOSAwIG9iago8PAovVHlwZSAvRXh0R1N0YXRlCi9jYSAxCj4+CmVuZG9iago4IDAgb2JqCjw8Ci9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL01lZGlhQm94IFswIDAgNTk1LjI4MDAyOSA4NDEuODkwMDE1XQovQ29udGVudHMgNiAwIFIKL1Jlc291cmNlcyA3IDAgUgovVXNlclVuaXQgMQo+PgplbmRvYmoKNyAwIG9iago8PAovUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KL0V4dEdTdGF0ZSA8PAovR3MxIDkgMCBSCj4+Ci9Gb250IDw8Ci9GMiAxMCAwIFIKPj4KL0NvbG9yU3BhY2UgPDwKPj4KPj4KZW5kb2JqCjEyIDAgb2JqCihyZWFjdC1wZGYpCmVuZG9iagoxMyAwIG9iagoocmVhY3QtcGRmKQplbmRvYmoKMTQgMCBvYmoKKEQ6MjAyNTA5MTkwMjQ4MjJaKQplbmRvYmoKMTEgMCBvYmoKPDwKL1Byb2R1Y2VyIDEyIDAgUgovQ3JlYXRvciAxMyAwIFIKL0NyZWF0aW9uRGF0ZSAxNCAwIFIKPj4KZW5kb2JqCjE2IDAgb2JqCjw8Ci9UeXBlIC9Gb250RGVzY3JpcHRvcgovRm9udE5hbWUgL09MTVRHVCtOYW51bUdvdGhpYy1FeHRyYUJvbGQKL0ZsYWdzIDQKL0ZvbnRCQm94IFstMTggLTIyMyAxMDMxIDg1OF0KL0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA5MjAKL0Rlc2NlbnQgLTIzMAovQ2FwSGVpZ2h0IDcwMAovWEhlaWdodCA1MDAKL1N0ZW1WIDAKL0ZvbnRGaWxlMiAxNSAwIFIKPj4KZW5kb2JqCjE3IDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9DSURGb250VHlwZTIKL0Jhc2VGb250IC9PTE1UR1QrTmFudW1Hb3RoaWMtRXh0cmFCb2xkCi9DSURTeXN0ZW1JbmZvIDw8Ci9SZWdpc3RyeSAoQWRvYmUpCi9PcmRlcmluZyAoSWRlbnRpdHkpCi9TdXBwbGVtZW50IDAKPj4KL0ZvbnREZXNjcmlwdG9yIDE2IDAgUgovVyBb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ZWFtCmVuZG9iagoxOCAwIG9iago8PAovTGVuZ3RoIDI3OAovRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeJxdkctqwzAQRff6ilmmi+BHHTcBISjpxos+qNsPkKWxK6hlIcsL/331agoVSHB05w7DneLaPXVaOSje7CJ6dDAqLS2uy2YFwoCT0qSqQSrhMsVXzNyQwpv7fXU4d3pcgFICULx7eXV2h8OjXAa8C3+vVqJVeoLD57WPP/1mzDfOqB2UhDGQOPp2z9y88BmhiNZjJ72u3H70rr+Kj90g1JGrNJJYJK6GC7RcT0ho6Q+joz+MoJb/5Cq7hlF8cftbHd8IFaOyakSCmlFR8ybBvVfq4ZygCZ46e04BThnaAE32PERoE5wZHcohKxffuuWXBDx2q+K8ebAweUj5lorYrPWBxFXEJEIGSuNtW2YxwRXvD57fi9YKZW5kc3RyZWFtCmVuZG9iago2IDAgb2JqCjw8Ci9MZW5ndGggMjYxCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nL1RTUsEMQy951fkDzibdPo1IB4WdcHbSsGDeJAyq8Lswjjg7zetFjoyI3pZ0pbkNX15SRlJ7ILl8Job3xGxwXiEUSxdHcF0plGeSHUSDvNwPYh1YkU9rOD/QSPQnHIWrgcxdzTks1iEV3jAE2x2E+PLBJvr/uMt9ve7LcYJSJ5qZme1I+O9ai3+DZriKZdZbuC9hwPs84xH4KyDkSmt79EvgAWSbRtjE/hDbE5IlUszYy7Ca3+8DRVpdRWE+VYhewwHeLwkAa8kIzmqOG1xtDhPGO7gJki1wmdM45HOqtHItkWV+11e62SC9swCfdHUFed5UZxwaKe+xO1z+do+AXFDwlAKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgMTkKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAxMjQ2IDAwMDAwIG4gCjAwMDAwMDEzMDMgMDAwMDAgbiAKMDAwMDAwMTE1OSAwMDAwMCBuIAowMDAwMDAxMTM4IDAwMDAwIG4gCjAwMDAwMDEzNTAgMDAwMDAgbiAKMDAwMDAwNDg2MiAwMDAwMCBuIAowMDAwMDAwMTg5IDAwMDAwIG4gCjAwMDAwMDAwNTkgMDAwMDAgbiAKMDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDAwOTgyIDAwMDAwIG4gCjAwMDAwMDA0MTcgMDAwMDAgbiAKMDAwMDAwMDMyNSAwMDAwMCBuIAowMDAwMDAwMzUzIDAwMDAwIG4gCjAwMDAwMDAzODEgMDAwMDAgbiAKMDAwMDAwMTM5MyAwMDAwMCBuIAowMDAwMDAwNDkzIDAwMDAwIG4gCjAwMDAwMDA3MTIgMDAwMDAgbiAKMDAwMDAwNDUxMSAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDE5Ci9Sb290IDMgMCBSCi9JbmZvIDExIDAgUgovSUQgWzxjMmU3ODBhY2NiNjc0NjM3MzU4YjA2ZjY2Yzc2MzRlMD4gPGMyZTc4MGFjY2I2NzQ2MzczNThiMDZmNjZjNzYzNGUwPl0KPj4Kc3RhcnR4cmVmCjUxOTUKJSVFT0YK';
const filename = "test.pdf";
try {
await saveBase64Data({
data: pdfData,
fileName: filename,
mimeType: "application/pdf",
});
} catch (error) {
console.error("데이터 저장에 실패했어요:", error);
}
};
안녕하세요 ![]()
확인해보니 아이폰에서는 잘 동작하는데 안드로이드에서는 오류가 발생합니다.
첫번째 다운로드시 앱이 죽고 다시 들어가서 클릭 시 console에 이미 다운로드 받았다는 에러가 발생합니다.
혹시 테스트를 어느 기종으로 하셨는지 알 수 있을까요?
안드로이드에서 이슈 재현되었습니다.. ![]()
해결 후 말씀드리겠습니다!
넵 감사합니다!!![]()
내부 수정 완료되어 배포되면 공지사항을 통해 안내드릴게요.
넵!!감사합니다!![]()
안녕하세요!![]()
pdf 배포되었는지 알 수 있을까요??
넵 배포되었습니다.
5.231.0 버전으로 확인 부탁드립니다.
넵 감사합니다!!!![]()
안녕하세요! 한번 다운로드 받으면 다시 다운로드가 안되는데 가능하게 할 수 있을까요??
@react-pdf/renderer의 PDFViewer를 이용해 PDF 미리보기 기능을 제공하려고 합니다.
그런데 앱인토스의 정책상 iframe 사용이 제한되는지 확인하고 싶습니다.
만약 iframe 사용이 불가능하다면, 미리보기 기능을 구현할 수 있는 대체 방법이나 지원 가능한 기능이 있는지도 문의드립니다!
@mingg 님 앱인토스 정책상 iframe 사용은 제한됩니다.
미리보기 기능은 확인 후 말씀드릴게요.
넵 확인감사합니다! 혹시 두번 연속 다운로드도 가능하게 할 수 있나요?