Delete pdf pages in java with iTextpdf












0















I have an existing function to show pdf files that I can't change.



The input of function is an InputStream variable.
In the past they used to pass a pdf file to it and it shows it.



But right now they asked me to show only first 30 pages of the pdf. So I am using iTextpdf and I do something like this:



PdfReader reader = new PdfReader (inputStream);
reader.selectPages("1-30");


Now I should send the result as InputStream variable to show method.



How I should do it?
Thanks










share|improve this question





























    0















    I have an existing function to show pdf files that I can't change.



    The input of function is an InputStream variable.
    In the past they used to pass a pdf file to it and it shows it.



    But right now they asked me to show only first 30 pages of the pdf. So I am using iTextpdf and I do something like this:



    PdfReader reader = new PdfReader (inputStream);
    reader.selectPages("1-30");


    Now I should send the result as InputStream variable to show method.



    How I should do it?
    Thanks










    share|improve this question



























      0












      0








      0








      I have an existing function to show pdf files that I can't change.



      The input of function is an InputStream variable.
      In the past they used to pass a pdf file to it and it shows it.



      But right now they asked me to show only first 30 pages of the pdf. So I am using iTextpdf and I do something like this:



      PdfReader reader = new PdfReader (inputStream);
      reader.selectPages("1-30");


      Now I should send the result as InputStream variable to show method.



      How I should do it?
      Thanks










      share|improve this question
















      I have an existing function to show pdf files that I can't change.



      The input of function is an InputStream variable.
      In the past they used to pass a pdf file to it and it shows it.



      But right now they asked me to show only first 30 pages of the pdf. So I am using iTextpdf and I do something like this:



      PdfReader reader = new PdfReader (inputStream);
      reader.selectPages("1-30");


      Now I should send the result as InputStream variable to show method.



      How I should do it?
      Thanks







      java itext






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 1 at 11:16









      D D

      1,61022039




      1,61022039










      asked Jan 1 at 10:55









      SasanSasan

      7610




      7610
























          2 Answers
          2






          active

          oldest

          votes


















          2














          You can store the result using a PdfStamper like this:



          PdfReader reader = new PdfReader (inputStream);
          reader.selectPages("1-30");
          ByteArrayOutputStream os = new ByteArrayOutputStream();
          PdfStamper stamper = new PdfStamper(reader, os);
          stamper.close();
          byte changedPdf = os.toByteArray();


          If you want the result again to be in the InputStream inputStream variable, simply add a line



          inputStream = new ByteArrayInputStream(changedPdf);





          share|improve this answer































            0














            Get the reader of existing pdf file by



            PdfReader pdfReader = new PdfReader("source pdf file path");


            Now update the reader by



             reader.selectPages("1-5,15-20");


            then get the pdf stamper object to write the changes into a file by



            PdfStamper pdfStamper = new PdfStamper(pdfReader,
            new FileOutputStream("destination pdf file path"));


            close the PdfStamper by



            pdfStamper.close();


            It will close the PdfReader too.






            share|improve this answer























              Your Answer






              StackExchange.ifUsing("editor", function () {
              StackExchange.using("externalEditor", function () {
              StackExchange.using("snippets", function () {
              StackExchange.snippets.init();
              });
              });
              }, "code-snippets");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "1"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53994873%2fdelete-pdf-pages-in-java-with-itextpdf%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              2














              You can store the result using a PdfStamper like this:



              PdfReader reader = new PdfReader (inputStream);
              reader.selectPages("1-30");
              ByteArrayOutputStream os = new ByteArrayOutputStream();
              PdfStamper stamper = new PdfStamper(reader, os);
              stamper.close();
              byte changedPdf = os.toByteArray();


              If you want the result again to be in the InputStream inputStream variable, simply add a line



              inputStream = new ByteArrayInputStream(changedPdf);





              share|improve this answer




























                2














                You can store the result using a PdfStamper like this:



                PdfReader reader = new PdfReader (inputStream);
                reader.selectPages("1-30");
                ByteArrayOutputStream os = new ByteArrayOutputStream();
                PdfStamper stamper = new PdfStamper(reader, os);
                stamper.close();
                byte changedPdf = os.toByteArray();


                If you want the result again to be in the InputStream inputStream variable, simply add a line



                inputStream = new ByteArrayInputStream(changedPdf);





                share|improve this answer


























                  2












                  2








                  2







                  You can store the result using a PdfStamper like this:



                  PdfReader reader = new PdfReader (inputStream);
                  reader.selectPages("1-30");
                  ByteArrayOutputStream os = new ByteArrayOutputStream();
                  PdfStamper stamper = new PdfStamper(reader, os);
                  stamper.close();
                  byte changedPdf = os.toByteArray();


                  If you want the result again to be in the InputStream inputStream variable, simply add a line



                  inputStream = new ByteArrayInputStream(changedPdf);





                  share|improve this answer













                  You can store the result using a PdfStamper like this:



                  PdfReader reader = new PdfReader (inputStream);
                  reader.selectPages("1-30");
                  ByteArrayOutputStream os = new ByteArrayOutputStream();
                  PdfStamper stamper = new PdfStamper(reader, os);
                  stamper.close();
                  byte changedPdf = os.toByteArray();


                  If you want the result again to be in the InputStream inputStream variable, simply add a line



                  inputStream = new ByteArrayInputStream(changedPdf);






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Jan 1 at 12:05









                  mklmkl

                  54.8k1169149




                  54.8k1169149

























                      0














                      Get the reader of existing pdf file by



                      PdfReader pdfReader = new PdfReader("source pdf file path");


                      Now update the reader by



                       reader.selectPages("1-5,15-20");


                      then get the pdf stamper object to write the changes into a file by



                      PdfStamper pdfStamper = new PdfStamper(pdfReader,
                      new FileOutputStream("destination pdf file path"));


                      close the PdfStamper by



                      pdfStamper.close();


                      It will close the PdfReader too.






                      share|improve this answer




























                        0














                        Get the reader of existing pdf file by



                        PdfReader pdfReader = new PdfReader("source pdf file path");


                        Now update the reader by



                         reader.selectPages("1-5,15-20");


                        then get the pdf stamper object to write the changes into a file by



                        PdfStamper pdfStamper = new PdfStamper(pdfReader,
                        new FileOutputStream("destination pdf file path"));


                        close the PdfStamper by



                        pdfStamper.close();


                        It will close the PdfReader too.






                        share|improve this answer


























                          0












                          0








                          0







                          Get the reader of existing pdf file by



                          PdfReader pdfReader = new PdfReader("source pdf file path");


                          Now update the reader by



                           reader.selectPages("1-5,15-20");


                          then get the pdf stamper object to write the changes into a file by



                          PdfStamper pdfStamper = new PdfStamper(pdfReader,
                          new FileOutputStream("destination pdf file path"));


                          close the PdfStamper by



                          pdfStamper.close();


                          It will close the PdfReader too.






                          share|improve this answer













                          Get the reader of existing pdf file by



                          PdfReader pdfReader = new PdfReader("source pdf file path");


                          Now update the reader by



                           reader.selectPages("1-5,15-20");


                          then get the pdf stamper object to write the changes into a file by



                          PdfStamper pdfStamper = new PdfStamper(pdfReader,
                          new FileOutputStream("destination pdf file path"));


                          close the PdfStamper by



                          pdfStamper.close();


                          It will close the PdfReader too.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Jan 1 at 12:25









                          Common ManCommon Man

                          1,88721329




                          1,88721329






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Stack Overflow!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53994873%2fdelete-pdf-pages-in-java-with-itextpdf%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              MongoDB - Not Authorized To Execute Command

                              in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith

                              Npm cannot find a required file even through it is in the searched directory