JfileChooser Gerando PDF COM ITEXT

Galera estou gerando um pdf no meu sistema e estou querendo escolher o diretório que será salvo esse pdf pois antigamente no meu código esse diretório era estático, mas não estou conseguindo fazer. Deem um olhada no meu código.

public void cartaPertubassaoSossego(modeloCarta mod) {
try {
JFileChooser salvar = new JFileChooser();
salvar.setFileSelectionMode(JFileChooser.FILES_ONLY);
salvar.setFileFilter(new FileFilter() {
@Override
public boolean accept(File f) {
return f.getName().toLowerCase().endsWith(“pdf”);
}

            @Override
            public String getDescription() {
                return "Extensão PDF";
            }
        });
        int acao = salvar.showSaveDialog(null);
        if (acao == JFileChooser.APPROVE_OPTION) {
            
            Document cartaSossego = new Document();
            PdfWriter.getInstance(cartaSossego, new FileOutputStream(salvar.getSelectedFile().getAbsolutePath()));
            cartaSossego.open();

            //TITULO       
            Paragraph titulo = new Paragraph(new Phrase(20f, "NOTIFICAÇÃO EXTRAJUDICIAL AMIGÁVEL – PERTURBAÇÃO DE SOSSEGO", FontFactory.getFont(FontFactory.COURIER_BOLD, 14f)));
            titulo.setAlignment(Element.ALIGN_CENTER);
            cartaSossego.add(titulo);
            cartaSossego.add(new Paragraph(" "));

            //CORPO
            Paragraph p1 = new Paragraph(new Phrase(20f, "Ilustríssimo Senhor " + mod.getNome() + ", morador do imóvel residencial situado à Rua " + mod.getEndereço() + ", " + mod.getNomeImovel() + "", FontFactory.getFont(FontFactory.COURIER, 12f)));
            p1.setAlignment(Element.ALIGN_JUSTIFIED);
            cartaSossego.add(p1);
            cartaSossego.add(new Paragraph(" "));

            Paragraph p2 = new Paragraph(new Phrase(20f, "PERTURBAÇÃO DE SOSSEGO – LEI DAS CONTRAVENCOES PENAIS – ARTIGO 42 e 65; CRIME CONTRA O MEIO AMBIENTE – SOM EXCESSIVAMENTE ALTO; DIREITO DE VIZINHANÇA – PARCIMÔNIA E URBANIDADE – RESPEITO; PRINCÍPIO DA DIGNIDADE DA PESSOA HUMANA.", FontFactory.getFont(FontFactory.COURIER, 12f)));
            p2.setAlignment(Element.ALIGN_JUSTIFIED);
            cartaSossego.add(p2);
            cartaSossego.add(new Paragraph(" "));

            Paragraph p3 = new Paragraph(new Phrase(20f, mod.getNome() + ", " + mod.getEstadoCivil() + ", Profissão: " + mod.getProfissao() + ", residente e domiciliado (a) à " + mod.getEndereço() + " – " + mod.getCidade() + ", CEP: " + mod.getCep() + "," + mod.getNomeImovel() + " vem expor, para, ao final, solicitar o que segue:", FontFactory.getFont(FontFactory.COURIER, 12f)));
            p3.setAlignment(Element.ALIGN_JUSTIFIED);
            cartaSossego.add(p3);
            cartaSossego.add(new Paragraph(" "));

            Paragraph p4 = new Paragraph(new Phrase(20f, "Inicialmente, cumpre esclarecer que a iniciativa deste comunicado forma a Vossa Senhoria se deve a orientação expressa de diversos órgãos e instituições, entre eles o Ministério Público, o Poder Judiciário, a Polícia Militar e Civil, a Defensoria Pública e a OAB, quanto ao grave problema que é a POLUIÇÃO SONORA E PERTURBAÇÃO DE SOSSEGO.", FontFactory.getFont(FontFactory.COURIER, 12f)));
            p4.setAlignment(Element.ALIGN_JUSTIFIED);
            cartaSossego.add(p4);
            cartaSossego.add(new Paragraph(" "));

            Paragraph p5 = new Paragraph(new Phrase(20f, "Por isto, esta medida NÃO DEVE ser mal interpretada, muito menos deve ser recebida como uma ameaça.", FontFactory.getFont(FontFactory.COURIER, 12f)));
            p5.setAlignment(Element.ALIGN_JUSTIFIED);
            cartaSossego.add(p5);
            cartaSossego.add(new Paragraph(" "));

            Paragraph p6 = new Paragraph(new Phrase(20f, "Trata-se apenas de uma medida voltada mesmo para tentar esclarecer, da melhor maneira, alguns fatos que talvez escapem ao conhecimento de Vossa Senhoria.", FontFactory.getFont(FontFactory.COURIER, 12f)));
            p6.setAlignment(Element.ALIGN_JUSTIFIED);
            cartaSossego.add(p6);
            cartaSossego.add(new Paragraph(" "));
        } else if (acao == JFileChooser.CANCEL_OPTION) {

        } else if (acao == JFileChooser.ERROR_OPTION) {

        }

        JOptionPane.showMessageDialog(null, "Carta gerada com sucesso !");
    } catch (Exception e) {
        System.out.println(e);
    }

Blockquote }