2016-11-14 3 views
0

필자는이 PDF를 사용자에게 표시하는 것을 제외하고는 특히 모바일 장치 (예 : ipad)의 경우를 제외하고는 잘 작동하는 SF org에 채터 파일로 PDF 파일을 저장합니다. 나는 꽤 잘 ipad에서 동작합니다 좋은 자바 스크립트 PDF 뷰어를 추적했습니다. 이러한 시청자에게 pdf 파일을 전달하는 것이 어렵습니다.Visualforce에서 채터 파일의 PDF 표시 Page

그들 대부분은 볼 수있는 지역의 pdf 파일을 필요로하지만, 다음과 같은 예를 위해 PDF로 https://docs.google.com/viewer?url=https://urltopdf

PDF를 URL을 걸릴 것이다 구글에서보기와 같은 일부는 수다가 GET을 통해 볼 수있다 : https://cs2.salesforce.com/services/data/v35.0/chatter/files/ {docId}/content? versionNumber = 1 문제는 인증 헤더를 전달해야한다는 것입니다. 만약 그 URL을 구글 뷰어에 전달하면 Auth 헤더를 통과하지 못하기 때문에 Authentication 때문에 실패합니다. 사용자 정의 SF API를 가지고 :

나는

  • 구글 뷰어 호출, 그 API가 수다를 호출 Salesforce의 프록시 API를 내장하고 문서가 문제가 볼 Google에 파일을 반환하는 몇 가지 .. 시도 pdf가 6MB보다 크다면 작동하지 않을 것이라는 것을 의미하는 6MB 제한! 너무 많은 홉이 있습니다와 구글 뷰어는 시간에 데이터를 다시 받고되지 않습니다

  • 는 인증 문제를 유지하는 몇 가지 흥미로운 방법을 포함합니다 (6메가바이트 한계를 해결하기 위해) SF 외부 프록시 API를 내장 ... 그 다음 외부 API를 호출합니다. 그러면 외부 API로 PDF 데이터를 반환해야하는 채터 API를 호출 한 다음 Salesforce로 돌아갑니다 (우스꽝 스럽습니다).

그래서 나는 봄 13 '채팅의 API의 같은 VF 페이지에 자바 스크립트에서 특별한 인증없이 액세스 할 수 있는지 생각 ..... 붙어입니다. 사실입니까? VF 페이지의 javascript에서 호출 할 때 auth 헤더없이이 URL이 작동합니까? https://cs2.salesforce.com/services/data/v35.0/chatter/files/ {docId}/content? versionNumber = 1 Google 뷰어를 통해 갈 때 나에게는 효과가없는 것처럼 보이고 확실히 작동하지 않습니다.

이 작업을 수행하는 방법에 대한 의견을 보내 주시면 감사하겠습니다. 감사합니다.

답변

1

제발 나를 괴롭히지 말고, 나는 어떤 담당자를 찾으려고합니다.

VID 페이지의 ajax 요청을 통해 문서 ID의 정적 리소스를 쿼리하고 파일을로드 할 수 있습니다.

데이터를 사용하는 문제 : image/png; base64를 base64에 추가하여 캔버스에 추가했습니다. 캔버스에 다운로드 태그를 추가하여 다운로드하거나 다른 창에서 열면 사용자에게 브라우저 pdf 탐색기가 제공됩니다.

캔버스를 사용하는 경우 크기를 조정할 때 Safari를 조심하십시오. 당신이 정말로 긴 숫자를 얻으면 그것은 캔버스에 쓰레기가 될 것입니다. 나는 그 시간을 보냈다.

도움이 되었기를 바랍니다.

+0

나는 그 일을하는 몇 가지 샘플 코드를 가지고 있습니다. 시도하고 싶다면 그것을 파헤칩니다. –

+0

그걸 통해 ...정확한 문제는 기억이 나지 않지만 다음 중 적어도 하나 이상이었습니다 - pdf가 중간 크기에서 큰 크기 일 때 신속하게 salesforce 한도에 도달했습니다. - 모든 브라우저에서 작동하지 않습니다. - 휴대 기기에서 문제가 발생했습니다. – Gotts