PDF документ выглядит испорченным, если поместить его в iframe - PullRequest
0 голосов
/ 08 октября 2019

Документ PDF выглядит полностью испорченным, если поместить его в iframe. Без упаковки iframe все работает нормально.

import React, { Component, useState } from 'react'
import { Document, Page, pdfjs } from 'react-pdf/dist/entry.webpack'
import { createPortal } from 'react-dom'

pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`

export default class Sample extends Component {
  render() {
    return (
      <IFrame
        style={{ width: '80vw', height: '80vh' }}
      >
        <Document
          file='https://s3.amazonaws.com/.../.pdf'
        >
          <Page
            pageNumber={4}
          />
        </Document>
      </IFrame>
    )
  }
}

export const IFrame = ({ children, ...props }) => {
  const [contentRef, setContentRef] = useState(null)
  const mountNode = contentRef && contentRef.contentWindow.document.body

  return (
    <iframe {...props} ref={setContentRef}>
      {mountNode &&
        createPortal(
          React.Children.only(children),
          mountNode
        )}
    </iframe>
  )
}

Есть идеи, что может пойти не так? Когда disableFontFace=true документ хорошо отображается в iframe и выглядит полностью испорченным, если поместить его вне iframe.

...