我试图显示收到的数据字节的pdf文件,但它没有显示内容。我尝试了不同的选择,但它还没有工作。
我正在使用AngularJS v1.0.7
这是角度控制器中的调用
service.getPdf().success(function(response) {
$rootScope.gpReportDTO = response;
var file = new Blob([response], {type: 'application/pdf'});
var fileURL = URL.createObjectURL(file);
window.open(fileURL);
});
这是服务:
getPdf: function() {
return $http({
method: 'GET',
url: '/report',
responseType: 'arraybuffer',
async : false
});
}
这是我用jasper报告
生成pdf的服务器端@RequestMapping(value = "/report", method = RequestMethod.GET)
@Transactional
@ResponseBody
public byte[] getGPReport()
{
GPReportDTO gPReportDTO = null;
InputStream inputStream=null;
Data data = dao.findBy(Data.class, id);
byte[] reportHtml = null;
try {
inputStream = new FileInputStream(contextPath + "/WEB-INF/classes/reports/GP_Letter.jrxml");
List<GPReportDTO> gpreportdata = getGPReportData(data, userName, contextPath);
JRBeanCollectionDataSource beanColDataSource = new JRBeanCollectionDataSource(gpreportdata);
Map<String, Object> parameters = new HashMap<String, Object>();
JasperDesign jasperDesign = JRXmlLoader.load(inputStream);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint print = JasperFillManager.fillReport(jasperReport, parameters, beanColDataSource);
File pdf = null;
try
{
pdf = File.createTempFile("output.", ".pdf");
OutputStream outputStream = new FileOutputStream(pdf);
JasperExportManager.exportReportToPdfStream(print, outputStream);
outputStream.close();
reportHtml = Utils.fileToBytes(pdf);
}
catch (IOException e)
{
pdf.deleteOnExit();
e.printStackTrace();
}
}
public static byte[] fileToBytes(File file) throws FileNotFoundException
{
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
try {
for (int readNum; (readNum = fis.read(buf)) != -1;) {
bos.write(buf, 0, readNum); //no doubt here is 0
//Writes len bytes from the specified byte array starting at offset off to this byte array output stream.
System.out.println("read " + readNum + " bytes,");
}
fis.close();
}
catch (IOException ex) {
}
return bos.toByteArray();
}
PDF返回:
"%PDF-1.5
%����
5 0 obj
<</Type/XObject/ColorSpace/DeviceGray/Subtype/Image/BitsPerComponent 8/Width 50/Length 25/Height 50/Filter/FlateDecode>>stream
x���
��o7�x3ú�
endstream
endobj
6 0 obj
<</Alternate/DeviceRGB/Length 2595/N 3/Filter/FlateDecode>>stream
x���wTT��Ͻwz��0)C��
�7��Da�`(34�!�EDA�"��"�"���`�� ��`QQy3�Vt�彗��g}k���=g�}ֺ�����tX
�4����J����c���`�23B=ÀH>n�L��"�7w�+7����t��I��������d��Pĩق�}F���1�(1�E�������";����c�X|�v[�="ޚ%���qQ��-�["�L�qE�V��af�"��+IĦ"&��B�D�)�+������Rn��|nb����ң���2�ޜ�T�@`�d�0�l�[zZ�����?KF\[����f���F��f_��n�M�{�H��?���}���_z=�YQmv|����c3����4 )�[��W����%I Ȱ31���6�rX��������7�������(ݝ���
�⺱�SӅ|zf�š�y��q�_��0����sx��pєqy��v��\7�G���S�a؟�8�"Q>j�1����>��s@���7|8��ՉŹ�,�߳�e�%���9�-$��������H*P*@�#`l�=p��0VHi��A>��@ �v�jP@h'@8
.���:�n�`���`��a!2D� UH2��!�y@�P�A�B��&�*���:� �:]��B��=h��~���L���2�
��������p"���p\����u�6<?�g���!�
D�����C��J�iA��^�&2�L#�PEG��Qި�(j5j�U�:�jG��n�FQ3�Oh2Z m��C��#щ�lt�݈nC_B�F���`0Fc���Da�1k0����V�y� f3��b�Xl ��`��{�ǰ��C�q�[��3�y��q<\�ww7�������Zx;| ���ŗ��]��8~� M�!8�Ʉ��*B��!��HT'���\�b�8�
q���$C�'��bHB�v�a�y�=�+2��Mv&G����&�E�c�[ �����[b�D�D�Đ�I������*�<�Jɓ���Rx)m)7)��:��SR�R��i3�@�4�R���W�'e�2�22l�B�C2e�(E��FaQ6Q(�(�TU��CM��P���Sgded-e�esdkd�Ȏ��6͇�J+���ݡ��S�s���m�k����_"�,ϑ/�o��-�^��ࡐ��S�C��"JQ_1X1[���%��%�%�KXK���Xr_ V�W
QZ�tH�OiVYE�K9Cy��E�i���J�J��Y�)U���*W�B���3�,݅�J����gԔԼՄjuj�j��:����[�i4 �3������͚���Z�$�=Z�Zs�:��[�;�'u�u|t�t�u��u�tW�������1�R����Ї�����k�`k��~�AC���!ϰ�p؈d�b�e�l4jL3�7.0�0~a�im�Ӥ�䓩�i�i��33_��.�����Y�5��,���-:-^ZXr,X�XXm����hmcͷn���Ѵ���g3̠2���+�h[W����m��Y� �N��fod�b�~r��R�҆�c�L�:�G�c��A�'5'�S��g
g�s�K��1����|�6�97;��n��w/�b�~����=�==�=g����x��F{�y���Q�a�4���������#���U�=�����w���.�Z�[�}w>
� Z�c0&8(�&�i�YH~Ho(%46�h��0װ���u��w�K�DŽ7��E�G�G�D�D����ō���F�G7FϮ�X�{�x�ULQ̝�:+sV^]��*uՙX�Xf��8t\D�Ѹ�@f=s6�'~_�ˍ�����̮`Oq8圉�����D��]�SINI�I�\7n5�e�wrm�\J`�ᔅԈ��4\Z\�)�/�ד����>�a�Q�1��n���3|?~c&��2�S@�L� u����Y�Y5Yo�óO�H��r�r�s��N�y�}�����;_-c��Z��u��u����k�/\?��kÑ���)*0-(/x�)bSW�r��±�^���$��E�[���nEm�n��f�m��O���k%�%�%JY�1��ꛅ� ��ˬ���������i��r�����]��+���w���ZiYY���G�g�ʿ�s���{?T'U߮q�iݧ�o۾����C���*זԾ?�=x�Ϋ��^����P֡�
�
��2�mjTl,i�x�wx�Hȑ�&����JG˚�fa�Ա�c7�s���Ũ����Zr�}��wN���>�8������(m��P{n�LGR�HgT��)�S�]�]m?�x�����3�g����]8�wn�|����ƺc�\��x�'����ߥ+�=/_�u�=w�����vWO]c\��n}��Ϫ��'�������l:o���\:xv�i��M���o�ܺ~{���;�����˾;y/����Y��lx�~X�H�Q�c���?���:b=rf�}��I��c����d��a��)�i���DӤ���)ϩ�V<��|~��W�_���}��oο��DΌ���\����«ï-_w��>~��f~�����#��z�G�������P�Q�c�'�O�����
endstream
endobj
7 0 obj
<</Type/XObject/ColorSpace[/ICCBased 6 0 R]/SMask 5 0 R/Subtype/Image/BitsPerComponent 8/Width 50/Length 1894/Height 50/Filter/FlateDecode>>stream
x���iluƥ����,H��C�v�҆�P ����D[Z(I�BK�UY-��&�-�lI��T��Q;���=Ɍmrm��N�4���W�����kx�n�N�:�N��E��#�o��}�w|��i�� R���(6�R~��S�w�DJ����|
�+�D,��hžR�[�����'�I�S�a0ĩT����~��n�x�v���]`+��vdNU[X"�?*�� HZpT��D8��㖦�枝�����b:;�]��
�eD%}��|�������m�U���fO���H �˘N9:ȅ]��9��~U��&H6�0M��©$���ʾ�Ls�|�"���ف}x
h�Pm�t2�@�u���C�>z���*�
���/F�^z��uQN��x��Y�G�Y�9Ƀ%9��j�Ѹ]�����*#*(���'��kվw�����Z�O����^84k����S����P�m0���d^�t�7���$o|�S��8�T�������U���
,�!��[@]��v�?r
8Ǻg��8�/���1:�q�@*��D��hϤ��g��ŋ��(�ڬ�|
L��T5#�\�m���g''j�k��z�T{?�)(�uwz���}� ��?|ھ�R �
��A�1�!敇�{���
L������|F%|m�O����d�$��v������dTACfTPA��sø0jv���ۀ��G-~�M}�s���d�q��#��-�z��]
������J$I���J)rHEUH��a�
�+��ұ�f`��s��:�z���R�ӗ�z���a�ӽ0n�
D�B*�,��V����nH ��`���㭭��!��<Rol(�ư6�6L�ΐO}����E�B�`����H��0�����=�0,c�9��\�m!=U�������@��<�;�-ա�|Ҕ��"�G�|��8o�-,)���)����H�h*�F#��@S3"EM;|�/e�Q`���0��}�b�������
b�=Ʋ�(���n�4Y"E�V��g.k) ��e�@Ei�D�[E�����g��J���]�AuϯT�K�]�ZW�ِp�H���J���՚��e�l�T����H�$8T܄T�OK�-�{��v@�?7V�Y�3m�wy$��iS���I���*�����LV2��h�3~�n͍�]��J�^M�
�,�.)��ڍ ��
�!iݦ8*|��{��8�)�R��RTY���IX��ң�
���"h>�;vm�?�ٮ�uP;��J0�
�ќ_���i�3$B���yK�V�nC��H�ǘV#�-t[>0vR�)���*����E#���W�������H�G�T(�V�Ԑ }���V���W�, �����"�`�逷ak���%�=n����%��՚l�����p8��)�������#�Y���p�[���'EnF��ɭ�rA.w�a�qK$�t���t}$
M���>C ߐ{"qTQ�]�U�]�F�tk���WP��`��|���8 b�mʆ硵��N�š��b=�X>aTY�~k9�����AJIAD��^�I�L�g�;Y�8�.w{g�1�$��'�J����@bF���K��U<��f��[�,_�{����p���XRmȀJ��n�:%_G��f^���ѱ$��"~�E�!փ7�V�����Ls���
ӷ.���� ��O��0E��ݍt��n�U�o��VU��9\�����=˱�j�C��'Ѳ{Q��Q��Zp�v���c|�2SW���%H�RUl�2!i�+���͝�ML�cӷQ�W�qV��B��G�d�����9�3W�P�/��8���J�(�0~��$h;��x�b ��Ɏe�:���d�S��Z����.�m�J��c����DJA�z�A���')��џ��r
endstream
endobj
9 0 obj
<</Length 4217/Filter/FlateDecode>>stream
x��]�s��~�_���$�q?�O�6N,��F���t�>�$,��H�����/���m��[9Mc(&���{{�~w���7�.�e]��.�����B?�����������������Peq����oo��>>R�{~��#��f\ѝ����Y�Lm��S���U��9V�Z�ۋo���b����]�]�銏�Y�뜩��=b�?�������"US4U3��������{��4��Y鉥�qs7��?�������]N�b�h���զxs]l��y��^�U��s���&��?P���ߪ������7m���������E���ؑ�H�_r��f������ŗ��~���/���sp��GMU4�������^��quw��k=v�
���� 3�����<X�?�P)#��������b=A����Q>�Q�?���(�R�����C"A���̶�%0��E�z�vA�����!̶.�0���٣�����s�D�����q>�q�?�R����K�Z�LC0�=��o ��ݦ�����ە�����P/�Q�F /�����y��ǣ
����`�]�|e-�殃9<]��S�� ���]����r�O�Ӈ����z���m���'ϛ(��=m�����S6���_�����O�pdKG�y ��K��/����$,m�� �d���qt� �{{�:q�lj�}�P���t��K�<8�����K´��s��{�z,ӺI��G���L�nt�H^���lؠ<Jб����~
����v��8�<�C�|vu�)L>��y�i
�j,�����O��58�uxb�9<��DB����n����Wϝ�+Q:��sS���f頒�i���ٯ��e{����?�#������B�����V����|��8�b F�Z��
��C��U@�~�ovwE�;���"�R�%�R͂�i5I��凓�r�=67L$�YM�ȹk�2�f��#9N��U���X}.~�/O����#CdV�$2�&�����<��<2�Td2<7ݢ�W���<�؞�O��X
٫�8B5a��TV3��f�Wk�r���lW�v-V+ۜ�X��B��bU��ӓ`L�P = AT���[�rӬ<��{UYQZ��q�pZ�YZ���`i��uq�i���47Ê]#�X&0�L`��8X� �< �jTŠ����f�8����w�I"�d���=��m$c`�`�]�c`B8{�X�"a��z_Զ_�x�3�l��.W���oy��*D�����?е"t-Cע���k+G�$Rn���uslž�,r�$[F�[�T'<Y�jq"������]oV�AW�-!�"W�B��Z�p�����l�����=�b_ ��F�F0�g7p��6���L����[�o��D�r���F�?0�h7p�������L����|��6�M���Xvݬ�eF��KB�E���`�k�v�a�#o˚��a���[�vy���f�r�B�"V�0�����a�����&�j_���b:�L��;'b�f"*��Pd*��
#}
�k�k9�mL9R�e�j��g��k�>��v���i�T��Q��I�7n���v�Z��F�y� r�i�#"��
cJ
�ƪ9�S��Uj����^�u;����&s��g��|Ȟf�)���Z!�S��7�:�����.�4��X�)�H��&��5̎j�:k9�S�:����;w:�H�?�c�1<)C����I��7No��f^���u}.��<�|? �HxcʆgG��t��~%'$t��q�n]�:������/ߺ�ݧn��R��ȬO�!��g-jph�Hk���Y�C�E!:ų;�����?b����SB�%��A�a�]3�]˹w���C��^�S�JxYe+v��d!+b�5c�5��k��k9�uj���P���Q�E�E�b���e�z���Ti;�N���/��ݾ���YE�qp�]c���ӊ�k�X�B�]��=-�Z�:����|;_-O ��;G�U�$Fk�(�)B�
�p0S-��~#�)��F�+w {���W�KYy��F%������f���>IksD��=O&��Ad���s���et�G0E��m&�b��2LȞa#�7��
��1�`J����أ����وAHB�ŠL��L�<�*�V��.���r�kq�%d�dC�]F������Ւ�=R/�=L�H·��3]L�ՙ�]_�MW�Y7�*�oq�$d� c�) �TBe��2��<�b���H�^��Z�~,.ed��2EV�k�o\�S\�ٳl̠�:���QFKxS�� �Q�[\��3l��:���Q�Dx,�D+�]�21���!�H�G�0M��Q��sG$�i��r4
�ۭx��f}Q�:��A��$����Vb��DH�S,O�t�b�"W"W�@��!21-���=-S���L�MեʍL�R�`�R��U�)TT��gÓ� -]4��k9ɐ�=]�2�Pq�d����B/����#��i�_�.���}��nťF�=�l`���=�r�&)mz��uk���Ip�ef!)w0�4��1���,.eԍK�ɸTfa3�#E%�+��v4J {UH�ؠ��x�篁�I-��aR��f�VTj����Aa�bB%�Z��39���4��[�Sq|;dϲB�i�3;�`j�A6��!�o�8*���)� $���i��l��"R����M�q�"d�1��d�&�?e�HaR��إ�*��A�g^��W�
�C�"_U�fӵn����]J����n���!,�8.���1��k�s�p��\m�;b�n1�K 8:����1���x��%���0 ���Ne��1)�q� {��Y��ֱ�bJ�ԃ�[E˝"��
���4H�D���Q&\�t
ī��v��-�V�O���EY�=Ų�e|�`,�"���_�&��� {���4Q��=-��=�)��RŻ��k�יP�]�˯ {l�i���B���2�,��X:R{��2���_A���{~,,eD7�$�^y�LL�W_A�W�i���R3�F������L���ĵW�=��Z�fa�j�<~)�R&~���+��ʅ {%�Z�z�4�O������r����!�\;�xQ̱�W�����7���8�*-���(aL9E1���<~)b"�I/�'�̂�1�SKf�I/�<~��r&~b�A\��c�JL�B���rRm���؟��j�7����Y�?��Ư�SJ�̕��Ƌo]��1�����BF
�ԇ�%'�K^��7��/z���%��E{{*��zcIx~�/z���Ni��O�a��?�$��|?a�=�"�X�';���))Mf�2f������}������l��� i��9E����X>�LG����a|���`�_˸��g�D���h�8Mw�����C�@&�W�fV嚃����Q����L�c}��gC(�*����KH����R�dS�6EV���� {L'"���N8��BF�\�.��ˢ{5�rc�L�v�!L��J�'j��]��EA��YPF1����T����Oo��DR왎�+
�'�>/H�;���x������(a�|��Y��������v
a��^�DN0$Du��7��7��K6�c5��6�0�(�!�bqu)d������g;o�tK�P�SD��)�m:q.��Pl��Ix���䐚����nr;e�� {l^�vLpl���BIFb��W,����ؓ�}��=��8��*����N~ȞxC.��X�H>�&�!N�>�jU�ϕ�����7Gѳ˒!P�) [ю�:����;�%�;ϔ�]��M) ��V��S|�T��7�n�ؕ� �T��ǟ~�\0��8����i��t�2.�g��"M����xK���+=O��m�,��eiI�if[Cܦ��<!{l���J���^�j���W��#n�E����Z=��c�n3��(�!��7ѹ+��"W='!�<�M~�K�!Ȟx�-�i� lU����Z�r�N�Ȟ���1E��<�9���?�C�H1T��^ ���T�85&a<��ⓣ�tjv8��^�NƆ��$^<��=��C�.�x�@�JV�B �N9V��AT�3o=;E�1Q�X$��H8&��3e�n=�/z��f/ˡ���c��$��:�_��(E�C�A`��xHX���auq�?���qc���7��(��}z��%�E'��6.�N�3���IQ������UY�r��B�LU\��48�F�&]R� �H� d ..."