>

웹 응용 프로그램 중 하나에서 PDF 생성을 다시하고 있으며 대부분 jsPDF로 전환했습니다.

우리는 하나의 PDF 파일을 외부 요청에서 반환 한 다음 URL을 마스킹하고 새 탭에서 엽니 다.

이전에는 다음과 같이 PDF를 표시했습니다

<form target="_blank" action={'/pdf/company?ID=' + this.props.recordId + '&PAGE_ID=' + this.props.pageId}>
        <input type="hidden" name="PAGE_ID" value={this.props.pageId} />
        <input type="hidden" name="ID" value={this.props.recordId} />
        <input className="btn3" type="submit" value="Get PDF"/>
</form>

동일한 엔드 포인트에 성공적으로 요청할 수 있습니다

axios.get(`/pdf/company?ID=${record.id}&PAGE_ID=${this.props.pageID}`)
  .then(data => {
    console.log(data);
  });
}

이런 응답을받습니다

data: "%PDF-1.7\n%����\n7 0 obj\n<< /Type /Page /Parent 1 0 R /LastModified (D:20171227143403-05'00') /Resources 2 0 R /MediaBox [0.000000 0.000000 595.276000 841.890000] /CropBox [0.000000 0.000000 595.276000 841.890000] /BleedBox [0.000000 0.000000 595.276000 841.890000] /TrimBox [0.000000 0.000000 595.276000 841.890000] /ArtBox [0.000000 0.000000 595.276000 841.890000] /Contents 8 0 R /Rotate 0 /Group << /Type /Group /S /Transparency /CS /DeviceRGB >> /Annots [ 6 0 R ] /PZ 1 >>\nendobj\n8 0 obj\n<</Filter /FlateDecode /Length 2871>> stream\nx���v�6\u0016���\u0014����\u0010·��r�8�5u��3���^0\u0012,s\"�\u000eI�M�~6t )�\u0004{H���^�\u0015�����\u0007�\u0001\u0012\u0014�R\u0013�B׈�\u000f��\u001f��o�k\u0002?o�g���\u0019\u001a\u001dQD\u0019&�/tv�ޜ� O}���\u000fd�\u000f˧\u0019b7����\"�H­��X3),�������#F�xPL_\u0008�%��H�,�Jrm\u0008�\u001a��F\u000b��,Vdy�¡��Q�S�S�\u000c�Hk\u0004�\n�\u000b����ފ�q���n�3P��s�\u001e��Hy\u0004�M\u0018��{��\u007f֚a!��,�׻�QX7a��z�>\u0006k��\u0008\u000cb\n�u�<\u0002�&�0_���g-9f�1\"�|�[\u001e�u\u0013F��w�c�\u0016\u001cF\rj(\r�u�<\u0002�&�0_���g�\u0005�\u001aTP\u001d����(��0�|�[\u001f�5\u00130jP�D��C�\u0011X7a��:D�?k*�\u0011\u0014\u000f̯wˣ�n�\u0008��n}\u000c�D¨A\u0018\u000f̯C�\u0011X7a��:D�;ki%V\u0002\"�A�\u000e��`�\n#��\u0001�\u0018���DX!l����\u0011X7a\u0004�:H�?k�0�@dX~\u001d �º\t#�׻�1X+��0J���A�\u0008��0�|…"

이 PDF를 새 탭에서 여는 수많은 방법을 시도했지만 아직 성공하지 못했습니다

<form> 를 사용하지 않고 이전 동작을 어떻게 복제 할 수 있습니까?  꼬리표. 기본적으로 버튼을 클릭하고 PDF로 새 탭을 열고 싶습니다.

"데이터 개체"라는 용어를 사용하지만 여기서 어떤 유형의 응답을 받고 있는지 알 수 없습니다 (그래서 내 문제에 대한 답을 찾기가 어렵습니다).

  • 답변 # 1

    여기에 뭔가 빠졌을 수도 있지만 링크를 사용하여 pdf를 여는 이유는 무엇입니까?

    const href = `/pdf/company?ID=${record.id}&PAGE_ID=${this.props.pageID}`
    return (
      <a href={href} target="_blank">Open PDF in new tab</a>
    )
    
    

    와이즈 비즈  요소는 간단한 요청을 얻기 위해 과잉 인 것 같습니다

    참조하는 데이터 객체는 이진 또는 pdf의 데이터 스트림이 인코딩 된 텍스트입니다. 텍스트 편집기에서 이미지를 열려고하면 같은 결과가 나타납니다.

    https://en.wikipedia.org/wiki/Specials_ (Unicode_block) #Replacement_character

    <form>

  • 이전 shell - 유닉스 찾기 목록 일치 디렉토리
  • 다음 java - 스레드로부터 안전하게 데이터베이스를 읽고 쓰는 방법은 무엇입니까?