iTextSharp.text.pdf.collection.PdfCollectionItem.SetPrefix C# (CSharp) Method

SetPrefix() public method

public SetPrefix ( String key, String prefix ) : void
key String
prefix String
return void
        public void SetPrefix(String key, String prefix)
        {
            PdfName fieldname = new PdfName(key);
            PdfObject o = Get(fieldname);
            if (o == null)
                throw new InvalidOperationException(MessageLocalization.GetComposedMessage("you.must.set.a.value.before.adding.a.prefix"));
            PdfDictionary dict = new PdfDictionary(PdfName.COLLECTIONSUBITEM);
            dict.Put(PdfName.D, o);
            dict.Put(PdfName.P, new PdfString(prefix, PdfObject.TEXT_UNICODE));
            Put(fieldname, dict);
        }

Usage Example

Esempio n. 1
0
// --------------------------------------------------------------------------- 
    public void Write(Stream stream) {
      // step 1
      using (Document document = new Document()) {
        // step 2
        PdfWriter writer = PdfWriter.GetInstance(document, stream);
        // step 3
        document.Open();
        // step 4
        document.Add(new Paragraph(
          "This document contains a collection of PDFs,"
          + " one per Stanley Kubrick movie."
        ));
        
        PdfCollection collection = new PdfCollection(PdfCollection.DETAILS);
        PdfCollectionSchema schema = _collectionSchema(); 
        collection.Schema = schema;
        PdfCollectionSort sort = new PdfCollectionSort("YEAR");
        sort.SetSortOrder(false);
        collection.Sort = sort;
        collection.InitialDocument = "Eyes Wide Shut";
        writer.Collection = collection;
        
        PdfCollectionItem item;
        IEnumerable<Movie> movies = PojoFactory.GetMovies(1);
        foreach (Movie movie in movies) {
          PdfFileSpecification fs = PdfFileSpecification.FileEmbedded(
            writer, null,
            String.Format("kubrick_{0}.pdf", movie.Imdb),
            CreateMoviePage(movie)
          );
          fs.AddDescription(movie.Title, false);

          item = new PdfCollectionItem(schema);
          item.AddItem("TITLE", movie.GetMovieTitle(false));
          if (movie.GetMovieTitle(true) != null) {
            item.SetPrefix("TITLE", movie.GetMovieTitle(true));
          }
          item.AddItem("DURATION", movie.Duration.ToString());
          item.AddItem("YEAR", movie.Year.ToString());
          fs.AddCollectionItem(item);
          writer.AddFileAttachment(fs);
        }
      }
    }