Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst PDF anzeigen, Positionsfeld für Text anzeigen, bewegen

Mitglied: ahstax

ahstax (Level 2) - Jetzt verbinden

22.09.2013 um 18:49 Uhr, 2335 Aufrufe, 2 Kommentare, 1 Danke

Hallo,

ich würde gerne in PDF-Dokumente auf der ersten Seite einen Text einfügen. Mit iTextSharp klappt das ziemlich einfach.
Ich würde aber nun gerne die erste Seite des PDFs anzeigen lassen, darin einen Rahmen darstellen, der die Größe des einzufügenden Textes (eingegeben in eine TextBox) hat und mit der Maus verschiebbar ist.
Sinn? Der eingefügte Text soll keinen bestehenden Text überdecken.

Wo und mit welchem vb.net-Zauber könnte ich denn da ansetzen?

Ich bin gespannt auf Hinweise und Anregungen!!!

Neugierige Grüße,
Andreas
Mitglied: colinardo
24.09.2013 um 09:22 Uhr
Hallo Andreas,
klingt also wolltest du hier einen rudimentären PDF-Editor basteln
Du könntest das so lösen: Du baust in VB.Net eine Form mit dem Adobe Reader ActiveX der dir das PDF in einer festen Zoomstufe anzeigt(ganze Seite), in dieser Form fängst du die Mausposition über dem Control ab und speicherst sie bei einem Klick in einer Variablen; diese Koordinaten rechnest du dann auf relative PDF-Seitengröße um und fügst mit iTextSharp den Text an der gewünschten Stelle ein.
Ansonsten wäre eine Alternative nach einem bestimmten Text im PDF mit iTextSharp zu suchen und anhand dessen Position deinen Text positionieren.

Grüße Uwe
Bitte warten ..
Mitglied: ahstax
24.09.2013 um 16:31 Uhr
Hallo Uwe,

Danke für Deine Antwort.

Ein etwas geänderter Ansatz meinerseits führte zu folgendem Zwischenergebnis:
Das PDF wird geladen, die erste Seite abgetrennt (itextsharp) und in ein tiff umgewandelt (com.adobe.acrobat.tiff).
In das tiff wird der einzufügende Text (3 Zeilen mit unterschiedlicher Formatierung) eingesetzt (Graphic.DrawString(Text, Font, Brush, Position)).
Um den eingefügten Text wird ein Rechteck gezeichnet.
Das tiff wird in einer Picturebox angezeigt.

Leider ist das Recheckt höher, als der Text...
01.
Text1 = "Texttexttext"
02.
Font1 = New System.Drawing.Font("Arial", 14, FontStyle.Regular)
03.
Position1 = New Point(8, 5)
04.

05.
Text2 = txtBoxText.Text
06.
Font2 = New System.Drawing.Font("Arial", 28, FontStyle.Regular)
07.
Position2 = New Point(3, 5 + 16)
08.

09.
Text3 = txtBoxUnserZeichen.Text
10.
Font1 = New System.Drawing.Font("Arial", 14, FontStyle.Regular)
11.
Position3 = New Point(8, 5 + 16 + 35)
12.

13.
        Dim stringSize1 As New SizeF
14.
        Dim stringSize2 As New SizeF
15.
        Dim stringSize3 As New SizeF
16.
        Dim stringSize As New SizeF
17.

18.
        stringSize1 = Graphic.MeasureString(Text1, Font1)
19.
        stringSize2 = Graphic.MeasureString(Text2, Font2)
20.
        stringSize3 = Graphic.MeasureString(Text3, Font1)
21.
        stringSize.Height = stringSize1.Height + stringSize2.Height + stringSize3.Height
22.

23.
        If stringSize1.Width >= stringSize2.Width And stringSize1.Width >= stringSize3.Width Then
24.
            stringSize.Width = stringSize1.Width
25.
        Else
26.
            If stringSize2.Width >= stringSize1.Width And stringSize2.Width >= stringSize3.Width Then
27.
                stringSize.Width = stringSize2.Width
28.
            Else
29.
                If stringSize3.Width >= stringSize1.Width And stringSize3.Width >= stringSize2.Width Then
30.
                    stringSize.Width = stringSize3.Width
31.
                End If
32.
            End If
33.
        End If
34.

35.
        Dim Zeilenabstand As Integer = Font1.GetHeight
36.
        'String auf Bild zeichnen
37.
        Graphic.DrawString(Text1, Font1, Brush, Position1)
38.
        Graphic.DrawString(Text2, Font2, Brush, Position2)
39.
        Graphic.DrawString(Text3, Font1, Brush, Position3)
40.

41.
        Graphic.DrawRectangle(New Pen(Color.Red, 1), 8.0F, 5.0F, CInt(stringSize.Width), CInt(stringSize.Height))
42.

43.
Woran kann das liegen?
Und irgendwie habe ich festgestellt, dass unterschiedliche Größenangaben (zumindest beruhend auf unterschiedlichen Basen) verwendet werden, kann das sein? (Schriftgröße, image.height...)

Neugierige Grüße,
Andreas



Der Vollständigkeit halber:meine nächste Schritte jetzt:
Rechteck in die richtige Größe bringen
Rechteck (einschließlich Text) beweglich machen
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Text in PDF lesen und nutzen
gelöst Frage von fautec56VB for Applications6 Kommentare

Hallo zusammen, meine erste Frage in diesem Forum betrifft das umbenennen von PDF-Dateien, die mit einem OCR-Scan erstelle wurden. ...

VB for Applications

PDF Text aus bestimmten Bereich und die Seitenzahl in Excel schreiben

Frage von VBABeginnerVB for Applications

Mahlzeit, Ich bin neu hier und bräuchte euren Rat. Ich möchte einen betimmten, immer wiederkehreneden Textbereich und die Seitennummer ...

Microsoft Office

Ungleich Text

gelöst Frage von grasihuepferMicrosoft Office1 Kommentar

Hi Leute, Wie kann man eigentlich ungleich in eine Formel setzen? Bei Zahlen kann ich das ja mit "ungleich". ...

Windows 7

PDF-Printer

gelöst Frage von malikaWindows 79 Kommentare

Guten Tag, ich habe einen W7 Pro 64-Bit PC auf dem Adobe PDF Printer fehlt. Ich habe versucht einen ...

Neue Wissensbeiträge
Humor (lol)
Preisvertipper
Information von Dilbert-MD vor 2 TagenHumor (lol)7 Kommentare

Moin! weil heute Freitag ist, zeige ich Euch den Preisvertipper der Woche: vergesst den Acer Predator 21x, der ist ...

Windows Update
Sicherheitsupdate für SQL Server 2014 SP3
Information von sabines vor 3 TagenWindows Update2 Kommentare

Für den SQL Server 2014 existiert ein Sicherheitsupdate. Laut KB Artikel wird es als CU3 angezeigt: Server 2014 SP3 ...

Backup

Veeam Agent für MS Windows - neue Version verfügbar (bedingt jedoch offenbar .NET Framework 4.6)

Information von VGem-e vor 4 TagenBackup1 Kommentar

Moin Kollegen, einer unserer Server zeigte grad an, dass für o.g. Software ein Update verfügbar ist. Ob ein evtl. ...

Python

Sie meinen es ja nur gut - Microsoft hilft python-Entwicklern auf unnachahmliche Weise

Information von DerWoWusste vor 5 TagenPython2 Kommentare

Stellt Euch vor, Ihr nutzt python unter Windows 10 und skriptet damit regelmäßig Dinge. Nach dem Update auf Windows ...

Heiß diskutierte Inhalte
Cloud-Dienste
MS Sharepoint generelle Frage zur Einrichtung
Frage von ralf86Cloud-Dienste15 Kommentare

Hallo, ich will den Sharepoint als FileServer nutzen. Hier sollen mehrere Freigabeordner mit unterschiedlichen Berechtigungen erstellt werden z.B. Geschäftsführung ...

Netzwerkmanagement
Windows Domain und vlan
Frage von mustangberlinNetzwerkmanagement10 Kommentare

Guten Tag liebe Community, mein Kollege und ich haben uns an das Thema vlan und die Gruppierung/Strukturierung unseres Netzwerkes ...

Outlook & Mail
Outlook 2016: Schrift der Ordnerspalte verkleinern
Frage von usercrashOutlook & Mail7 Kommentare

Hallo, wie/wo kann man in MS Outlook 2016 im Ordnerbereich am linken Bildrand die Schriften, die Überschriften und den ...

Router & Routing
FritzBox und SynologyNAS VPN
Frage von ndeedyRouter & Routing7 Kommentare

Moin moin. Irgendwie habe ich entweder ein bescheuertes Setup, oder mir bereits komplett die Birne mit Versuchen durchgebraten. Bin ...