SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Neues PDF Dokument in Library erstellen

Dieser Beitrag hat 5 Antworten

Ohne Rang
163 Beiträge
Markus Sallmutter erstellt 14 Aug. 2012 14:45
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Community!

Ich wollte mal fragen ob es möglich ist ein neues leeres PDF Dokument via c# in einer Library zu erstellen.

Ich hab die möglichkeit SPFile file = library.Files.Add() gefunden, jedoch frage ich mich ob man irgendwie definieren kann das diese Datei eine PDF Datei sein soll.

Bin für jede Antwort dankbar!

Mfg
Markus

Alle Antworten

Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 14 Aug. 2012 15:01
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hat mehre Überladungen du mußt natürlich schon den Content als PDF haben, da SharePoint im Normalfall keine Datei automatisch als PDF erstellt.

Ich frag mich natürlich was soll man mit einem Leeren PDF Dokument machen? Was SharePoint kann (ECM) ist es Dokument von einem Format in ein anderes zu konvertieren (Document Converter)

Ohne Rang
163 Beiträge
Markus Sallmutter Als Antwort am 14 Aug. 2012 15:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nun es ist so, dass ich ein Word-Dokument in einer Library habe und dieses, nachdem ich es verändert und in ein pdf convertiert habe, in die gleich library abspeichern möchte.

Am ende soll dann das orginale Word dokument, das geänderte pdf dokument und eine txt datei mit den änderungen in der library vorhanden sein. Ich habe das ganze so auch schon gelöst, nur muss ich das dokument einmal lokal zwischenspeichern, was ich gerne umgehen möchte. Ich könnte das pdf nach dem konvertieren auch gleich auf den sharepoint laden, jedoch benötige ich dazu einen stream auf ein pdf dokument.

Aus diesem grund war meine idee einfach ein leeres anzulegen und dann über den stream die daten einzuspielen.

Das Verändern der word datei und das konvertieren in pdf mache ich mittels aspose for .net

Ich habe auch schon versucht, das Pdf das ich nach dem verändern erhalte in bytes umzuwandeln und mit library.files.add() hochzuladen, jedoch kann ich das pdf anschließend nach dem downloaden nicht öffnen und bekomme die meldung, dass es beschädigt sei.

Hat jemand eine bessere Idee wie ich das zwischenspeichern umgehen kann?

Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 14 Aug. 2012 15:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich kenn jetzt die Lösung nicht aber es läuft im normalfall alles über Streams man kann auch einfach ein MemoryStream anlegen in diesen die Datei schreiben und den MemoryStream an SP übergeben dabei aber vorher das Flush und die Position wieder auf 0 zurückzusetzen nicht vergessen.

Ohne Rang
163 Beiträge
Markus Sallmutter Als Antwort am 14 Aug. 2012 15:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke für die Antwort Thomas.

Ich glaube als ich es mit dem Stream getestet habe, habe die die beiden Punkte die du erwähnst nicht beachtet.

Ich werde es nochmal testen mit flush und position auf 0 setzen vielleicht klappt es ja doch so

Vielen Dank nochmal!

Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 14 Aug. 2012 15:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Daran liegt es meistens ;)

Den Lesen und Schreiben zu einem Stream läuft immer über die Position.