title: Create Dataframe from pdf to csv based on string
body: <p>I like to split information of a pdf document based on the presence of colon. A sample is here. <a href="https://i.stack.imgur.com/icV0G.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/icV0G.png" alt="enter image description here"></a></p>
  
  <p>Updated PDF with four pages can be downloaded from <a href="https://www.dropbox.com/s/zy9cctdxg5zhnd6/Here%20is%20the%20thing1.pdf?dl=0" rel="nofollow noreferrer">this link</a></p>
  
  <p>I am attempting the following. After reading the pdf, I am trying to split it by colon. </p>
  
  <pre><code>library(textreadr)
  dat &lt;- '~Here is the thing1.pdf' %&gt;%
      textreadr::read_pdf()
  dat
  Source: local data frame [26 x 3]
  
     page_id element_id                                     text
  1        1          1                       Here is the thing.
  2        1          2                                Case ID 1
  3        1          3 Exploring Angels: It is a long establish
  4        1          4 page when looking at its layout. The poi
  5        1          5 distribution of letters, as opposed to u
  6        1          6 English. Many desktop publishing package
  7        1          7 model text, and a search for 'lorem ipsu
  8        1          8 versions have evolved over the years, so
  9        1          9                           and the like).
  10       1         10 New agency: Lorem Ipsum is simply dummy 
  ..     ...        ...                                      ... 
  </code></pre>
  
  <p>OR</p>
  
  <pre><code>library(pdftools)
  dat &lt;- pdf_text("~Here is the thing1.pdf")
  dat1 &lt;- strsplit(dat[[1]], "\n")[[1]]
  head(dat1)
  [1] "Here is the thing.\r"                                                                                           
  [2] "Case ID 1\r"                                                                                                    
  [3] "Exploring Angels: It is a long established fact that a reader will be distracted by the readable content of a\r"
  [4] "page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal\r"         
  [5] "distribution of letters, as opposed to using 'Content here, content here', making it look like readable\r"      
  [6] "English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default\r"
  
  dat2 &lt;- dat1 %&gt;%
    str_split(pattern = "\r") 
  head(dat2)
  
  [[1]]
  [1] "Here is the thing." ""                  
  
  [[2]]
  [1] "Case ID 1" ""         
  
  [[3]]
  [1] "Exploring Angels: It is a long established fact that a reader will be distracted by the readable content of a"
  [2] ""                                                                                                             
  
  [[4]]
  [1] "page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal"
  [2] ""                                                                                                    
  
  [[5]]
  [1] "distribution of letters, as opposed to using 'Content here, content here', making it look like readable"
  [2] ""                                                                                                       
  
  [[6]]
  [1] "English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default"
  [2] "
  </code></pre>
  
  <p>I want to get my data sorted into a table like this:</p>
  
  <pre><code>  Case.ID                             Exploring.Angels                        New.agency New.Factor New.Factor2 Creative.One
  1       1 It is a long established fact that a reader  Lorem Ipsum is simply dummy text         ABC         BNM         &lt;NA&gt;
  2       2               Various versions have evolved     It has survived not only five         ABC        &lt;NA&gt;          DFZ
  </code></pre>