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

Frage Entwicklung Visual Studio

Mitglied: ahstax

ahstax (Level 2) - Jetzt verbinden

22.09.2013 um 18:49 Uhr, 2209 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. ...

JavaScript
Datumabhängiger Text in HTML anzeigen
gelöst Frage von adm2015JavaScript4 Kommentare

Hallo Zusammen, ich bin verzweifelt auf der Suche nach einem JavaScript, welches einen bestimmten Text zu einem bestimmten Datum ...

Webbrowser
Firefox kann PDF-Dateien nicht anzeigen
gelöst Frage von HertieWebbrowser7 Kommentare

Hallo zusammen, nach mehreren Jahren Abstinenz melde ich mich mit neuem Job und neuen Problemen zurück. Heute geht es ...

Webentwicklung
Text bei Mouseover in besstimmten Bereichen anzeigen?
gelöst Frage von AlternativendeWebentwicklung4 Kommentare

Hallo zusammen, ich habe folgendes Problem. Ich suche nach einer Möglichkeit einen Musterbescheid einzuscannen und diesem Erklärungen hinzuzufügen. Also ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 15 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 20 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 20 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Windows XP
Windows XP Aktivieren geht nicht
Frage von tetikmiroWindows XP13 Kommentare

Hallo Ich habe einen Windows XP mit einen vCenter Converter umgezogen auf eine ESXI. Soweit funktioniert dies auch ohne ...

Blogs
Immer wiederkehrende PHP Fehlermeldung bei Wordpress UTF-8 - ASCII
gelöst Frage von vcdweltBlogs11 Kommentare

Hi, seit einiger Zeit wird mein error_log meines Wordpress Blogs mit immer der gleichen Fehlermeldung überschwemmt. 14-Dec-2017 08:18:05 UTC ...

Switche und Hubs
Redundante L2 LWL Leitung über 2 Standorte - Spanning Tree - HP Equipment
gelöst Frage von ResolvSwitche und Hubs10 Kommentare

Hallo, ich stehe vor der Herausforderung eine Redundante L2 LWL Leitung über 2 Standorte herzustellen. Grundsätzliches Switching Know How ...