public void imprimirCarteirinhaSemDependente() {
    Fisica fisica = new Fisica();
    Juridica sindicato = new Juridica();
    FisicaDao db = new FisicaDao();
    PessoaEndereco pesEndereco,
        pesDestinatario,
        pesEndEmpresa,
        pesEndSindicato = new PessoaEndereco();
    PessoaEnderecoDao dbEnd = new PessoaEnderecoDao();
    PessoaEmpresa pesEmpresa = new PessoaEmpresa();
    PessoaEmpresaDao dbEmp = new PessoaEmpresaDao();
    String dados[] = new String[32];
    try {
      FacesContext faces = FacesContext.getCurrentInstance();
      HttpServletResponse response = (HttpServletResponse) faces.getExternalContext().getResponse();
      Collection listaSocios = new ArrayList();

      File fl =
          new File(
              ((ServletContext) faces.getExternalContext().getContext())
                  .getRealPath(
                      "/Cliente/"
                          + ControleUsuarioBean.getCliente()
                          + "/Relatorios/FICHACADASTRO.jasper"));
      JasperReport jasper = (JasperReport) JRLoader.loadObject(fl);

      sindicato = (Juridica) new Dao().find(new Juridica(), 1);
      pesEndSindicato = dbEnd.pesquisaEndPorPessoaTipo(sindicato.getPessoa().getId(), 2);

      for (int i = 0; i < listaSoc.size(); i++) {
        if ((Boolean) ((DataObject) listaSoc.get(i)).getArgumento0()) {
          fisica =
              db.pesquisaFisicaPorPessoa(
                  ((Socios) ((DataObject) listaSoc.get(i)).getArgumento1())
                      .getServicoPessoa()
                      .getPessoa()
                      .getId());
          pesEndereco = dbEnd.pesquisaEndPorPessoaTipo(fisica.getPessoa().getId(), 1);
          pesEmpresa = dbEmp.pesquisaPessoaEmpresaPorFisica(fisica.getId());
          if (pesEmpresa.getId() != -1) {
            pesEndEmpresa =
                dbEnd.pesquisaEndPorPessoaTipo(pesEmpresa.getJuridica().getPessoa().getId(), 2);
          } else {
            pesEndEmpresa = new PessoaEndereco();
          }

          pesDestinatario = dbEnd.pesquisaEndPorPessoaTipo(fisica.getPessoa().getId(), 1);

          try {
            dados[0] = pesEndereco.getEndereco().getLogradouro().getDescricao();
            dados[1] = pesEndereco.getEndereco().getDescricaoEndereco().getDescricao();
            dados[2] = pesEndereco.getNumero();
            dados[3] = pesEndereco.getComplemento();
            dados[4] = pesEndereco.getEndereco().getBairro().getDescricao();
            dados[5] = pesEndereco.getEndereco().getCidade().getCidade();
            dados[6] = pesEndereco.getEndereco().getCidade().getUf();
            dados[7] = pesEndereco.getEndereco().getCep();
          } catch (Exception e) {
            dados[0] = "";
            dados[1] = "";
            dados[2] = "";
            dados[3] = "";
            dados[4] = "";
            dados[5] = "";
            dados[6] = "";
            dados[7] = "";
          }
          try {
            dados[8] = pesDestinatario.getEndereco().getLogradouro().getDescricao();
            dados[9] = pesDestinatario.getEndereco().getDescricaoEndereco().getDescricao();
            dados[10] = pesDestinatario.getNumero();
            dados[11] = pesDestinatario.getComplemento();
            dados[12] = pesDestinatario.getEndereco().getBairro().getDescricao();
            dados[13] = pesDestinatario.getEndereco().getCidade().getCidade();
            dados[14] = pesDestinatario.getEndereco().getCidade().getUf();
            dados[15] = pesDestinatario.getEndereco().getCep();
            dados[26] = pesDestinatario.getPessoa().getDocumento();
            dados[27] = pesDestinatario.getPessoa().getNome();
          } catch (Exception e) {
            dados[8] = "";
            dados[9] = "";
            dados[10] = "";
            dados[11] = "";
            dados[12] = "";
            dados[13] = "";
            dados[14] = "";
            dados[15] = "";
            dados[26] = "";
            dados[27] = "";
          }
          try {
            dados[16] = pesEmpresa.getJuridica().getPessoa().getNome();
            dados[17] = pesEmpresa.getJuridica().getPessoa().getTelefone1();
            dados[18] = pesEmpresa.getFuncao().getProfissao();
            dados[19] = pesEndEmpresa.getEndereco().getDescricaoEndereco().getDescricao();
            dados[20] = pesEndEmpresa.getNumero();
            dados[21] = pesEndEmpresa.getComplemento();
            dados[22] = pesEndEmpresa.getEndereco().getBairro().getDescricao();
            dados[23] = pesEndEmpresa.getEndereco().getCidade().getCidade();
            dados[24] = pesEndEmpresa.getEndereco().getCidade().getUf();
            dados[25] = pesEndEmpresa.getEndereco().getCep();
            dados[28] = pesEmpresa.getAdmissao();
            dados[29] = pesEmpresa.getJuridica().getPessoa().getDocumento();
            dados[30] = pesEmpresa.getJuridica().getFantasia();
            dados[31] = pesEndEmpresa.getEndereco().getLogradouro().getDescricao();
            dados[32] = pesEmpresa.getCodigo();
          } catch (Exception e) {
            dados[16] = "";
            dados[17] = "";
            dados[18] = "";
            dados[19] = "";
            dados[20] = "";
            dados[21] = "";
            dados[22] = "";
            dados[23] = "";
            dados[24] = "";
            dados[25] = "";
            dados[28] = "";
            dados[29] = "";
            dados[30] = "";
            dados[31] = "";
            dados[32] = "";
          }

          try {
            listaSocios.add(
                new FichaSocial(
                    0,
                    ((Socios) ((DataObject) listaSoc.get(i)).getArgumento1()).getId(),
                    ((Socios) ((DataObject) listaSoc.get(i)).getArgumento1())
                        .getMatriculaSocios()
                        .getNrMatricula(),
                    ((Socios) ((DataObject) listaSoc.get(i)).getArgumento1())
                        .getServicoPessoa()
                        .getEmissao(),
                    null,
                    ((Socios) ((DataObject) listaSoc.get(i)).getArgumento1())
                        .getMatriculaSocios()
                        .getCategoria()
                        .getGrupoCategoria()
                        .getGrupoCategoria(),
                    ((Socios) ((DataObject) listaSoc.get(i)).getArgumento1())
                        .getMatriculaSocios()
                        .getCategoria()
                        .getCategoria(),
                    fisica.getPessoa().getNome(),
                    fisica.getSexo(),
                    fisica.getNascimento(),
                    fisica.getNaturalidade(),
                    fisica.getNacionalidade(),
                    fisica.getRg(),
                    fisica.getPessoa().getDocumento(),
                    fisica.getCarteira(),
                    fisica.getSerie(),
                    fisica.getEstadoCivil(),
                    fisica.getPai(),
                    fisica.getMae(),
                    fisica.getPessoa().getTelefone1(),
                    fisica.getPessoa().getTelefone3(),
                    fisica.getPessoa().getEmail1(),
                    dados[0],
                    dados[1],
                    dados[2],
                    dados[3],
                    dados[4],
                    dados[5],
                    dados[6],
                    dados[7],
                    false,
                    dados[26],
                    dados[27],
                    dados[8],
                    dados[9],
                    dados[10],
                    dados[11],
                    dados[12],
                    dados[13],
                    dados[14],
                    dados[15],
                    dados[16],
                    dados[17],
                    null, // fax
                    dados[28],
                    dados[18],
                    dados[19],
                    dados[20],
                    dados[21],
                    dados[22],
                    dados[23],
                    dados[24],
                    dados[25],
                    ((ServletContext) faces.getExternalContext().getContext())
                        .getRealPath("/Imagens/LogoCliente.png"),
                    "", // obs
                    ((Socios) ((DataObject) listaSoc.get(i)).getArgumento1())
                        .getParentesco()
                        .getParentesco(),
                    sindicato.getPessoa().getNome(),
                    pesEndSindicato.getEndereco().getDescricaoEndereco().getDescricao(),
                    pesEndSindicato.getNumero(),
                    pesEndSindicato.getComplemento(),
                    pesEndSindicato.getEndereco().getBairro().getDescricao(),
                    pesEndSindicato.getEndereco().getCidade().getCidade(),
                    pesEndSindicato.getEndereco().getCidade().getUf(),
                    pesEndSindicato.getEndereco().getCep(),
                    sindicato.getPessoa().getDocumento(),
                    "",
                    ((ServletContext) faces.getExternalContext().getContext())
                        .getRealPath("/Imagens/LogoCliente.png"),
                    getFotoSocio(((Socios) ((DataObject) listaSoc.get(i)).getArgumento1())),
                    sindicato.getPessoa().getEmail1(),
                    sindicato.getPessoa().getSite(),
                    sindicato.getPessoa().getTelefone1(),
                    ((ServletContext) faces.getExternalContext().getContext())
                        .getRealPath(
                            "/Cliente/"
                                + ControleUsuarioBean.getCliente()
                                + "/Relatorios/FICHACADASTRO.jasper"),
                    dados[29],
                    fisica.getPessoa().getRecadastroString(),
                    dados[30],
                    pesEndSindicato.getEndereco().getLogradouro().getDescricao(),
                    dados[31],
                    "",
                    dados[32],
                    fisica.getPis()));

          } catch (Exception erro) {
            System.err.println("O arquivo não foi gerado corretamente! Erro: " + erro.getMessage());
            continue;
          }
        }
      }
      JRBeanCollectionDataSource dtSource = new JRBeanCollectionDataSource(listaSocios);
      JasperPrint print = JasperFillManager.fillReport(jasper, null, dtSource);
      byte[] arquivo = JasperExportManager.exportReportToPdf(print);
      response.setContentType("application/pdf");
      response.setContentLength(arquivo.length);
      ServletOutputStream saida = response.getOutputStream();
      saida.write(arquivo, 0, arquivo.length);
      saida.flush();
      saida.close();

      FacesContext.getCurrentInstance().responseComplete();
      Download download =
          new Download(
              "Ficha Social " + fisica.getPessoa().getId() + ".pdf",
              ((ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext())
                  .getRealPath("/socios.jsf"),
              "application/pdf",
              FacesContext.getCurrentInstance());
      download.baixar();
    } catch (Exception erro) {
      System.err.println("O arquivo não foi gerado corretamente! Erro: " + erro.getMessage());
    }
  }