<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>pdf signature editing on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/de/tag/pdf-signature-editing/</link>
    <description>Recent content in pdf signature editing on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>de</language>
    <lastBuildDate>Wed, 16 Sep 2026 12:53:38 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/de/tag/pdf-signature-editing/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Signaturen in C# bearbeiten</title>
      <link>https://blog-qa.groupdocs.cloud/de/signature/edit-signatures-in-csharp/</link>
      <pubDate>Wed, 16 Sep 2026 12:53:38 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/de/signature/edit-signatures-in-csharp/</guid>
      <description>Erfahren Sie, wie Sie Signaturen in signierten PDFs mit GroupDocs.Signature Cloud SDK for .NET in C# bearbeiten. Schritt‑für‑Schritt‑Anleitung mit Code, cURL und Setup‑Anweisungen.</description>
      <content:encoded><![CDATA[<p>Das Bearbeiten einer digitalen Signatur, nachdem ein <a href="https://docs.fileformat.com/pdf">PDF</a> signiert wurde, ist ein häufiges Anforderung, insbesondere wenn sich Geschäftsregeln ändern oder eine Signatur neu positioniert werden muss. <a href="https://products.groupdocs.cloud/signature/net/">GroupDocs.Signature Cloud SDK for .NET</a> bietet eine robuste Bibliothek, mit der Sie Signaturen in signierten PDF‑Dateien programmgesteuert bearbeiten können, ohne die Gültigkeit des Dokuments zu beeinträchtigen. Dieser Leitfaden führt Sie Schritt für Schritt durch die vollständige Implementierung und deckt alles von der Konfiguration bis zum Herunterladen der aktualisierten Datei ab, sodass Sie die Signaturbearbeitung sicher in Ihre C#‑Anwendungen integrieren können.</p>
<h2 id="vollständiges-codebeispiel-signaturen-in-signierten-pdf-bearbeiten">Vollständiges Codebeispiel: Signaturen in signierten PDF bearbeiten</h2>
<p>Das folgende Beispiel demonstriert, wie Signaturen in signierten PDF mit dem GroupDocs.Signature Cloud SDK für .NET bearbeitet werden können.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System.Collections.Generic;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System.IO;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Signature.Cloud.Sdk.Api;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Signature.Cloud.Sdk.Client;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Signature.Cloud.Sdk.Model;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Signature.Cloud.Sdk.Model.Requests;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">class</span> <span style="color:#a6e22e">Program</span>
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> Main()
</span></span><span style="display:flex;"><span>    {
</span></span><span style="display:flex;"><span>        <span style="color:#75715e">// Configuration</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">var</span> config = <span style="color:#66d9ef">new</span> Configuration
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            ClientId = <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>,
</span></span><span style="display:flex;"><span>            ClientSecret = <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span>
</span></span><span style="display:flex;"><span>        };
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// API instances</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">var</span> signatureApi = <span style="color:#66d9ef">new</span> SignatureApi(config);
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">var</span> storageApi = <span style="color:#66d9ef">new</span> StorageApi(config);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// File paths</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">string</span> inputFilePath = <span style="color:#e6db74">&#34;input.pdf&#34;</span>;
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">string</span> outputFilePath = <span style="color:#e6db74">&#34;output.pdf&#34;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Ensure file exists in storage (upload if needed)</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> (!storageApi.ObjectExists(<span style="color:#66d9ef">new</span> ObjectExistsRequest(<span style="color:#66d9ef">new</span> StorageExist
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            Path = inputFilePath,
</span></span><span style="display:flex;"><span>            StorageName = <span style="color:#66d9ef">null</span>
</span></span><span style="display:flex;"><span>        })).Exists)
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> fileStream = File.OpenRead(inputFilePath))
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                storageApi.UploadFile(<span style="color:#66d9ef">new</span> UploadFileRequest(<span style="color:#66d9ef">new</span> UploadFile
</span></span><span style="display:flex;"><span>                {
</span></span><span style="display:flex;"><span>                    Path = inputFilePath,
</span></span><span style="display:flex;"><span>                    File = fileStream
</span></span><span style="display:flex;"><span>                }));
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>        }
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Get list of signatures in the document</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">var</span> fileInfo = <span style="color:#66d9ef">new</span> FileInfo
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            FilePath = inputFilePath,
</span></span><span style="display:flex;"><span>            StorageName = <span style="color:#66d9ef">null</span>,
</span></span><span style="display:flex;"><span>            Password = <span style="color:#66d9ef">null</span>
</span></span><span style="display:flex;"><span>        };
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">var</span> getSignaturesRequest = <span style="color:#66d9ef">new</span> GetSignaturesRequest(<span style="color:#66d9ef">new</span> GetSignaturesOptions
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            FileInfo = fileInfo
</span></span><span style="display:flex;"><span>        });
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">var</span> signaturesResponse = signatureApi.GetSignatures(getSignaturesRequest);
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> (signaturesResponse.Signatures == <span style="color:#66d9ef">null</span> || signaturesResponse.Signatures.Count == <span style="color:#ae81ff">0</span>)
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            Console.WriteLine(<span style="color:#e6db74">&#34;No signatures found.&#34;</span>);
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">return</span>;
</span></span><span style="display:flex;"><span>        }
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Choose first signature to edit</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">var</span> signatureToEdit = signaturesResponse.Signatures[<span style="color:#ae81ff">0</span>];
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">string</span> signatureId = signatureToEdit.SignatureId;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Prepare new options (example: change text signature)</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">var</span> textOptions = <span style="color:#66d9ef">new</span> SignTextOptions
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Keep existing properties, modify as needed</span>
</span></span><span style="display:flex;"><span>            Text = <span style="color:#e6db74">&#34;Edited Signature Text&#34;</span>,
</span></span><span style="display:flex;"><span>            Left = signatureToEdit.Left + <span style="color:#ae81ff">10</span>,
</span></span><span style="display:flex;"><span>            Top = signatureToEdit.Top + <span style="color:#ae81ff">10</span>,
</span></span><span style="display:flex;"><span>            Width = signatureToEdit.Width,
</span></span><span style="display:flex;"><span>            Height = signatureToEdit.Height,
</span></span><span style="display:flex;"><span>            Font = <span style="color:#66d9ef">new</span> SignatureFont
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                FontFamily = <span style="color:#e6db74">&#34;Arial&#34;</span>,
</span></span><span style="display:flex;"><span>                FontSize = <span style="color:#ae81ff">12</span>,
</span></span><span style="display:flex;"><span>                Bold = <span style="color:#66d9ef">true</span>,
</span></span><span style="display:flex;"><span>                Italic = <span style="color:#66d9ef">false</span>,
</span></span><span style="display:flex;"><span>                Underline = <span style="color:#66d9ef">false</span>,
</span></span><span style="display:flex;"><span>                Color = <span style="color:#e6db74">&#34;FF0000&#34;</span>
</span></span><span style="display:flex;"><span>            },
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Preserve other required fields</span>
</span></span><span style="display:flex;"><span>            SignatureId = signatureId,
</span></span><span style="display:flex;"><span>            PageNumber = signatureToEdit.PageNumber,
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Set output file path</span>
</span></span><span style="display:flex;"><span>            OutputFilePath = outputFilePath
</span></span><span style="display:flex;"><span>        };
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">var</span> updateSignatureRequest = <span style="color:#66d9ef">new</span> UpdateSignatureRequest(<span style="color:#66d9ef">new</span> UpdateSignatureOptions
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            FileInfo = fileInfo,
</span></span><span style="display:flex;"><span>            SignatureId = signatureId,
</span></span><span style="display:flex;"><span>            Options = textOptions
</span></span><span style="display:flex;"><span>        });
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">var</span> updateResponse = signatureApi.UpdateSignature(updateSignatureRequest);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Download updated file</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">var</span> downloadRequest = <span style="color:#66d9ef">new</span> DownloadFileRequest(<span style="color:#66d9ef">new</span> DownloadFile
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            Path = outputFilePath,
</span></span><span style="display:flex;"><span>            StorageName = <span style="color:#66d9ef">null</span>
</span></span><span style="display:flex;"><span>        });
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> downloadStream = storageApi.DownloadFile(downloadRequest))
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> fileStream = File.Create(outputFilePath))
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            downloadStream.CopyTo(fileStream);
</span></span><span style="display:flex;"><span>        }
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Console.WriteLine(<span style="color:#e6db74">&#34;Signature edited and saved to &#34;</span> + outputFilePath);
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><blockquote>
<p><strong>Hinweis:</strong> Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass Sie alle Dateipfade und Konfigurationswerte an Ihre tatsächliche Umgebung anpassen, dass alle erforderlichen Abhängigkeiten ordnungsgemäß installiert sind und testen Sie gründlich in Ihrer Entwicklungsumgebung. Wenn Sie auf Probleme stoßen, lesen Sie bitte die <a href="https://docs.groupdocs.cloud/signature/">offizielle Dokumentation</a> oder wenden Sie sich an das <a href="https://forum.groupdocs.cloud/c/signature/13">Support-Team</a> für Unterstützung.</p>
</blockquote>
<h2 id="curl-befehle-für-die-signaturbearbeitung-über-die-rest-api">cURL-Befehle für die Signaturbearbeitung über die REST-API</h2>
<p>Unten finden Sie eine Reihe von cURL-Befehlen, die dieselbe Operation zum Bearbeiten von Signaturen in einem signierten PDF mithilfe der REST-API ausführen.</p>
<p>Zuerst ein Zugriffstoken erhalten.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/oauth2/token&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;grant_type&#34;:&#34;client_credentials&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;client_id&#34;:&#34;YOUR_CLIENT_ID&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;client_secret&#34;:&#34;YOUR_CLIENT_SECRET&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">         }&#39;</span>
</span></span></code></pre></div><p>Laden Sie die Quell‑PDF in den Cloud‑Speicher hoch.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X PUT <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/file/input.pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/octet-stream&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     --data-binary <span style="color:#e6db74">&#34;@input.pdf&#34;</span>
</span></span></code></pre></div><p>Aktualisieren Sie die erste Signatur (Beispiel ändert eine Textsignatur).</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/signature/update&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;fileInfo&#34;: {
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;filePath&#34;: &#34;input.pdf&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           },
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;signatureId&#34;: &#34;SIGNATURE_ID_FROM_GET&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;options&#34;: {
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;text&#34;: &#34;Edited Signature Text&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;left&#34;: 120,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;top&#34;: 150,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;font&#34;: {
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                   &#34;fontFamily&#34;: &#34;Arial&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                   &#34;fontSize&#34;: 12,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                   &#34;bold&#34;: true,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">                   &#34;color&#34;: &#34;FF0000&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               },
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;outputFilePath&#34;: &#34;output.pdf&#34;
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           }
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">         }&#39;</span>
</span></span></code></pre></div><p>Laden Sie das aktualisierte PDF herunter.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl -X GET <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/file/output.pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -o output.pdf
</span></span></code></pre></div><p>Für weitere Details siehe die <a href="https://docs.groupdocs.cloud/signature/">offizielle API‑Dokumentation</a>.</p>
<h2 id="verständnis-der-signaturmodifikation-in-c">Verständnis der Signaturmodifikation in C#</h2>
<p>Im Folgenden finden Sie eine prägnante Aufschlüsselung, wie der bereitgestellte C#‑Code den Workflow zum Bearbeiten von Signaturen in einem signierten PDF umsetzt.</p>
<ol>
<li><strong>Authentifizierung konfigurieren</strong> - Das <code>Configuration</code>-Objekt wird mit <code>ClientId</code> und <code>ClientSecret</code> gefüllt. Dies stellt eine sichere Sitzung mit dem Cloud‑Dienst her.</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> config = <span style="color:#66d9ef">new</span> Configuration { ClientId = <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>, ClientSecret = <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span> };
</span></span></code></pre></div><ol start="2">
<li><strong>API-Instanzen erstellen</strong> - <code>SignatureApi</code> und <code>StorageApi</code> werden mithilfe der Konfiguration instanziiert, wodurch Zugriff auf signaturbezogene und speicherbezogene Endpunkte gewährt wird.</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> signatureApi = <span style="color:#66d9ef">new</span> SignatureApi(config);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">var</span> storageApi = <span style="color:#66d9ef">new</span> StorageApi(config);
</span></span></code></pre></div><ol start="3">
<li>
<p><strong>Upload If Missing</strong> - Der Code prüft, ob <code>input.pdf</code> im Cloud‑Speicher vorhanden ist; falls nicht, wird die Datei mit <code>UploadFile</code> hochgeladen. Dadurch wird sichergestellt, dass die nachfolgenden Vorgänge ein Quelldokument haben.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span>storageApi.UploadFile(<span style="color:#66d9ef">new</span> UploadFileRequest(<span style="color:#66d9ef">new</span> UploadFile { Path = inputFilePath, File = fileStream }));
</span></span></code></pre></div></li>
<li>
<p><strong>Vorhandene Signaturen abrufen</strong> - <code>GetSignatures</code> ruft alle Signaturen im Dokument ab. Die erste Signatur wird zur Bearbeitung ausgewählt und ihre <code>SignatureId</code> wird gespeichert.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> signaturesResponse = signatureApi.GetSignatures(getSignaturesRequest);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">var</span> signatureToEdit = signaturesResponse.Signatures[<span style="color:#ae81ff">0</span>];
</span></span></code></pre></div></li>
<li>
<p><strong>Aktualisierte Optionen vorbereiten</strong> - Ein neues <code>SignTextOptions</code>-Objekt kopiert die vorhandenen Eigenschaften und ändert den Text, die Position und die Schriftart. Die <code>SignatureId</code> und <code>PageNumber</code> werden beibehalten, um die korrekte Signatur anzusteuern.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> textOptions = <span style="color:#66d9ef">new</span> SignTextOptions { Text = <span style="color:#e6db74">&#34;Edited Signature Text&#34;</span>, Left = signatureToEdit.Left + <span style="color:#ae81ff">10</span>, <span style="color:#75715e">/* ... */</span> };
</span></span></code></pre></div></li>
<li>
<p><strong>Update ausführen</strong> - <code>UpdateSignature</code> sendet die geänderten Optionen an den Server, der die Signatur neu schreibt, während der Rest des PDFs unverändert bleibt.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> updateResponse = signatureApi.UpdateSignature(updateSignatureRequest);
</span></span></code></pre></div></li>
<li>
<p><strong>Download-Ergebnis</strong> - Schließlich wird das aktualisierte PDF vom Speicher in das lokale Dateisystem heruntergeladen.</p>
</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> downloadStream = storageApi.DownloadFile(downloadRequest))
</span></span></code></pre></div><p>Für eine vollständige Liste von Klassen und Methoden siehe die <a href="https://reference.groupdocs.cloud/signature/">API‑Referenz</a>.</p>
<h2 id="vorbereitung-der-umgebung">Vorbereitung der Umgebung</h2>
<p>Richten Sie Ihre Entwicklungsumgebung ein, bevor Sie Code schreiben.</p>
<ol>
<li><strong>Installieren Sie das SDK über NuGet</strong></li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>dotnet add package GroupDocs.signature-Cloud
</span></span></code></pre></div><p>Sie können das neueste Paket auch von der <a href="https://releases.groupdocs.cloud/signature/net/">Release-Seite</a> herunterladen.</p>
<ol start="2">
<li>
<p><strong>Einrichten der .NET-Laufzeit</strong> - Die Bibliothek erfordert .NET 6.0 oder höher. Stellen Sie sicher, dass Ihr Projekt ein kompatibles Framework verwendet.</p>
</li>
<li>
<p><strong>Create a GroupDocs Cloud Account</strong> - Registrieren Sie sich im GroupDocs-Portal und erhalten Sie Ihre <code>ClientId</code> und <code>ClientSecret</code>. Diese Anmeldeinformationen werden für jeden API-Aufruf benötigt.</p>
</li>
<li>
<p><strong>Anmeldeinformationen konfigurieren</strong> - Speichern Sie die Anmeldeinformationen sicher, zum Beispiel in <code>appsettings.json</code> oder Umgebungsvariablen, und verweisen Sie darauf, wenn Sie das <code>Configuration</code>‑Objekt erstellen.</p>
</li>
<li>
<p><strong>Verbindung prüfen</strong> - Führen Sie eine einfache Anfrage aus (z. B. <code>storageApi.ObjectExists</code>), um zu bestätigen, dass Ihre Anmeldeinformationen gültig sind und der Dienst erreichbar ist.</p>
</li>
</ol>
<p>Nachdem diese Schritte abgeschlossen sind, können Sie das Codebeispiel ausführen und mit dem Bearbeiten von Signaturen beginnen.</p>
<h2 id="fazit">Fazit</h2>
<p>Die Bearbeitung von Signaturen in signierten PDF‑Dokumenten ist mit dem <a href="https://products.groupdocs.cloud/signature/net/">GroupDocs.Signature Cloud SDK for .NET</a> unkompliziert. Wenn Sie den obigen Schritten folgen, können Sie eine vorhandene Signatur finden, ihre visuellen Eigenschaften ändern und die Integrität des Dokuments aus einer C#‑Anwendung heraus bewahren. Denken Sie daran, für den Produktionseinsatz eine geeignete Lizenz zu sichern; Sie können eine Volllizenz erwerben oder eine temporäre Lizenz von der <a href="https://purchase.groupdocs.cloud/temporary-license/">temporären Lizenzseite</a> erhalten. Beginnen Sie noch heute mit der Integration der Signaturbearbeitung und optimieren Sie Ihre Dokumenten‑Workflows.</p>
<h2 id="faqs">FAQs</h2>
<ul>
<li>
<p><strong>Kann ich Signaturen in einem signierten PDF bearbeiten, ohne die Gültigkeit der Signatur zu beeinträchtigen?</strong><br>
Ja. Das SDK aktualisiert nur die visuelle Darstellung, während der kryptografische Hash unverändert bleibt, sodass das Dokument gültig bleibt.</p>
</li>
<li>
<p><strong>Was ist der Unterschied zwischen edit Signatures in Signed PDF und edit Signatures in Signed PDF in .NET?</strong><br>
Ersteres beschreibt die generische Operation, während Letzteres betont, dass die Implementierung die .NET-Version des GroupDocs.Signature Cloud SDK verwendet.</p>
</li>
<li>
<p><strong>Muss ich das PDF nach dem Bearbeiten einer Signatur erneut signieren?</strong><br>
Nein. Das SDK ändert das Aussehen des bestehenden Signaturobjekts; die ursprüngliche digitale Signatur bleibt unverändert.</p>
</li>
<li>
<p><strong>Gibt es ein Beispielprojekt, das ich herunterladen kann?</strong><br>
Ja, ein vollständiges Beispiel ist im GitHub-Repository verfügbar: <a href="https://github.com/groupdocs-signature-cloud/groupdocs-signature-cloud-dotnet">https://github.com/groupdocs-signature-cloud/groupdocs-signature-cloud-dotnet</a>.</p>
</li>
</ul>
<h2 id="read-more">Read More</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/de/signature/build-custom-electronic-signature-workflows-in-your-asp-net-csharp-vb-net-apps/">Erstellen Sie benutzerdefinierte elektronische Signatur‑Workflows in Ihren ASP.NET‑, C#‑ und VB.NET‑Anwendungen</a></li>
<li><a href="https://blog.groupdocs.cloud/de/signature/edit-signatures-in-signed-pdf-documents-using-python/">Signaturen in signierten PDF‑Dokumenten mit Python bearbeiten</a></li>
<li><a href="https://blog.groupdocs.cloud/de/signature/digitally-sign-a-word-document-online/">Wie man ein Word‑Dokument online digital signiert</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
